Please sign in to comment.
MainWindow: only perform changeEvent's hide-in-tray logic if there is…
… a system tray available. Previously, this would hide Mumble when switching workspaces in XMonad, and possibly other WMs without a default notification area/system tray. What happens when you switch to another workspace in XMonad is: 1. Mumble's MainWindow gets a "spontaneous" hideEvent. The window is now minimized. 2. Mumble's MainWindow gets a changeEvent, because of the state change from shown to minimized. 3. Because the window is minimized (via a spontaneous hide event), isMinimized() is now true. Mumble would then, before this change, invoke hide(). This causes the window to be non-visible: calling hide() is equivalent to calling setVisible(false). This hidden state is never restored, not even for a spontaneous show event, so there is no way, other than restarting Mumble, to get the MainWindow to show again. This commit avoids calling hide() in changeEvent() on systems where no system tray is available, such as XMonad. See #1679
- Loading branch information...