aboutsummaryrefslogtreecommitdiff
path: root/conf/xmonad
diff options
context:
space:
mode:
authorAdrian Kummerlaender2018-04-28 13:16:49 +0200
committerAdrian Kummerlaender2018-04-28 13:16:49 +0200
commit02603ae5378c0bb263846b040aea36fe0d07a6f2 (patch)
treedf640616586993f4829427eb609f98e4998c1050 /conf/xmonad
parentb56c4ea390cabcc97c44632ced27ff889dcc2429 (diff)
downloadnixos_home-02603ae5378c0bb263846b040aea36fe0d07a6f2.tar
nixos_home-02603ae5378c0bb263846b040aea36fe0d07a6f2.tar.gz
nixos_home-02603ae5378c0bb263846b040aea36fe0d07a6f2.tar.bz2
nixos_home-02603ae5378c0bb263846b040aea36fe0d07a6f2.tar.lz
nixos_home-02603ae5378c0bb263846b040aea36fe0d07a6f2.tar.xz
nixos_home-02603ae5378c0bb263846b040aea36fe0d07a6f2.tar.zst
nixos_home-02603ae5378c0bb263846b040aea36fe0d07a6f2.zip
Add window bringer, scratchpad to XMonad
Diffstat (limited to 'conf/xmonad')
-rw-r--r--conf/xmonad/xmonad.hs41
1 files 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-<Return>" ]
+ [ "M-S-<Return>", "M-q", "M-S-q", "M-S-c" ]
`additionalKeysP`
+-- xmonad session control
+ [ ("C-M1-<Escape>" , io (exitWith ExitSuccess))
+ , ("C-M1-<Backspace>" , spawn "xmonad --restart")
-- application launchers
- [ ("M-p" , spawn "rofi -show combi")
+ , ("M-p" , spawn "rofi -show combi")
, ("M-<Return>" , spawn "kitty")
, ("M-<Backspace>" , spawn "vim -g")
-- actual window management
@@ -53,8 +70,16 @@ main = xmonad $ ewmh defaultConfig
, ("M-S-<Left>" , shiftToPrev >> prevWS)
, ("M-S-<Right>" , 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 <Up>" , spawn "amixer sset Master 10%+")
- , ("M-s <Down>" , spawn "amixer sset Master 10%-")
- , ("M-s m" , spawn "amixer sset Master toggle")
- ]
+ , ("M-c <Up>" , spawn "amixer sset Master 10%+")
+ , ("M-c <Down>" , spawn "amixer sset Master 10%-")
+ , ("M-c m" , spawn "amixer sset Master toggle") ]
+ `additionalKeys`
+ [ ((noModMask, xK_Menu) , namedScratchpadAction scratchpads "terminal") ]