Repository navigation
Conversation
| // elevated window levels default to hiding in Mission Control unless explicitly managed | ||
| if (this->isTopMost()) | ||
| { | ||
| setMacOSWindowManaged(*this); |
There was a problem hiding this comment.
If the top level status of a window is changed, do we get a show event as well?
There was a problem hiding this comment.
Oh yeah good catch, didn't think too much about that and kinda just put the macOS code next to the windows-specific stuff, and while it's just this PR that should actually work fine, because of the way that the window flag is being set here, currently involving a manual show() call:
chatterino2/src/widgets/BaseWindow.cpp
Lines 440 to 444 in 7d8dba6
But that entire snippet is actually not a great way to do all of this anyways, I've already opened #7370 to replace that exact mechanism, so we should definitely set the window to be managed when applying the flag itself as well, otherwise the other PR is going to break this one (should've just done it as a stacked branch smh).
3d16d36 to
996b61c
Compare
Co-authored-by: pajlada <rasmus.karlsson+github@pajlada.com>
Fixes #3681
Elevated macOS windows are by default marked as "transient", and do not show up in any window management surfaces like Mission Control. That makes sense for a lot of use cases (e.g. a screenshot utility that displays a small temporary preview of what you just took), but at least in my opinion is not the expected behavior for a full application window, even if it is displayed always on top.
This manually sets the flag back to managed on windows marked
topMost.