import XMonad import XMonad.Hooks.DynamicLog import XMonad.Hooks.ManageDocks import XMonad.Util.Run(spawnPipe) import XMonad.Util.EZConfig(additionalKeys) import System.IO import XMonad hiding(Tall) import XMonad.Actions.Promote import XMonad.Actions.UpdatePointer import XMonad.Actions.Warp import XMonad.Hooks.UrgencyHook import XMonad.Layout.LayoutHints import XMonad.Layout.NoBorders import XMonad.Layout.HintedTile import qualified XMonad.StackSet as W import XMonad.Prompt import XMonad.Prompt.Shell main :: IO () myWorkspaces = ["term","web","dev","im","@","misc","rss","file","rh"] myFont = "xft:DejaVu Sans:size=10" focusColor = "#60ff45" textColor = "#c0c0a0" lightTextColor = "#fffff0" backgroundColor = "#304520" lightBackgroundColor = "#456030" urgentColor = "#ffc000" mymanageHook :: ManageHook mymanageHook = composeAll [ className =? "Firefox" --> doF (W.shift "web") , className =? "Gnome-terminal" --> doF (W.shift "term") , className =? "Pidgin" --> doF (W.shift "im") , className =? "Rhythmbox" --> doF (W.shift "rh") , className =? "Liferea-bin" --> doF (W.shift "rss") , className =? "Nautilus" --> doF (W.shift "file") ] main = do xmproc <- spawnPipe "xmobar /home/nikola/.xmobar" xmonad $ withUrgencyHook NoUrgencyHook $ defaultConfig { manageHook = mymanageHook <+> manageHook defaultConfig, layoutHook = avoidStruts $ smartBorders $ layoutHook defaultConfig, logHook = dynamicLogWithPP $ xmobarPP { ppCurrent = xmobarColor focusColor "" , ppVisible = xmobarColor lightTextColor "" , ppHiddenNoWindows = xmobarColor lightBackgroundColor "" , ppUrgent = xmobarColor urgentColor "" , ppSep = " ยท " , ppWsSep = "|" , ppTitle = xmobarColor lightTextColor "" , ppOutput = hPutStrLn xmproc }, workspaces = myWorkspaces, modMask = mod4Mask -- Rebind Mod to the Windows key } `additionalKeys` [((mod4Mask .|. shiftMask, xK_z), spawn "xscreensaver-command -lock"), ((controlMask, xK_Print), spawn "scrot -s"), ((mod4Mask .|. controlMask, xK_x), shellPrompt defaultXPConfig), ((0, xK_Print), spawn "scrot") ]