| Age | Commit message (Collapse) | Author | Files | Lines |
|
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
|
|
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
|
|
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
|