Summary: | Many icons missing (seeing placeholder) or even invisible | ||
---|---|---|---|
Product: | [Plasma] plasmashell | Reporter: | Bert <Bert.Bril> |
Component: | general | Assignee: | David Edmundson <kde> |
Status: | RESOLVED WORKSFORME | ||
Severity: | normal | CC: | aleixpol, amubtdx, Bert.Bril, bhush94, kyle, plasma-bugs, steffen.klee |
Priority: | NOR | Keywords: | triaged |
Version: | 5.4.1 | ||
Target Milestone: | 1.0 | ||
Platform: | Kubuntu | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: |
Screenshot showing the problem, as requested
Digit not displayed |
Description
Bert
2016-02-02 10:53:40 UTC
I run kUbuntu 15.10 (64 bits), and keep it 100% 'apt-get upgrade'd. Maybe interesting: when I type 'thunderbird' in the launcher, it will come up with the right menu entry. There is no placeholder, the icon is invisible (missing). When I do 'add to favorites', then it will show a placeholder icon. Another observation: Once the application runs, the icon does show in the task bar. So thunderbird, when started, has a proper thunderbird icon in the task bar. When I close it, the launcher does not show the icon but a placeholder. My own .desktop icons are invisible (empty) in the launcher. One of them starts a konsole with a specific color scheme. The konsole does come up with the right colors, but the icon in the task bar is not the one I made, but the general 'konsole' icon. Maybe a screenshot would help? I've never seen anything like that and I don't see how this can be reproduced... Created attachment 96980 [details]
Screenshot showing the problem, as requested
The invisible icons do get a tooltip and clicking on them does work ...
Does removing ~/.cache/icon-cache.kcache make a difference? I tried that, I actually removed everything with 'plasma in it from .cache, AND icon-cache.kcache ... ok Oh and I first did 'init 3', to make sure KDE wasn't running anymore, then a reboot. As I said, nothing seems to help. What strikes me most is that the .desktop files have a literal, full path: ... Exec=konsole --profile Stable Icon=/home/bert/kp/stbldevenv.svg Terminal=false ... % file /home/bert/kp/stbldevenv.svg /home/bert/kp/stbldevenv.svg: SVG Scalable Vector Graphics image How *can* it ignore that??? Created attachment 97229 [details]
Digit not displayed
Here's another weird no-display Every 10 minutes, if the last digit of the time is a '9', it is not displayed.
Maybe not the same bug, but I'm stuck with a KDE that leaves out a lot of stuff: entire icons, digits, ... Why??
I have the same bug on debian. Using strace, I can see that kde appends ".png" and ".svg" to the path and try to find the icon using these paths (and it obviously doesn't work as the path is complete without modification needed). For example, I have a .desktop file with "Icon=/home/doc/Programmes/Musique/foobar2000/Foobar2000_Icon.png". Then dolphin try to find the icons like this: stat("/home/doc/Programmes/Musique/foobar2000/Foobar2000_Icon.png.png", 0x7ffd3b650050) = -1 ENOENT (No such file or directory) stat("/home/doc/Programmes/Musique/foobar2000/Foobar2000_Icon.png.svg", 0x7ffd3b650050) = -1 ENOENT (No such file or directory) stat("/home/doc/Programmes/Musique/foobar2000/Foobar2000_Icon.png.png", 0x7ffd3b650050) = -1 ENOENT (No such file or directory) stat("/home/doc/Programmes/Musique/foobar2000/Foobar2000_Icon.png.svg", 0x7ffd3b650050) = -1 ENOENT (No such file or directory) stat("/home/doc/Programmes/Musique/foobar2000/Foobar2000_Icon.png.png", 0x7ffd3b650050) = -1 ENOENT (No such file or directory) stat("/home/doc/Programmes/Musique/foobar2000/Foobar2000_Icon.png.svg", 0x7ffd3b650050) = -1 ENOENT (No such file or directory) [... many times] Using "Icon=/home/doc/Programmes/Musique/foobar2000/Foobar2000_Icon" (without .png) make it works, the icon is displayed in dolphin (and everywhere else this .desktop file is used) Thanks Thanks Alexis! This is exactly what I needed. I have just made new .desktop's for all the tools without an icon: Thunderbird, Synaptic, Slack client, Skype ... All I needed to do is make my own .desktop (usually simply copying the one from /usr/share), find a good icon image, and at least I can see a meaningful icon. I conclude that there are at least 2 problems: 1) No check on existing extension (this caused my personal .desktop files to fail) 2) Some tools like Thunderbird have valid .desktops, but for some reason plasma cannot find it. This can be solved by hard-coding the path to the icon into the .desktop. Anyway, I now managed to see meaningful icons for all the tools in the panel. I tracked down the faulty code with gdb and got: #0 0x00007ffff78396d5 in __GI___xstat (vers=vers@entry=1, name=name@entry=0xd460a8 "/home/doc/Programmes/Musique/foobar2000/Foobar2000_Icon.png.png", buf=buf@entry=0x7fffffffb440) at ../sysdeps/unix/sysv/linux/wordsize-64/xstat.c:35 #1 0x00007ffff253eb90 in stat64 (__statbuf=0x7fffffffb440, __path=0xd460a8 "/home/doc/Programmes/Musique/foobar2000/Foobar2000_Icon.png.png") at /usr/include/x86_64-linux-gnu/sys/stat.h:503 #2 QFileSystemEngine::fillMetaData (entry=..., data=..., what=..., what@entry=...) at io/qfilesystemengine_unix.cpp:480 #3 0x00007ffff24d2bd0 in QFileInfo::exists (file=...) at io/qfileinfo.cpp:703 #4 0x00007ffff24cae75 in QFile::exists (fileName=...) at io/qfile.cpp:431 #5 0x00007ffff24bcffb in QDir::exists (this=this@entry=0x7fffffffb6d0, name=...) at io/qdir.cpp:1809 #6 0x00007ffff2979c50 in QIconLoader::findIconHelper (this=this@entry=0x7ffff2d42420 <(anonymous namespace)::Q_QGS_iconLoaderInstance::innerFunction()::holder>, themeName=..., iconName=..., visited=...) at image/qiconloader.cpp:284 #7 0x00007ffff297b80f in QIconLoader::loadIcon (this=0x7ffff2d42420 <(anonymous namespace)::Q_QGS_iconLoaderInstance::innerFunction()::holder>, name=...) at image/qiconloader.cpp:335 #8 0x00007ffff297ba20 in QIconLoaderEngine::ensureLoaded (this=this@entry=0xa696f0) at image/qiconloader.cpp:392 #9 0x00007ffff297bb9a in QIconLoaderEngine::ensureLoaded (this=0xa696f0) at image/qiconloader.cpp:386 #10 QIconLoaderEngine::virtual_hook (this=0xa696f0, id=1, data=0x7fffffffb870) at image/qiconloader.cpp:576 #11 0x00007ffff297dc78 in QIconEngine::availableSizes (this=<optimized out>, mode=<optimized out>, state=<optimized out>) at image/qiconengine.cpp:259 #12 0x00007ffff29704ae in QIcon::availableSizes (this=this@entry=0x7fffffffb8d0, mode=mode@entry=QIcon::Normal, state=state@entry=QIcon::Off) at image/qicon.cpp:1056 #13 0x00007ffff29739f0 in QIcon::fromTheme (name=..., fallback=...) at image/qicon.cpp:1190 #14 0x00007ffff74d829a in KStandardItemListWidget::pixmapForIcon (name=..., overlays=..., size=size@entry=48) at /build/dolphin-I_AGVN/dolphin-16.04.1/src/kitemviews/kstandarditemlistwidget.cpp:1449 ----------------------- The issue is that QIcon::fromTheme assume a icon name that follows freedesktop icon specification (http://doc.qt.io/qt-5/qicon.html#fromTheme). There was a change in review in Qt now in abandoned state that would solve this issue: https://codereview.qt-project.org/#/c/149571 Anyway, according to the QIcon doc, I think that KStandardItemListWidget::pixmapForIcon should try to open the icon as absolute path : - either before calling QIcon::fromTheme (but maybe only if its really an absolute path to avoid weird things when a icon in working dir as the same name as a theme icon name - or after / as fallback icon (in pixmapForIcon, the fallback is already the "unknown" icon) Dear Bug Submitter, This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days, the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging If you have already provided the requested information, please set the bug status as REPORTED so that the KDE team knows that the bug is ready to be confirmed. Thank you for helping us make KDE software even better for everyone! Dear Bug Submitter, This bug has been in NEEDSINFO status with no change for at least 30 days. The bug is now closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging Thank you for helping us make KDE software even better for everyone! |