1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- 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"
|