xmonad-contrib-0.11.1: Third party extensions for xmonad

Portability | unportable
Stability | unstable
Maintainer | Justin Bogner <mail@justinbogner.com>
Safe Haskell | None

XMonad.Hooks.FadeInactive

Contents

- Usage

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

- setOpacity :: Window -> Rational -> X ()
- isUnfocused :: Query Bool
- isUnfocusedOnCurrentWS :: Query Bool
- fadeIn :: Window -> X ()
- fadeOut :: Rational -> Window -> X ()
- fadeIf :: Query Bool -> Rational -> Query Rational
- fadeInactiveLogHook :: Rational -> X ()
- fadeInactiveCurrentWSLogHook :: Rational -> X ()
- fadeOutLogHook :: Query Rational -> X ()

# 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 ()

Sets the opacity of a window

isUnfocused :: Query Bool

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

isUnfocusedOnCurrentWS :: Query Bool

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 ()

Makes a window completely opaque

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

Fades a window out by setting the opacity

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

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

fadeInactiveLogHook :: Rational -> X ()

Sets the opacity of inactive windows to the specified amount

fadeInactiveCurrentWSLogHook :: Rational -> X ()

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 ()

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