diff options
| author | Josh Rahm <rahm@google.com> | 2021-11-22 10:58:03 -0700 |
|---|---|---|
| committer | Josh Rahm <rahm@google.com> | 2021-11-22 10:58:03 -0700 |
| commit | b5d09f06709cd5c93cb3d31629655fb87d68ee67 (patch) | |
| tree | bcd4f2eec8d7b29229bc7449e394ef924ca136d5 /src | |
| parent | b286c60f3c46209e61cdb5c46c5c35e2e4ad8ddb (diff) | |
| download | rde-b5d09f06709cd5c93cb3d31629655fb87d68ee67.tar.gz rde-b5d09f06709cd5c93cb3d31629655fb87d68ee67.tar.bz2 rde-b5d09f06709cd5c93cb3d31629655fb87d68ee67.zip | |
Add keybindings to
- Copy window to another Workspace.
- Launch a floating terminal.
Diffstat (limited to 'src')
| -rw-r--r-- | src/Internal/Keys.hs | 16 | ||||
| -rw-r--r-- | src/Main.hs | 1 |
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 ] |