diff --git a/.config/xmobar/natural-green-xmobarrc b/.config/xmobar/natural-green-xmobarrc index 22969f1..fa00e3e 100644 --- a/.config/xmobar/natural-green-xmobarrc +++ b/.config/xmobar/natural-green-xmobarrc @@ -1,3 +1,8 @@ Config { bgColor = "#425F57" , fgColor = "#CFFF8D" - , template = "%XMonadPropRead%"} + , font = "xft:iosevka-9" + , commands = [ Run Date "%a %Y-%m-%d %H:%M" "date" 10 + , Run XMonadLog + ] + , alignSep = "}{" + , template = " %XMonadLog% }{ %date% "} diff --git a/.config/xmonad/lib/NaturalGreenTheme.hs b/.config/xmonad/lib/NaturalGreenTheme.hs new file mode 100644 index 0000000..916e1d2 --- /dev/null +++ b/.config/xmonad/lib/NaturalGreenTheme.hs @@ -0,0 +1,17 @@ +module NaturalGreenTheme (naturalGreenTheme) where +import Theme (Theme(..)) +import XMonad.Hooks.StatusBar.PP + +naturalGreenXmobarPP :: PP +naturalGreenXmobarPP = def + { ppSep = " • " + } + +naturalGreenTheme :: Theme +naturalGreenTheme = Theme { themeName = "Natural Green" + , themeBarConfig = "~/.config/xmobar/natural-green-xmobarrc" + , themeBorderColor = "#425F57" + , themeFocusedBorderColor = "#749F82" + , themeWallpaper = "~/Wallpapers/wp-hs.png" + , themeXmobarPP = naturalGreenXmobarPP + } diff --git a/.config/xmonad/lib/Theme.hs b/.config/xmonad/lib/Theme.hs new file mode 100644 index 0000000..af082a3 --- /dev/null +++ b/.config/xmonad/lib/Theme.hs @@ -0,0 +1,10 @@ +module Theme ( Theme(..) ) where +import XMonad.Hooks.StatusBar.PP + +data Theme = Theme { themeName :: String + , themeBarConfig :: String + , themeBorderColor :: String + , themeFocusedBorderColor :: String + , themeWallpaper :: String + , themeXmobarPP :: PP + } diff --git a/.config/xmonad/xmonad.hs b/.config/xmonad/xmonad.hs index 2d41e56..cc862cf 100644 --- a/.config/xmonad/xmonad.hs +++ b/.config/xmonad/xmonad.hs @@ -6,17 +6,21 @@ import XMonad.Hooks.StatusBar.PP import XMonad.Hooks.EwmhDesktops import XMonad.Util.SpawnOnce (spawnOnce) -main = do - xmonad . ewmhFullscreen . ewmh . xmobarProp $ def - { terminal = myTerminal - , modMask = myModMask - , borderWidth = myBorderWidth - , focusedBorderColor = themeFocusedBorderColor myTheme - , normalBorderColor = themeBorderColor myTheme - , startupHook = myStartupHook - } - `additionalKeysP` myKeybindings +import Theme +import NaturalGreenTheme +main = do + xmonad . ewmhFullscreen . ewmh . withEasySB (statusBarProp ("xmobar " ++ themeWallpaper myTheme) (pure $ themeXmobarPP myTheme)) defToggleStrutsKey $ myConfig + + +myConfig = def { terminal = myTerminal + , modMask = myModMask + , borderWidth = myBorderWidth + , focusedBorderColor = themeFocusedBorderColor myTheme + , normalBorderColor = themeBorderColor myTheme + , startupHook = myStartupHook + } + `additionalKeysP` myKeybindings myTerminal = "alacritty" myModMask = mod4Mask @@ -27,7 +31,7 @@ myTheme = naturalGreenTheme myStartupHook :: X () myStartupHook = do - spawnOnce $ "/usr/bin/xmobar " ++ themeBarConfig myTheme + spawn $ "/usr/bin/xmobar " ++ themeBarConfig myTheme spawn $ "feh --bg-scale " ++ themeWallpaper myTheme myKeybindings :: [(String, X())] @@ -39,19 +43,3 @@ myKeybindings = [ ("M-e", spawn myEmacs) , ("", spawn "amixer -q sset Master 3%-") , ("M-", spawn myTerminal) ] - --- Themes -data Theme = Theme { themeName :: String - , themeBarConfig :: String - , themeBorderColor :: String - , themeFocusedBorderColor :: String - , themeWallpaper :: String - } - -naturalGreenTheme :: Theme -naturalGreenTheme = Theme { themeName = "Natural Green" - , themeBarConfig = "~/.config/xmobar/natural-green-xmobarrc" - , themeBorderColor = "#425F57" - , themeFocusedBorderColor = "#749F82" - , themeWallpaper = "~/Wallpapers/wp-hs.png" - }