diff options
| author | Christian <[email protected]> | 2026-01-18 21:17:14 -0600 |
|---|---|---|
| committer | Christian <[email protected]> | 2026-01-18 21:41:12 -0600 |
| commit | 87be0d3dd54e71f33b9d8a757273ae4f2170e3f0 (patch) | |
| tree | 758db0c339023ef7bdae276dab85770a31c6644f /modules/xmonad.hs | |
| parent | 44adb7d61e71370acb7d839e6b76270f9a081939 (diff) | |
Multiple configs
Diffstat (limited to 'modules/xmonad.hs')
| -rw-r--r-- | modules/xmonad.hs | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/modules/xmonad.hs b/modules/xmonad.hs new file mode 100644 index 0000000..1df21b5 --- /dev/null +++ b/modules/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 |
