dotfiles/xmonad/xmonad.hs

49 lines
1.5 KiB
Haskell

import XMonad
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.EwmhDesktops
import XMonad.Util.EZConfig
import XMonad.Util.Loggers
import XMonad.Util.Ungrab
import XMonad.Config.Xfce
main :: IO ()
-- main :: XConfig l
main = xmonad
. ewmh
=<< statusBar "xmobar" myXmobarPP toggleStrutsKey myConfig
where
toggleStrutsKey :: XConfig Layout -> (KeyMask, KeySym)
toggleStrutsKey XConfig{ modMask = m } = (m, xK_b)
myConfig = xmonad xfceConfig
{ borderWidth = 4
, terminal = "/home/adam/.local/bin/alacritty"
, modMask = mod4Mask
, focusedBorderColor = "#ff00ff"
}
`additionalKeysP`
[ ("M-S-<Return>", spawn "/home/adam/.local/bin/alacritty msg create-window || /home/adam/.local/bin/alacritty")
, ("M-S-q", spawn "xfce4-session-logout")
]
myXmobarPP :: PP
myXmobarPP = def
{ ppSep = magenta ""
, ppTitle = shorten 32
, ppTitleSanitize = xmobarStrip
, ppCurrent = wrap (mediumblue "[") (mediumblue "]")
, ppHidden = midnightblue . wrap " " ""
, ppHiddenNoWindows = teal . wrap " " ""
, ppUrgent = red . wrap (red "!") (red "!")
}
where
midnightblue, mediumblue, magenta, red, white, yellow, teal :: String -> String
midnightblue = xmobarColor "#191970" ""
mediumblue = xmobarColor "#0000cd" ""
magenta = xmobarColor "#ff79c6" ""
white = xmobarColor "#f8f8f2" ""
yellow = xmobarColor "#f1fa8c" ""
red = xmobarColor "#ff5555" ""
teal = xmobarColor "#008080" ""