diff options
Diffstat (limited to 'src/Rahm/Desktop/Keys.hs')
| -rw-r--r-- | src/Rahm/Desktop/Keys.hs | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/src/Rahm/Desktop/Keys.hs b/src/Rahm/Desktop/Keys.hs index 1985caf..4a2a426 100644 --- a/src/Rahm/Desktop/Keys.hs +++ b/src/Rahm/Desktop/Keys.hs @@ -150,6 +150,8 @@ import XMonad.Layout.Spacing import XMonad.Util.Run (hPutStrLn, safeSpawn, spawnPipe) import XMonad.Util.WindowProperties import Prelude hiding ((!!)) +import Rahm.Desktop.Dragging (windowsUnderCursor) +import Control.Applicative type KeyMap l = XConfig l -> Map (KeyMask, KeySym) (X ()) @@ -163,9 +165,13 @@ safeSpawnX = safeSpawn selectedWindowsColor = BorderColor "#00ffff" "#00ffff" -decreaseVolume = spawnX "set-app-volume.sh --down" +decreaseVolume = do + wins <- (<|>[0]) <$> windowsUnderCursor + spawnX $ printf "set-app-volume.sh %d --down" (head wins) -increaseVolume = spawnX "set-app-volume.sh --up" +increaseVolume = do + wins <- (<|>[0]) <$> windowsUnderCursor + spawnX $ printf "set-app-volume.sh %d --up" (head wins) playPause = spawnX "media-control play" @@ -1058,6 +1064,11 @@ bindings = do doc "Drag a workspace to a different screen" $ noWindow D.dragWorkspace + bind button15 $ + noMod $ + doc "Drag a workspace to a different screen" $ + noWindow D.dragAlternateWorkspace + bind button1 $ noMod $ doc "Swap a window with another window by dragging." $ @@ -1069,12 +1080,6 @@ bindings = do noWindow $ click >> sendMessage togglePop - bind button15 $ do - noMod $ - doc "Spawn 'pavucontrol'" $ - noWindow $ - spawnX "pavucontrol" - let mediaButtons = [ (button4, "Increase volume", noWindow increaseVolume), (button5, "Decrease volume", noWindow decreaseVolume), |