My dotfiles for Arch Linux
1{
2 // Workspaces
3 "niri/workspaces": {
4 "on-click": "activate"
5 },
6
7 // Taskbar
8 "wlr/taskbar": {
9 "format": "{icon}",
10 "icon-size": 18,
11 "tooltip-format": "{title}",
12 "on-click": "activate",
13 "on-click-middle": "close",
14 "ignore-list": ["Alacritty"],
15 "rewrite": {
16 "Zen Browser": "Zen",
17 "Foot Server": "Terminal"
18 }
19 },
20
21 // niri Window
22 "niri/window": {
23 "format": "{}",
24 "rewrite": {
25 "(.*) — Zen Browser": "$1",
26 },
27 "separate-outputs": true
28 },
29
30 // Empty
31 "custom/empty": {
32 "format": ""
33 },
34
35 // Tools
36 "custom/tools": {
37 "format": "",
38 "tooltip-format": "Tools"
39 },
40
41 // Updates Count
42 "custom/updates": {
43 "format": "{} {icon}",
44 "return-type": "json",
45 "format-icons": {
46 "has-updates": "",
47 "updated": ""
48 },
49 "exec-if": "which waybar-module-pacman-updates",
50 "exec": "waybar-module-pacman-updates --interval-seconds 5 --network-interval-seconds 300"
51 },
52
53 // wofi Application Launcher
54 "custom/appmenu": {
55 "format": " ",
56 "on-click": "sleep 0.2;wofi",
57 "tooltip-format": "Open the application launcher"
58 },
59
60 // wofi Application Launcher
61 "custom/appmenuicon": {
62 "format": "",
63 "on-click": "sleep 0.2;wofi -show drun -replace",
64 "tooltip-format": "Left: Open the application launcher\nRight: Show all keybindings"
65 },
66
67 // Power Menu
68 "custom/exit": {
69 "format": " ",
70 "on-click": "wlogout",
71 "tooltip-format": "Power Menu"
72 },
73
74 // Keyboard State
75 "keyboard-state": {
76 "numlock": true,
77 "capslock": true,
78 "format": "{name} {icon}",
79 "format-icons": {
80 "locked": "",
81 "unlocked": ""
82 }
83 },
84
85 // System tray
86 "tray": {
87 "icon-size": 21,
88 "spacing": 10
89 },
90
91 // Clock
92 "clock": {
93 "format": "{:%H:%M %a}",
94 "on-click": "ags -t calendar",
95 "tooltip": false
96 },
97
98 "niri/language": {
99 "format": "/ K {short}"
100 },
101
102 // Battery
103 "battery": {
104 "states": {
105 // "good": 95,
106 "warning": 30,
107 "critical": 15
108 },
109 "format": "{icon} {capacity}%",
110 "format-charging": " {capacity}%",
111 "format-plugged": " {capacity}%",
112 "format-alt": "{icon} {time}",
113 // "format-good": "", // An empty format will hide the module
114 // "format-full": "",
115 "format-icons": [" ", " ", " ", " ", " "]
116 },
117
118 // Pulseaudio
119 "pulseaudio": {
120 // "scroll-step": 1, // %, can be a float
121 "format": "{icon} {volume}%",
122 "format-bluetooth": "{volume}% {icon}",
123 "format-bluetooth-muted": " {icon}",
124 "format-muted": " {format_source}",
125 "format-source": "{volume}% ",
126 "format-source-muted": "",
127 "format-icons": {
128 },
129 "on-click": "pavucontrol"
130 },
131
132 // Bluetooth
133 "bluetooth": {
134 "format": "",
135 "format-connected": "",
136 "format-disabled": "",
137 "format-off": "",
138 "tooltip-format": "Devices connected: {num_connections}",
139 "interval": 30,
140 "on-click": "alacritty -e bluetui",
141 "format-no-controller": ""
142 },
143
144 // Network
145 "network": {
146 "format-icons": [
147 "",
148 "",
149 "",
150 "",
151 ""
152 ],
153 "format": "{icon}",
154 "format-wifi": "{icon}",
155 "format-ethernet": "",
156 "format-disconnected": "",
157 "tooltip-format-wifi": "{essid} ({frequency} GHz)\n⇣{bandwidthDownBytes} ⇡{bandwidthUpBytes}",
158 "tooltip-format-ethernet": "⇣{bandwidthDownBytes} ⇡{bandwidthUpBytes}",
159 "tooltip-format-disconnected": "Disconnected",
160 "interval": 3,
161 "spacing": 1,
162 "on-click": "alacritty -e impala"
163 },
164
165 // Other
166 "user": {
167 "format": "{user}",
168 "interval": 60,
169 "icon": false
170 },
171
172 // backlight:
173 "backlight": {
174 "format": "{icon} {percent}%",
175 "format-icons": [
176 "",
177 "",
178 "",
179 "",
180 "",
181 "",
182 "",
183 "",
184 "",
185 "",
186 "",
187 "",
188 "",
189 "",
190 ""
191 ],
192 "scroll-step": 1
193 }
194}