https://bugs.kde.org/show_bug.cgi?id=371220
Martin Gräßlin <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|Window rule minimize on |Kate aggressively activates |initial doesn't work |it's window breaking | |minimize on show KWin rule CC| |[email protected] Product|kwin |kate Component|rules |general Assignee|[email protected] |[email protected] Version|5.8.2 |16.08 --- Comment #6 from Martin Gräßlin <[email protected]> --- This is not a bug in KWin. KWin works as expected and does minimize the window initially (I verified by adjusting KWin code). But Kate performs a very aggressive "activate me", which results in KWin showing the window again. void KateAppAdaptor::activate() { KateMainWindow *win = m_app->activeKateMainWindow(); if (!win) { return; } win->show(); win->activateWindow(); win->raise(); KWindowSystem::forceActiveWindow(win->winId()); KWindowSystem::raiseWindow(win->winId()); KWindowSystem::demandAttention(win->winId()); } So Kate shows the window, activates it and raises it. And then force activates it, raises it again and also demands attention. It looks like Kate devs try really hard to make sure Kate gets activated. I'm going to quote the documentation of forceActiveWindow: "Note that this should be called only in special cases, applications shouldn't force themselves or other windows to be the active window. Generally, this call should used only by pagers and similar tools." Could Kate try to be less aggressive for window showing? In general KWin will activate new windows and I'm wondering why it needs to be that aggressive. Especially the demandsAttention call looks to me like that Kate just tries everything to be active. DemandsAttention is a state not available to active windows: so after the force activate it doesn't make any sense to demand attention. It has all the attention it can get. Furthermore if a window manager refuses activation it will set it to demandsAttention by itself. -- You are receiving this mail because: You are watching all bug changes.
