xmonad-contrib-0.11: Third party extensions for xmonad

Portabilityunportable
Stabilityunstable
MaintainerJustin Bogner <mail@justinbogner.com>
Safe HaskellSafe-Infered

XMonad.Hooks.FadeInactive

Contents

Description

Makes XMonad set the _NET_WM_WINDOW_OPACITY atom for inactive windows, which causes those windows to become slightly translucent if something like xcompmgr is running

Synopsis

Usage

You can use this module with the following in your ~/.xmonad/xmonad.hs:

 import XMonad
 import XMonad.Hooks.FadeInactive

 myLogHook :: X ()
 myLogHook = fadeInactiveLogHook fadeAmount
     where fadeAmount = 0.8

 main = xmonad defaultConfig { logHook = myLogHook }

fadeAmount can be any rational between 0 and 1. you will need to have xcompmgr http://freedesktop.org/wiki/Software/xapps or something similar for this to do anything

For more detailed instructions on editing the logHook see:

XMonad.Doc.Extending

For more detailed instructions on editing the layoutHook see:

XMonad.Doc.Extending

setOpacity :: Window -> Rational -> X ()Source

Sets the opacity of a window

isUnfocused :: Query BoolSource

Returns True if the window doesn't have the focus.

isUnfocusedOnCurrentWS :: Query BoolSource

Returns True if the window doesn't have the focus, and the window is on the current workspace. This is specifically handy in a multi monitor setup (xinerama) where multiple workspaces are visible. Using this, non-focused workspaces are are not faded out making it easier to look and read the content on them.

fadeIn :: Window -> X ()Source

Makes a window completely opaque

fadeOut :: Rational -> Window -> X ()Source

Fades a window out by setting the opacity

fadeIf :: Query Bool -> Rational -> Query RationalSource

Fades a window by the specified amount if it satisfies the first query, otherwise makes it opaque.

fadeInactiveLogHook :: Rational -> X ()Source

Sets the opacity of inactive windows to the specified amount

fadeInactiveCurrentWSLogHook :: Rational -> X ()Source

Set the opacity of inactive windows, on the current workspace, to the specified amount. This is specifically usefull in a multi monitor setup. See isUnfocusedOnCurrentWS.

fadeOutLogHook :: Query Rational -> X ()Source

Fades out every window by the amount returned by the query.