Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Taskmanager: opening menu (dash/kicker/kickoff) triggers "plasma task" being shortly visible in taskmanager sometimes #163

Open
star-buck opened this issue Oct 25, 2015 · 19 comments
Assignees

Comments

@star-buck
Copy link
Contributor

No description provided.

@bhush9
Copy link

bhush9 commented Oct 25, 2015

Upstream bug : https://bugs.kde.org/show_bug.cgi?id=332024

I think it is not specific to kicker/kickoff but all plasma dialogs.. and AFAIU it is RESOLVED WAYLAND.

@star-buck
Copy link
Contributor Author

yes, but that shouldn't mean it could be resolved non-wayland too for the time until then.

@star-buck
Copy link
Contributor Author

@eikehein : any idea to fix this (especially on an arm odroid it happens all the time very visibly)?

@eikehein
Copy link

I think last time I talked with Martin about this his conclusion was "not before Wayland", but I'll brainstorm again - imho it's a Qt bug (basically the window properties like SkipTaskbar are now applied after show(), you can't set them before anymore because show() will ignore/overwrite the state - which is super stupid in my book), so it depends on how hard we want to fight the windmills on getting it changed perhaps

@star-buck
Copy link
Contributor Author

we need a workaround for the time until wayland ever gets accepted and shipped default (like 1-2 years).

@eikehein
Copy link

(In unrelated and more positive news, I fixed the icon flicker recently so one of our two long-standing TM annoyances are gone :)

@star-buck star-buck assigned davidedmundson and unassigned eikehein Jan 24, 2016
@davidedmundson
Copy link

I now know exactly what's happening. Which is good. I'll write it here in case I get distracted tomorrow.

WM_STATE contains a list of atoms. Including skip_taskbar
https://specifications.freedesktop.org/wm-spec/wm-spec-1.3.html#idm140130317598336

Qt supports a subset of possible window states (windowFlags), but it does not support skip_taskbar so we try and set that ourselves .

In order to not have a flicker we need skip_taskbar set as a state before the window is mapped.
However, if we set it before QWindow::show() it gets reset. by Qt just before it shows the window.
If we set it afterwards, it's too late.

This reset happens in
QXcbWindow::updateNetWmStateBeforeMap
which calls
QXcbWindow::setNetWmStates(NetWmStates states)
which calls
xcb_change_property with XCB_PROP_MODE_REPLACE with only the atoms Qt supports.

Dialog has a current hack that sets the flag afterwards, but it's done in a rather silly way, so I suspect the author didn't really understand the problem, just found something that sort of worked.

I can do a workaround that makes Plasma popups behave better (but won't fix krunner flickering there).

The proper fix will /have/ to be in Qt, but it should be possible.

@davidedmundson
Copy link

Added a workaround, which will fix the most common case.
https://git.reviewboard.kde.org/r/127374/

@star-buck
Copy link
Contributor Author

star-buck commented Mar 14, 2016 via email

@davidedmundson
Copy link

workaround that fixed plasma popups:
plasma-framework,
ETA first week of April.

@star-buck
Copy link
Contributor Author

Version would be Frameworks 5.21?

@eikehein
Copy link

^ Yes, based on positive reviews for the patch + 5.21 is the next release, scheduled for early April.

@star-buck
Copy link
Contributor Author

seems to be fixed

@star-buck
Copy link
Contributor Author

still visible in plasma 5.8 with latest qt5.7 and frameworks 5.27, therefore reopening

@eikehein
Copy link

What system does this happen on? We have no one left who can reproduce this at all (last person was Bhushan).

@star-buck
Copy link
Contributor Author

star-buck commented Oct 11, 2016 via email

@star-buck
Copy link
Contributor Author

added info:
it does indeed seem to happen only with Dash Menu, no longer with Kicker.

@star-buck star-buck changed the title taskmanager (normal or EITM): kicker/kickoff triggers "plasma task" being shortly visible in taskmanager sometimes taskmanager (normal or EITM): dash/kicker/kickoff triggers "plasma task" being shortly visible in taskmanager sometimes Oct 11, 2016
@star-buck star-buck changed the title taskmanager (normal or EITM): dash/kicker/kickoff triggers "plasma task" being shortly visible in taskmanager sometimes Taskmanager: opening menu (dash/kicker/kickoff) triggers "plasma task" being shortly visible in taskmanager sometimes Oct 11, 2016
@eikehein
Copy link

Fix for Dash under review at https://phabricator.kde.org/D3020

@eikehein
Copy link

Patch pushed, should be in 5.8.1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants