summaryrefslogtreecommitdiff
path: root/modules/areapicker/Picker.qml
diff options
context:
space:
mode:
author2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-08-11 00:01:09 +1000
committer2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-08-11 00:01:09 +1000
commitc901d16841fa5c64e6a4be56849cb64576a69230 (patch)
tree3bf0ea3bffa0a69b8040fd4322094cf18951c0b1 /modules/areapicker/Picker.qml
parentinternal: more colour fixes (diff)
downloadcaelestia-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.qml10
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);
});
}