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.
This commit is contained in:
parent
89067ff9db
commit
22b7ac02b4
1 changed files with 10 additions and 0 deletions
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue