I've no idea if it's due to Trojita (git master), Qt (the 5.6 branch) or KWin (git master), but the network state changes which are communicated as tooltip bubbles shown on top of the network indicator are shown on the current virtual desktop even if the main window itself is "hidden" on another virtual desktop.
tooltips are unmanaged (override_redirect) and simply ignored by the VM. you'll likely only see them w/ compositing because the mainwindow is then (by default) not unmapped (technically it remains visible) afaik, plain qt doesn't care about virtual desktops (qdesktopwidget property is sth. different), so the best solution would be to omit qtooltip and use an undecorated transient (dialog) instead.
Since we cannot query the virtual desktop (w/o some X11 code or linking eg. kwindowsystem in the Qt5 build), we'll have to make a choice here. Either we turn this into a transient dialog that looks quite a bit like a tooltip or we control tooltip display. Transient dialog will show on the desktop the mainwindow is on and not be displayed otherwise, but does not show on top of things (but on top of the mainwindow, *maybe* on other trojita windows - perhaps that's even preferred?) Tooltip control basically boils down to "only on active windows or mouse over" what raises the question how important those (short term yet invasive tooltips) are anyway while trojita is somehow in the background. => Maybe only display them while trojita is the active window and show a short log (the last 5 events or such; with timestamp) as hover tooltips? Any preferences on your side?
> Since we cannot query the virtual desktop (w/o some X11 code or linking eg. > kwindowsystem in the Qt5 build), we'll have to make a choice here. I'm OK with a solution that is Qt5-only, IOW, we don't have to care about Qt4 with new features anymore (Qt4 will go away anyway). At first I thought that I would be OK with calling this an X11-specific problem, but then there's also Wayland and this will very likely behave exactly the same in there. I don't care that much about Windows and OS X given that they don't have native VDs (or do they?). Unconditionally linking with any KF5 piece is still a no-go, sure. > Either we turn this into a transient dialog that looks quite a bit like a > tooltip or we control tooltip display. > > Transient dialog will show on the desktop the mainwindow is on and not be > displayed otherwise, but does not show on top of things (but on top of the > mainwindow, *maybe* on other trojita windows - perhaps that's > even preferred?) Sounds good. > Tooltip control basically boils down to "only on active windows > or mouse over" > what raises the question how important those (short term yet > invasive tooltips) > are anyway while trojita is somehow in the background. They aren't important, so this one sounds good as well. If you can control these pop-ups, this sounds like an easier solution (but I don't think one can control them). > => Maybe only display them while trojita is the active window > and show a short > log (the last 5 events or such; with timestamp) as hover tooltips? We don't even need the log, IMHO.
Git commit 9b24073a05071a7145a4f92e4c781073481bb3c6 by Jan Kundrát, on behalf of Thomas Lübking. Committed on 16/12/2015 at 16:49. Pushed by gerrit into branch 'master'. only show status tooltip if the window is active in addition, uconditionally set the tooltip to the message, so it can be inspected anytime. Change-Id: Ied9562741c390fbc8ffb560dd8ea481a185bd381 M +3 -1 src/Gui/Window.cpp http://commits.kde.org/trojita/9b24073a05071a7145a4f92e4c781073481bb3c6