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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
module Defaults where
import XMonad
import XMonad.Layout.Spacing
import XMonad.Layout.Tabbed
import qualified XMonad.Actions.TreeSelect as TS
import XMonad.Actions.GridSelect
import XMonad.Util.Loggers
myBorder = "#11111b"
myBorder' = "#cba6f7"
myBorderWidth :: Dimension
myBorderWidth = 2
myFont = "xft:Roboto:style=Regular:size=12"
myModMask = mod4Mask
myModMask' = mod1Mask
myModShiftMask = myModMask .|. shiftMask
myModShiftMask' = myModMask' .|. shiftMask
myLockscreen = "betterlockscreen -q -l"
myColorPicker = "colorpicker --short --one-shot --preview | xsel -b"
myTerminal = "open_terminal"
myTerminal' = "alacritty"
myLauncher = "rofi -show drun"
prevTrack = "playerctl previous"
nextTrack = "playerctl next"
stopTrack = "playerctl stop"
pausePlay = "playerctl play-pause"
volUp = "pamixer -i 5"
volDown = "pamixer -d 5"
volMute = "pamixer -t"
micVolUp = "pamixer --default-source -i 5"
micVolDown = "pamixer --default-source -d 5"
micVolMute = "pamixer --default-source -t"
backlightUp = "brightnessctl s +5"
backlightDown = "brightnessctl s 5-"
wifiOn = "nmcli radio wifi on"
wifiOff = "nmcli radio wifi off"
screenshot = "flameshot screen"
fullScreenshot = "flameshot full"
customScreenshot = "flameshot gui"
myBrowser = "librewolf"
myPrivateBrowser = "librewolf --private-window"
myBrowser' = "vivaldi"
myPrivateBrowser' = "vivaldi --incognito"
myTorrentClient = "qbittorrent"
myFileManager = "pcmanfm"
myFileManager' = "lf"
myTextEditor = "doom run"
myTermTextEditor = "nvim"
myEmailClient = "thunderbird"
myPasswordManager = "keepassxc"
myDiscord = "firejail discord"
myDisplayMenu = "arandr"
myWallpaperMenu = "nitrogen"
myCalculator = "galculator"
-- 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
myGap = spacingRaw False (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
}
myTSConfig = TS.TSConfig {
TS.ts_hidechildren = True
, TS.ts_background = 0xb311111b
, TS.ts_font = myFont
, TS.ts_node = (0xffcdd6f4, 0xff1e1e2e)
, TS.ts_nodealt = (0xffbac2de, 0xff181825)
, TS.ts_highlight = (0xff11111b, 0xffcba6f7)
, TS.ts_extra = 0xffcdd6f4
, TS.ts_node_width = 220
, TS.ts_node_height = 28
, TS.ts_originX = 0
, TS.ts_originY = 0
, TS.ts_indent = 80
, TS.ts_navigate = TS.defaultNavigation
}
myGSColorizer :: Window -> Bool -> X (String, String)
myGSColorizer = colorRangeFromClassName
(0x28,0x2c,0x34) -- lowest inactive bg
(0x28,0x2c,0x34) -- 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
|