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