aboutsummaryrefslogtreecommitdiff
path: root/src/Rahm/Desktop/Keys.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Rahm/Desktop/Keys.hs')
-rw-r--r--src/Rahm/Desktop/Keys.hs29
1 files changed, 16 insertions, 13 deletions
diff --git a/src/Rahm/Desktop/Keys.hs b/src/Rahm/Desktop/Keys.hs
index 6973b81..69873e4 100644
--- a/src/Rahm/Desktop/Keys.hs
+++ b/src/Rahm/Desktop/Keys.hs
@@ -32,6 +32,7 @@ import XMonad.Layout.Spacing
import XMonad.Prompt
import XMonad.Prompt.Input
import XMonad.Prompt.Shell
+import XMonad.Util.XUtils
import XMonad.Util.CustomKeys
import XMonad.Util.Run (safeSpawn)
import XMonad.Util.Scratchpad
@@ -392,19 +393,21 @@ keymap = runKeys $ do
sendMessage rotateLayout
bind xK_s $ do
- justMod $ runMaybeT_ $ do
- locations <- readNextLocationSet
-
- workspace <- readNextWorkspace
- mapM_ (lift . moveLocationToWorkspaceFn workspace) locations
-
- lift $ setAlternateWindows (mapMaybe locationWindow locations)
- forM_ locations $ \loc ->
- case locationWindow loc of
- Nothing -> return ()
- Just win -> do
- lift $ logs $ printf "setAlternate %s %s" (show win) (show $ locationWorkspace loc)
- lift $ setAlternateWorkspace win (locationWorkspace loc)
+ justMod $ do
+ locations <- fromMaybe [] <$> runMaybeT readNextLocationSet
+ let locationWindows = mapMaybe locationWindow locations
+
+ withBorderColor "#00ffff" locationWindows $ do
+ runMaybeT_ $ do
+ workspace <- readNextWorkspace
+ mapM_ (lift . moveLocationToWorkspaceFn workspace) locations
+
+ lift $ setAlternateWindows locationWindows
+ forM_ locations $ \loc ->
+ case locationWindow loc of
+ Nothing -> return ()
+ Just win -> do
+ lift $ setAlternateWorkspace win (locationWorkspace loc)
altMod $ spawnX "sudo -A systemctl suspend && xsecurelock"