aboutsummaryrefslogtreecommitdiffstats
path: root/window-switcher
AgeCommit message (Collapse)AuthorFilesLines
28 hoursfeat(window-switcher): the window model, filtered and sortedDanilo M.1-0/+67
One place for everything that touches Hyprland, so the UI never issues a dispatch itself. That matters more than usual here because dispatch arguments are Lua on 0.56.2 and the documented-looking form is a syntax error that fails silently, and because HyprlandToplevel.address omits the 0x prefix that a dispatch needs. focusHistoryID is not a HyprlandToplevel property, only a field of the raw hyprctl object, so reading it directly returned undefined and left the sort a no-op. It is read through lastIpcObject, with a missing one sorting last rather than as most recent. Only special: workspaces are filtered, matching the rofi script this replaces. Windows elsewhere are kept whatever their visibility, since jumping to another desktop is the point of a switcher. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SYg4wYHq5XNbiVmMeKRb1S
28 hoursfix(window-switcher): pick the screen the way the other components doDanilo M.1-1/+4
The screen was found by a name written inline, falling back to null. The other three panels all take a monitor property and fall back to screens[0], so this now does too: a machine without a DP-1 gets its first monitor rather than a null screen, and the name is in one place if it ever needs changing. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SYg4wYHq5XNbiVmMeKRb1S
28 hoursfeat(window-switcher): the overlay skeleton, and a proven EscapeDanilo M.3-0/+109
A fifth component, so the same keepalive window as the other four: a config with no visible window exits without reporting anything, and this overlay is hidden almost always. Escape is handled on a focused Item inside the PanelWindow rather than on the window, because key events reach a focused item and Keys.onEscapePressed on a PanelWindow never fires. Proven before the grid is built on top of it, since keyboard navigation depends on the same grab. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SYg4wYHq5XNbiVmMeKRb1S