diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-27 13:24:16 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-27 13:24:16 -0500 |
| commit | 06b2c0716b51eb73298f569752dd1d81947d9961 (patch) | |
| tree | 7638b8d7c8ddc409f0f0e642f79828f6870d5bc2 | |
| parent | dc3360f3c77cf21ecee2c09f0dbc4dcd726cd6d5 (diff) | |
| download | archsetup-06b2c0716b51eb73298f569752dd1d81947d9961.tar.gz archsetup-06b2c0716b51eb73298f569752dd1d81947d9961.zip | |
chore(todo): close dim-inactive task and archive resolved work
I closed the Hyprland dim-inactive task. The config itself shipped in the dotfiles repo. The cleanup pass archived five resolved subtrees into Resolved and bumped the per-machine-override task to [#A].
| -rw-r--r-- | todo.org | 98 |
1 files changed, 43 insertions, 55 deletions
@@ -30,29 +30,6 @@ Two minor robustness gaps in =dotfiles/hyprland/.local/bin/airplane-mode= surfac :LAST_REVIEWED: 2026-05-21 :END: The wlogout exit menu renders its buttons taller than they are wide, so the cells read as vertical rectangles instead of squares. Fix the button sizing in the wlogout style (=dotfiles/hyprland/.config/wlogout/style.css=) so each cell is square. Noticed 2026-05-21. Related: the [#D] VERIFY about wlogout sizing across displays. -** DONE [#C] super+e emacs launch doesn't grab focus from tiled browser :quick: -CLOSED: [2026-05-22 Fri] -:PROPERTIES: -:LAST_REVIEWED: 2026-05-22 -:END: -Launching emacs with super+e while a browser window is open in tiled mode leaves focus on the browser instead of moving it to the newly opened emacs window in the main (left) portion of the screen. Expected: the new emacs window takes focus. Noticed 2026-05-22. - -Resolved 2026-05-22: not a focus *failure* but a focus *fight*. Live socket2 capture showed the new (XWayland, non-pgtk Emacs 30.2) frame does get focus on open, then Firefox reclaims it via an activation request because =misc:focus_on_activate=true=. Set it =false= in the dotfiles repo (=3bfba5a=) — new-window focus is a separate path so emacs still focuses on open, but the browser can no longer steal it back. Verified by Craig. -** TODO [#C] Dim inactive windows in Hyprland :hyprland: -:PROPERTIES: -:LAST_REVIEWED: 2026-05-26 -:END: -Investigate dimming windows that aren't focused so the active one stands out. Hyprland does this natively via the =decoration= block — no script needed. The decoration block currently has no dim settings (=hyprland.conf= ~85-93, now in the standalone =~/.dotfiles= repo, =hyprland/.config/hypr/hyprland.conf=). - -How to do it: -- =decoration { dim_inactive = true }= turns it on. -- =dim_strength= (0.0-1.0, default 0.5) sets how dark inactive windows go. Start low (≈0.1-0.2) and tune by eye; 0.5 is heavy. -- =dim_special= (0.0-1.0) dims the main workspace when a special/scratchpad workspace is open — worth setting since pyprland scratchpads are in use. -- =dim_around= (0.0-1.0) is for the =dimaround= window rule (a window that dims everything behind it), separate from inactive-dimming. -- Per-window opt-out: =windowrulev2 = nodim, class:^(...)$= exempts specific apps (e.g. a video player or terminal you don't want darkened when unfocused). - -Decide: the strength value, whether to set =dim_special= for scratchpads, and which apps (if any) get a =nodim= rule. Implementation is a dotfiles-repo edit + restow, not an archsetup change. - ** TODO [#B] protonmail-bridge package service conflicts with Hyprland autostart :cmail: :PROPERTIES: :LAST_REVIEWED: 2026-05-22 @@ -167,7 +144,7 @@ ratio is THIS machine (was "fractal" pre-reinstall) — migrated in 3.1. velox m *** TODO [#A] Phase 3.2 — git rm -r dotfiles/ from archsetup, drop transitional CLAUDE.md notes Now unblocked (ratio + velox both migrated). Remove =dotfiles/= from the archsetup repo, drop the "transitional / retained until velox migrates" notes in CLAUDE.md (Project Structure + Dotfiles Repository section). Note velox + ratio still have local archsetup clones with dotfiles/ — harmless (they stow from ~/.dotfiles now); their next archsetup pull drops it. -*** TODO [#B] Cleaner per-machine override mechanism for the dotfiles repo +*** TODO [#A] Cleaner per-machine override mechanism for the dotfiles repo velox keeps laptop-specific configs (foot font, pypr scratchpad sizing for 2256x1504, waybar battery) as local REAL files shadowing the stow symlinks. That's fragile: any =make restow= on velox re-conflicts (hit exactly this during the 2026-05-22 migration — stow aborts on the real files). The =~/.dotfiles= model needs a real per-machine override story (a =minimal/=-style per-host package, a documented local-override convention with =.stow-local-ignore=, or host-conditional includes) so overrides survive restows without manual backup/restore. Spec: [[file:docs/PLAN-per-host-overrides.org][docs/PLAN-per-host-overrides.org]] — gated on review before implementation. @@ -481,14 +458,6 @@ Make package diff a runnable script instead of manual process :END: Read recommended resources to make informed security decisions (see metrics for Claude suggestions) -** CANCELLED [#A] Prevent X termination and VT switching (security risk) -CLOSED: [2026-05-21 Thu] -If someone grabs laptop at cafe and hits ctrl+alt+backspace, they kill screensaver/X and get console access -Need to disable: ctrl+alt+backspace (zap X) and ctrl+alt+F# (VT switching) -Previous attempts to configure in xorg.conf.d failed - need to investigate what's overriding the settings -Tried: /etc/X11/xorg.conf.d/00-no-vt-or-zap.conf with DontVTSwitch and DontZap options -Removed conflicting setxkbmap statements, gdm, and keyd configs - still didn't work - ** TODO [#B] All error messages should be actionable with recovery steps :PROPERTIES: :LAST_REVIEWED: 2026-05-21 @@ -687,22 +656,6 @@ Establish clear process for tool evaluation decisions :END: Ensure new tools integrate with DWM environment and don't break workflow -** DONE [#B] Add Rust installation via rustup instead of pacman package :quick: -CLOSED: [2026-05-26 Tue] -:PROPERTIES: -:LAST_REVIEWED: 2026-05-21 -:END: -Already implemented — =archsetup= lines 1976-1979 (Programming Languages and Utilities) =pacman_install rustup= then =rustup default stable= as the user. Closing on verification; the task predated that work. - -The =rust= package has been removed from archsetup. Need to add Rust installation using =rustup= (the official Rust toolchain manager) instead of the Arch package. - -Steps: -- Install rustup: =pacman -S rustup= -- Initialize default toolchain: =rustup default stable= -- Consider adding to archsetup or post-install script - -Reference: Removed from archsetup on 2025-11-15 - ** TODO [#B] Add NVIDIA preflight check for Hyprland :PROPERTIES: :LAST_REVIEWED: 2026-05-21 @@ -873,13 +826,6 @@ Enhance existing indicators to show what's happening in real-time ** TODO [#D] Add retry logic to git_install function :quick: pacman_install and aur_install have retry logic, but git_install doesn't -** CANCELLED [#D] Add cpupower installation and enabling to archsetup :quick: -CLOSED: [2026-05-26 Tue] -Implemented, VM-verified, then removed — wrong tool for this fleet. Both machines run active-mode pstate drivers (ratio amd-pstate-epp, velox intel_pstate) where only performance/powersave exist and the driver self-manages frequency via EPP; both correctly sit on powersave. cpupower's governor-forcing only helps older acpi-cpufreq systems, which we don't run. Forcing performance would pin max clocks (worse on the laptop, pointless on the desktop). Dropped from archsetup rather than ship a backwards default. - -cpupower service configures the default CPU scheduler (powersave or performance) -Install cpupower, configure /etc/default/cpupower, enable service: ~systemctl enable --now cpupower.service~ - * Archsetup Resolved ** DONE [#B] Full install logs should contain timestamps @@ -1042,3 +988,45 @@ Laptop-only low-power toggle, modeled on the touchpad indicator. Wifi off (bluet - =waybar/config= — =custom/airplane= module (signal 10, on-click airplane-mode), placed after custom/touchpad. =waybar/style.css= — =#custom-airplane= in padding + hover lists; =.active { color: #d7af5f }= (dupre gold). - Tests: =tests/airplane-mode/= (20 — engage/disengage/preserve-existing-state/dispatch, via command stubs + fake EPP sysfs) and =tests/waybar-airplane/= (10 — states/boundary/laptop-gating). All green; shellcheck clean. - Deployed + live-verified on velox (engage → disengage round-trip works). Other machines pick it up via git pull && make restow hyprland. +** DONE [#C] super+e emacs launch doesn't grab focus from tiled browser :quick: +CLOSED: [2026-05-22 Fri] +:PROPERTIES: +:LAST_REVIEWED: 2026-05-22 +:END: +Launching emacs with super+e while a browser window is open in tiled mode leaves focus on the browser instead of moving it to the newly opened emacs window in the main (left) portion of the screen. Expected: the new emacs window takes focus. Noticed 2026-05-22. + +Resolved 2026-05-22: not a focus *failure* but a focus *fight*. Live socket2 capture showed the new (XWayland, non-pgtk Emacs 30.2) frame does get focus on open, then Firefox reclaims it via an activation request because =misc:focus_on_activate=true=. Set it =false= in the dotfiles repo (=3bfba5a=) — new-window focus is a separate path so emacs still focuses on open, but the browser can no longer steal it back. Verified by Craig. +** DONE [#C] Dim inactive windows in Hyprland :hyprland: +CLOSED: [2026-05-27 Wed] +:PROPERTIES: +:LAST_REVIEWED: 2026-05-26 +:END: +Shipped in the =~/.dotfiles= repo (=66124e8=): =dim_inactive = true=, =dim_strength = 0.4= (tuned by eye), =dim_special = 0.2= for pyprland scratchpads, and a =no_dim true= window rule for Zoom. The opt-out rule is =no_dim= (underscore), not =nodim= — the latter throws a config-error banner. Config uses Hyprland 0.55's =windowrule = match:class ...= grammar. +** CANCELLED [#A] Prevent X termination and VT switching (security risk) +CLOSED: [2026-05-21 Thu] +If someone grabs laptop at cafe and hits ctrl+alt+backspace, they kill screensaver/X and get console access +Need to disable: ctrl+alt+backspace (zap X) and ctrl+alt+F# (VT switching) +Previous attempts to configure in xorg.conf.d failed - need to investigate what's overriding the settings +Tried: /etc/X11/xorg.conf.d/00-no-vt-or-zap.conf with DontVTSwitch and DontZap options +Removed conflicting setxkbmap statements, gdm, and keyd configs - still didn't work +** DONE [#B] Add Rust installation via rustup instead of pacman package :quick: +CLOSED: [2026-05-26 Tue] +:PROPERTIES: +:LAST_REVIEWED: 2026-05-21 +:END: +Already implemented — =archsetup= lines 1976-1979 (Programming Languages and Utilities) =pacman_install rustup= then =rustup default stable= as the user. Closing on verification; the task predated that work. + +The =rust= package has been removed from archsetup. Need to add Rust installation using =rustup= (the official Rust toolchain manager) instead of the Arch package. + +Steps: +- Install rustup: =pacman -S rustup= +- Initialize default toolchain: =rustup default stable= +- Consider adding to archsetup or post-install script + +Reference: Removed from archsetup on 2025-11-15 +** CANCELLED [#D] Add cpupower installation and enabling to archsetup :quick: +CLOSED: [2026-05-26 Tue] +Implemented, VM-verified, then removed — wrong tool for this fleet. Both machines run active-mode pstate drivers (ratio amd-pstate-epp, velox intel_pstate) where only performance/powersave exist and the driver self-manages frequency via EPP; both correctly sit on powersave. cpupower's governor-forcing only helps older acpi-cpufreq systems, which we don't run. Forcing performance would pin max clocks (worse on the laptop, pointless on the desktop). Dropped from archsetup rather than ship a backwards default. + +cpupower service configures the default CPU scheduler (powersave or performance) +Install cpupower, configure /etc/default/cpupower, enable service: ~systemctl enable --now cpupower.service~ |
