Personal tools

John-yates-xmonad.hs

From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
 
m (Got rid of spammy hyperlinks.)
Line 63: Line 63:
 
, logHook = myLogHookWithPP $ defaultPP
 
, logHook = myLogHookWithPP $ defaultPP
 
{ ppOutput = hPutStrLn xmproc
 
{ ppOutput = hPutStrLn xmproc
, ppOrder = take 1 . drop 2
+
<span class="plainlinks">[http://how2gainweightfast.org <span style="color:black;font-weight:normal;text-decoration:none!important;background:none!important; text-decoration:none;">weight gain</span>]</span> , ppOrder = take 1 . drop 2
 
}
 
}
 
, keys = myKeys
 
, keys = myKeys

Revision as of 20:52, 7 November 2011

import XMonad
import XMonad.Config.Gnome
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.EwmhDesktops
import XMonad.Util.Run(spawnPipe)
import System.IO
 
import qualified Data.Map as M
 
--  colors match Ubuntu Human theme and Gnome panels
selected   = "'#fad184'"
background = "'#efebe7'"
foreground = "'#000000'"
 
-- height matches Ubuntu top Gnome panel
barHeight = "24"
 
--  font intended to match Ubuntu default application font
appFontXft = "'xft\
                \:Sans\
                \:pixelsize=14\
                \:weight=regular\
                \:width=semicondensed\
                \:dpi=96\
                \:hinting=true\
                \:hintstyle=hintslight\
                \:antialias=true\
                \:rgba=rgb\
                \:lcdfilter=lcdlight\
             \'"
 
-- currently dzen2 compiled locally to get xft support
-- (-e prevents loss of title if naive user clicks on dzen2)
myDzenTitleBar =
    "dzen2\
        \ -ta l\
        \ -x 400 -w 900 -y 0\
        \ -e 'entertitle=uncollapse'\
        \ -h  " ++ barHeight  ++ "\
        \ -bg " ++ background ++ "\
        \ -fg " ++ foreground ++ "\
        \ -fn " ++ appFontXft
 
-- dmenu patched and compiled locally to add xft support
myDmenuTitleBar =
    "exec `dmenu_path | dmenu\
        \ -p 'Run:'\
        \ -i\
        \ -bh " ++ barHeight  ++ "\
        \ -nb " ++ background ++ "\
        \ -nf " ++ foreground ++ "\
        \ -sb " ++ selected   ++ "\
        \ -fn " ++ appFontXft ++ "\
    \`"
 
 
main = do
    xmproc <- spawnPipe myDzenTitleBar
 
    xmonad $ gnomeConfig
        { modMask = mod4Mask     -- Rebind Mod to Windows key
        , logHook    = myLogHookWithPP $ defaultPP
                         { ppOutput = hPutStrLn xmproc
 <span class="plainlinks">[http://how2gainweightfast.org <span style="color:black;font-weight:normal;text-decoration:none!important;background:none!important; text-decoration:none;">weight gain</span>]</span> , ppOrder = take 1 . drop 2
                         }
        , keys       = myKeys
        }
    where
 
myLogHookWithPP :: PP -> X ()
myLogHookWithPP pp = do
    ewmhDesktopsLogHook
    dynamicLogWithPP pp
 
defKeys    = keys defaultConfig
delKeys x  = foldr M.delete           (defKeys x) (toRemove x)
myKeys x   = foldr (uncurry M.insert) (delKeys x) (toAdd    x)
 
-- remove some of the default key bindings
toRemove x =
    [ (modMask x              , xK_p  )
    , (modMask x .|. shiftMask, xK_q  ) -- don't strand naive users
    ]
 
toAdd x   =
    [ ((modMask x              , xK_p ), spawn myDmenuTitleBar)
    ]