diff options
| author | Charles Cabergs <me@cacharle.xyz> | 2021-02-24 17:07:33 +0100 |
|---|---|---|
| committer | Charles Cabergs <me@cacharle.xyz> | 2021-02-24 17:07:33 +0100 |
| commit | 468a789dbc4b1928c035d8590895efc533520a27 (patch) | |
| tree | 74cb056c37eaa50cd50491a7665608488ed4feb1 /xmonad.hs | |
| parent | f9883d2c3b3699d91e98feeffd7eece546f7c57e (diff) | |
| download | dotfiles-468a789dbc4b1928c035d8590895efc533520a27.tar.gz dotfiles-468a789dbc4b1928c035d8590895efc533520a27.tar.bz2 dotfiles-468a789dbc4b1928c035d8590895efc533520a27.zip | |
Updated file tree to match XDG base directory specification
Diffstat (limited to 'xmonad.hs')
| -rw-r--r-- | xmonad.hs | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/xmonad.hs b/xmonad.hs deleted file mode 100644 index 42792a3..0000000 --- a/xmonad.hs +++ /dev/null @@ -1,74 +0,0 @@ -import Control.Monad -import Data.List -import System.Exit - - -import XMonad -import XMonad.Config.Desktop - --- Utilities -import XMonad.Util.EZConfig (additionalKeysP, additionalKeys) -import XMonad.Util.SpawnOnce -import XMonad.Util.Dmenu - --- Layouts -import XMonad.Layout.NoBorders -import XMonad.Layout.Spacing - --- Hooks -import XMonad.Hooks.InsertPosition - --- xmonad :: XConfig -> IO () --- https://hackage.haskell.org/package/xmonad-0.15/docs/XMonad-Core.html#t:XConfig -main = xmonad $ desktopConfig - { normalBorderColor = "#1c1c1c" - , focusedBorderColor = "#8a8a8a" - , terminal = "st" - , layoutHook = myLayouts - , manageHook = myManageHook - , 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 - - -myLayouts = mySpacing 4 $ tiledVerticalBigMaster -- bigger master for code and smaller slave for compiling - ||| Mirror tiledHorizontalEven -- 50/50 horizontal split - ||| noBorders Full -- disable borders for fullscreen layout - 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 - -myManageHook = 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") - - , ("<XF86MonBrightnessUp>", spawn "~/bin/backlight-ctl up") - , ("<XF86MonBrightnessDown>", spawn "~/bin/backlight-ctl down") - , ("<XF86ScreenSaver>", spawn "slock") - , ("<XF86TouchpadToggle>", spawn "~/bin/touchpad-toggle") - - , ("M-o", spawn "~/bin/project-open") - , ("M-m", spawn "st -e mocp") - , ("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)) - ] - -confirm :: String -> X () -> X () -confirm prompt f = do - result <- menuArgs "dmenu" ["-p", prompt] ["yes", "no"] - when (result == "yes") f - -restartCmd :: String -restartCmd = intercalate "; " [ "if type xmonad" - , "then xmonad --recompile && xmonad --restart" - , "else xmessage xmonad not in \\$PATH: \"$PATH\"" - , "fi" - ] |
