Bug 392929

Summary: panel focus changes when hiding/showing yakuake
Product: [Applications] yakuake Reporter: Alex P-B <chozabu>
Component: generalAssignee: Eike Hein <hein>
Status: CONFIRMED ---    
Severity: normal CC: aspotashev, bugseforuns, c1_kde_bugtrack3r, chozabu, kde
Priority: NOR    
Version: 3.0.5   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Alex P-B 2018-04-09 13:20:41 UTC
Problem:
When hiding and then showing yakuake (using f12) if there are multiple panels open in yakuake a different panel will have focus when showing yakuake than when hidden

meaning, if I have 2 panels, I am typing in the top panel, press f12 to hide yakuake, press f12 again to show yakuake, the bottom panel will have focus, double f12 again, and back to the top panel

with multiple panels, it will cycle between all of them.

Issue seems easy to reproduce
Comment 1 Alex P-B 2018-04-09 14:07:24 UTC
Currently using latest kde neon, but have been experiencing issue for quite a while, also on kubuntu and on multiple clean installs
Comment 2 Kai Uwe Broulik 2018-04-09 14:12:41 UTC
Confirmed, this has annoyed me for a long time. I assume "panel" means when you split the views
Comment 3 Alex P-B 2018-04-10 18:29:23 UTC
OK! I've cloned yakuake, done a little investigation and a half-assed fix

mainwindow.cpp:1125~1127

    //if (m_isX11 && Settings::useWMAssist() && KWindowSystem::compositingActive())
    //    kwinAssistToggleWindowState(visible);
    //else

I have commented out these three lines, and the issue no longer occurs!

There is probably a better fix that can be done inside kwinAssistToggleWindowState - but frankly I have no idea what that function is for - yakuake seems to work fine without it.

What is this function intended to do?

Currently, I am happy, I can now switch away from my terminal and back.. to the same terminal!

If there is anything I can do to help others - I am very willing to
Comment 4 Alex P-B 2018-04-10 18:29:45 UTC
marking as confirmed (thanks Kai Uwe Broulik )
Comment 5 Alex P-B 2018-04-12 10:09:35 UTC
I have tried removing every line in kwinAssistToggleWindowState except for the hide() and show() commands with the if statements surrounding them

This stops animation from happening - but the bug still persists.

The bug can be avoided by changing settings (useWMAssist - labled "ask window manager to perform animation" to False)

suggest workaround: set this value to false by default - I much prefer to have yakuake do its own animation than for the panels to change focus!

https://github.com/KDE/yakuake/pull/3

of course, a real fix would be preferred, but I am not sure what that would be.

To be clear to anyone encountering this bug from google - the workaround is to open yakuake settings and uncheck "ask window manager to perform animation"
Comment 6 bronko 2018-06-10 09:16:37 UTC
(In reply to Alex P-B from comment #5)

> To be clear to anyone encountering this bug from google - the workaround is
> to open yakuake settings and uncheck "ask window manager to perform
> animation"
..and the "Duration" setting must be set to larger than 0ms.

(tested in KDE 18.04 / yakuake v3.0.5)