| Summary: | Kickoff becomes invisible after toggling tabbox | ||
|---|---|---|---|
| Product: | [Plasma] kwin | Reporter: | Vlad Zahorodnii <vlad.zahorodnii> |
| Component: | wayland-generic | Assignee: | KWin default assignee <kwin-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | grasm, nate |
| Priority: | NOR | ||
| Version First Reported In: | 5.15.1 | ||
| Target Milestone: | --- | ||
| Platform: | Arch Linux | ||
| OS: | Linux | ||
| URL: | https://phabricator.kde.org/D19386 | ||
| Latest Commit: | https://commits.kde.org/kwin/297557bde400a24f95e702d92f7d98fcb4070313 | Version Fixed/Implemented In: | |
| Sentry Crash Report: | |||
| Attachments: | Demo | ||
The bug doesn't occur if there is any window present, e.g. firefox. Rather a limitation than a bug. In X11 setKeepAbove(true) is called on kickoff/kicker during the initialization but in shell-client (wayland) the initialization for keepAbove is basically a no op, which causes kickoff to be assigned to layer 2 (normal window) instead of layer 4 (keep above). Now when you press the combination to switch windows and there are no windows (or you checked the option to always give a "show desktop" option and select that) it will show the desktop which causes plasma-desktop to switch from layer 0 to 4 (the bottom bar will change from layer 3 to layer 5 and remains visible), thus covering kickoff at layer 2. Git commit 297557bde400a24f95e702d92f7d98fcb4070313 by Vlad Zagorodniy. Committed on 04/03/2019 at 22:54. Pushed by vladz into branch 'master'. [wayland] Implement belongsToDesktop check Summary: When user asks KWin to show desktop, the compositor just raises every desktop window, it doesn't attempt to minimize normal clients, etc. Because desktop windows contain stuff like background and icons, the compositor has to raise all clients that are somehow correlated with desktop (e.g. panels, etc). Otherwise it would pretty weird to show only desktop background. Currently, not all plasmashell's clients are raised when the compositor shows desktop because belongsToDesktop is not implemented for ShellClient. Test Plan: * Show desktop; * Open Kickoff (without this patch Kickoff is not visible). Reviewers: #kwin, davidedmundson Reviewed By: #kwin, davidedmundson Subscribers: kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D19386 M +16 -15 shell_client.cpp M +1 -0 shell_client.h https://commits.kde.org/kwin/297557bde400a24f95e702d92f7d98fcb4070313 |
Created attachment 118352 [details] Demo SUMMARY Kickoff becomes invisible after the Breeze task switcher is shown. STEPS TO REPRODUCE 1. Toggle tabbox (e.g. press and release alt+tab); 2. Open kickoff, e.g. by pressing Meta key. SOFTWARE/OS VERSIONS KDE Plasma Version: 5.15.1 KDE Frameworks Version: 5.56 Qt Version: 5.12.1