From 8a87b96dceb52cd3090bd9c2b1c5648f310389b0 Mon Sep 17 00:00:00 2001 From: Josh Rahm Date: Mon, 28 Mar 2022 14:05:30 -0600 Subject: add swallow behavior. Add more Chrome bindings. --- src/Internal/Keys.hs | 7 +++++++ src/Main.hs | 32 +++++++++++++++++++++++++++++--- 2 files changed, 36 insertions(+), 3 deletions(-) diff --git a/src/Internal/Keys.hs b/src/Internal/Keys.hs index 13112cb..b322eb4 100644 --- a/src/Internal/Keys.hs +++ b/src/Internal/Keys.hs @@ -49,6 +49,7 @@ import Internal.DMenu import Internal.PassMenu import Internal.Logger import Internal.RebindKeys +import Internal.Swallow import Internal.ScreenRotate (screenRotateForward, screenRotateBackward) type KeyMap l = XConfig l -> Map (KeyMask, KeySym) (X ()) @@ -322,6 +323,9 @@ keymap = runKeys $ do bind xK_o $ (justMod -|- noMod) $ spawn "library-view.sh" + bind xK_s $ + (justMod -|- noMod) toggleSwallowEnabled + bind xK_v $ do (justMod -|- noMod) $ spawn "set-volume.sh" (shiftMod -|- rawMask shiftMask) $ spawn "set-volume.sh -a" @@ -420,6 +424,9 @@ mouseMap = runButtons $ do bind button14 $ do noMod $ subMouse $ do + bind button3 $ + noMod $ const (gotoWorkspace 's') + bind button13 $ do noMod $ \_ -> click >> CopyWindow.kill1 diff --git a/src/Main.hs b/src/Main.hs index 8abee5e..0018fa2 100644 --- a/src/Main.hs +++ b/src/Main.hs @@ -11,6 +11,7 @@ import XMonad.Layout.Fullscreen (fullscreenEventHook) import System.Environment (setEnv) import Data.Monoid +import Internal.Swallow import Internal.Windows import Internal.XMobarLog import Internal.Keys @@ -50,8 +51,30 @@ main = do -- ctrl+shift+backspace , rebindKey (controlMask, xK_u) (controlMask .|. shiftMask, xK_BackSpace) - -- Make it to ctrl+b deletes the current tab instead of ctrl+w. - , rebindKey (controlMask, xK_b) (controlMask, xK_w) + -- Make it to ctrl+d deletes the current tab instead of ctrl+w. + , rebindKey (controlMask, xK_e) (controlMask, xK_w) + + -- Vim-ish keybindings to go back and forward. + , rebindKey (controlMask, xK_b) (controlMask, xK_Left) + , rebindKey (controlMask, xK_e) (controlMask, xK_Right) + , rebindKey (controlMask .|. shiftMask, xK_b) (controlMask .|. shiftMask, xK_Left) + , rebindKey (controlMask .|. shiftMask, xK_e) (controlMask .|. shiftMask, xK_Right) + + -- Baskic Vim-like motion with the alt key. + , rebindKey (mod1Mask, xK_h) (0, xK_Left) + , rebindKey (mod1Mask, xK_j) (0, xK_Down) + , rebindKey (mod1Mask, xK_k) (0, xK_Up) + , rebindKey (mod1Mask, xK_l) (0, xK_Right) + + , rebindKey (shiftMask .|. mod1Mask, xK_h) (shiftMask, xK_Left) + , rebindKey (shiftMask .|. mod1Mask, xK_j) (shiftMask, xK_Down) + , rebindKey (shiftMask .|. mod1Mask, xK_k) (shiftMask, xK_Up) + , rebindKey (shiftMask .|. mod1Mask, xK_l) (shiftMask, xK_Right) + + , rebindKey (controlMask .|. mod1Mask, xK_h) (controlMask, xK_Left) + , rebindKey (controlMask .|. mod1Mask, xK_j) (controlMask, xK_Down) + , rebindKey (controlMask .|. mod1Mask, xK_k) (controlMask, xK_Up) + , rebindKey (controlMask .|. mod1Mask, xK_l) (controlMask, xK_Right) ] ]) $ def { terminal = "alacritty" @@ -78,7 +101,10 @@ main = do ] , workspaces = map return (['0'..'9'] ++ ['a'..'z']) , handleEventHook = - composeAll [fullscreenEventHook, remapHook] + composeAll [ + fullscreenEventHook, + remapHook, + swallowHook] , focusFollowsMouse = False , clickJustFocuses = False , logHook = xMobarLogHook xmobar -- cgit