diff options
| author | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-08-11 00:01:09 +1000 |
|---|---|---|
| committer | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-08-11 00:01:09 +1000 |
| commit | c901d16841fa5c64e6a4be56849cb64576a69230 (patch) | |
| tree | 3bf0ea3bffa0a69b8040fd4322094cf18951c0b1 /modules/areapicker/Picker.qml | |
| parent | internal: more colour fixes (diff) | |
| download | caelestia-shell-c901d16841fa5c64e6a4be56849cb64576a69230.tar.gz caelestia-shell-c901d16841fa5c64e6a4be56849cb64576a69230.tar.bz2 caelestia-shell-c901d16841fa5c64e6a4be56849cb64576a69230.zip | |
picker: sort fullscreen clients second
Diffstat (limited to 'modules/areapicker/Picker.qml')
| -rw-r--r-- | modules/areapicker/Picker.qml | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/modules/areapicker/Picker.qml b/modules/areapicker/Picker.qml index afb1017..53b200e 100644 --- a/modules/areapicker/Picker.qml +++ b/modules/areapicker/Picker.qml @@ -39,12 +39,10 @@ MouseArea { property list<var> clients: { const ws = Hyprland.activeToplevel?.workspace?.id ?? Hyprland.activeWsId; return Hyprland.toplevels.values.filter(c => c.workspace?.id === ws).sort((a, b) => { - // Pinned first, then floating, then any other - if (a.lastIpcObject.pinned === b.lastIpcObject.pinned) - return a.lastIpcObject.floating === b.lastIpcObject.floating ? 0 : a.lastIpcObject.floating ? -1 : 1; - if (a.lastIpcObject.pinned) - return -1; - return 1; + // Pinned first, then fullscreen, then floating, then any other + const ac = a.lastIpcObject; + const bc = b.lastIpcObject; + return (bc.pinned - ac.pinned) || ((bc.fullscreen !== 0) - (ac.fullscreen !== 0)) || (bc.floating - ac.floating); }); } |