<feed xmlns='http://www.w3.org/2005/Atom'>
<title>archsetup/dotfiles/hyprland/.config/waybar, branch main</title>
<subtitle>Builds a full dev workstation from a bare Arch Linux install.
</subtitle>
<id>https://git.cjennings.net/archsetup/atom?h=main</id>
<link rel='self' href='https://git.cjennings.net/archsetup/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/'/>
<updated>2026-06-02T17:16:38+00:00</updated>
<entry>
<title>refactor: drop in-repo dotfiles/, move stow tooling to the dotfiles repo</title>
<updated>2026-06-02T17:16:38+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-06-02T17:16:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=a816122f49d2c7e43e41308e251e133197a486bc'/>
<id>urn:sha1:a816122f49d2c7e43e41308e251e133197a486bc</id>
<content type='text'>
Since the installer clones DOTFILES_REPO into ~/.dotfiles and stows from there, the in-repo dotfiles/ tree was dead weight. Nothing reads it at install time. I removed it (831 files) now that both machines are migrated.

The Makefile's stow / restow / reset / unstow / import targets and the dotfile-script unit suites moved to the dotfiles repo. They sit alongside the scripts they manage and run standalone (cd ~/.dotfiles &amp;&amp; make ...). This Makefile keeps the VM-integration targets and the installer-helper suite (safe-rm-rf).

I updated CLAUDE.md and README.md so stow operations run from ~/.dotfiles, and the dotfile-management, theme, and unit-test sections point at the standalone repo. The README was already describing the old in-repo model from before the installer switched to cloning. This brings it in line.
</content>
</entry>
<entry>
<title>feat(hyprland): add airplane-mode waybar toggle</title>
<updated>2026-05-21T21:48:47+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-21T21:48:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=e2d3ca987b83a63aa39f7288c3fb7116c3fb0a00'/>
<id>urn:sha1:e2d3ca987b83a63aa39f7288c3fb7116c3fb0a00</id>
<content type='text'>
I added a laptop-only waybar button that drops the machine into a low-power state and restores it on a second click. Engaging turns wifi off, sets the CPU energy-performance preference to power, dims the backlight to 35%, and stops network-only services (tailscale, proton-vpn, avahi, cups, wsdd, geoclue, sshd, fail2ban, syncthing). Bluetooth is left alone so earbuds keep working.

Disengaging replays the state recorded when airplane mode was engaged rather than writing hardcoded defaults. A lever already in its low-power position is left untouched: wifi that was already off stays off, and a service that was already stopped isn't restarted.

The indicator hides itself on machines with no battery, so desktops never show the button. State lives in $XDG_RUNTIME_DIR/airplane-state, and the bar refreshes the moment the toggle fires via a realtime signal.
</content>
</entry>
<entry>
<title>feat(hyprland): add touchpad state indicator to waybar</title>
<updated>2026-05-21T01:55:13+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-21T01:55:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=b7e6728082ce9a5a010736cb08ca7f8bb64c7a58'/>
<id>urn:sha1:b7e6728082ce9a5a010736cb08ca7f8bb64c7a58</id>
<content type='text'>
The $mod+F9 toggle and the toggle-touchpad / touchpad-auto scripts already worked, but the scripts lived only in ~/.local/bin and were never committed, and there was no way to see the touchpad's state at a glance.

I committed both scripts into the repo so stow installs them, and added a waybar indicator: a waybar-touchpad status script and a custom/touchpad module that shows a mouse glyph when the touchpad is on and a mouse-off glyph (in the dupre orange) when it's off. The scripts signal the module with pkill -RTMIN+9 waybar after each state change, so the icon updates the moment the touchpad toggles. touchpad-auto now runs at login via exec-once.

