aboutsummaryrefslogtreecommitdiff
path: root/conf/xmonad/xmonad.hs
blob: 018768ac681ce91cefd87f4dccd40d8ba14d4108 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
import XMonad
import XMonad.Util.EZConfig
import XMonad.Hooks.EwmhDesktops
import XMonad.StackSet

import XMonad.Layout.NoBorders
import XMonad.Layout.Tabbed
import XMonad.Layout.Reflect
import XMonad.Util.Themes

import XMonad.Actions.SpawnOn
import XMonad.Actions.CycleWS

customTabTheme = (theme xmonadTheme)
  { fontName      = "xft:Iosevka Medium-12"
  , decoHeight    = 20
  , activeTextColor     = "#222222"
  , activeColor         = "#909737"
  , inactiveTextColor   = "#999999"
  , inactiveColor       = "#161616"
  , activeBorderColor   = "#909737"
  , inactiveBorderColor = "#161616" }

availableLayouts = smartBorders $ tabs ||| tilesLM ||| tilesRM ||| tilesTM ||| tilesBM
  where
    tabs    = tabbed shrinkText customTabTheme
    tilesLM = Tall 1 delta ratio
    tilesRM = reflectHoriz tilesLM
    tilesTM = Mirror tilesLM
    tilesBM = reflectVert tilesTM
    ratio   = 1/2
    delta   = 3/100

main = xmonad $ ewmh defaultConfig
  { modMask             = mod4Mask -- super key as modifier
  , borderWidth         = 3
  , normalBorderColor   = "#161616"
  , focusedBorderColor  = "#909737"
  , terminal            = "urxvt"
  , handleEventHook     = handleEventHook defaultConfig <+> fullscreenEventHook
  , layoutHook          = availableLayouts
  }
  `removeKeysP`
  [ "M-S-<Return>" ]
  `additionalKeysP`
-- application launchers
  [ ("M-p"           , spawn "rofi -show combi")
  , ("M-<Return>"    , spawn "urxvt")
  , ("M-<Backspace>" , spawn "vim -g")
-- actual window management
  , ("M-<Left>"      , prevWS)
  , ("M-<Right>"     , nextWS)
  , ("M-S-<Left>"    , shiftToPrev >> prevWS)
  , ("M-S-<Right>"   , shiftToNext >> nextWS)
  , ("M-S-m"         , windows swapMaster)
-- 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")
  ]