From 815d341df9ea5f11d121c96505a9a9e4e887056a Mon Sep 17 00:00:00 2001 From: sommerfeld Date: Wed, 13 May 2026 13:43:28 +0100 Subject: feat(waybar+sway): bluetooth module + unify wifi/bt toggle paths MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - systemd-units/system/bt.txt: new file pairing the meta/bt.txt group; enables bluetooth.service via 'just unit-apply' - waybar: add the built-in bluetooth module; on-click runs the same bt-toggle.sh that XF86Bluetooth has always invoked. Status colors: blue when adapter is up, green when a device is connected, gray off - sway: XF86WLAN now runs wifi-toggle.sh (iwd D-Bus) instead of 'rfkill toggle wifi'. The latter required rfkill group membership (user is in wheel only), and aligning on the busctl path means the keybind and the waybar click drive the same code XF86RFKill (panic-disable all radios) keeps using 'rfkill toggle all' — that scope is genuinely rfkill-shaped. --- dot_config/clangd/config.yaml | 14 +++++++------- dot_config/sway/config | 2 +- dot_config/waybar/config.jsonc | 13 +++++++++++++ dot_config/waybar/style.css | 14 ++++++++++++++ 4 files changed, 35 insertions(+), 8 deletions(-) (limited to 'dot_config') diff --git a/dot_config/clangd/config.yaml b/dot_config/clangd/config.yaml index a50287d..f7a45cc 100644 --- a/dot_config/clangd/config.yaml +++ b/dot_config/clangd/config.yaml @@ -14,10 +14,10 @@ InlayHints: DefaultArguments: Yes Hover: ShowAKA: Yes -# --- -# If: -# PathMatch: ~/llvm-project/.* -# Index: -# External: -# Server: clangd.devel.appentra.com:5900 -# MountPoint: /home/ruifm/work/pw-project +--- + If: + PathMatch: /home/dev/llvm-project/.* + Index: + External: + Server: clangd-index.llvm.org:5900 + MountPoint: /home/dev/llvm-project/ diff --git a/dot_config/sway/config b/dot_config/sway/config index d9958de..6d96909 100644 --- a/dot_config/sway/config +++ b/dot_config/sway/config @@ -150,7 +150,7 @@ bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle bindsym XF86Bluetooth exec ~/.config/sway/bt-toggle.sh bindsym XF86ScreenSaver exec "playerctl -a pause; swaylock -f -e -c 282828" bindsym XF86Sleep exec systemctl suspend -bindsym XF86WLAN exec rfkill toggle wifi +bindsym XF86WLAN exec ~/.config/waybar/wifi-toggle.sh bindsym XF86RFKill exec rfkill toggle all # Screenshots diff --git a/dot_config/waybar/config.jsonc b/dot_config/waybar/config.jsonc index 275d795..47d6b64 100644 --- a/dot_config/waybar/config.jsonc +++ b/dot_config/waybar/config.jsonc @@ -14,6 +14,7 @@ "privacy", "pulseaudio", "custom/wifi", + "bluetooth", "idle_inhibitor", "custom/notifications", "custom/thunderbird", @@ -146,6 +147,18 @@ "tooltip": true, }, + "bluetooth": { + "format": "BT on", + "format-disabled": "BT off", + "format-off": "BT off", + "format-connected": "BT {device_alias}", + "format-connected-battery": "BT {device_alias} {device_battery_percentage}%", + "tooltip-format": "{controller_alias}\t{controller_address}", + "tooltip-format-connected": "{controller_alias}\n{num_connections} connected\n{device_enumerate}", + "tooltip-format-enumerate-connected": "{device_alias}\t{device_address}", + "on-click": "~/.config/sway/bt-toggle.sh", + }, + "privacy": { "icon-spacing": 4, "icon-size": 14, diff --git a/dot_config/waybar/style.css b/dot_config/waybar/style.css index 037c0e3..3072ad2 100644 --- a/dot_config/waybar/style.css +++ b/dot_config/waybar/style.css @@ -40,6 +40,7 @@ window#waybar { #memory, #temperature, #network, +#bluetooth, #pulseaudio, #tray, #window, @@ -80,6 +81,19 @@ window#waybar { color: #928374; /* gray */ } +#bluetooth { + color: #83a598; /* blue when on, no connections */ +} + +#bluetooth.connected { + color: #b8bb26; /* green when a device is connected */ +} + +#bluetooth.disabled, +#bluetooth.off { + color: #928374; /* gray when adapter is off */ +} + #battery { color: #fabd2f; /* yellow */ } -- cgit v1.3.1