Use glsl as a wallpaper
diff --git a/modules/xmonad/xmonad.hs b/modules/xmonad/xmonad.hs
index bbd949f..660db50 100644
--- a/modules/xmonad/xmonad.hs
+++ b/modules/xmonad/xmonad.hs
@@ -1,19 +1,23 @@
-- spell-checker:words xmonad
-import XMonad
+import XMonad
-import System.Exit
-import XMonad.Util.EZConfig
+import System.Exit
+import XMonad.Util.EZConfig
-import XMonad.Hooks.EwmhDesktops
-import XMonad.Hooks.ManageDocks
-import XMonad.Config.Desktop
+import XMonad.Config.Desktop
+import XMonad.Hooks.EwmhDesktops
+import XMonad.Hooks.ManageDocks
-import XMonadLog
-import XMonad.Hooks.DynamicLog
-import qualified DBus.Client as D
+import qualified DBus.Client as D
+import XMonad.Hooks.DynamicLog
+import XMonadLog
-import XMonad.Layout.Spacing
-import XMonad.Layout.Gaps
+import XMonad.Hooks.ManageHelpers (isInProperty, doLower)
+import XMonad.Layout.Gaps
+import XMonad.Layout.Spacing
+import Foreign.C
+import Blaze.ByteString.Builder (toByteString)
+import XMonad.Layout.Drawer (propertyToQuery)
terminal = "kitty" -- Kitty, my beloved <3
launcher = "pkill rofi; rofi -show combi"
@@ -22,7 +26,7 @@
statusBar = "pkill polybar; polybar"
compositor = "pkill picom; picom"
-background = "feh --no-fehbg --bg-fill .xmonad/background.png"
+background = "pkill show; show ~/.xmonad/wallpaper.glsl"
shift = shiftMask
@@ -30,13 +34,13 @@
spawn Main.statusBar
spawn Main.compositor
spawn background
-
+
main :: IO ()
main = XMonadLog.xmonadLog >>= main'
main' :: D.Client -> IO ()
-main' dbus = xmonad $ docks $ ewmh . ewmhFullscreen $ def
+main' dbus = xmonad $ ewmh . ewmhFullscreen $ docks $ def
{ modMask = modifierKey -- Use Super as our mod key
, borderWidth = 0
, XMonad.terminal = Main.terminal
@@ -46,10 +50,16 @@
smartSpacing 5 $
gaps [(U, 5), (D, 5), (L, 5), (R, 5)] $
layoutHook def
+ , XMonad.manageHook = composeAll
+ [ className =? "Show" --> doIgnore <+> doLower <+> doLower
+ -- You can't check if "Show" is a desktop window,
+ -- I believe it's because show doesn't instantly set
+ -- desktop. Do not try. It is not worth it.
+ ] <+> manageHook def
} `additionalKeys`
[ ((modifierKey, xK_d), spawn launcher)
, ((modifierKey, xK_n), spawn networkManager)
, ((modifierKey .|. shift, xK_q), kill)
, ((modifierKey, xK_q), spawn "xmonad --restart")
- , ((modifierKey .|. shift, xK_c), io (exitWith ExitSuccess))
+ , ((modifierKey .|. shift, xK_c), io exitSuccess)
]