xbar marked as unknown widget
Status: Beta
Brought to you by:
baghira-style
ON KDE 4.8, I have noticed that the xbar applet/widget is being reported as an unknown widget. If I remove the widget and re-add another one, at times, the widget works. But if I log out and log back in, I still get the same broken widget.
Attached screen shot has some details.
Anonymous
Looks & sounds weird.
Did you try recompiling the plasmoid (xbar) after updating?
This does /only/ happen on login?
What if you issue "kquitapp plasma-desktop; sleep 5; plasma-desktop"?
Q: Did you try recompiling the plasmoid (xbar) after updating?
Ans: Yes, I did. This is in fact the latest revisions.
Q: This does /only/ happen on login?
Ans: Yes. Only during logins.
Q: What if you issue "kquitapp plasma-desktop; sleep 5; plasma-desktop"?
Ans: This crashed plasma-desktop and automatically restarted it. Interestingly, now there is no trace of the widget in the panel. So the unknown widget is all gone after running the above command, and if I want I will have to re-add xbar.
Okay! This one is interesting.
After running the kquitapp commands, the 1st attempt to add the xbar widget resulted in "*Unknown Widget". Trying to add it again, I got the xbar widget.
> Yes. Only during logins.
Actually not ;-)
> Ans: This crashed plasma-desktop and automatically restarted it.
It should actually quit plasma and the third statement start it - assuming this happened.
What struggles me is that you get this even after runtime adding (and i don't)
can you
- remove the xbar plasmoid
- "strace plasma-desktop --nofork > plasma.strace" 2>&1; sleep 1; plasma-dektop"
- attempt to add the xbar plasmoid
- ctrl+c the strace (plasma should immediately be restarted)
- compress and mail me the plasma.strace file (it's probably gonna be rather large - or you did sth wrong ;-)
I have emailed you the information you've asked for.
Was the information that I provided you, enough to determine the problem?
Or do you want more information?
Sorry.
The problem is that i cannot reproduce this behavior and have absolutely no idea what could cause this.
Usually this means that service file is corrupt, but it should not work on the second try then either.
What you can do is to launch plasma-desktop from konsole and watch the debug output when attempting to add the applet (because neither library nor service file seem touched from the strace ...)
Not much shows up in the logs when the "Unknown Widget" shows up. This is all I get.
er:🔚 Painter not active, aborted
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::setCompositionMode: Painter not active
QPainter:🔚 Painter not active, aborted
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::setCompositionMode: Painter not active
QPainter:🔚 Painter not active, aborted
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::setCompositionMode: Painter not active
QPainter:🔚 Painter not active, aborted
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::setCompositionMode: Painter not active
QPainter:🔚 Painter not active, aborted
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::setCompositionMode: Painter not active
QPainter:🔚 Painter not active, aborted
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::setCompositionMode: Painter not active
QPainter:🔚 Painter not active, aborted
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::setCompositionMode: Painter not active
QPainter:🔚 Painter not active, aborted
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::setCompositionMode: Painter not active
QPainter:🔚 Painter not active, aborted
plasma-desktop(26247)/plasma StatusNotifierItemSource::refreshCallback: DBusMenu disabled for this application
What is interesting is this. On 2nd attempt, where the applet successfully shows up, this is logged:
Start Dragging
plasma-desktop(26247)/libplasma Plasma::isPluginVersionCompatible: unversioned plugin detected, may result in instability
QFSFileEngine::open: No file name specified
19:49:52 rrs@champaran:/var/mail$ QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::setCompositionMode: Painter not active
QPainter:🔚 Painter not active, aborted
QPainter::begin: Paint device returned engine == 0, type: 2
"Versioned Plasma Plugins" ????
Was this a recent addition in 4.8 ?
I'd say for qml?
No idea but the Plasma::Applet API has no way to set a version (even if required - when you compile that API/ABI version would be set trough a macro, anything else makes no sense)
The service file of course knows a version entry and it's 0.1 for xbar ever since ;-)
> QPainter::begin: Paint device returned engine == 0, type: 2
This means so. is trying to paint on a null pixmap - not seen here, but usually happens if you programatically create QPixmap(w,h) and w or h is 0
Should be irrelevant.
Drag a widget to a panel seems some game here anyway - i removed the xbar, failed to drag the widget in (it only works if i rest on the bottom edge of the panel...) and when i then attempted to just double click it in, plasma crashed w/o comment (no Dr. konqui)
On that attempt (i somewhere had managed to add the xbar between the systray icons where a frame show up but nothing else happened) i got the version warning but on my successful attempt afterwards (and after restarting plasma, so this is much different from your observation), being a smart guy and knowing which pixel to hit (...) the plugin was added w/o a comment.
When starting plasma i get this
plasma-desktop(28818)/libplasma Plasma::isPluginVersionCompatible: unversioned plugin detected, may result in instability
4 times - REGARDLESS of whether XBar is added or not.
Frankly, i just refigured why i don't use plasma :-(
Now, for further investigations:
have you tried to create a fresh, blank panel* and add the xbar plasmoid there?
*ideally move all ~/.kde/share/config/plasma* stuff out of the way - don't delete it, just away from the config path - and restart plasma so you really got a complete fresh one.
I did what you instructed, but I still get the blank applet. And on the same panel, I added the applet again, and this time it worked. Both screen shots attached. :-)