aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-05-26 20:10:01 -0500
committerCraig Jennings <c@cjennings.net>2026-05-26 20:10:01 -0500
commitb5208340baa5896ce9f69081b1ead30f20e85b9a (patch)
tree8e8c7d84d7f9af8db21ec1034711f6de3fe4cc8f
parent1fc5b1ff2910106c59fac3199c682f9acfcff7f2 (diff)
downloadarchsetup-b5208340baa5896ce9f69081b1ead30f20e85b9a.tar.gz
archsetup-b5208340baa5896ce9f69081b1ead30f20e85b9a.zip
chore(todo): log eask, signal-cli, and dim-inactive tasks
Three task additions from this session: provision Eask in archsetup (linear-emacs handoff), add signal-cli to the standard install (.emacs.d handoff), and investigate dimming inactive Hyprland windows.
-rw-r--r--todo.org37
1 files changed, 37 insertions, 0 deletions
diff --git a/todo.org b/todo.org
index f819075..0c2ded3 100644
--- a/todo.org
+++ b/todo.org
@@ -38,6 +38,21 @@ CLOSED: [2026-05-22 Fri]
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
@@ -70,6 +85,28 @@ Backlog (unordered; promote items to their own dated tasks as they're picked up)
- Release prep for the eventual spin-back-out: pyproject metadata, version, license.
- Re-wire the archsetup install (gtk4-layer-shell dep + install step + post-install clone) when pocketbook ships. Removed 2026-05-26 — see git history of =archsetup= / =scripts/post-install.sh=.
+** TODO [#B] Provision Eask in archsetup :tooling:eask:
+:PROPERTIES:
+:LAST_REVIEWED: 2026-05-26
+:END:
+Add =@emacs-eask/cli= to archsetup's provisioning so fresh machines get it. Eask is installed by hand today and declared nowhere in archsetup or the dotfiles repo, yet both chime and linear-emacs depend on it (their =make setup/test/coverage= shell out to =eask=). Source: handoff from linear-emacs 2026-05-23.
+
+- Add a global npm install after the node block (=archsetup= ~2030, after =aur_install nvm=), modeled on the claude-code native-install block: run as =$username=, wrapped in =display=/=error_warn=, output to =$logfile=. Roughly =sudo -u "$username" bash -c 'npm install -g --prefix "$HOME/.local" @emacs-eask/cli'=.
+- Pin the prefix to =~/.local= so eask lands at =~/.local/bin/eask= (already on PATH) and the install runs as the user, not root. On the current machine =npm config get prefix= returns =/usr=, so eask was installed with an explicit =--prefix=.
+- Decision: also set a persistent user npm prefix (=~/.npmrc= with =prefix=${HOME}/.local=)? If yes, that =~/.npmrc= is a legitimate dotfile to stow; if no, rely on the explicit =--prefix= flag alone. =~/.eask/= is a regenerable cache — leave un-stowed.
+- Acceptance: fresh run leaves =eask= on PATH at =~/.local/bin/eask= (no root); =cd ~/code/chime && make setup && make test= works.
+
+** TODO [#B] Add signal-cli to the standard install :tooling:signal:
+:PROPERTIES:
+:LAST_REVIEWED: 2026-05-26
+:END:
+Add =signal-cli= (AUR) to the regular package set so every provisioned machine has it. It's the headless JSON-RPC engine for an in-Emacs Signal client (a =signel= fork) that's the same across all machines. Source: handoff from .emacs.d 2026-05-26.
+
+- =aur_install signal-cli= in the appropriate section (comms/messaging or AUR utilities).
+- Runtime needs a JRE (OpenJDK 17+) — already satisfied by =jdk-openjdk=; note it as a dependency if the install set is ever trimmed.
+- Keep-current caveat: signal-cli must update roughly every 3 months or Signal-Server rejects it (client-version floor moves). It belongs in the regularly-updated AUR set, not pinned.
+- Linking is per-machine and interactive (QR scan from phone's Linked Devices), so that stays manual. archsetup only guarantees the binary is present.
+
** TODO [#B] Waybar timer module :waybar:
:PROPERTIES:
:LAST_REVIEWED: 2026-05-26