Files
nixos-config/home/common/programs
Miguel Palhas 4028c55d56 hyprland: add wl-kbptr, patched for HiDPI and rotated outputs
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.
2026-08-17 13:39:37 +01:00
..
2026-07-29 15:49:43 +01:00
wip
2026-08-10 09:49:14 +01:00
2026-07-08 10:15:41 +01:00
2025-07-01 13:34:19 +01:00
2026-07-06 08:45:22 +01:00
2026-07-29 15:49:43 +01:00
2026-06-27 14:17:02 +01:00
wip
2026-07-16 17:59:22 +01:00
wip
2025-06-15 09:26:50 +01:00
wip
2026-07-16 17:59:22 +01:00
wip
2025-04-04 16:53:42 +01:00
2026-03-26 14:30:47 +00:00
wip
2026-04-22 15:28:04 +01:00
2026-06-27 14:17:02 +01:00
2026-06-29 10:57:36 +01:00
wip
2025-02-03 12:37:21 +00:00
2026-02-11 14:47:58 +00:00
2024-10-04 17:52:26 +01:00
2026-07-06 08:45:22 +01:00
wip
2026-05-26 09:35:21 +01:00
2026-07-06 08:45:22 +01:00