Bug 344205

Summary: Panels shouldn't auto-hide as long as their context menu is shown
Product: [Plasma] plasmashell Reporter: Elias Probst <mail>
Component: PanelAssignee: David Edmundson <kde>
Severity: normal CC: kdebugs, thomas.pfeiffer
Priority: NOR Flags: mail: Usability+
Version: master   
Target Milestone: 1.0   
Platform: Gentoo Packages   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Elias Probst 2015-02-15 20:14:45 UTC
A panel set to auto-hide should never hide as long as its context menu opened.

Right now, when any context menu is opened on an auto-hiding panel, the panel disappears once the context menu shows up which is rather confusing and visually distracting.

- Qt 5.4.0
- KF5/Plasma 5 from git master (all components up-to-date)
Comment 1 Thomas Pfeiffer 2015-02-16 00:25:23 UTC
I currently don't have access to my Plasma 5 installation so I can't confirm the described behavior, but what is described is certainly a usabiliy problem. A context menu should aways have its context present.
Comment 2 Gunter Ohrner 2015-05-18 22:33:07 UTC
I can confirm this.

I have an autohidden panel with my window list, and after right-clicking any entry to open this window's context menu, the panel simply disappears while the menu is shown, providing no visual clue any more which window the actions in the menu actually belong to...

Pretty confusing.

Happens with KDE Frameworks 5.9 and Plasma 5.3.0.
Comment 3 Kai Uwe Broulik 2017-07-07 11:27:26 UTC
Git commit f3dcff28b8fbc635467252706641c9d37f094090 by Kai Uwe Broulik.
Committed on 07/07/2017 at 11:26.
Pushed by broulik into branch 'master'.

[Containment Interface] Keep containment in RequiresAttentionStatus while context menu is open

This ensures the panel does not auto-hide then.
It also forces a re-evaluation of auto-hide status when the menu closes,
so even if we mess up with mouse grabbing, it should more reliably auto-hide afterwards.
Related: bug 351823

Differential Revision: https://phabricator.kde.org/D6527

M  +8    -0    src/scriptengines/qml/plasmoid/containmentinterface.cpp