aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Internal/Keys.hs7
-rw-r--r--src/Main.hs32
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