XMonad.Hooks.FadeInactive

xmonad-contrib-0.12: Third party extensions for xmonad

Copyright | (c) 2008 Justin Bogner <mail@justinbogner.com>
License | BSD
Maintainer | Justin Bogner <mail@justinbogner.com>
Stability | unstable
Portability | unportable
Safe Haskell | None
Language | Haskell98

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 def { 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.