Summary: | systray leaves garbage on the panel when resizing | ||
---|---|---|---|
Product: | [Unmaintained] plasma4 | Reporter: | Antonio Rojas <arojas> |
Component: | containment-panel | Assignee: | Plasma Bugs List <plasma-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | chaofeng111, dm.vl.ivanov, kde, n.schnelle, nortexoid |
Priority: | NOR | ||
Version: | 4.10.1 | ||
Target Milestone: | --- | ||
Platform: | Arch Linux | ||
OS: | Linux | ||
Latest Commit: | http://commits.kde.org/kde-workspace/3cdf85b5147382bf768d5b624ebf52a08748825b | Version Fixed In: | |
Sentry Crash Report: | |||
Attachments: |
screenshot
Panel configuration Patch forcing qml to repaint the system tray applet on each resize event |
Description
Antonio Rojas
2013-03-20 07:48:17 UTC
Created attachment 78233 [details]
screenshot
I can not reproduce, could you give detailed steps. Created attachment 78942 [details]
Panel configuration
No steps in particular, just add a panel with the attached configuration and wait for an icon to appear in the systray
Confirmed. The new icon is added right of the plasmoid, overdrawing whatever there is, and then the entire plasmoid shifts to the left to make room for the new icon. I guess that's probably because the item is added to the GridView and painted and then the plasmoid width is adjusted. I have this issue all the time. I guess it's the result of tray icons (e.g. Kmail) that are set to auto visibility and appear/hide when needed. Clicking on the clock removes the tray arrow incorrectly painted on it. Created attachment 84496 [details]
Patch forcing qml to repaint the system tray applet on each resize event
I seem to have found a fix for this bug, I verified it working well on both my laptop and PC. As Kai Uwe Broulik wrote, the plasmoid is not repainted as its width is adjusted after adding the new icon. I simply set viewport update mode to FullViewportUpdate to force repaint of things once anything gets dirty.
I'm aware FullViewportUpdate implies worse performance, however, it leaves graphical glitches out and seems to work fast enough for me. I also tried BoundingRectViewportUpdate mode but it didn't help. I'm not sure this patch is suitable as "official" fix but I figured it won't be bad to just share it.
This patch is for KDE/4.11 branch of kde-workspace repo.
*** This bug has been confirmed by popular vote. *** The easiest way to reproduce the bug is to open any video file with vlc player. Vlc icon pops up in system tray and than system tray leaves "garbage" arrow. Git commit 3cdf85b5147382bf768d5b624ebf52a08748825b by Marco Martin. Committed on 29/07/2014 at 21:01. Pushed by mart into branch 'KDE/4.11'. fix graphical glitch of xembed entries Patch by Dmitry Ivanov The fix is a very simple one-liner setting FullViewportUpdate mode for FdoGraphicsWidget. I'm aware FullViewportUpdate has negative performance impact but I also know it efficiently leaves out any graphical glitches happening due to no repaint of widget when necessary (which is what the bug is about). REVIEW:114910 M +13 -0 plasma/generic/applets/systemtray/protocols/fdo/fdographicswidget.cpp http://commits.kde.org/kde-workspace/3cdf85b5147382bf768d5b624ebf52a08748825b |