feat: centralize theme palette + add waybar bluetooth module

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>
This commit is contained in:
funman300
2026-06-07 16:45:01 -07:00
parent 5305bb78c6
commit 1e3adbc842
11 changed files with 888 additions and 39 deletions
+12
View File
@@ -12,6 +12,7 @@
"custom/fan-profile",
"pulseaudio",
"network",
"bluetooth",
"battery",
"tray",
],
@@ -82,6 +83,17 @@
"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": "",
+12
View File
@@ -56,3 +56,15 @@ window#waybar {
#temperature.critical {
color: @tn-red;
}
#bluetooth {
padding: 0 12px;
}
#bluetooth.connected {
color: @tn-blue;
}
#bluetooth.disabled, #bluetooth.off {
color: @tn-fg-muted;
}