aboutsummaryrefslogtreecommitdiff
path: root/src/Rahm/Desktop/Keys.hs
diff options
context:
space:
mode:
authorJosh Rahm <rahm@google.com>2025-03-06 00:52:26 -0700
committerJosh Rahm <rahm@google.com>2025-03-06 00:52:26 -0700
commitc31124dfaa8a337e9fe16c43666482da2ca69984 (patch)
tree2c437201fb1861a3ba90d8f9a62f609932e4e83a /src/Rahm/Desktop/Keys.hs
parent95c5aaf46dfb469d6cebeb80e67563aad2cf470e (diff)
downloadrde-c31124dfaa8a337e9fe16c43666482da2ca69984.tar.gz
rde-c31124dfaa8a337e9fe16c43666482da2ca69984.tar.bz2
rde-c31124dfaa8a337e9fe16c43666482da2ca69984.zip
Implement basic screen corners.
It would be really cool to integrate screen corners with the binding DSL, but that requires extra thought.
Diffstat (limited to 'src/Rahm/Desktop/Keys.hs')
-rw-r--r--src/Rahm/Desktop/Keys.hs10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/Rahm/Desktop/Keys.hs b/src/Rahm/Desktop/Keys.hs
index dc6628b..f4efbb3 100644
--- a/src/Rahm/Desktop/Keys.hs
+++ b/src/Rahm/Desktop/Keys.hs
@@ -140,6 +140,7 @@ import XMonad.Actions.RotSlaves
rotAllUp,
)
import XMonad.Hooks.ManageDocks (ToggleStruts (..))
+import XMonad.Hooks.ScreenCorners
import XMonad.Layout.Spacing
( Border (..),
SpacingModifier (..),
@@ -1294,6 +1295,10 @@ bindings = do
"Kills xmonad. Always binds to the 'Q' key."
(io exitSuccess :: X ())
+cornersConfig :: Map ScreenCorner (X ())
+cornersConfig =
+ Map.fromList [(SCUpperLeft, displayDzenSelection)]
+
-- where
--
-- permuteMods = map (foldl' (.|.) 0) . filterM (const [True, False])
@@ -1326,7 +1331,10 @@ applyKeys c =
Map.insert
(modMask c .|. shiftMask, xK_q)
(spawnX "xmonad --recompile && xmonad --restart")
- . keys conf'
+ . keys conf',
+ startupHook = do
+ startupHook c
+ forM_ (Map.toList cornersConfig) (uncurry addScreenCorner)
}
windowSpecificBindings ::