Bug 406937 - Cannot change icon theme in appimage
Summary: Cannot change icon theme in appimage
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Usability-Themes (show other bugs)
Version: 6.1.0
Platform: Appimage Linux
: NOR minor
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-04-26 21:46 UTC by MarcP
Modified: 2019-06-14 19:36 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In: 6.2.0


Attachments
No icon theme in folder tree (835.48 KB, image/png)
2019-04-26 21:46 UTC, MarcP
Details

Note You need to log in before you can comment on or make changes to this bug.
Description MarcP 2019-04-26 21:46:33 UTC
Created attachment 119657 [details]
No icon theme in folder tree

SUMMARY

There is an option in digikam to select the icon theme. By going to Settings, Configure digikam, Miscellaneous, Appearance tab, and changing the Icon Theme. By default is set to Breeze. The other options are Breeze Dark, or Use Icon Theme From system. 

Changing between these options does nothing. I'd expect at least the folder tree to change appearance. In theory, the breeze theme should have a blue gradient look. Instead, I see plain black and white icons. 

Also, shouldn't the plugins in the tool panel show some icon? (e.g. dropbox, facebook, etc.). Have a look at the screenshot I've attached.

STEPS TO REPRODUCE
1. Start digikam
2. Change Icon theme in the settings.
3. Wait a few seconds for changes to apply.

OBSERVED RESULT
Nothing changes.

EXPECTED RESULT
Appearance of some icons should be different.

SOFTWARE/OS VERSIONS
Ubuntu 18.04 with Gnome. digikam-6.2.0-git-20190423T140539-qtwebkit-x86-64.appimage
Comment 1 MarcP 2019-04-26 21:55:07 UTC
Apparently both icon themes are included in the appimage (breeze.rcc and breeze-dark.rcc at /usr/share/digikam inside the appimage) as well as icons for several apps (facebook, googlephoto, flickr, dropbox, onedrive, etc.) at /usr/share/icons/hicolor within the appimage.
Comment 2 MarcP 2019-05-23 22:47:42 UTC
I just realized that the icon theme loads correctly when the Tree View Icon Size is set to 32, 48 or 64, but not 16 or 22. Maybe the icon theme does not have icon for the smallest sizes?
Comment 3 caulier.gilles 2019-05-24 10:02:35 UTC
Good question. Icon theme come from KF5::Breeze framework component. We do not have any control on it.

Gilles Caulier
Comment 4 Maik Qualmann 2019-05-24 10:29:03 UTC
These are 2 different problem. Icon sizes 16 and 22 are actually black and white in the Breeze theme. Only from a size of 32 you get the blue icons.

In the Windows version and in the AppImage the icons are missing from the webservice tools, we have to fix that.

@Gilles
The pre-release Windows bundles are broken at the moment, they are too small, they lack DLLs. My Windows package builds here without problems. Can you please look.

Maik
Comment 5 caulier.gilles 2019-05-24 11:23:18 UTC
Hi Maik,

Yes, i seen this problem one day ago. The problem come from the Python script use to parse binaries and collect dependencies.

I hack a little bit the script and the list of file all_deps are aways empty. So no ddls are copied to the bundle.

https://cgit.kde.org/digikam.git/tree/project/bundles/mxe/rll.py#n217

So i will investiguate while this week end.

Q: did you try to run the 04-build-installer.sh script to see if the problem is reproducible on your computer ?

Gilles


I do not change this script since a while, but i updated the Linux host a lots. I suspect a python interpreter change has introduced a side effect.
Comment 6 Maik Qualmann 2019-05-24 16:40:14 UTC
Yes, I am using a copy of "04-build-installer.sh" internally just linked to another config file so I do not have to change the original. However, I compile without debug.

Maik
Comment 7 caulier.gilles 2019-05-25 09:16:25 UTC
Maik,

I found the problem with DLL cataloging with Python script for MXE packaging :

internally, objdump is used to catch all dll file names required as dependencies for a .exe file to bundle. The pythin script grep all objdump output with "DLL name:" string, but now, after my system update, objdump output is in French as "nom DLL:". the result is now empty...

