auto hidden windows were shown again when their geometry
changed, this was done for being as easy as possible as
the unhide zone changed, but the behavior looked very
annoying as autohide panels with an self resize taskbar
would unhide themselves every time any window gets open
or closed.
This makes the edge keep track of
windows that can resize/move themselves while auto hidden
Details
- Reviewers
graesslin - Group Reviewers
Plasma - Commits
- R108:c0b207a2b524: support for auto-hidden windows to resize
a self-resizing autohidden panel with a taskbar in it doesn't auto unhide
anymore when a window is opened or closed.
the unhide area gets properly updated
Diff Detail
- Repository
- R108 KWin
- Lint
Automatic diff as part of commit; lint not applicable. - Unit
Automatic diff as part of commit; unit tests not applicable.
eww, just seen D4530 that does the same thing in a different way..
so, whatever one you guys prefer, sorry for the noise
client.cpp | ||
---|---|---|
2086 | i added a disconnect when it's back to electricnone, that should fix it? | |
screenedge.cpp | ||
989 | this did: if the border is the same, don't bother to re-reserve it, just return. one thing it could be compared is the old client geometry associated to the current edge, but it's info that wasn't saved |
Could you please extend autotests/integration/screenedge_client_show_test.cpp with a test case for your change?
this seems because of the patch in line 989 it's now destroying the edge pointer when the edge is reassigned, which i think it's fine, i see some options:
- remove the test, because the deletion of the edge pointer makes sense
- reintroduce the check in line 989, but checking also the geometry isn't changed: this would need also tracking the actual client geometry in the edge class to be able to compare it (delete the edge only if the geometry changed)
remove the test, because the deletion of the edge pointer makes sense
With that you mean the offending QCOMPARE (line 740)? If that fixes the test: go for it.
remove the test, because the deletion of the edge pointer makes sense
With that you mean the offending QCOMPARE (line 740)? If that fixes the test: go for it.