diff options
author | Jochen Keil <jochen.keil@gmail.com> | 2012-08-10 08:36:03 +0200 |
---|---|---|
committer | Jochen Keil <jochen.keil@gmail.com> | 2012-08-10 08:40:43 +0200 |
commit | 5074fdf2d6aa85ce17ad98112ec5019eb05a39c4 (patch) | |
tree | 2ce5fdf3abcb61db4d70b75e0341c33c4b0c6833 /src/Xmobar.hs | |
parent | 6c456e9e1f881fd70e9c1b357edfc5d63f7a3204 (diff) | |
download | xmobar-5074fdf2d6aa85ce17ad98112ec5019eb05a39c4.tar.gz xmobar-5074fdf2d6aa85ce17ad98112ec5019eb05a39c4.tar.bz2 |
New configuration option "persistent"
When persistent is set to True then xmobar will always be mapped
(revealed) and never be hidden.
The flag is checked in eventLoop and operation to map/unmap windows is
not carried out if persistence is desired.
Diffstat (limited to 'src/Xmobar.hs')
-rw-r--r-- | src/Xmobar.hs | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/Xmobar.hs b/src/Xmobar.hs index a65a236..1ae55bb 100644 --- a/src/Xmobar.hs +++ b/src/Xmobar.hs @@ -145,11 +145,17 @@ eventLoop tv xc@(XConf d _ w fs cfg) signal = do Toggle -> toggle where - hide = hideWindow d w >> eventLoop tv xc signal - reveal = do - r' <- repositionWin d w fs cfg - showWindow d w - eventLoop tv (XConf d r' w fs cfg) signal + isPersistent = not $ persistent cfg + + hide = when isPersistent (hideWindow d w) >> eventLoop tv xc signal + + reveal = if isPersistent + then do + r' <- repositionWin d w fs cfg + showWindow d w + eventLoop tv (XConf d r' w fs cfg) signal + else eventLoop tv xc signal + toggle = isMapped d w >>= \b -> if b then hide else reveal reposWindow rcfg = do |