aboutsummaryrefslogtreecommitdiff
path: root/src/Rahm/Desktop/Keys.hs
diff options
context:
space:
mode:
authorJosh Rahm <joshuarahm@gmail.com>2022-04-16 11:35:09 -0600
committerJosh Rahm <joshuarahm@gmail.com>2022-04-16 11:35:09 -0600
commit4114631cb78f5c21a70ae5fe697b8230e965c1fb (patch)
tree6baf9a882b5df229d648df3ecb956ca5313bc791 /src/Rahm/Desktop/Keys.hs
parente7d0c65ef807cf6d595273a764ec95d17c8708b5 (diff)
parent65456557536f7886ae079fa2b980a1ef7f0619c0 (diff)
downloadrde-4114631cb78f5c21a70ae5fe697b8230e965c1fb.tar.gz
rde-4114631cb78f5c21a70ae5fe697b8230e965c1fb.tar.bz2
rde-4114631cb78f5c21a70ae5fe697b8230e965c1fb.zip
Merge branch 'v017' of josher.dev:rde into v017
Diffstat (limited to 'src/Rahm/Desktop/Keys.hs')
-rw-r--r--src/Rahm/Desktop/Keys.hs51
1 files changed, 33 insertions, 18 deletions
diff --git a/src/Rahm/Desktop/Keys.hs b/src/Rahm/Desktop/Keys.hs
index 6912473..74960df 100644
--- a/src/Rahm/Desktop/Keys.hs
+++ b/src/Rahm/Desktop/Keys.hs
@@ -62,6 +62,7 @@ import Rahm.Desktop.Swallow
import Rahm.Desktop.SwapMaster (swapMaster)
import Rahm.Desktop.Windows
import Rahm.Desktop.Workspaces
+import Rahm.Desktop.History
type KeyMap l = XConfig l -> Map (KeyMask, KeySym) (X ())
type ButtonsMap l = XConfig l -> Map (KeyMask, Button) (Window -> X ())
@@ -143,10 +144,10 @@ keymap = runKeys $ do
doc "Jumps between marks." $
mapNextString $ \_ str ->
case str of
- ['\''] -> jumpToLast
+ ['\''] -> jumpToLastLocation
[ch] | isAlphaNum ch -> jumpToMark ch
- "[" -> historyPrev
- "]" -> historyNext
+ "[" -> historyBack
+ "]" -> historyForward
_ -> return ()
shiftMod $
@@ -162,7 +163,7 @@ keymap = runKeys $ do
doc "Swap the current window with a mark." $
mapNextString $ \_ str ->
case str of
- ['\''] -> swapWithLastMark
+ -- ['\''] -> swapWithLastMark
[ch] | isAlphaNum ch -> swapWithMark ch
_ -> return ()
@@ -291,7 +292,7 @@ keymap = runKeys $ do
(MaybeT . workspaceWithWindow) =<< MaybeT askWindowId)
(_, " ") -> Just $ accompaningWorkspace <$> getCurrentWorkspace
_ -> Nothing
-
+
justMod $
doc "Goto/Send/Etc To a workspace\n\n\t\
@@ -315,10 +316,10 @@ keymap = runKeys $ do
\F1: display this help.\n\n\t" $
mapNextStringWithKeysym $ \_ keysym str ->
case ((keysym, str), selectWorkspace (keysym, str)) of
- (_, Just w) -> pushHistory $ gotoWorkspace =<< w
+ (_, Just w) -> gotoWorkspace =<< w
-- Test binding. Tests that I can still submap keysyms alone (keys
-- where XLookupString won't return anything helpful.)
- ((f, _), _) | f == xK_F1 ->
+ ((f, _), _) | f == xK_F1 ->
(safeSpawn "gxmessage" [
"-fn", "Source Code Pro",
documentation (keymap config)] :: X ())
@@ -336,7 +337,7 @@ keymap = runKeys $ do
doc "Move the current focused window to another workspace and view that workspace" $
mapNextStringWithKeysym $ \_ keysym str ->
case ((keysym, str), selectWorkspace (keysym, str)) of
- (_, Just w) -> pushHistory $ do
+ (_, Just w) -> do
ws <- w
shiftToWorkspace ws
gotoWorkspace ws
@@ -377,7 +378,7 @@ keymap = runKeys $ do
sendMessage Shrink
shiftMod $
- doc "Go to the previous window in history." historyPrev
+ doc "Go to the previous window in history." historyBack
bind xK_k $ do
justMod $
@@ -385,7 +386,7 @@ keymap = runKeys $ do
sendMessage Expand
shiftMod $
- doc "Go to the next window in history." historyNext
+ doc "Go to the next window in history." historyForward
bind xK_l $ do
justMod $
@@ -455,7 +456,7 @@ keymap = runKeys $ do
bind xK_space $ do
justMod $ doc "Layout-related bindings" $ subkeys $ do
-
+
bind xK_n $
(noMod -|- justMod) $ doc "Use the next layout in the layout list." $
sendMessage toNextLayout
@@ -551,7 +552,7 @@ keymap = runKeys $ do
bind xK_p $ do
(justMod -|- noMod) $
- doc "Go to the prior window in the history" historyPrev
+ doc "Go to the prior window in the history" historyBack
bind xK_t $ do
(justMod -|- noMod) $ logs "Test Log"
@@ -562,7 +563,7 @@ keymap = runKeys $ do
-- spawnX (terminal config ++ " -t Notes -e notes new")
bind xK_n $ do
(justMod -|- noMod) $
- doc "Go to the next window in the history" historyNext
+ doc "Go to the next window in the history" historyForward
bind xK_c $ do
shiftMod $
@@ -606,6 +607,20 @@ keymap = runKeys $ do
doc "Set the volume of an application via rofi." $
spawnX "set-volume.sh -a"
+ let navigateHistory = repeatable $ do
+ bind xK_bracketright $ do
+ noMod $
+ doc "Move forward in location history" historyForward
+
+ bind xK_bracketleft $ do
+ noMod $
+ doc "Move backward in location history" historyBack
+
+ bind xK_bracketleft $ noMod $
+ doc "Move forward in location history" navigateHistory
+ bind xK_bracketright $ noMod $
+ doc "Move backward in location history" navigateHistory
+
-- Double-tap Z to toggle zoom.
bind xK_z $ do
noMod -|- justMod $
@@ -723,8 +738,8 @@ mouseMap = runButtons $ do
(button4, increaseVolume),
(button5, decreaseVolume),
(button2, playPause),
- (button9, historyNext),
- (button8, historyPrev),
+ (button9, historyForward),
+ (button8, historyBack),
(button6, mediaPrev),
(button7, mediaNext)
]
@@ -743,7 +758,7 @@ mouseMap = runButtons $ do
]
forM_ (map fst swapButtons) $ \b ->
- bind b $ noMod $ \w -> click >> (continuous swapButtons b) w
+ bind b $ noMod $ \w -> click >> continuous swapButtons b w
bind button13 $ noMod $ subMouse $ do
bind button13 $ noMod $ subMouse $ do
@@ -757,10 +772,10 @@ mouseMap = runButtons $ do
bind button13 $
noMod $
noWindow $
- gotoWorkspace =<< (accompaningWorkspace <$> getCurrentWorkspace)
+ gotoWorkspace . accompaningWorkspace =<< getCurrentWorkspace
bind button15 $ do
- noMod $ noWindow jumpToLast
+ noMod $ noWindow jumpToLastLocation
let workspaceButtons = [