<feed xmlns='http://www.w3.org/2005/Atom'>
<title>archsetup/dotfiles/hyprland/.config/waybar/style.css, 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(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(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>
<entry>
<title>fix(waybar): switch to pulseaudio module and unify colors</title>
<updated>2026-01-31T07:57:17+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-01-31T07:57:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=9e3b5ee755e14d5773bb62b20947696c6839effd'/>
<id>urn:sha1:9e3b5ee755e14d5773bb62b20947696c6839effd</id>
<content type='text'>
- Replace wireplumber module with pulseaudio for reliable volume display
- Make all module text colors consistent (#969385)
- Add idle_inhibitor to styled modules
- Add wf-recorder package to archsetup for screen recording
</content>
</entry>
<entry>
<title>feat(theme): apply Dupre palette to all configs</title>
<updated>2026-01-30T03:49:31+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-01-30T03:49:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=b9db8a7e9c1e5e55090785e37a7498f97ab83032'/>
<id>urn:sha1:b9db8a7e9c1e5e55090785e37a7498f97ab83032</id>
<content type='text'>
Update theme colors from Hudson to Dupre across:
- dunstrc (notifications)
- foot.ini (terminal)
- fuzzel.ini (launcher)
- hyprlock.conf (lock screen)
- waybar/style.css (status bar)

Colors now match dupre-palette.org specification.

Co-Authored-By: Claude Opus 4.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat(waybar): add warning/critical color thresholds for temperature and disk</title>
<updated>2026-01-27T14:51:31+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-01-27T14:51:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=adfcd6c974a37afc21c2b3b93b428a8678589961'/>
<id>urn:sha1:adfcd6c974a37afc21c2b3b93b428a8678589961</id>
<content type='text'>
Temperature turns yellow at 70°C, red at 80°C using built-in waybar
states. Disk replaced with custom script that turns yellow at 80% full,
red at 90%, working across ZFS/btrfs/ext4. Colors themed per dupre/hudson.

Co-Authored-By: Claude Opus 4.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
</feed>
