diff --git a/scripts/minimizeall/contents/code/main.js b/scripts/minimizeall/contents/code/main.js --- a/scripts/minimizeall/contents/code/main.js +++ b/scripts/minimizeall/contents/code/main.js @@ -33,19 +33,30 @@ for (var i = 0; i < allClients.length; ++i) { if (isRelevant(allClients[i])) { clients.push(allClients[i]); - if (!allClients[i].minimized && allClients[i].minimizedForMinimizeAll !== true) { + if (!allClients[i].minimized) { minimize = true; } } } - for (var i = 0; i < clients.length; ++i) { - if ((minimize == clients[i].minimized) || // no change required at all - (!minimize && clients[i].minimizedForMinimizeAll !== true)) { // unminimize, but not this one + if (minimize == true) { + for (var i = 0; i < clients.length; ++i) { delete clients[i].minimizedForMinimizeAll; - continue; + if (clients[i].minimized == true) { + continue; + } + else { + clients[i].minimized = true; + clients[i].minimizedForMinimizeAll = true; + } + } + } + else { + for (var i = 0; i < clients.length; ++i) { + if (clients[i].minimizedForMinimizeAll == true) { + clients[i].minimized = false; + } } - clients[i].minimized = minimize; - clients[i].minimizedForMinimizeAll = minimize; + } clients = []; }