aboutsummaryrefslogtreecommitdiffstats
path: root/window-switcher/Windows.qml
AgeCommit message (Collapse)AuthorFilesLines
14 hoursfix(window-switcher): use a messaging icon for desktop 7Danilo M.1-1/+1
The chat/internet-chat aliases in the icon theme all resolve to an empty outlined monitor; dialog-messages is the filled speech bubble.
14 hoursfix(window-switcher): swap the desktop 2 and 3 iconsDanilo M.1-2/+2
Desktop 2 is the editor and desktop 3 the terminal; the map had them the other way round, matching waybar's stylesheet before it was corrected.
14 hoursfeat(window-switcher): mark desktops with waybar's iconsDanilo M.1-0/+24
The card's desktop line showed the workspace number. waybar draws the same eight desktops as CSS background images keyed by number, because its format-icons takes text rather than paths; those names now live in the Windows singleton and are resolved through the active icon theme, so a theme switch follows the drawer and the bar and the switcher agree. A named workspace, or one past eight, falls back to its number, and so does an icon the active theme cannot resolve.
4 daysfeat(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