Dotfiles/desktopenvs/hyprdrive
Amir Alexander Abdelbaki 68b3f2bdd0 fix(astro-menu): stop the taskbar poll resetting the window list's scroll
The workspace/window panel couldn't be scrolled: it snapped back to the top
about once a second. Nothing to do with the hologram overlay (a DrawingArea
with can_target=False that only ever queue_draw()s itself) — it was the 1 Hz
refresh that start_polling() runs while the menu is open. Both of its
callbacks called _rebuild_panel(), which did _clear(self._panel) and rebuilt
every widget, including a fresh Gtk.ScrolledWindow for the list. Emptying
scrolled content collapses the scroll adjustment's upper bound, so its value
is clamped back to 0 and the viewport jumps to the top.

The panel scaffolding (header, layout stack + switcher, list scroller) is now
built once in _build_panel_scaffold() and refreshed in place by _update_panel:

  * The layout tabs are the same for every workspace — only the selection is
    per-workspace, and _sync_layout_controls() already refreshes that — so
    they no longer get torn down either.
  * _update_window_list() compares the sorted window addresses with the last
    set. Unchanged: row contents (title, ws N, icon) are updated in place, so
    a retitled window can't move the viewport. Changed: only the rows are
    rebuilt, and both scrollers' offsets are saved and restored on idle, once
    the new rows are allocated and the adjustment's upper is no longer stale.
  * _rebuild_strip() gets the same signature guard, so the poll stops
    resetting the compact strip's horizontal scroll and no longer tears down a
    grouped app's instance popover while it's open. It keys on addresses only:
    strip titles are tooltip/popover-only and refresh on the next real change.

Applied identically to hyprlua and hyprdrive.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-05 23:15:34 +02:00
..
CRT feat(hyprdrive): add hyprdrive DE with full Cosmonaut Shell suite 2026-07-17 15:28:07 +02:00
Vencord feat(hyprdrive): add hyprdrive DE with full Cosmonaut Shell suite 2026-07-17 15:28:07 +02:00
alacritty feat(terminals): deploy CyberQueer palette across kitty/alacritty everywhere 2026-07-20 10:01:35 +02:00
astro-menu fix(astro-menu): stop the taskbar poll resetting the window list's scroll 2026-08-05 23:15:34 +02:00
beacon feat(hyprlua): migrate to mnotifd/mnotifhist, generated from hyprdrive's beacon 2026-07-24 12:34:19 +02:00
btop feat(hyprdrive): add hyprdrive DE with full Cosmonaut Shell suite 2026-07-17 15:28:07 +02:00
config-updater fix(hyprdrive,hyprlua): keep the last tab clear of the floating close button 2026-07-29 18:41:56 +02:00
dunst feat(hyprdrive/dunst): holographic notification theme + radio-squiggle divider 2026-07-19 16:21:28 +02:00
ghostty feat(hyprdrive): holographic glow for kitty + new Ghostty CyberQueer config 2026-07-20 09:46:14 +02:00
greetd-regreet fix(greetd): give hyprlua its own plain greeter skin, separate from hyprdrive 2026-07-30 20:03:43 +02:00
greetd-tuigreet feat(hyprdrive): add hyprdrive DE with full Cosmonaut Shell suite 2026-07-17 15:28:07 +02:00
gtk-3.0 feat(hyprdrive): add hyprdrive DE with full Cosmonaut Shell suite 2026-07-17 15:28:07 +02:00
horizon-dock feat(hyprdrive): materialize animations, dmenu mode, ship-systems astro rework 2026-07-18 17:17:48 +02:00
hypr feat(binds): thunar on Super+F, mixer panel on Super+S, ssh on Super+Ctrl+S 2026-08-05 23:15:20 +02:00
kitty feat(hyprdrive): dark holo scanlines for kitty + caffeine widget in station-bar 2026-07-21 19:38:51 +02:00
orbit-menu fix(hyprdrive/orbit-menu): launch Tools/Scripts via hl.dsp.exec_cmd 2026-07-19 16:21:28 +02:00
scripts feat(hyprlua,hyprdrive,niri): switch presence detection from webcam motion to FIDO key 2026-07-30 13:22:38 +02:00
spicetify feat(hyprdrive): add hyprdrive DE with full Cosmonaut Shell suite 2026-07-17 15:28:07 +02:00
station-bar feat(hyprdrive,hyprlua): add supersonic-booster/audio-panel PipeWire mixer panel 2026-07-29 15:41:57 +02:00
supersonic-booster fix(hyprdrive,hyprlua): keep the last tab clear of the floating close button 2026-07-29 18:41:56 +02:00
transmitter-panel feat(hyprdrive): add beacon notification history/controls + transmitter-panel viewer 2026-07-24 11:48:16 +02:00
vicinae feat(hyprdrive): give vicinae its own "cosmonaut" holographic theme 2026-07-29 16:21:51 +02:00
wallpaper feat(hyprdrive): default wallpaper -> ESA/Hubble "Rings of Relativity" 2026-07-21 20:49:04 +02:00
xfce4 feat(hyprdrive): add hyprdrive DE with full Cosmonaut Shell suite 2026-07-17 15:28:07 +02:00
mimeapps.list feat(hyprdrive): add hyprdrive DE with full Cosmonaut Shell suite 2026-07-17 15:28:07 +02:00