From 9b2756e4b8ffcce1a2d494cf32a99b971c5ae13f Mon Sep 17 00:00:00 2001 From: sommerfeld Date: Wed, 13 May 2026 13:43:33 +0100 Subject: feat(sway,waybar): scratch nvim+ipython binds; bolder VPN visuals VPN module: - Pango markup colours the text directly so up/down is visually unambiguous even without CSS classes (green shield up, dim strikethrough down) - .down also gets a faint red background tint for at-a-glance scan Sway: - Super+Shift+t -> floating ghostty with nvim editing a fresh $XDG_RUNTIME_DIR/scratch-.txt (auto-cleared on reboot via tmpfs) - Super+c -> floating ghostty with ipython (quick calculator / python scratch) KEYBINDS.md updated. --- dot_config/sway/config | 4 ++++ dot_config/waybar/executable_vpn-status.sh | 9 +++++---- dot_config/waybar/style.css | 1 + 3 files changed, 10 insertions(+), 4 deletions(-) (limited to 'dot_config') diff --git a/dot_config/sway/config b/dot_config/sway/config index 39d1e31..9b72031 100644 --- a/dot_config/sway/config +++ b/dot_config/sway/config @@ -192,6 +192,10 @@ bindsym XF86Tools exec $term --class=floating -e pulsemixer bindsym XF86Keyboard exec $term --class=floating -e glow -p ~/dotfiles/KEYBINDS.md bindsym XF86Favorites exec ~/.config/waybar/mako-history.py +# Quick scratch tools +bindsym $mod+Shift+t exec $term --class=floating -e sh -c 'nvim "$XDG_RUNTIME_DIR/scratch-$(date +%s).txt"' +bindsym $mod+c exec $term --class=floating -e ipython + # QR codes (Super+z then r=read or w=write) mode "qr" { bindsym r exec ~/.local/bin/rqr, mode "default" diff --git a/dot_config/waybar/executable_vpn-status.sh b/dot_config/waybar/executable_vpn-status.sh index 37fea84..3e6faba 100644 --- a/dot_config/waybar/executable_vpn-status.sh +++ b/dot_config/waybar/executable_vpn-status.sh @@ -1,12 +1,13 @@ #!/bin/sh # Waybar custom/vpn module: report whether the wireguard interface -# (managed by systemd-networkd) is admin-up. Output is a single line of -# JSON so waybar can style it via the .up / .down classes. +# (managed by systemd-networkd) is admin-up. Pango markup makes the +# state visually unambiguous (green shield up, red strikethrough down) +# even before CSS classes are taken into account. iface=hodor if ip link show "$iface" 2>/dev/null | grep -qE '<[^>]*\'; then - printf '{"text":"VPN","class":"up","tooltip":"%s up"}\n' "$iface" + printf '{"text":"󰒃 VPN","class":"up","tooltip":"%s up — click to disconnect"}\n' "$iface" else - printf '{"text":"VPN","class":"down","tooltip":"%s down"}\n' "$iface" + printf '{"text":"󰒃 VPN","class":"down","tooltip":"%s down — click to connect"}\n' "$iface" fi diff --git a/dot_config/waybar/style.css b/dot_config/waybar/style.css index 86e546a..4866f11 100644 --- a/dot_config/waybar/style.css +++ b/dot_config/waybar/style.css @@ -34,6 +34,7 @@ window#waybar { #custom-vpn.down { color: #928374; + background-color: rgba(251, 73, 52, 0.15); } #mode { -- cgit v1.3.1