Browse Source

Restructure, add layout config

Josh Bicking 7 years ago
parent
commit
e5a1fab7a5
1 changed files with 86 additions and 74 deletions
  1. 86 74
      xmonad/xmonad.hs

+ 86 - 74
xmonad/xmonad.hs

@@ -3,13 +3,18 @@ import XMonad.Config.Desktop
 import XMonad.Hooks.DynamicLog
 import XMonad.Hooks.ManageDocks
 import XMonad.Util.Run(spawnPipe, hPutStrLn, runProcessWithInput)
-import XMonad.Util.EZConfig(additionalKeys)
 
--- For shutdown commands and keys
+-- Layouts
+import XMonad.Layout.Spacing(smartSpacing)
+import XMonad.Layout.Tabbed(simpleTabbed)
+import XMonad.Layout.NoBorders
+
+-- Shutdown commands and keys
 import Data.Map(fromList)
 import XMonad.Prompt
 import XMonad.Prompt.XMonad
 import System.Exit(ExitCode(ExitSuccess), exitWith)
+import XMonad.Util.EZConfig(additionalKeys)
 
 -- Brightness and audio keys
 import Graphics.X11.ExtraTypes.XF86
@@ -17,78 +22,20 @@ import Graphics.X11.ExtraTypes.XF86
 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`
-        [
-          -- scrot
-          ((controlMask, xK_Print), spawn "sleep 0.2; scrot -s")
-        , ((0, xK_Print), spawn "scrot")
-
-        -- rofi
-        , ((mod4Mask, xK_p ), spawn "rofi -show run")
-
-        -- shutdown
-        , ((mod4Mask .|. shiftMask, xK_q),
-           xmonadPrompt defaultXPConfig
-           { promptKeymap = fromList
-             [ ((0, xK_r), do
-                   spawn "emacsclient -e '(kill emacs)'"
-                   spawn "systemctl reboot")
-             , ((0 , 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),  do
-                   spawn "xscreensaver-command -lock"
-                   quit)
-             , ((0, xK_z), do
-                   spawn "xscreensaver-command -lock"
-                   spawn "systemctl suspend"
-                   quit)
-             , ((0, xK_Escape), quit)
-             ]
-           , defaultText = "(r) Reboot, (s) Shutdown, (e) Exit, (l) Lock, (z) Sleep"
-           })
-        -- pulseaudio
-        , ((0, xF86XK_AudioRaiseVolume),
-               spawn "pactl set-sink-volume alsa_output.pci-0000_00_1f.3.analog-stereo +5%")
-        , ((0, xF86XK_AudioLowerVolume),
-               spawn "pactl set-sink-volume alsa_output.pci-0000_00_1f.3.analog-stereo -XF86AudioMute exec --no-startup-id pactl set-sink-mute alsa_output.pci-0000_00_1f.3.analog-stereo toggle5%")
-        , ((0, xF86XK_AudioMute),
-               spawn "pactl set-sink-mute alsa_output.pci-0000_00_1f.3.analog-stereo toggle")
-
-        -- brightness
-        , ((0, xF86XK_MonBrightnessUp),
-           let
-              returnValM = fmap init $ runProcessWithInput "xbacklight" [] ""
-           in do
-             currentBrightness <- returnValM
-             if (read currentBrightness :: Double) == 0 then
-               spawn "xbacklight -set 2"
-             else
-               spawn "xbacklight -inc 5")
-        , ((0, xF86XK_MonBrightnessDown), spawn "xbacklight -dec 5")
-           -- Another option for brightness configuration: never let it reach 0.
-           {-|
-           let
-              returnValM = fmap init $ runProcessWithInput "xbacklight" [] ""
-           in do
-             currentBrightness <- returnValM
-             if (read currentBrightness :: Double) - 5 >= 0 then
-               spawn "xbacklight -dec 5"
-             else return ())
-           -}
-        ]
+    { manageHook = manageDocks <+> manageHook defaultConfig
+    , layoutHook = smartBorders $ withBorder 2 $ avoidStruts $ smartSpacing 5 $
+                   Tall 1 (3/100) (1/2) |||
+                   Mirror (Tall 1 (3/100) (1/2)) |||
+                   Full |||
+                   simpleTabbed
+    , logHook = dynamicLogWithPP xmobarPP
+      { ppOutput = hPutStrLn xmproc
+      , ppTitle = xmobarColor "green" "" . shorten 50
+      }
+    , startupHook = startup
+    , terminal    = "gnome-terminal"
+    , modMask     = mod4Mask
+    } `additionalKeys` myKeys
 
 startup :: X ()
 startup = do
@@ -97,3 +44,68 @@ startup = do
   spawn "trayer --transparent true --alpha 0 --tint 0x00000000 --SetDockType true --expand true --edge top --align right --width 15 --height 18"
   spawn "xfce4-clipman"
   spawn "xbacklight -set 12"
+  spawn "compton"
+  spawn "xscreensaver -nosplash"
+
+myKeys = [
+  -- scrot
+  ((controlMask, xK_Print), spawn "sleep 0.2; scrot -s")
+  , ((0, xK_Print), spawn "scrot")
+
+  -- rofi
+  , ((mod4Mask, xK_p ), spawn "rofi -show run")
+
+  -- shutdown
+  , ((mod4Mask .|. shiftMask, xK_q),
+     xmonadPrompt defaultXPConfig
+     { promptKeymap = fromList
+       [ ((0, xK_r), do
+             spawn "emacsclient -e '(kill emacs)'"
+             spawn "systemctl reboot")
+       , ((0 , 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),  do
+             spawn "xscreensaver-command -lock"
+             quit)
+       , ((0, xK_z), do
+             spawn "xscreensaver-command -lock"
+             spawn "systemctl suspend"
+             quit)
+       , ((0, xK_Escape), quit)
+       ]
+     , defaultText = "(r) Reboot, (s) Shutdown, (e) Exit, (l) Lock, (z) Sleep"
+     })
+  -- pulseaudio
+  , ((0, xF86XK_AudioRaiseVolume),
+         spawn "pactl set-sink-volume alsa_output.pci-0000_00_1f.3.analog-stereo +5%")
+  , ((0, xF86XK_AudioLowerVolume),
+         spawn "pactl set-sink-volume alsa_output.pci-0000_00_1f.3.analog-stereo -XF86AudioMute exec --no-startup-id pactl set-sink-mute alsa_output.pci-0000_00_1f.3.analog-stereo toggle5%")
+  , ((0, xF86XK_AudioMute),
+         spawn "pactl set-sink-mute alsa_output.pci-0000_00_1f.3.analog-stereo toggle")
+
+  -- brightness
+  , ((0, xF86XK_MonBrightnessUp),
+     let
+        returnValM = fmap init $ runProcessWithInput "xbacklight" [] ""
+     in do
+       currentBrightness <- returnValM
+       if (read currentBrightness :: Double) == 0 then
+         spawn "xbacklight -set 2"
+       else
+         spawn "xbacklight -inc 5")
+  , ((0, xF86XK_MonBrightnessDown), spawn "xbacklight -dec 5")
+     -- Another option for brightness configuration: never let it reach 0.
+     {-|
+     let
+        returnValM = fmap init $ runProcessWithInput "xbacklight" [] ""
+     in do
+       currentBrightness <- returnValM
+       if (read currentBrightness :: Double) - 5 >= 0 then
+         spawn "xbacklight -dec 5"
+       else return ())
+     -}
+  ]