Keyboard control of the mouse pointer. SUPER+G labels detected targets and
clicks one; SUPER+SHIFT+G falls back to tile -> bisect for anything detection
misses.
Stock wl-kbptr 0.4.1 is unusable on this setup, for two unrelated reasons:
- Target detection is hardcoded for ~1080p. filter_rects() discards any
candidate with height >= 50 or width >= 500, so on a 4K screen at scale = 1
nearly every real control is dropped for being "too big" and only emoji and
avatars survive — a full Slack window produced ~8 labels, all on images.
- On the rotated monitor the pointer landed in the wrong place. move_pointer()
takes output->width/height from xdg_output.logical_size, which is already
rotated, then applies the transform again. Asking for global (4000,1000) on
DP-2 landed at (4286,3726); the double rotation predicts (4301,3736).
Neither is exposed as a config option, hence the overrideAttrs. Sizes in the
config file are likewise doubled: wl-kbptr paints raw cairo onto a layer
surface and never sees a scale factor, so upstream's defaults render half-size.
Both binds are pidof-guarded: wl-kbptr only exits on a keypress, so an overlay
that loses focus first sits there holding an exclusive keyboard grab.
New NixOS VM on proxmox, replacing the Ubuntu box. Reuses the existing
Hyprland config; remote access is Sunshine/Moonlight rather than xrdp,
since xrdp cannot drive a wayland compositor.
Two fixes here are not yolo-specific and affect any fresh install:
git at system level (nix needs it for the type = "git" hyprland input,
but git only came from home-manager, so neither rebuild could run), and
dropping the yogurt input, whose private repo made home-manager
un-evaluatable without GitHub auth.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
noctalia's built-in lock screen is hard to theme and opaque to logind
(LockedHint never flips). Swap to hyprlock: clean dark theme, drive it from
hypridle (idle + before-sleep via loginctl lock-session) so logind tracks
lock state, and add a $mod CTRL+L manual lock bind. Applies to both hosts
that share this module (konishi + arrakis).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>