aboutsummaryrefslogtreecommitdiff
path: root/.config/XMonad/lib/Defaults.hs
blob: dd1f3648bbb0ebb248c63f5ac6e821f45dd48e2a (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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
module Defaults where

import XMonad
import XMonad.Layout.Spacing
import XMonad.Layout.Tabbed
import XMonad.Actions.GridSelect
import XMonad.Util.Loggers


myBorder          = "#120F23"
myBorder'         = "#C44CF2"

myBorderWidth     :: Dimension
myBorderWidth     = 2

myFont            = "xft:Sauce Code Pro:style=Regular:size=14"

myModMask         = mod4Mask
myModMask'        = mod1Mask
myModShiftMask    = myModMask  .|. shiftMask
myModShiftMask'   = myModMask' .|. shiftMask

myLockscreen      = "notify-send 'to be set up!' 'to be set up!'"
myColorPicker     = "colorpicker --short --one-shot --preview | xsel -b"

myTerminal        = "open_terminal"
myTerminal'       = "alacritty"
myLauncher        = "dmenu_run"

volUp             = "pamixer -i 5"
volDown           = "pamixer -d 5"
volMute           = "pamixer -t"

backlightUp       = "brightnessctl s +5"
backlightDown     = "brightnessctl s 5-"

wifiOn            = "nmcli radio wifi on"
wifiOff :: String
wifiOff           = "nmcli radio wifi off"

screenshot        = "flameshot screen"
fullScreenshot    = "flameshot full"
customScreenshot  = "flameshot gui"

myBrowser         = "librewolf"
myPrivateBrowser  = "librewolf --private-window"
myBrowser'        = "firefox"
myPrivateBrowser' = "firefox --private-window"

myTorrentClient   = "qbittorrent"

myFileManager     = "pcmanfm"
myFileManager'    = "lf"

myTextEditor      = "emacs"
myTextEditor'     = "nvim"

-- workspaces
myExtraWorkspaces = [(xK_0, "十")]
myWorkspaces      = ["一", "二", "三", "四", "五", "六", "七", "八", "九"] ++ map snd myExtraWorkspaces

-- screen gaps
sGap = 3
wGap = 4

myGap  = spacingRaw True (Border sGap sGap sGap sGap) True (Border wGap wGap wGap wGap) True

myTabTheme = def {
    fontName              = myFont
    , activeColor         = "#755999"
    , inactiveColor       = "#282c35"
    , activeBorderColor   = "#755999"
    , inactiveBorderColor = "#313846"
    , activeTextColor     = "#FFFFFF"
    , inactiveTextColor   = "#d0d0d0"
    , decoHeight          = 20
  }
myGSColorizer :: Window -> Bool -> X (String, String)
myGSColorizer = colorRangeFromClassName
  (0x28,0x2c,0x34) -- lowest inactive bg
  (0x28,0x2c,0x34) -- highest inactive bg
  -- (0xff,0xff,0xff) -- lowest inactive bg
  -- (0xff,0xff,0xff) -- highest inactive bg
  (0xc4,0x4c,0xf2) -- active bg
  (0xff,0xff,0xff) -- inactive fg
  (0xff,0xff,0xff) -- active fg

myGSConfig colorizer = (buildDefaultGSConfig myGSColorizer)
  { gs_cellheight   = 36
  , gs_cellwidth    = 180
  , gs_cellpadding  = 6
  , gs_originFractX = 0.5
  , gs_originFractY = 0.5
  , gs_font         = myFont
  }

myGridSelect = myGSConfig myGSColorizer