Text · 12284 bytes Raw Blame History
1 {
2 // -------------------------------------------------------------------------
3 // Global configuration
4 // -------------------------------------------------------------------------
5
6 "layer": "top",
7
8 "position": "top",
9
10 //"height": 20,
11
12 "margin-left": 10,
13 "margin-bottom": 0,
14 "margin-right": 10,
15
16 "spacing": 5, // Gaps between modules (4px)
17
18 "modules-left": [
19 //"custom/rofi",
20 "hyprland/workspaces",
21 //"hyprland/submap",
22 "temperature",
23 //"idle_inhibitor",
24 //"mpd"
25 "custom/spotify"
26 ],
27 "modules-center": [
28 //"hyprland/window"
29 "clock#date",
30 "custom/weather"
31 //"custom/gammastep"
32 ],
33 "modules-right": [
34 "backlight",
35 "custom/storage",
36 "memory",
37 "cpu",
38 "battery",
39 //"pulseaudio",
40 "wireplumber",
41 "custom/almanta",
42 "custom/screenshot_t",
43 "custom/jetbrains",
44 "tray",
45 "custom/power"
46 ],
47
48
49 // -------------------------------------------------------------------------
50 // Modules
51 // -------------------------------------------------------------------------
52
53 "custom/sp1": {
54 "format": " | ",
55 "tooltip": false
56 },
57 "custom/sp2": {
58 "format": " |",
59 "tooltip": false
60 },
61
62 "custom/jetbrains": {
63 "format": "", // Nerd Font IntelliJ glyph; fallback: ""
64 "tooltip": "JetBrains (click to choose IDE; right-click: Toolbox)",
65 "on-click": "~/.config/waybar/modules/jetbrains_menu.sh",
66 "on-click-right": "jetbrains-toolbox",
67 "interval": 0,
68 "class": "chip jetbrains",
69 },
70
71 "custom/almanta": {
72 "format": "{}",
73 "return-type": "json",
74 "interval": 20,
75 "exec": "/home/mfwolffe/.config/waybar/modules/almanta.sh",
76 "on-click": "alacritty -e ssh espadon@almanta",
77 "tooltip": true,
78 "class": "chip almanta"
79 },
80
81 "custom/rofi": {
82 "format": "",
83 "tooltip": false,
84 "on-click-right": "nwg-drawer",
85 "on-click": "wofi --show run",
86 "on-click-middle": "pkill -9 wofi"
87 },
88 "custom/screenshot_t":{
89 "format":" ",
90 "on-click": "~/.config/hypr/scripts/screenshot_full",
91 "on-click-right":"~/.config/hypr/scripts/screenshot_area"
92 },
93
94 "clock#1": {
95 "format": " {:%a}",
96 "tooltip": false,
97 "on-click": "gsimplecal"
98 },
99 "clock#2": {
100 "format": " {:%d-%h-%Y}",
101 "tooltip": false,
102 "on-click": "gsimplecal"
103 },
104 "clock#3": {
105 "format": " {:%H:%M:%S %p}",
106 "tooltip": false,
107 "on-click": "gsimplecal"
108 },
109
110 "temperature": {
111 // "thermal-zone": 1,
112 "interval": 4,
113 //"hwmon-path": "/sys/class/hwmon/hwmon3/temp1_input",
114 "critical-threshold": 80,
115 // "format-critical": " {temperatureC}°C",
116 "format-critical": " {temperatureC}°C",
117 "format": "{icon} {temperatureC}°C",
118 "format-icons": ["", "", ""],
119 "max-length": 7,
120 "min-length": 7,
121 "on-click": "xsensors"
122 },
123
124 "memory": {
125 "interval": 30,
126 "format": " {used:0.2f} / {total:0.0f} GB",
127 "on-click": "alacritty -e btop"
128 },
129
130 "battery": {
131 "interval": 2,
132 "states": {
133 "good": 95,
134 "warning": 30,
135 "critical": 15
136 },
137 "format": "{icon} {capacity}%",
138 "format-charging": " {capacity}%",
139 "format-plugged": " {capacity}%",
140 "format-icons": [
141 "",
142 "",
143 "",
144 "",
145 ""
146 ]
147 },
148 "network": {
149 "format-wifi": " {essid} ({signalStrength}%)",
150 "format-ethernet": "{ifname}: {ipaddr}/{cidr} ",
151 "format-linked": "{ifname} (No IP) ",
152 "format": "",
153 "format-disconnected": "",
154 "format-alt": "{ifname}: {ipaddr}/{cidr}",
155 "on-click": "wl-copy $(ip address show up scope global | grep inet | head -n1 | cut -d/ -f 1 | tr -d [:space:] | cut -c5-)",
156 "on-click-right": "wl-copy $(ip address show up scope global | grep inet6 | head -n1 | cut -d/ -f 1 | tr -d [:space:] | cut -c6-)",
157 "tooltip-format": " {bandwidthUpBits}  {bandwidthDownBits}\n{ifname}\n{ipaddr}/{cidr}\n",
158 "tooltip-format-wifi": " {essid} {frequency}MHz\nStrength: {signaldBm}dBm ({signalStrength}%)\nIP: {ipaddr}/{cidr}\n {bandwidthUpBits}  {bandwidthDownBits}",
159 "interval": 10
160 },
161 "custom/storage": {
162 "format": " {}",
163 "format-alt": "{percentage}% ",
164 "format-alt-click": "click-right",
165 "return-type": "json",
166 "interval": 60,
167 "exec": "~/.config/waybar/modules/storage.sh"
168 },
169
170 "backlight": {
171 "device": "intel_backlight",
172 "format": "{icon} {percent}%",
173 "format-alt": "{percent}% {icon}",
174 "format-alt-click": "click-right",
175 //"format-icons": ["", ""],
176 "format-icons": ["", ""],
177 "on-scroll-down": "brightnessctl s 5%-",
178 "on-scroll-up": "brightnessctl s +5%"
179 },
180 "idle_inhibitor": {
181 "format": "{icon}",
182 "format-icons": {
183 "activated": "",
184 "deactivated": ""
185 },
186 "tooltip": "true"
187 },
188 "custom/weather": {
189 "format": "{}",
190 "format-alt": "{alt}: {}",
191 "format-alt-click": "click-right",
192 "interval": 3600,
193 "exec": "curl -s 'https://wttr.in/?format=1'",
194 //"return-type": "json",
195 //"exec": "~/.config/waybar/modules/weather.sh",
196 "exec-if": "ping wttr.in -c1"
197 },
198 "custom/pacman": {
199 "format": "<big>􏆲</big> {}",
200 "interval": 3600, // every hour
201 "exec": "checkupdates | wc -l", // # of updates
202 "exec-if": "exit 0", // always run; consider advanced run conditions
203 "on-click": "alacritty -e 'paru'; pkill -SIGRTMIN+8 waybar", // update system
204 "signal": 8,
205 "max-length": 5,
206 "min-length": 3
207 },
208
209 "custom/spotify": {
210 "exec": "~/.config/waybar/mediaplayer.py --player spotify",
211 "format": "{} ",
212 "return-type": "json",
213 "on-click": "playerctl play-pause",
214 "on-scroll-up": "playerctl next",
215 "on-scroll-down": "playerctl previous"
216 },
217
218 "custom/media": {
219 "format": "{0} {1}",
220 "return-type": "json",
221 "max-length": 40,
222 "format-icons": {
223 "spotify": "",
224 "default": "🎜"
225 },
226 "escape": true,
227 //"exec": "~/.config/waybar/mediaplayer.py" // Script in resources folder
228 // "exec": "~/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name
229 },
230
231 "custom/power": {
232 "format": " 󰐥 ",
233 "tooltip": false,
234 "on-click": "wlogout"
235 },
236
237 "clock": {
238 "format": " {:%H:%M  %e %b}",
239 "tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
240 "today-format": "<b>{}</b>"
241 },
242
243 "clock#date": {
244 "format": "󰥔 {:%H:%M \n%e %b}",
245 "tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
246 "today-format": "<b>{}</b>"
247 },
248
249 "custom/gammastep": {
250 "interval": 5,
251 "return-type": "json",
252 "exec": {
253 "pre": "if unit_status=\"$(systemctl --user is-active gammastep)\"; then\nstatus=\"$unit_status ($(journalctl --user -u gammastep.service -g 'Period: ' | tail -1 | cut -d ':' -f6 | xargs))\"\nelse\nstatus=\"$unit_status\"\nfi",
254 "alt": "${status:-inactive}",
255 "tooltip": "Gammastep is $status",
256 },
257 "format": "{icon}",
258 "format-icons": {
259 "activating": "󰁪 ",
260 "deactivating": "󰁪 ",
261 "inactive": "? ",
262 "active (Night)": " ",
263 "active (Nighttime)": " ",
264 "active (Transition (Night)": " ",
265 "active (Transition (Nighttime)": " ",
266 "active (Day)": " ",
267 "active (Daytime)": " ",
268 "active (Transition (Day)": " ",
269 "active (Transition (Daytime)": " ",
270 },
271 "on-click": "systemctl --user is-active gammastep && systemctl --user stop gammastep || systemctl --user start gammastep",
272 },
273
274 "cpu": {
275 "interval": 1,
276 //"format": " {}%", // Icon: microchip
277 "format": "{max_frequency}GHz <span color=\"darkgray\">| {usage}%</span>",
278 "max-length": 13,
279 "min-length": 13
280 },
281
282 "mpd": {
283 "max-length": 25,
284 "format": "<span foreground='#bb9af7'></span> {title}",
285 "format-paused": " {title}",
286 "format-stopped": "<span foreground='#bb9af7'></span>",
287 "format-disconnected": "",
288 "on-click": "mpc --quiet toggle",
289 "on-click-right": "mpc update; mpc ls | mpc add",
290 "on-click-middle": "alacritty -e ncmpcpp",
291 "on-scroll-up": "mpc --quiet prev",
292 "on-scroll-down": "mpc --quiet next",
293 "smooth-scrolling-threshold": 5,
294 "tooltip-format": "{title} - {artist} ({elapsedTime:%M:%S}/{totalTime:%H:%M:%S})"
295 },
296
297 "custom/title": {
298 "format": "{}",
299 "interval": 0,
300 "return-type": "json",
301 //"max-length": 35,
302 "tooltip": false
303 },
304
305 "custom/title#name": {
306 "format": "{}",
307 "interval": 0,
308 "return-type": "json",
309
310 "max-length": 35,
311 "exec": "$HOME/.scripts/title"
312 },
313
314 /*"custom/keyboard": {
315 "format": " {}",
316 "interval": 1,
317 "exec": "$HOME/.config/waybar/get_kbdlayout.sh"
318 },*/
319
320 "hyprland/workspaces": {
321 "all-outputs": true,
322 "format": "{name}",
323 "format-icons": {
324 "1": "一",
325 "2": "二",
326 "3": "三",
327 "4": "四",
328 "5": "五",
329 "6": "六",
330 "7": "七",
331 "8": "八",
332 "9": "九",
333 "10": "十",
334 },
335 "on-scroll-up": "hyprctl dispatch workspace e+1 1>/dev/null",
336 "on-scroll-down": "hyprctl dispatch workspace e-1 1>/dev/null",
337 "sort-by-number": true,
338 "active-only": false,
339 },
340
341 "hyprland/window": {
342 "max-length": 100,
343 "separate-outputs": true
344 },
345
346 "pulseaudio": {
347 "scroll-step": 3, // %, can be a float
348 "format": "{icon} {volume}% {format_source}",
349 "format-bluetooth": "{volume}% {icon} {format_source}",
350 "format-bluetooth-muted": " {icon} {format_source}",
351 "format-muted": " {format_source}",
352 //"format-source": "{volume}% ",
353 //"format-source-muted": "",
354 "format-source": "",
355 "format-source-muted": "",
356 "format-icons": {
357 "headphone": "",
358 "hands-free": "",
359 "headset": "",
360 "phone": "",
361 "portable": "",
362 "car": "",
363 "default": ["", "", ""]
364 },
365 "on-click": "pavucontrol",
366 "on-click-right": "amixer sset Master toggle"
367 },
368
369 "wireplumber": {
370 "on-click": "pavucontrol",
371 "on-click-right": "amixer sset Master toggle 1>/dev/null",
372 //on-click: "${wpctl} set-mute @DEFAULT_AUDIO_SINK@ toggle";
373 //on-scroll-down: "${wpctl} set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 0.04+";
374 //on-scroll-up: "${wpctl} set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 0.04-";
375 "format": "<span foreground='#fab387'>{icon}</span> {volume}%",
376 "format-muted": " ",
377 "format-source": "",
378 "format-source-muted": "",
379 //"format-muted": "<span foreground='#fab387'> </span>",
380 //"format-icons": [ "<span foreground='#fab387'></span>" ]
381 "format-icons": {
382 "headphone": " ",
383 "hands-free": " ",
384 "headset": " ",
385 "phone": " ",
386 "portable": " ",
387 "car": " ",
388 "default": [" ", " ", " "]
389 },
390 },
391
392 "tray": {
393 "icon-size": 15,
394 "spacing": 5
395 }
396 }