From 1437bc05b6f81e1f8e35d5800f34ab7f91a090cd Mon Sep 17 00:00:00 2001 From: Vidhu Kant Sharma Date: Thu, 14 Dec 2023 20:16:21 +0530 Subject: added some dvorak keybindings --- .config/XMonad/lib/Keybindings.hs | 244 +------------------------------------- 1 file changed, 1 insertion(+), 243 deletions(-) (limited to '.config/XMonad/lib/Keybindings.hs') diff --git a/.config/XMonad/lib/Keybindings.hs b/.config/XMonad/lib/Keybindings.hs index 9b3eaaa..c6f9205 100644 --- a/.config/XMonad/lib/Keybindings.hs +++ b/.config/XMonad/lib/Keybindings.hs @@ -1,36 +1,9 @@ module Keybindings where -import System.Exit -import System.IO - import XMonad -import qualified XMonad.StackSet as W - --- actions -import XMonad.Actions.CopyWindow -import XMonad.Actions.WithAll import XMonad.Actions.CycleWS -import XMonad.Actions.GridSelect -import XMonad.Actions.SwapWorkspaces - --- layout modifiers -import XMonad.Layout.Spacing -import XMonad.Layout.WindowNavigation as WN -import XMonad.Layout.Maximize - --- Layouts -import XMonad.Layout.BinarySpacePartition as BSP - --- hooks -import XMonad.Hooks.ManageDocks - --- utilities -import XMonad.Util.SpawnOnce -import XMonad.Util.EZConfig -import XMonad.Util.NamedScratchpad import Defaults -import Scratchpads myMouseKeybindings :: [((ButtonMask, Button), Window -> X ())] myMouseKeybindings = [ @@ -50,219 +23,4 @@ myFnKeybindingsP = [ , ("", spawn pausePlay) , ("", spawn pausePlay) , ("", spawn pausePlay) - ] - -myKeybindingsQWERTY :: [((KeyMask, KeySym), X ())] -myKeybindingsQWERTY = [ - ((myModMask, xK_Return), spawn myTerminal) - , ((myModShiftMask, xK_Return), spawn myLockscreen) - , ((myModMask .|. shiftMask, xK_q), kill1) - , ((myModShiftMask, xK_p), spawn myLauncher) - - -- shutdown, restart, etc - , ((myModMask .|. myModMask', xK_Delete), spawn "shutdown -P now") - , ((myModShiftMask .|. myModMask', xK_Delete), spawn "shutdown -r now") - - -- scratchpads - , ((myModMask, xK_u), myScratchpad "Term 0") - , ((myModMask, xK_i), myScratchpad "Term 1") - , ((myModMask, xK_o), myScratchpad "Term 2") - , ((myModMask, xK_p), myScratchpad "Term 3") - - -- volume keys - , ((myModMask, xK_equal), spawn volUp) - , ((myModMask, xK_minus), spawn volDown) - , ((myModMask, xK_BackSpace), spawn volMute) - - -- brightness keys - , ((myModMask .|. shiftMask, xK_equal), spawn backlightUp) - , ((myModMask .|. shiftMask, xK_minus), spawn backlightDown) - - -- modify gaps on runtime - -- , ((myModMask, xK_F2), incWindowSpacing 1) - -- , ((myModMask, xK_F1), decWindowSpacing 1) - -- , ((myModMask .|. shiftMask, xK_F2), incScreenSpacing 1) - -- , ((myModMask .|. shiftMask, xK_F1), decScreenSpacing 1) - - -- view prev/next workspaces - , ((myModShiftMask, xK_Tab ), prevWS) - , ((myModMask, xK_Tab ), nextWS) - , ((myModMask, xK_semicolon ), prevWS) - , ((myModMask, xK_apostrophe), nextWS) - , ((myModMask', xK_h ), prevWS) - , ((myModMask', xK_l ), nextWS) - - -- move to prev/next workspaces - , ((myModShiftMask', xK_h ), shiftToPrev >> prevWS) - , ((myModShiftMask', xK_l ), shiftToNext >> nextWS) - , ((myModShiftMask', xK_semicolon ), shiftToPrev >> prevWS) - , ((myModShiftMask', xK_apostrophe), shiftToNext >> nextWS) - - -- focus previous/next monitor - , ((myModMask, xK_bracketleft ), prevScreen) - , ((myModMask, xK_bracketright), nextScreen) - - -- move window to previous/next monitor - , ((myModShiftMask, xK_bracketleft ), shiftPrevScreen >> prevScreen) - , ((myModShiftMask, xK_bracketright), shiftNextScreen >> nextScreen) - - -- swap different screens - , ((myModMask .|. controlMask, xK_bracketleft ), swapPrevScreen >> prevScreen) - , ((myModMask .|. controlMask, xK_bracketright), swapNextScreen >> nextScreen) - - -- toggle maximize - , ((myModMask, xK_f), withFocused (sendMessage . maximizeRestore)) - - -- unfloat windows - , ((myModMask .|. shiftMask, xK_f), withFocused $ windows . W.sink) - - -- cycle through windows - , ((myModMask', xK_j), windows W.focusDown) - , ((myModMask', xK_k), windows W.focusUp) - - -- 2D navigation - , ((myModMask, xK_l), sendMessage $ Go R) - , ((myModMask, xK_h), sendMessage $ Go L) - , ((myModMask, xK_k), sendMessage $ Go U) - , ((myModMask, xK_j), sendMessage $ Go D) - -- swap windows - , ((myModShiftMask, xK_l), sendMessage $ WN.Swap R) - , ((myModShiftMask, xK_h), sendMessage $ WN.Swap L) - , ((myModShiftMask, xK_k), sendMessage $ WN.Swap U) - , ((myModShiftMask, xK_j), sendMessage $ WN.Swap D) - -- resize - , ((myModMask .|. myModMask', xK_l), sendMessage $ ExpandTowards R) - , ((myModMask .|. myModMask', xK_h), sendMessage $ ExpandTowards L) - , ((myModMask .|. myModMask', xK_j), sendMessage $ ExpandTowards D) - , ((myModMask .|. myModMask', xK_k), sendMessage $ ExpandTowards U) - , ((myModMask .|. myModShiftMask', xK_l), sendMessage $ ShrinkFrom R) - , ((myModMask .|. myModShiftMask', xK_h), sendMessage $ ShrinkFrom L) - , ((myModMask .|. myModShiftMask', xK_j), sendMessage $ ShrinkFrom D) - , ((myModMask .|. myModShiftMask', xK_k), sendMessage $ ShrinkFrom U) - - ] ++ [ -- for extra workspace(s) - ((myModMask, key), windows $ W.greedyView ws) - | (key,ws) <- myExtraWorkspaces - ] ++ [ -- also for extra workspaces - ((myModShiftMask, key), windows $ W.shift ws) - | (key,ws) <- myExtraWorkspaces - ] ++ [ -- to swap workspace - ((myModShiftMask', k), windows $ swapWithCurrent i) - | (i, k) <- zip myWorkspaces [xK_1, xK_2, xK_3, xK_4, xK_5, xK_6, xK_7, xK_8, xK_9, xK_0] -- ++ map fst myExtraWorkspaces - ] ++ [ -- copy - ((m .|. myModMask, k), windows $ f i) - | (i, k) <- zip myWorkspaces [xK_1, xK_2, xK_3, xK_4, xK_5, xK_6, xK_7, xK_8, xK_9, xK_0] -- ++ map fst myExtraWorkspaces - , (f, m) <- [(copy, myModShiftMask')] - ] ++ [ -- for not swapping tags while using multihead - ((m .|. myModMask, k), windows $ f i) - | (i, k) <- zip myWorkspaces [xK_1, xK_2, xK_3, xK_4, xK_5, xK_6, xK_7, xK_8, xK_9, xK_0] -- ++ map fst myExtraWorkspaces - , (f, m) <- [(W.view, 0), (W.shift, shiftMask)] - ] ++ [ -- directly focus monitors instead of cycling - ((m .|. myModMask, key), screenWorkspace sc >>= flip whenJust (windows . f)) - | (key, sc) <- zip [xK_e, xK_w] [0..] - , (f, m) <- [(W.view, 0), (W.shift, shiftMask)] - ] - -myKeybindingsQWERTYP :: [(String, X())] -myKeybindingsQWERTYP = [ - -- actions - -- TODO: add reboot, shutdown, logout, copy, cut, paste - ("M-a w", spawn wifiOff) - , ("M-a S-w", spawn wifiOn) - , ("M-a s", spawn customScreenshot) - , ("M-a S-s", spawn fullScreenshot) - , ("M-a m", spawn volMute) - , ("M-a p", spawn pausePlay) - , ("M-a d", myScratchpad "arandr") - , ("M-a r", spawn "screenrefresh") - , ("M-a S-r", spawn "screenrefresh -b") - -- media - , ("M-m w", myScratchpad "wallpaper") - , ("M-S-x", myScratchpad "wallpaper") - , ("M-m o", spawn "obs") - , ("M-S-o", spawn "obs") - , ("M-S-u", myScratchpad "musicplayer") - , ("M-m S-o", spawn "osu") - , ("M-m s", spawn "syncplay") - , ("M-m g", spawn "gimp") - , ("M-m k", spawn "kdenlive") - , ("M-g", spawn "gimp") - , ("M-s-g", spawn "kdenlive") - , ("M-m l", spawn "lutris") - , ("M-m v", spawn "vlc") - , ("M-m m", spawn "minecraft-launcher") - -- system apps/scratchpads - , ("M-b t", spawn myTorrentClient) - , ("M-b i", spawn myBrowser) - , ("M-S-i", spawn myBrowser) - , ("M-b d", myScratchpad "arandr") - , ("M-b c", myScratchpad "calc") - , ("M-b b", myScratchpad "blueman") - , ("M-S-b", myScratchpad "blueman") - , ("M-b p", myScratchpad "pavucontrol") - , ("M-x", myScratchpad "pavucontrol") - , ("M-b m", myScratchpad "BPYTOP") - , ("M-S-m", myScratchpad "BPYTOP") - , ("M-b n", myScratchpad "nmtui") - , ("M-S-n", myScratchpad "nmtui") - -- websites - , ("M-n y", spawn $ myBrowser ++ " https://youtube.com") - , ("M-n d", spawn $ myBrowser ++ " https://duckduckgo.com") - , ("M-n g", spawn $ myBrowser ++ " https://google.com") - , ("M-n S-g", spawn $ myBrowser ++ " https://github.com") - , ("M-n j", spawn $ myBrowser ++ " https://www.youtube.com/playlist?list=PL8lRJQHQWddu55nsz8CezmJJ-GRVISZ1E") - , ("M-n k", spawn $ myBrowser ++ " https://www.youtube.com/playlist?list=PL8lRJQHQWddvzCv02lClCfDfUo97wzX1A") - , ("M-n c", spawn $ myBrowser ++ " https://www.youtube.com/playlist?list=PL8lRJQHQWdduy2V0DQQ4Lm0P572XJFVB9") - , ("M-n v", spawn $ myBrowser ++ " https://vidhukant.xyz") - , ("M-n m", spawn $ myBrowser ++ " https://myanimelist.net/profile/0ZeroTsu") - -- other apps - , ("M-y e", spawn myTextEditor) - , ("M-d", spawn myTextEditor) - , ("M-S-d", spawn "firejail discord") - , ("M-y S-e", spawn myEmailClient) - , ("M-t", spawn myEmailClient) - , ("M-y t", spawn myTorrentClient) - , ("M-S-t", spawn myTorrentClient) - , ("M-y S-t", spawn "torbrowser-launcher") - , ("M-y i", spawn myBrowser) - , ("M-y S-i", spawn myPrivateBrowser) - , ("M-y f", spawn "firefox") - , ("M-y v", spawn "virt-manager") - , ("M-v", spawn "virt-manager") - , ("M-y b", spawn "brave") - , ("M-y p", spawn myFileManager) - , ("M-s", spawn myFileManager) - , ("M-z", spawn myPasswordManager) - , ("M-y S-p", spawn $ myTerminal' ++ " -e " ++ myFileManager') - , ("M-c", spawn myColorPicker) - -- XMonad - , ("M-q q", gridselectWindow myGridSelect >>= flip whenJust (\w -> killWindow w)) - , ("M-q S-q", killAll) - , ("M-q r", sendMessage Rotate) - , ("M-q t", sendMessage ToggleStruts) - , ("M-q s", sendMessage BSP.Swap) - , ("M-q g", goToSelected myGridSelect) - , ("M-q c", windows copyToAll) - , ("M-q S-c", killAllOtherCopies) - , ("M-q b", bringSelected myGridSelect) - -- gaps - , ("M-q x d", decWindowSpacing 3) - , ("M-q x i", incWindowSpacing 3) - , ("M-q x S-d", decScreenSpacing 3) - , ("M-q x S-i", incScreenSpacing 3) - , ("M-q x b", setSmartSpacing False) - , ("M-q x S-b", setSmartSpacing True) - , ("M-q x n", setWindowSpacingEnabled False) - , ("M-q x S-n", setWindowSpacingEnabled True) - , ("M-q x m", setScreenSpacingEnabled False) - , ("M-q x S-m", setScreenSpacingEnabled True) - -- resize windows - , ("M-q h", sendMessage $ ExpandTowards L) - , ("M-q j", sendMessage $ ExpandTowards D) - , ("M-q k", sendMessage $ ExpandTowards U) - , ("M-q l", sendMessage $ ExpandTowards R) - , ("M-q S-h", sendMessage $ ShrinkFrom L) - , ("M-q S-j", sendMessage $ ShrinkFrom D) - , ("M-q S-k", sendMessage $ ShrinkFrom U) - , ("M-q S-l", sendMessage $ ShrinkFrom R) - ] ++ myFnKeybindingsP + ] \ No newline at end of file -- cgit v1.2.3