From 39740c6f9a4a9ba5655fe77c0613cc86478571cb Mon Sep 17 00:00:00 2001 From: Christian Date: Thu, 1 Jan 2026 17:25:13 -0600 Subject: Initial commit --- xmonad.hs | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 xmonad.hs (limited to 'xmonad.hs') diff --git a/xmonad.hs b/xmonad.hs new file mode 100644 index 0000000..1df21b5 --- /dev/null +++ b/xmonad.hs @@ -0,0 +1,29 @@ +import XMonad +import XMonad.Util.EZConfig (additionalKeys) +import Control.Monad (when) +import Text.Printf (printf) +import System.Posix.Process (executeFile) +import System.Info (arch,os) +import System.Environment (getArgs) +import System.FilePath (()) + +compiledConfig = printf "xmonad-%s-%s" arch os + +myConfig = defaultConfig + { modMask = mod1Mask + , terminal = "alacritty" } + `additionalKeys` + [ ( (mod1Mask, xK_r), compileRestart True) + , ( (mod1Mask, xK_q), restart "xmonad" True ) ] + +compileRestart resume = do + dirs <- asks directories + whenX (recompile dirs True) $ do + when resume writeStateToFile + catchIO + ( do + args <- getArgs + executeFile (cacheDir dirs compiledConfig) False args Nothing + ) + +main = getDirectories >>= launch myConfig -- cgit v1.2.3