<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dotfiles/dot_config/waybar/executable_vpn-toggle.sh, branch master</title>
<subtitle>My linux config and rc files</subtitle>
<id>https://git.sommerfeld.dev/dotfiles/atom/dot_config/waybar/executable_vpn-toggle.sh?h=master</id>
<link rel='self' href='https://git.sommerfeld.dev/dotfiles/atom/dot_config/waybar/executable_vpn-toggle.sh?h=master'/>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/'/>
<updated>2026-05-20T13:01:04Z</updated>
<entry>
<title>fix(waybar): refactor A &amp;&amp; B || C patterns to avoid shellcheck SC2015</title>
<updated>2026-05-20T13:01:04Z</updated>
<author>
<name>sommerfeld</name>
<email>sommerfeld@sommerfeld.dev</email>
</author>
<published>2026-05-20T13:01:04Z</published>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/commit/?id=d90f59f78b7312da3ed55738a1d2fa11baa78843'/>
<id>urn:sha1:d90f59f78b7312da3ed55738a1d2fa11baa78843</id>
<content type='text'>
Older shellcheck (Ubuntu's in CI) flags '[ test ] &amp;&amp; cmd || true'
as SC2015 because, despite the intent, A &amp;&amp; B || C is not
equivalent to if-then-else (C runs when A is true but B fails).
Replace with explicit 'if … fi' or split into two 'A || continue'
guards. Functionally identical, lint-clean across versions.
</content>
</entry>
<entry>
<title>feat(waybar,sway): htop click handler, app keybinds, VPN toggle</title>
<updated>2026-05-13T12:43:33Z</updated>
<author>
<name>sommerfeld</name>
<email>sommerfeld@sommerfeld.dev</email>
</author>
<published>2026-05-13T12:43:33Z</published>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/commit/?id=da1de8c64955f2ca5bb4891764e4b183f4250566'/>
<id>urn:sha1:da1de8c64955f2ca5bb4891764e4b183f4250566</id>
<content type='text'>
waybar:
- cpu / custom/memory: on-click opens floating ghostty with htop
- new custom/vpn module between custom/memory and network#bond:
  shows 'VPN' coloured by interface UP flag (green up, dim down);
  on-click toggles networkctl up/down hodor; SIGRTMIN+8 used for
  instant refresh after toggle

sway:
- Super+Shift+Return -&gt; ghostty -e yazi
- Super+Shift+b -&gt; librewolf

vpn-toggle.sh runs networkctl (no sudo) thanks to a new polkit rule
allowing wheel-group members to invoke org.freedesktop.network1.*
without a password prompt. systemd-networkd's polkit gate is a
separate path from sudoers, so this is the idiomatic fix.

KEYBINDS.md updated for both new sway bindings.
</content>
</entry>
</feed>
