From 02603ae5378c0bb263846b040aea36fe0d07a6f2 Mon Sep 17 00:00:00 2001 From: Adrian Kummerlaender Date: Sat, 28 Apr 2018 13:16:49 +0200 Subject: Add window bringer, scratchpad to XMonad --- conf/xmonad/xmonad.hs | 41 +++++++++++++++++++++++++++++++++-------- 1 file changed, 33 insertions(+), 8 deletions(-) diff --git a/conf/xmonad/xmonad.hs b/conf/xmonad/xmonad.hs index 4102223..e131bc1 100644 --- a/conf/xmonad/xmonad.hs +++ b/conf/xmonad/xmonad.hs @@ -6,10 +6,15 @@ import XMonad.StackSet import XMonad.Layout.NoBorders import XMonad.Layout.Tabbed import XMonad.Layout.Reflect + import XMonad.Util.Themes +import XMonad.Util.NamedScratchpad import XMonad.Actions.SpawnOn import XMonad.Actions.CycleWS +import XMonad.Actions.WindowBringer + +import System.Exit customTabTheme = (theme xmonadTheme) { fontName = "xft:Iosevka Medium-12" @@ -31,7 +36,16 @@ availableLayouts = smartBorders $ tabs ||| tilesLM ||| tilesRM ||| tilesTM ||| t ratio = 1/2 delta = 3/100 -main = xmonad $ ewmh defaultConfig +windowBringerDmenuConfig = def { menuCommand = "rofi" + , menuArgs = [ "-p", "win", "-dmenu", "-i" ] } + +scratchpads = [ NS "terminal" "kitty --class=scratchterm" (className =? "scratchterm") + (customFloating $ RationalRect (1/6) (1/6) (2/3) (2/3)) + , NS "telegram" "telegram-desktop" (title =? "Telegram") + (customFloating $ RationalRect (1/6) (1/6) (2/3) (2/3)) ] + +main = xmonad $ ewmh + $ defaultConfig { modMask = mod4Mask -- super key as modifier , borderWidth = 3 , normalBorderColor = "#161616" @@ -39,12 +53,15 @@ main = xmonad $ ewmh defaultConfig , terminal = "kitty" , handleEventHook = handleEventHook defaultConfig <+> fullscreenEventHook , layoutHook = availableLayouts - } + , manageHook = namedScratchpadManageHook scratchpads } `removeKeysP` - [ "M-S-" ] + [ "M-S-", "M-q", "M-S-q", "M-S-c" ] `additionalKeysP` +-- xmonad session control + [ ("C-M1-" , io (exitWith ExitSuccess)) + , ("C-M1-" , spawn "xmonad --restart") -- application launchers - [ ("M-p" , spawn "rofi -show combi") + , ("M-p" , spawn "rofi -show combi") , ("M-" , spawn "kitty") , ("M-" , spawn "vim -g") -- actual window management @@ -53,8 +70,16 @@ main = xmonad $ ewmh defaultConfig , ("M-S-" , shiftToPrev >> prevWS) , ("M-S-" , shiftToNext >> nextWS) , ("M-S-m" , windows swapMaster) + , ("M-S-q" , kill) +-- window bringer + , ("M-a" , gotoMenuConfig windowBringerDmenuConfig) + , ("M-S-a" , bringMenuConfig windowBringerDmenuConfig) +-- scratchpads + , ("M-s t" , namedScratchpadAction scratchpads "terminal") + , ("M-s m" , namedScratchpadAction scratchpads "telegram") -- system control - , ("M-s " , spawn "amixer sset Master 10%+") - , ("M-s " , spawn "amixer sset Master 10%-") - , ("M-s m" , spawn "amixer sset Master toggle") - ] + , ("M-c " , spawn "amixer sset Master 10%+") + , ("M-c " , spawn "amixer sset Master 10%-") + , ("M-c m" , spawn "amixer sset Master toggle") ] + `additionalKeys` + [ ((noModMask, xK_Menu) , namedScratchpadAction scratchpads "terminal") ] -- cgit v1.2.3