The waybar-touchpad script has unit tests under tests/waybar-touchpad/ covering the enabled, disabled, and missing-state-file cases.
</content>
</entry>
<entry>
<title>feat: proton-vpn, lid switch, scratchpad resizing</title>
<updated>2026-04-13T15:54:45+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-04-13T15:54:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=0ccb69933173985bb3df186dc8abe0ccb38ce46a'/>
<id>urn:sha1:0ccb69933173985bb3df186dc8abe0ccb38ce46a</id>
<content type='text'>
- archsetup: add proton-vpn-gtk-app; configure logind to ignore lid switch
- hyprland.conf: autostart protonvpn-app minimized
- waybar: set battery module to BAT1 (velox)
- pypr: resize scratchpads to fit 80x24 minimum; enlarge monitor for btop
- gitconfig: add deepsat GHE credential helpers
- CLAUDE.md: update notes.org reference (lowercase)
</content>
</entry>
<entry>
<title>feat(hyprland): add pocketbook notes panel integration</title>
<updated>2026-02-26T02:52:32+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-02-26T02:52:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=9d03f6dfa10f0eb8a045dfff466e6533cdd5446a'/>
<id>urn:sha1:9d03f6dfa10f0eb8a045dfff466e6533cdd5446a</id>
<content type='text'>
Add waybar custom/pocketbook module with icon and on-click toggle.
Add $mod+P keybind and exec-once for pocketbook --hidden.
Add waybar CSS for pocketbook icon styling.

Co-Authored-By: Claude Opus 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat(waybar): split clock into date + world clock modules</title>
<updated>2026-02-10T22:37:48+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-02-10T22:37:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=e6a6dbadaea0b6de4d9ea080885aed3214dbbef4'/>
<id>urn:sha1:e6a6dbadaea0b6de4d9ea080885aed3214dbbef4</id>
<content type='text'>
Replace single clock module with custom/date (calendar tooltip) and
custom/worldclock (multi-timezone tooltip from worldclock.conf).

Co-Authored-By: Claude Opus 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat(waybar): SVG workspace circles, improved arch logo, remove mod+0</title>
<updated>2026-02-10T16:47:49+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-02-10T16:47:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=8da655b62e43512cf81560e91c97a517d1e0ea13'/>
<id>urn:sha1:8da655b62e43512cf81560e91c97a517d1e0ea13</id>
<content type='text'>
Replace per-workspace SVG mapping with hybrid approach: two circle SVGs
(active gold, inactive dark) as background-image with text overlay for
workspace numbers. Update arch-logo.svg with padded/crisp variant.
Remove sysmonitor margin to fix bar height inflation. Remove mod+0
binding to restrict workspaces to 1-9. Sync dupre theme files.

Co-Authored-By: Claude Opus 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat(waybar): add menu module with Arch logo and circular workspace indicators</title>
<updated>2026-02-10T15:17:31+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-02-10T15:17:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=8e169235429e02c30e8cb8375da85ac5ed98e507'/>
<id>urn:sha1:8e169235429e02c30e8cb8375da85ac5ed98e507</id>
<content type='text'>
Add custom/menu module at far left of bar with Arch logo SVG background.
Left-click opens fuzzel, right-click opens wlogout. Workspace buttons now
use pixel-sized circles (34x32px with border-radius: 50%) instead of pill
shapes. Both dupre and hudson theme CSS files synced with new sizing.

Co-Authored-By: Claude Opus 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat(hyprland): waybar scratchpad toggles, remove hy3, fix cursor warp</title>
<updated>2026-02-06T16:14:33+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-02-06T16:14:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=ffa2a7b46e8fea13c3cd4ad4f11b60d7ca99e1d8'/>
<id>urn:sha1:ffa2a7b46e8fea13c3cd4ad4f11b60d7ca99e1d8</id>
<content type='text'>
Waybar modules now toggle pyprland scratchpads on click: sysmonitor
group opens btop, netspeed opens nmtui, pulseaudio opens pulsemixer.
Consolidated pyprland config to canonical ~/.config/pypr/config.toml.
Removed hy3 plugin from all configs and scripts (disabled since crash).
Added $mod+N for network scratchpad. Set cursor:no_warps to prevent
cursor jumping to window center on focus change.
</content>
</entry>
<entry>
<title>feat(themes): apply hudson theme across configs</title>
<updated>2026-02-06T16:14:18+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-02-06T16:14:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=bfd25b28b62fad9faa5e09a9f81e84d0d8097dbd'/>
<id>urn:sha1:bfd25b28b62fad9faa5e09a9f81e84d0d8097dbd</id>
<content type='text'>
Theme configs updated by set-theme: dunst, foot, fuzzel, hyprlock, waybar CSS.
</content>
</entry>
</feed>