So i need to found a work-around...

Gilles
Comment 8 Maik Qualmann 2019-05-25 09:27:43 UTC
"LANG=C objdump" ?

Maik
Comment 9 caulier.gilles 2019-05-25 12:51:39 UTC
Git commit 1c919c8d676ce612e7ef5e9d5bf059d09b144e48 by Gilles Caulier.
Committed on 25/05/2019 at 12:48.
Pushed by cgilles into branch 'master'.

force python cript to use English language while Dll deps parsing

M  +1    -1    project/bundles/mxe/04-build-installer.sh

https://invent.kde.org/kde/digikam/commit/1c919c8d676ce612e7ef5e9d5bf059d09b144e48
Comment 10 Maik Qualmann 2019-06-02 19:11:47 UTC
Git commit d0484a8a706fb85d194de94d48290f3af9e0a8fb by Maik Qualmann.
Committed on 02/06/2019 at 19:10.
Pushed by mqualmann into branch 'master'.

try to fix missing icons from AppImage

M  +17   -6    core/libs/widgets/mainview/dxmlguiwindow.cpp

https://invent.kde.org/kde/digikam/commit/d0484a8a706fb85d194de94d48290f3af9e0a8fb
Comment 11 Maik Qualmann 2019-06-03 16:45:24 UTC
The missing icons from the tools are present if there is no icons directory in the home under .local/share. Next change has already been made.

Maik
Comment 12 Maik Qualmann 2019-06-04 19:25:46 UTC
Ok, fine. All icons are now also available in the current AppImage.

Theme: other Icon themes. I tested a loader for all existing Icon themes in the system. The problem is that none can replace Breeze to completeness. The other Icon themes look terrible in part. Oxygen is still the most complete. But since many icons are no longer suitable for certain actions, it is no longer recommended. It might be the basis for a "digiKam Icon theme". From Qt-5.12 it is possible to set a fallback icon theme. Maybe an option to make something out of it.

Maik
Comment 13 MarcP 2019-06-04 21:19:45 UTC
Yay! Now the icons in the tool panel are displayed correctly.

By the way, the Theme is always Breeze regardless of the selected option (System theme, Breeze and Breeze dark), right? Is it technically possible to select the system theme, so I could use Ubuntu's "Ambiance" icons for the Albums panel?
Comment 14 Maik Qualmann 2019-06-08 19:43:19 UTC
Git commit 852edc29b4fd8fcae228db48345a9a77ca2f5632 by Maik Qualmann.
Committed on 08/06/2019 at 19:33.
Pushed by mqualmann into branch 'master'.

find installed icon themes in the system
We are using a white list at the moment

M  +30   -16   core/utilities/setup/setupmisc.cpp

https://invent.kde.org/kde/digikam/commit/852edc29b4fd8fcae228db48345a9a77ca2f5632
Comment 15 MarcP 2019-06-12 12:56:36 UTC
Ok, last request, I promise.

Could you please add the "Humanity" icon theme (the default Ubuntu look) to the whitelist? (Ambiance seems to be the GTK/Gnome shell theme, not the icon theme).
Comment 16 Maik Qualmann 2019-06-12 16:20:57 UTC
Git commit a49d14954d19f6260e4bd29e89d3fec1480086e8 by Maik Qualmann.
Committed on 12/06/2019 at 16:20.
Pushed by mqualmann into branch 'master'.

add Humanity icon theme

M  +1    -0    core/utilities/setup/setupmisc.cpp

https://invent.kde.org/kde/digikam/commit/a49d14954d19f6260e4bd29e89d3fec1480086e8
Comment 17 Maik Qualmann 2019-06-14 19:31:31 UTC
The change of the Icon theme is now possible, a mix of different Icon themes is not technically possible. From Qt-5.12 it will be possible to define a fallback icon theme. We can not change that the other Icon themes for digiKam are not complete. I now close the bug.

Maik
Comment 18 MarcP 2019-06-14 19:36:32 UTC
Thanks. I see now that some themes lack some icons. But it's nice to be able to choose again.