1e3adbc842
Theme centralization: - theme/colors.json is now the single source of truth for the palette. - New theme/generate-theme.py renders, at install time, the three derived artifacts into ~/.config: colors.css (waybar/wofi @import), mako config, and hyprlock-colors.conf (hyprlang $tn_* variables). - theme/colors.css removed from the repo (now generated); install.sh calls the generator instead of the old inline mako snippet. - hyprlock.conf sources the generated color file and uses $tn_* variables instead of hardcoded rgba() values. - Generator covered by theme/test_generate_theme.py. Bluetooth: - Added waybar built-in bluetooth module (config.jsonc + style.css), with bluez/bluez-utils in packages.txt. Includes design spec and implementation plan under docs/superpowers/. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
102 lines
2.3 KiB
JSON
102 lines
2.3 KiB
JSON
{
|
|
"layer": "top",
|
|
"position": "top",
|
|
"height": 32,
|
|
|
|
"modules-left": ["niri/workspaces"],
|
|
"modules-center": ["custom/clock"],
|
|
"modules-right": [
|
|
"cpu",
|
|
"temperature",
|
|
"custom/power-profile",
|
|
"custom/fan-profile",
|
|
"pulseaudio",
|
|
"network",
|
|
"bluetooth",
|
|
"battery",
|
|
"tray",
|
|
],
|
|
"cpu": {
|
|
"format": " {usage}%",
|
|
"format-tooltip": "{usage}% total\n{icon0} {icon1} {icon2} {icon3}\n{icon4} {icon5} {icon6} {icon7}\n{icon8} {icon9} {icon10} {icon11}",
|
|
"format-icons": ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"],
|
|
"interval": 3,
|
|
"states": {
|
|
"warning": 60,
|
|
"critical": 85,
|
|
},
|
|
},
|
|
|
|
"temperature": {
|
|
"thermal-zone": 0,
|
|
"format": " {temperatureC}°C",
|
|
"critical-threshold": 80,
|
|
"format-critical": " {temperatureC}°C",
|
|
"states": {
|
|
"warm": 60,
|
|
"critical": 80,
|
|
},
|
|
},
|
|
|
|
"custom/power-profile": {
|
|
"exec": "~/.local/bin/power-profile",
|
|
"return-type": "json",
|
|
"interval": 30,
|
|
"signal": 8,
|
|
"on-click": "~/.local/bin/power-profile --menu",
|
|
},
|
|
|
|
"custom/fan-profile": {
|
|
"exec": "~/.local/bin/fan-profile",
|
|
"return-type": "json",
|
|
"interval": 5,
|
|
"signal": 9,
|
|
"on-click": "~/.local/bin/fan-profile --menu",
|
|
},
|
|
|
|
"custom/clock": {
|
|
"exec": "date '+%a %b %d %-I:%M %p'",
|
|
"interval": 30,
|
|
"format": "{}",
|
|
"tooltip": false,
|
|
},
|
|
|
|
"battery": {
|
|
"format": "{capacity}% {icon}",
|
|
"format-charging": "{capacity}% ",
|
|
"format-plugged": "{capacity}% ",
|
|
"format-icons": ["", "", "", "", ""],
|
|
"states": {
|
|
"warning": 30,
|
|
"critical": 15,
|
|
},
|
|
},
|
|
|
|
"tray": {
|
|
"spacing": 8,
|
|
},
|
|
|
|
"network": {
|
|
"format-wifi": " {essid}",
|
|
"format-ethernet": "",
|
|
"format-disconnected": "⚠",
|
|
"on-click": "networkmanager_dmenu",
|
|
},
|
|
|
|
"bluetooth": {
|
|
"format": " ",
|
|
"format-disabled": "",
|
|
"format-off": "",
|
|
"format-connected": " {num_connections}",
|
|
"tooltip-format": "{controller_alias}\n{status}",
|
|
"tooltip-format-connected": "{controller_alias}\n{num_connections} connected\n{device_enumerate}",
|
|
"tooltip-format-enumerate-connected": "{device_alias}",
|
|
"on-click": "blueman-manager",
|
|
},
|
|
|
|
"pulseaudio": {
|
|
"format": " {volume}%",
|
|
"format-muted": "",
|
|
},
|
|
}
|