aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosh Rahm <rahm@google.com>2021-11-22 10:58:03 -0700
committerJosh Rahm <rahm@google.com>2021-11-22 10:58:03 -0700
commitb5d09f06709cd5c93cb3d31629655fb87d68ee67 (patch)
treebcd4f2eec8d7b29229bc7449e394ef924ca136d5
parentb286c60f3c46209e61cdb5c46c5c35e2e4ad8ddb (diff)
downloadrde-b5d09f06709cd5c93cb3d31629655fb87d68ee67.tar.gz
rde-b5d09f06709cd5c93cb3d31629655fb87d68ee67.tar.bz2
rde-b5d09f06709cd5c93cb3d31629655fb87d68ee67.zip
Add keybindings to
- Copy window to another Workspace. - Launch a floating terminal.
-rw-r--r--src/Internal/Keys.hs16
-rw-r--r--src/Main.hs1
2 files changed, 13 insertions, 4 deletions
diff --git a/src/Internal/Keys.hs b/src/Internal/Keys.hs
index 3b61dac..c3c8db5 100644
--- a/src/Internal/Keys.hs
+++ b/src/Internal/Keys.hs
@@ -1,5 +1,5 @@
{-# LANGUAGE RankNTypes #-}
-module Internal.Keys where
+module Internal.Keys (applyKeys) where
import Internal.SwapMaster (swapMaster)
import XMonad.Hooks.ManageDocks
@@ -30,6 +30,10 @@ import XMonad.Prompt.Input
import XMonad.Prompt.Shell
import XMonad.Util.CustomKeys
import XMonad.Util.Scratchpad
+import XMonad.Actions.RotSlaves
+import XMonad.Actions.CopyWindow as CopyWindow
+import XMonad.Actions.SpawnOn as SpawnOn
+
import qualified Data.Map as Map
import qualified XMonad.StackSet as W
@@ -82,6 +86,8 @@ newKeys =
, ((modm, xK_c), runPassMenu)
, ((modm, xK_h), windows W.focusDown)
, ((modm, xK_l), windows W.focusUp)
+ , ((modm .|. controlMask, xK_h), rotAllDown)
+ , ((modm .|. controlMask, xK_l), rotAllUp)
, ((modm .|. shiftMask, xK_h), windows W.swapUp)
, ((modm .|. shiftMask, xK_l), windows W.swapDown)
, ((modm , xK_f), sendMessage FlipLayout)
@@ -99,6 +105,7 @@ newKeys =
, ((mod4Mask, xK_BackSpace), (void $ spawn "xterm"))
, ((modm, xK_BackSpace), (void $ spawn "pkill -SIGUSR1 xmobar"))
, ((modm, xK_t), (void $ spawn (terminal config)))
+ , ((modm .|. mod1Mask, xK_t), (void $ spawn (terminal config ++ " -t Floating\\ Term")))
, ((modm, xK_m), (submap $ mapAlpha modm markCurrentWindow))
, ((modm, xK_w), windowJump)
, ((modm, xK_space), sendMessage NextLayout)
@@ -121,6 +128,9 @@ newKeys =
, ((modm .|. shiftMask, xK_g), (submap $
mapNumbersAndAlpha 0 shiftToWorkspace))
+ , ((modm .|. shiftMask, xK_g), (submap $
+ mapNumbersAndAlpha shiftMask (\i -> windows $ CopyWindow.copy [i])))
+
, ((modm .|. shiftMask .|. mod1Mask, xK_g), (submap $
mapNumbersAndAlpha 0 swapWorkspace))
@@ -165,9 +175,7 @@ newKeys =
]
mapNumbersAndAlpha :: KeyMask -> (Char -> X ()) -> Map (KeyMask, KeySym) (X ())
-mapNumbersAndAlpha km fn =
- mapNumbers km fn
- <> mapAlpha km fn
+mapNumbersAndAlpha km fn = mapNumbers km fn <> mapAlpha km fn
mapNumbers :: KeyMask -> (Char -> X ()) -> Map (KeyMask, KeySym) (X ())
mapNumbers km fn =
diff --git a/src/Main.hs b/src/Main.hs
index 741e6dc..5b4d5e1 100644
--- a/src/Main.hs
+++ b/src/Main.hs
@@ -39,6 +39,7 @@ main = do
, className =? "yakuake" --> doFloat
, className =? "MPlayer" --> doFloat
, title =? "Event Tester" --> doFloat
+ , title =? "Floating Term" --> doFloat
, className =? "mpv" --> doFloat
, className =? "gnubby_ssh_prompt" --> doFloat
]