MinimizeAll should work as follows:
As long as there's something to minimize, do that.
Otherwise unminimize only the windows we minimized
on last invocation.
Quote above is from Comment 11 by Thomas Lübking of BUG: 356161.
But current code does not fulfill these duties. Try next case: run minimizeall on some windows, then click on one of windows, then run minimizeall again. All windows would be unminimized!
I have tried to make small changes to original code of main.js, but i can't because i don't understand it.
Thats why i wrote my own version. Then i changed my version to version of zzag, because his code is more simple. I have tested both versions.
BUG: 356161