Commit ea84b1ca authored by Vlad Zahorodnii's avatar Vlad Zahorodnii
Browse files

scripts/minimizeall: Try to preserve last active window

Windows in workspace.clientList() are sorted in the map order. This
means that the minimize all script will try to activate the last mapped
window when unminimizing windows, which is a bit annoying.

This change ensures that the minimize all script doesn't activate wrong
window by minimizing and unminimizing windows in the stacking order.
It's not a bullet-proof solution though, but it should produce good
enough results.


(cherry picked from commit 22b7ac02)
parent e4b27986
......@@ -30,6 +30,16 @@ function minimizeAllWindows() {
relevantClients.push(allClients[i]);
}
// Try to preserve last active window by sorting windows.
relevantClients.sort((a, b) => {
if (a.active) {
return 1;
} else if (b.active) {
return -1;
}
return a.stackingOrder - b.stackingOrder;
});
for (var i = 0; i < relevantClients.length; ++i) {
var wasMinimizedByScript = relevantClients[i].minimizedByScript;
delete relevantClients[i].minimizedByScript;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment