Skip to content

Instantly share code, notes, and snippets.

@rupa
Created January 29, 2009 16:48
Show Gist options
  • Select an option

  • Save rupa/54618 to your computer and use it in GitHub Desktop.

Select an option

Save rupa/54618 to your computer and use it in GitHub Desktop.
EWMH
this module is mostly for making your workspace switcher function properly in GNOMe, KDE, or any other EWMH desktop.
import XMonad.Hooks.EwmhDesktops
This module only has three user facing functions.
There is a function for your layout hook that tells xmonad what EWMH is doing. It lets you click/drag windows in the workspace switcher:
myLayout = ewmhDesktopsLayout
Put it before all the stuff in your layout hook, so it gets to tell everything else what you did. For example:
myLayout = ewmhDesktopsLayout $ avoidStruts $ toggleLayouts ...
The next function tells EWMH about what xmonad is doing. So windows you move or create in xmonad are reflected in the workspace switcher:
myLogHook = ewmhDesktopsLogHook
To combine this with other loghooks, put a >> between them . The >> operator just lets the next loghook happen. For example:
myLogHook = ewmhDesktopsLogHook >> updatePointer Nearest
There's also the ewmhDesktopsLogHookCustom function, which allows an arbitrary function to transform the workspace list before EWMH sees it. If you use scratchpad, that module provides such a function, to hide the workspace it creates to go to when not in use.
myLogHook = ewmhDesktopsLogHookCustom scratchpadFilterOutWorkspace
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment