diff options
| author | Charles Cabergs <me@cacharle.xyz> | 2021-03-01 09:19:12 +0100 |
|---|---|---|
| committer | Charles Cabergs <me@cacharle.xyz> | 2021-03-01 09:19:12 +0100 |
| commit | b66a99a07e932b8c3f633ca464643d4639f62869 (patch) | |
| tree | cc3afde9c54763be1d9eda3c42f767a9a9dbe894 | |
| parent | f56da0d98b2eda083c3b7b1606f804d76a001967 (diff) | |
| download | dotfiles-b66a99a07e932b8c3f633ca464643d4639f62869.tar.gz dotfiles-b66a99a07e932b8c3f633ca464643d4639f62869.tar.bz2 dotfiles-b66a99a07e932b8c3f633ca464643d4639f62869.zip | |
Added xmonad launch terminal and browser on startup
| -rw-r--r-- | config/xmonad/xmonad.hs | 76 | ||||
| -rw-r--r-- | pacman-packages | 2 |
2 files changed, 43 insertions, 35 deletions
diff --git a/config/xmonad/xmonad.hs b/config/xmonad/xmonad.hs index 78a490f..522549b 100644 --- a/config/xmonad/xmonad.hs +++ b/config/xmonad/xmonad.hs @@ -4,21 +4,21 @@ import System.Exit import XMonad -import XMonad.Config.Desktop +import XMonad.Config.Desktop (desktopConfig) -- Utilities -import XMonad.Util.EZConfig (additionalKeysP, additionalKeys) -import XMonad.Util.SpawnOnce -import XMonad.Util.Dmenu +import XMonad.Util.Dmenu (menuArgs) +import XMonad.Util.EZConfig (additionalKeys, additionalKeysP) +import XMonad.Util.SpawnOnce (spawnOnOnce) -- Layouts -import XMonad.Layout.NoBorders -import XMonad.Layout.Spacing -import XMonad.Layout.Grid -import XMonad.Layout.Reflect +import XMonad.Layout.NoBorders (noBorders) +import XMonad.Layout.Reflect (reflectHoriz) +import XMonad.Layout.Spacing (Border (..), spacingRaw) -- Hooks -import XMonad.Hooks.InsertPosition +import XMonad.Hooks.InsertPosition (Focus (..), Position (..), + insertPosition) -- xmonad :: XConfig -> IO () -- https://hackage.haskell.org/package/xmonad-0.15/docs/XMonad-Core.html#t:XConfig @@ -26,43 +26,49 @@ main = xmonad $ desktopConfig { normalBorderColor = "#1c1c1c" , focusedBorderColor = "#8a8a8a" , terminal = "st" - , layoutHook = myLayouts - , manageHook = myManageHook + , layoutHook = layoutHook' + , manageHook = manageHook' , modMask = mod4Mask -- mod key to super , borderWidth = 2 , focusFollowsMouse = False -- don't change window based on mouse position (need to click) - , workspaces = ["code", "compile", "web"] ++ map show [4..9] - } `additionalKeysP` myKeys + , workspaces = ["code", "web"] ++ map show [3..9] + , startupHook = startupHook' + } `additionalKeysP` keys' -myLayouts = mySpacing 4 $ reflectHoriz tiledVerticalBigMaster -- main monitor is slighly to the left - ||| tiledVerticalBigMaster -- bigger master for code and smaller slave for compiling - ||| noBorders Full -- disable borders for fullscreen layout - ||| Mirror tiledHorizontalEven -- 50/50 horizontal split +layoutHook' = spacing' 4 $ reflectHoriz tiledVerticalBigMaster -- main monitor is slighly to the left + ||| tiledVerticalBigMaster -- bigger master for code and smaller slave for compiling + ||| noBorders Full -- disable borders for fullscreen layout + ||| Mirror tiledHorizontalEven -- 50/50 horizontal split where tiledVerticalBigMaster = Tall 1 (3 / 100) (3 / 5) tiledHorizontalEven = Tall 1 (3 / 100) (1 / 2) - mySpacing x = spacingRaw True (Border x x x x) False (Border x x x x) True + spacing' x = spacingRaw True (Border x x x x) False (Border x x x x) True -myManageHook = insertPosition End Newer -- insert new window at the end of the current layout +manageHook' = insertPosition End Newer -- insert new window at the end of the current layout -myKeys = [ ("<XF86AudioLowerVolume>", spawn "pulseaudio-ctl down") - , ("<XF86AudioRaiseVolume>", spawn "pulseaudio-ctl up") - , ("<XF86AudioMute>", spawn "pulseaudio-ctl mute") - , ("M-<F11>", spawn "pulseaudio-ctl down") - , ("M-<F12>", spawn "pulseaudio-ctl up") +keys' = [ ("<XF86AudioLowerVolume>", spawn "pulseaudio-ctl down") + , ("<XF86AudioRaiseVolume>", spawn "pulseaudio-ctl up") + , ("<XF86AudioMute>", spawn "pulseaudio-ctl mute") + , ("M-<F11>", spawn "pulseaudio-ctl down") + , ("M-<F12>", spawn "pulseaudio-ctl up") - , ("<XF86MonBrightnessUp>", spawn "backlight-ctl up") - , ("<XF86MonBrightnessDown>", spawn "backlight-ctl down") - , ("<XF86ScreenSaver>", spawn "slock") - , ("<XF86TouchpadToggle>", spawn "touchpad-toggle") + , ("<XF86MonBrightnessUp>", spawn "backlight-ctl up") + , ("<XF86MonBrightnessDown>", spawn "backlight-ctl down") + , ("<XF86ScreenSaver>", spawn "slock") + , ("<XF86TouchpadToggle>", spawn "touchpad-toggle") - , ("M-o", spawn "project-open") - , ("M-m", spawn "st -e mocp -C /home/cacharle/.config/moc/config") - , ("M-S-d", spawn "notify-send -i x-office-calendar \"$(date +\"%H:%M %A %d/%m/%Y %B\")\"") - , ("M-S-b", spawn "notify-send \"battery: $(cat /sys/class/power_supply/BAT0/capacity)\"") - , ("M-q", spawn "notify-send 'Restarting xmonad'" >> spawn restartCmd) - , ("M-S-q", confirm "Are you sure you want to shutdown?" $ io (exitWith ExitSuccess)) - ] + , ("M-o", spawn "project-open") + , ("M-m", spawn "st -e mocp -C /home/cacharle/.config/moc/config") + , ("M-S-d", spawn "notify-send -i x-office-calendar \"$(date +\"%H:%M %A %d/%m/%Y %B\")\"") + , ("M-S-b", spawn "notify-send \"battery: $(cat /sys/class/power_supply/BAT0/capacity)\"") + , ("M-q", spawn "notify-send 'Restarting xmonad'" >> spawn restartCmd) + , ("M-S-q", confirm "Are you sure you want to shutdown?" $ io (exitWith ExitSuccess)) + ] + +startupHook' :: X () +startupHook' = do + spawnOnOnce "code" "st" + spawnOnOnce "web" "qutebrowser" confirm :: String -> X () -> X () confirm prompt f = do diff --git a/pacman-packages b/pacman-packages index 2c899bb..26b672b 100644 --- a/pacman-packages +++ b/pacman-packages @@ -13,3 +13,5 @@ gdb pandoc qutebrowser curl + +stylish-haskell |
