From 8d21875970801b81d334131f93c97476f7a6154e Mon Sep 17 00:00:00 2001 From: Vidhu Kant Sharma Date: Mon, 29 Nov 2021 00:01:50 +0530 Subject: Added scratchpads, updated TS Menu --- .config/XMonad/xmonad.hs | 121 ++++++++++++++++++++--------------------------- 1 file changed, 52 insertions(+), 69 deletions(-) diff --git a/.config/XMonad/xmonad.hs b/.config/XMonad/xmonad.hs index 0d3d9a3..99710d7 100644 --- a/.config/XMonad/xmonad.hs +++ b/.config/XMonad/xmonad.hs @@ -39,7 +39,7 @@ import XMonad.Util.NamedScratchpad -- defaults myModMask = mod4Mask altMask = mod1Mask -myLockscreen = "betterlockscreen -l -t 'Yo, Vidhu!'" +myLockscreen = "notify-send 'to be set up!' 'to be set up!'" myScreenshot = "scrot /home/zt/Media/Screenshots/Screenshot-%m-%d-%Y-%T.png" myColorPicker = "colorpicker --short --one-shot --preview | xsel -b" myFont = "xft:Hack:style=Regular:size=14" @@ -52,11 +52,14 @@ myVolMute = "pamixer -m" myExtraWorkspaces = [(xK_0, "十")] -- , (xK_comma, " 十一 "), (xK_period, " 十二 "), (xK_slash, " 十三 ")] myWorkspaces = ["一", "二", "三", "四", "五", "六", "七", "八", "九"] ++ (map snd myExtraWorkspaces) -myScratchpads = [ - NS "Phone" "scrcpy" (title =? "Motorola One Power") defaultFloating, - NS "Terminal" "alacritty -t 'TerminalScratchpad'" (title =? "TerminalScratchpad") defaultFloating, - NS "Nitrogen" "nitrogen" (title =? "Nitrogen") defaultFloating - ] where role = stringProperty "WM_WINDOW_ROLE" +myScratchpads = + [ NS "Term 0" "alacritty -t 'Term 0'" (title =? "Term 0") (customFloating $ W.RationalRect (1/16) (1/16) (7/8) (7/8)) + , NS "Term 1" "alacritty -t 'Term 1'" (title =? "Term 1") (customFloating $ W.RationalRect (1/16) (1/16) (7/8) (7/8)) + , NS "Term 2" "alacritty -t 'Term 2'" (title =? "Term 2") (customFloating $ W.RationalRect (1/16) (1/16) (7/8) (7/8)) + , NS "OBS" "obs" (className =? "obs") (customFloating $ W.RationalRect (1/16) (1/16) (7/8) (7/8)) + , NS "lf" "alacritty -t 'lf' -e 'lf'" (title =? "lf") (customFloating $ W.RationalRect (1/16) (1/16) (7/8) (7/8)) + , NS "BPYTOP" "alacritty -t 'BPYTOP' -e 'bpytop'" (title =? "BPYTOP") (customFloating $ W.RationalRect (1/16) (1/16) (7/8) (7/8)) + ] where role = stringProperty "WM_WINDOW_ROLE" myTabTheme = def { fontName = myFont , activeColor = "#755999" @@ -85,35 +88,53 @@ myTSConfig = TS.TSConfig { TS.ts_hidechildren = False myTreeMenu :: TS.TSConfig (X ()) -> X () myTreeMenu a = TS.treeselectAction a - [ Node (TS.TSNode "Section Screenshot" "" (spawn "scrot -s /home/zt/Media/Screenshots/Screenshot-%m-%d-%Y-%T.png")) [] - , Node (TS.TSNode "Favourites" "" (return())) - [ Node (TS.TSNode "VirtualBox" "" (spawn "virtualbox")) [] + [ Node (TS.TSNode "Utilities" "" (return())) + [ Node (TS.TSNode "Pavucontrol" "" (spawn "pavucontrol")) [] + , Node (TS.TSNode "OBS" "" (spawn "obs")) [] + , Node (TS.TSNode "Arandr" "" (spawn "arandr")) [] + , Node (TS.TSNode "System Monitor" "" (spawn "alacritty -e bpytop")) [] + ] + , Node (TS.TSNode "XMonad" "" (return())) + [ Node (TS.TSNode "Scratchpads" "" (return())) + [ Node (TS.TSNode "Term 0" "" (namedScratchpadAction myScratchpads "Term 0")) [] + , Node (TS.TSNode "Term 1" "" (namedScratchpadAction myScratchpads "Term 1")) [] + , Node (TS.TSNode "Term 2" "" (namedScratchpadAction myScratchpads "Term 2")) [] + , Node (TS.TSNode "OBS" "" (namedScratchpadAction myScratchpads "OBS")) [] + , Node (TS.TSNode "lf" "" (namedScratchpadAction myScratchpads "lf")) [] + , Node (TS.TSNode "BPYTOP" "" (namedScratchpadAction myScratchpads "BPYTOP")) [] + ] + , Node (TS.TSNode "Go To Window" "" (goToSelected defaultGSConfig)) [] + , Node (TS.TSNode "Bring Window" "" (bringSelected defaultGSConfig)) [] + ] + , Node (TS.TSNode "Virtual Machines" "" (return())) + [ Node (TS.TSNode "Virt Manager" "" (spawn "virt-manager")) [] + , Node (TS.TSNode "VirtualBox" "" (spawn "virtualbox")) [] + ] + , Node (TS.TSNode "Development" "" (return())) + [ Node (TS.TSNode "Android Studio" "" (spawn "android-studio")) [] + , Node (TS.TSNode "VSCodium" "" (spawn "code")) [] + ] + , Node (TS.TSNode "Networking" "" (return())) + [ Node (TS.TSNode "KTorrent" "" (spawn "ktorrent")) [] + , Node (TS.TSNode "TOR" "" (spawn "torbrowser-launcher")) [] , Node (TS.TSNode "Discord" "" (spawn "discord")) [] - , Node (TS.TSNode "pavucintrol" "" (spawn "pavucontrol")) [] + , Node (TS.TSNode "Icecat" "" (spawn "icecat")) [] + , Node (TS.TSNode "Librewolf" "" (spawn "librewolf")) [] + , Node (TS.TSNode "Brave" "" (spawn "brave")) [] + , Node (TS.TSNode "Firefox" "" (spawn "firefox")) [] ] - , Node (TS.TSNode "Accessories" "" (return())) - [ Node (TS.TSNode "Scrcpy" "" (spawn "scrcpy")) [] - , Node (TS.TSNode "Pcmanfm" "" (spawn "pcmanfm")) [] - , Node (TS.TSNode "Thunderbird" "" (spawn "thunderbird")) [] - , Node (TS.TSNode "lf" "" (spawn "alacritty -e lf")) [] - , Node (TS.TSNode "colorpicker" "" (spawn "lxappearance")) [] - , Node (TS.TSNode "networking" "" (return())) - [ Node (TS.TSNode "Konqueror" "" (spawn "konqueror")) [] - , Node (TS.TSNode "Transmission" "" (spawn "transmission-gtk")) [] - , Node (TS.TSNode "Blueman" "" (spawn "blueman-manager")) [] - ] + , Node (TS.TSNode "Gaming" "" (return())) + [ Node (TS.TSNode "Minecraft" "" (spawn "minecraft-launcher")) [] + , Node (TS.TSNode "osu!lazer" "" (spawn "env LUTRIS_SKIP_INIT=1 lutris lutris:rungameid/3")) [] + , Node (TS.TSNode "Steam" "" (spawn "steam")) [] + , Node (TS.TSNode "Lutris" "" (spawn "lutris")) [] ] , Node (TS.TSNode "Media" "" (return())) [ Node (TS.TSNode "VLC" "" (spawn "vlc")) [] , Node (TS.TSNode "GIMP" "" (spawn "gimp")) [] , Node (TS.TSNode "Kdenlive" "" (spawn "kdenlive")) [] ] - , Node (TS.TSNode "Utilities" "" (return())) - [ Node (TS.TSNode "Nitrogen" "" (spawn "nitrogen")) [] - , Node (TS.TSNode "Pavucontrol" "" (spawn "pavucontrol")) [] - , Node (TS.TSNode "Blueman" "" (spawn "blueman-manager")) [] - , Node (TS.TSNode "Lxappearance" "" (spawn "lxappearance")) [] - ] + , Node (TS.TSNode "Section Screenshot" "" (spawn "spectacle")) [] , Node (TS.TSNode "Secreenshot" "" (spawn "scrot /home/zt/Media/Screenshots/Screenshot-%m-%d-%Y-%T.png")) [] , Node (TS.TSNode "Power" "" (return())) [ Node (TS.TSNode "Shutdown" "" (spawn "shutdown now")) [] @@ -139,7 +160,7 @@ main = do , layoutHook = avoidStruts $ maximize $ windowNavigation $ smartBorders $ myGap $ ( emptyBSP ||| tabbed shrinkText myTabTheme ||| emptyBSP ||| Grid) , manageHook = namedScratchpadManageHook myScratchpads <+> manageDocks <+> composeAll - [ className =? "plasmashell" --> doIgnore + [ className =? "plasmashell" --> doIgnore , className =? "ksmserver" --> doIgnore , className =? "kcalc" --> doFloat , className =? "systemsettings" --> doFloat @@ -158,13 +179,8 @@ main = do , ((myModMask, 5), \w -> nextWS) ] `additionalKeys` ([ ((myModMask, xK_Return), spawn ("open_terminal")) - , ((0, xK_Print), spawn (myScreenshot)) - , ((myModMask .|. shiftMask, xK_Return), spawn (myScreenshot)) - , ((myModMask, xK_q), spawn (myLockscreen)) - , ((myModMask, xK_n), spawn ("dunstctl close-all")) - -- I KILLED MINECRAFT NOOOOOOOOOOOOOOOOooo - , ((altMask .|. shiftMask, xK_w), kill1) + , ((myModMask .|. shiftMask, xK_q), kill1) , ((myModMask, xK_a), withFocused $ windows . W.sink) -- unfloat windows -- launch apps/execute scripts @@ -174,14 +190,8 @@ main = do , ((myModMask, xK_b), spawn ("konqueror")) , ((myModMask, xK_r), spawn ("alacritty -e lf")) - , ((myModMask .|. shiftMask, xK_o), runOrCopy "pcmanfm" (className =? "Pcmanfm")) - , ((myModMask, xK_m), runOrCopy "vlc" (className =? "vlc")) - , ((myModMask .|. shiftMask, xK_m), spawn ("vlc")) - -- scratchpad keybindings - , ((myModMask, xK_u), namedScratchpadAction myScratchpads "Phone") - , ((myModMask, xK_t), namedScratchpadAction myScratchpads "Terminal") - , ((myModMask, xK_w), namedScratchpadAction myScratchpads "Nitrogen") + , ((myModMask, xK_t), namedScratchpadAction myScratchpads "Term 0") -- modify gaps on runtime , ((myModMask, xK_equal), incWindowSpacing 1) @@ -273,38 +283,11 @@ main = do -- , (f, m) <- [(W.view, 0), (W.shift, shiftMask)] -- ] ) `additionalKeysP` [ - ("M-i l", runOrCopy "librewolf" (className =? "Librewolf")) - , ("M-i S-l", spawn "librewolf") - , ("M-i b", spawn "brave") - , ("M-i S-b", spawn "brave --incognito") - , ("M-i d", spawn "discord") - , ("M-i s", spawn "steam") - , ("M-i t", spawn "transmission-gtk") - , ("M-i k", spawn "konqueror") - , ("M-i f", spawn "filezilla") - , ("M-i n", spawn "blueman-manager") - , ("M-i p", spawn "pavucontrol") - , ("M-i a", spawn "arandr") - , ("M-i v", spawn "alacritty -e bpytop") - -- this doesn't work when in myKeys - , ("M-c", spawn myColorPicker) - , ("M-x", spawn "notify_battery_status.sh") + ("M-c", spawn myColorPicker) -- Launchers , ("M-p", myTreeMenu myTSConfig) , ("M-S-p", spawn "dmenu_run") -- GridSelect + other apps , ("M-g g", goToSelected defaultGSConfig) , ("M-g b", bringSelected defaultGSConfig) - , ("M-g s", spawn "steam") - , ("M-g o", spawn "osu") - , ("M-g m", spawn "minecraft-launcher") - , ("M-g v", spawn "virtualbox") - , ("M-g q", spawn "virt-manager") - , ("M-g i", spawn "idea") - , ("M-g c", spawn "code") - , ("M-g e", spawn "emacs") - -- volume - , ("", spawn (myVolMute)) - , ("", spawn (myVolDown)) - , ("", spawn (myVolUp)) ] -- cgit v1.2.3