aboutsummaryrefslogtreecommitdiff
path: root/.config/XMonad/lib/Defaults.hs
blob: eb302c4219df7fc28e0a707caa0c5df1f32c83f9 (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
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
module Defaults where

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

import XMonad.Hooks.StatusBar
import XMonad.Hooks.StatusBar.PP
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'       = "WINIT_X11_SCALE_FACTOR=1.5 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
-- 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
  }
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

myLemonbarCmd = "lemon | lemonbar -g 1920x28+1920+0 -o -2 -f 'Source Han Sans JP Normal:size=12' -B '#e6100b13' -F '#9d00ff'"
myLemonbarPP  = def {
  ppCurrent            = wrap "%{B#ff0aa3}   %{F#FFFFFF}" "   %{F-}%{B-}"
  , ppVisible          = wrap "%{B#28c78f}   %{F#FFFFFF}" "   %{F-}%{B-}"
  , ppHidden           = wrap "%{B#9b1bed}   %{F#FFFFFF}" "   %{F-}%{B-}"
  , ppHiddenNoWindows  = wrap "   " "   "
  --, ppVisibleNoWindows = wrap "%{B#ffffff}  %{F#9b1bed}" "  %{F-}%{B-}"
  , ppWsSep            = ""
  , ppSep              = ""
  , ppOrder  = \(ws:l:t:ex) -> ["%{r}",ws]++[]++[]++ex
  }

myLemonbarCmd' = "lemon | lemonbar -g 1920x20+0+0 -o 0 -f 'Source Han Sans JP Normal:size=9' -B '#e6100b13' -F '#9d00ff'"
myLemonbarPP'  = myLemonbarPP -- def {
--   ppCurrent            = wrap "%{B#28c78f}   %{F#FFFFFF}" "   %{F-}%{B-}"
--   , ppVisible          = wrap "%{B#ff0aa3}   %{F#FFFFFF}" "   %{F-}%{B-}"
--   , ppHidden           = wrap "%{B#9b1bed}   %{F#FFFFFF}" "   %{F-}%{B-}"
--   , ppHiddenNoWindows  = wrap "   " "   "
--   --, ppVisibleNoWindows = wrap "%{B#ffffff}  %{F#9b1bed}" "  %{F-}%{B-}"
--   , ppWsSep            = ""
--   , ppSep              = ""
--   , ppOrder  = \(ws:l:t:ex) -> ["%{r}",ws]++[]++[]++ex
--   }