|  | @@ -0,0 +1,56 @@
 | 
	
		
			
				|  |  | +import XMonad
 | 
	
		
			
				|  |  | +import XMonad.Config.Desktop
 | 
	
		
			
				|  |  | +import XMonad.Hooks.DynamicLog
 | 
	
		
			
				|  |  | +import XMonad.Hooks.ManageDocks
 | 
	
		
			
				|  |  | +import XMonad.Util.Run(spawnPipe, hPutStrLn)
 | 
	
		
			
				|  |  | +import XMonad.Util.EZConfig(additionalKeys)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +-- For shutdown commands and keys
 | 
	
		
			
				|  |  | +import Data.Map
 | 
	
		
			
				|  |  | +import XMonad.Prompt
 | 
	
		
			
				|  |  | +import XMonad.Prompt.XMonad
 | 
	
		
			
				|  |  | +import System.Exit
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +main = do
 | 
	
		
			
				|  |  | +  xmproc <- spawnPipe "xmobar"
 | 
	
		
			
				|  |  | +  xmonad $ docks defaultConfig
 | 
	
		
			
				|  |  | +        { manageHook = manageDocks <+> manageHook defaultConfig
 | 
	
		
			
				|  |  | +        , layoutHook = avoidStruts  $  layoutHook defaultConfig
 | 
	
		
			
				|  |  | +	, logHook = dynamicLogWithPP xmobarPP
 | 
	
		
			
				|  |  | +		{ ppOutput = hPutStrLn xmproc
 | 
	
		
			
				|  |  | +		, ppTitle = xmobarColor "green" "" . shorten 50
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +        , startupHook = startup
 | 
	
		
			
				|  |  | +        , terminal    = "gnome-terminal"
 | 
	
		
			
				|  |  | +	, modMask     = mod4Mask
 | 
	
		
			
				|  |  | +	} `additionalKeys`
 | 
	
		
			
				|  |  | +        [ ((controlMask, xK_Print), spawn "sleep 0.2; scrot -s")
 | 
	
		
			
				|  |  | +        , ((0, xK_Print), spawn "scrot")
 | 
	
		
			
				|  |  | +        , ((mod4Mask, xK_p ), spawn "rofi -show run")
 | 
	
		
			
				|  |  | +        , ((mod4Mask .|. shiftMask, xK_q),
 | 
	
		
			
				|  |  | +           xmonadPrompt defaultXPConfig
 | 
	
		
			
				|  |  | +           { promptKeymap = fromList
 | 
	
		
			
				|  |  | +             [ ((0, xK_r), do
 | 
	
		
			
				|  |  | +                   spawn "emacsclient -e '(kill emacs)'"
 | 
	
		
			
				|  |  | +                   spawn "systemctl reboot")
 | 
	
		
			
				|  |  | +             , ((shiftMask, xK_s), do
 | 
	
		
			
				|  |  | +                   spawn "emacsclient -e '(kill emacs)'"
 | 
	
		
			
				|  |  | +                   spawn "sudo poweroff")
 | 
	
		
			
				|  |  | +             , ((0, xK_e), do
 | 
	
		
			
				|  |  | +                   spawn "emacsclient -e '(kill emacs)'"
 | 
	
		
			
				|  |  | +                   io $ exitWith ExitSuccess)
 | 
	
		
			
				|  |  | +             , ((0, xK_l),  spawn "xscreensaver-command -lock")
 | 
	
		
			
				|  |  | +             , ((0, xK_s), do
 | 
	
		
			
				|  |  | +                   spawn "xscreensaver-command -lock"
 | 
	
		
			
				|  |  | +                   spawn "systemctl suspend")
 | 
	
		
			
				|  |  | +             , ((0, xK_Escape), quit)
 | 
	
		
			
				|  |  | +             ]
 | 
	
		
			
				|  |  | +           , defaultText = "(r) Reboot, (S) Shutdown, (e) Exit, (l) Lock, (s) Sleep"
 | 
	
		
			
				|  |  | +           })
 | 
	
		
			
				|  |  | +        ]
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +startup :: X ()
 | 
	
		
			
				|  |  | +startup = do
 | 
	
		
			
				|  |  | +  spawn "feh --bg-scale ~/Owncloud/Backgrounds/Xmbindings.png"
 | 
	
		
			
				|  |  | +  spawn "owncloud"
 | 
	
		
			
				|  |  | +  spawn "trayer --transparent true --alpha 0 --tint 0x00000000 --SetDockType true --expand true --edge top --align right --width 15 --height 18"
 |