diff options
author | Braden Shepherdson <Braden.Shepherdson@gmail.com> | 2008-07-06 18:08:47 +0200 |
---|---|---|
committer | Braden Shepherdson <Braden.Shepherdson@gmail.com> | 2008-07-06 18:08:47 +0200 |
commit | a48bb7af70d633b3d9b88f7e8e812dcbf14cfd4a (patch) | |
tree | 973c1fa98a9ab4a556e343f321aa76646a9d8aeb | |
parent | 0d2c0b4e7b44b306c5c994a51fd196541b9955a3 (diff) | |
download | XMonadContrib-a48bb7af70d633b3d9b88f7e8e812dcbf14cfd4a.tar.gz XMonadContrib-a48bb7af70d633b3d9b88f7e8e812dcbf14cfd4a.tar.xz XMonadContrib-a48bb7af70d633b3d9b88f7e8e812dcbf14cfd4a.zip |
Added ewmhLogHookCustom, which allows arbitrary transformation of the workspace list.
darcs-hash:20080706160847-d53a8-2b6ded39b1f4da02e9bfd52d9ccaf7d05829b517.gz
-rw-r--r-- | XMonad/Hooks/EwmhDesktops.hs | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/XMonad/Hooks/EwmhDesktops.hs b/XMonad/Hooks/EwmhDesktops.hs index 7984dff..a0d6689 100644 --- a/XMonad/Hooks/EwmhDesktops.hs +++ b/XMonad/Hooks/EwmhDesktops.hs @@ -17,6 +17,7 @@ module XMonad.Hooks.EwmhDesktops ( -- $usage EwmhDesktopsHook, ewmhDesktopsLogHook, + ewmhDesktopsLogHookCustom, ewmhDesktopsLayout ) where @@ -53,13 +54,23 @@ import XMonad.Hooks.EventHook -- -- "XMonad.Doc.Extending#Editing_the_layout_hook" + + + -- | -- Notifies pagers and window lists, such as those in the gnome-panel -- of the current state of workspaces and windows. ewmhDesktopsLogHook :: X () -ewmhDesktopsLogHook = withWindowSet $ \s -> do +ewmhDesktopsLogHook = ewmhDesktopsLogHookCustom id + + +-- | +-- Generalized version of ewmhDesktopsLogHook that allows an arbitrary +-- user-specified function to transform the workspace list (post-sorting) +ewmhDesktopsLogHookCustom :: ([WindowSpace] -> [WindowSpace]) -> X () +ewmhDesktopsLogHookCustom f = withWindowSet $ \s -> do sort' <- getSortByIndex - let ws = sort' $ W.workspaces s + let ws = f $ sort' $ W.workspaces s setSupported |