Bug 385148 - Widgets are almost invisible using most "dark" shipped themes.
Summary: Widgets are almost invisible using most "dark" shipped themes.
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Usability-Themes (show other bugs)
Version: 7.5.0
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-09-27 17:55 UTC by Jens
Modified: 2023-05-22 06:01 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In: 8.1.0


Attachments
screenshot with dark theme (checkboxes almost invisible) (11.23 KB, image/png)
2017-09-29 19:04 UTC, Jens
Details
screenshot with checkboxes in KDE dark theme (68.47 KB, image/png)
2018-12-16 15:58 UTC, Jens
Details
breeze dark color scheme (2.67 KB, text/plain)
2018-12-31 14:33 UTC, Jens
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jens 2017-09-27 17:55:22 UTC
When using any of the builtin dark Digikam themes and using Ubuntu 16.04's default desktop (and theme - not KDE), the checkboxes and input form fields in Digikam are almost invisible.

Please make checkboxes and input field borders more clearly visible for these themes.
Comment 1 Maik Qualmann 2017-09-28 17:39:32 UTC
I can not really reproduce the problem here. I can recognize everything in all dark themes. Can you create a screenshot? Maybe a problem with Ubuntu?

Maik
Comment 2 Jens 2017-09-29 19:04:21 UTC
Created attachment 108096 [details]
screenshot with dark theme (checkboxes almost invisible)
Comment 3 Maik Qualmann 2017-09-29 19:19:38 UTC
Look into the digiKam Miscellaneous settings, which Widget style do you use? Fusion? What are still available?

Maik
Comment 4 Jens 2017-10-01 18:17:15 UTC
Fusion. only Fusion and Windows are available.
Comment 5 Jens 2018-12-16 15:57:57 UTC
Any news on this bug? I switched to KDE Neon (based on Ubuntu 18.04) and have all updates applied, even with the "Breeze Dark" theme applied in KDE and elsewhere, this doesn't really improve the situation. See attached screenshot.
All other KDE apps have a clearly visible border around checkboxes and form fields, Digikam does not.

Can we update the digikam appimage themes with the ones available in KDE?
Comment 6 Jens 2018-12-16 15:58:48 UTC
Created attachment 116948 [details]
screenshot with checkboxes in KDE dark theme
Comment 7 Maik Qualmann 2018-12-16 19:21:39 UTC
I've played with additional dark themes that are available on the web. The visibility of the checkboxes does not get better with the Fusion Style. Gilles, is it possible to integrate the Breeze Style plugin into the AppImage?

Maik
Comment 8 caulier.gilles 2018-12-17 05:14:59 UTC
Maik,

yes sure. This repository especially ?

https://cgit.kde.org/breeze.git/

Note : We already include breeze-icons repository.

Gilles
Comment 9 caulier.gilles 2018-12-22 13:46:15 UTC
Maik,

Breeze plugin come from this package :

https://www.archlinux.org/packages/extra/x86_64/breeze/

And this is plasma puzzle... You want really integrate this stuff in the bundle ?

I won't talk about the dependencies, it's not Christmas, if you feel what i a mean (:=)))

Gilles
Comment 10 caulier.gilles 2018-12-22 13:58:38 UTC
Bahhh ... (:=)))...

From Centos 6.9 with Red Hat devel-tool-set version 4 that i use to compile the whole bundle :

[gilles@localhost breeze]$ /opt/rh/devtoolset-4/enable && cmake3 .
-- Could not set up the appstream test. appstreamcli is missing.
CMake Warning at /usr/share/ECM/kde-modules/KDECompilerSettings.cmake:83 (message):
  Version 4.4.7 of the GNU C++ compiler is not supported.  Please use version
  4.5 or later.
Call Stack (most recent call first):
  /usr/share/ECM/kde-modules/KDECompilerSettings.cmake:101 (_kde_compiler_min_version)
  CMakeLists.txt:30 (include)


-- Looking for __GLIBC__
-- Looking for __GLIBC__ - found
-- Performing Test _OFFT_IS_64BIT
-- Performing Test _OFFT_IS_64BIT - Success
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
-- Found Gettext: /usr/bin/msgmerge (found version "0.17") 
-- Found KF5I18n: /usr/lib64/cmake/KF5I18n/KF5I18nConfig.cmake (found version "5.51.0") 
-- Found KF5Config: /usr/lib64/cmake/KF5Config/KF5ConfigConfig.cmake (found version "5.51.0") 
-- Found KF5GuiAddons: /usr/lib64/cmake/KF5GuiAddons/KF5GuiAddonsConfig.cmake (found version "5.51.0") 
-- Found KF5ConfigWidgets: /usr/lib64/cmake/KF5ConfigWidgets/KF5ConfigWidgetsConfig.cmake (found version "5.51.0") 
-- Found KF5WindowSystem: /usr/lib64/cmake/KF5WindowSystem/KF5WindowSystemConfig.cmake (found version "5.51.0") 
-- Found KF5: success (found version "5.51.0") found components:  I18n Config GuiAddons ConfigWidgets WindowSystem 
CMake Warning at kstyle/CMakeLists.txt:47 (find_package):
  Could not find a package configuration file provided by
  "KF5FrameworkIntegration" with any of the following names:

    KF5FrameworkIntegrationConfig.cmake
    kf5frameworkintegration-config.cmake

  Add the installation prefix of "KF5FrameworkIntegration" to
  CMAKE_PREFIX_PATH or set "KF5FrameworkIntegration_DIR" to a directory
  containing one of the above files.  If "KF5FrameworkIntegration" provides a
  separate development package or SDK, be sure it has been installed.


-- Found PkgConfig: /usr/bin/pkg-config (found version "0.23") 
-- Found XCB_XCB: /usr/lib64/libxcb.so (found version "1.12") 
-- Found XCB: /usr/lib64/libxcb.so (found version "1.12") found components:  XCB 
CMake Warning at kstyle/CMakeLists.txt:64 (find_package):
  Could not find a package configuration file provided by "KF5Wayland" with
  any of the following names:

    KF5WaylandConfig.cmake
    kf5wayland-config.cmake

  Add the installation prefix of "KF5Wayland" to CMAKE_PREFIX_PATH or set
  "KF5Wayland_DIR" to a directory containing one of the above files.  If
  "KF5Wayland" provides a separate development package or SDK, be sure it has
  been installed.


CMake Warning at kstyle/config/CMakeLists.txt:37 (find_package):
  Could not find a package configuration file provided by "KF5KCMUtils" with
  any of the following names:

    KF5KCMUtilsConfig.cmake
    kf5kcmutils-config.cmake

  Add the installation prefix of "KF5KCMUtils" to CMAKE_PREFIX_PATH or set
  "KF5KCMUtils_DIR" to a directory containing one of the above files.  If
  "KF5KCMUtils" provides a separate development package or SDK, be sure it
  has been installed.


CMake Warning at /usr/share/ECM/kde-modules/KDECompilerSettings.cmake:83 (message):
  Version 4.4.7 of the GNU C++ compiler is not supported.  Please use version
  4.5 or later.
Call Stack (most recent call first):
  /usr/share/ECM/kde-modules/KDECompilerSettings.cmake:101 (_kde_compiler_min_version)
  /usr/share/ECM/kde-modules/KDEFrameworkCompilerSettings.cmake:49 (include)
  misc/kde4breeze/CMakeLists.txt:6 (include)


-- Could not set up the appstream test. appstreamcli is missing.
-- Found KF5CoreAddons: /usr/lib64/cmake/KF5CoreAddons/KF5CoreAddonsConfig.cmake (found version "5.51.0") 
-- Found KF5: success (found version "5.51.0") found components:  CoreAddons Config 
CMake Warning at /usr/share/ECM/kde-modules/KDECompilerSettings.cmake:83 (message):
  Version 4.4.7 of the GNU C++ compiler is not supported.  Please use version
  4.5 or later.
Call Stack (most recent call first):
  /usr/share/ECM/kde-modules/KDECompilerSettings.cmake:101 (_kde_compiler_min_version)
  /usr/share/ECM/kde-modules/KDEFrameworkCompilerSettings.cmake:49 (include)
  misc/kde4breeze/CMakeLists.txt:18 (include)


CMake Error at CMakeLists.txt:51 (find_package):
  Could not find a package configuration file provided by "KF5Package" with
  any of the following names:

    KF5PackageConfig.cmake
    kf5package-config.cmake

  Add the installation prefix of "KF5Package" to CMAKE_PREFIX_PATH or set
  "KF5Package_DIR" to a directory containing one of the above files.  If
  "KF5Package" provides a separate development package or SDK, be sure it has
  been installed.


-- Configuring incomplete, errors occurred!
See also "/home/gilles/Documents/breeze/CMakeFiles/CMakeOutput.log".
[gilles@localhost breeze]$ 

As expected, no ?

So my response is : impossible or too much complicated.

Gilles
Comment 11 Maik Qualmann 2018-12-22 14:45:27 UTC
Do not ruin your Christmas with KDE dependencies. ((:-))
I will try to modify an existing color scheme so that the checkboxes are clearer.

Maik
Comment 12 Maik Qualmann 2018-12-23 17:50:17 UTC
Git commit e438cf836174f08c57444f4dc25020e11b7b892f by Maik Qualmann.
Committed on 23/12/2018 at 17:47.
Pushed by mqualmann into branch 'master'.

add new color scheme FusionGray based on ShadeOfGray

A  +104  -0    core/data/colorschemes/fusiongray.colors

https://commits.kde.org/digikam/e438cf836174f08c57444f4dc25020e11b7b892f
Comment 13 Jens 2018-12-31 14:33:24 UTC
Created attachment 117208 [details]
breeze dark color scheme

I tried the new color scheme and the form fields are much better now. But - of course - the colors are different from other apps when using "Breeze Dark" color scheme.

I tried to get the checkbox border colors to be white (just like the text) in the Breeze Dark colorscheme (attached) but I could no find a way to *only* modify the checkbox borders.
The color (38,42,46) that the checkbox borders have is nowhere in the colorscheme file and seems to be autogenerated from other colors. But which ones?

Can you give me a hint which setting to modify?
Thank you!
Comment 14 Maik Qualmann 2019-04-10 14:50:16 UTC
*** Bug 406408 has been marked as a duplicate of this bug. ***
Comment 15 caulier.gilles 2020-08-04 08:09:49 UTC
digiKam 7.0.0 stable release is now published:

https://www.digikam.org/news/2020-07-19-7.0.0_release_announcement/

We need a fresh feedback on this file using this version.

Best Regards

Gilles Caulier
Comment 16 caulier.gilles 2022-01-13 17:35:29 UTC
Maik, 

For me this file is solved i think, following last changes from bug #448172
What do you think about ?

Jens,

Please, can you try the Linux AppImage bundle 7.5.0 pre-release available here :

https://files.kde.org/digikam/

I think my last commits from bug #448172 will fix your problems.

Thanks in advance

Gilles Caulier
Comment 17 Jens 2022-01-16 21:24:46 UTC
Hello,
unfortunately, even with the latest appimage (uupdated just now) the checkboxes are still almost invisible except for the "FusionGrey" hack which makes everything else extremely low contrast to compensate. The screenshots above are still valid.

This happens just in Digikam non-dialog windows like the tags tree sidebar - checkboxes are fine e.g. in the Digikam settings dialog.

I would really really like to specify checkbox border and image thumbnail border (for thumbnail view) manually (to make the latter invisible to declutter the UI). Maybe it's possible to hardcode a bright checkbox border if using a dark theme if the theme settings don't allow it directly?

Thanks :-)
Jens
Comment 18 Maik Qualmann 2022-01-16 21:34:18 UTC
Look at Bug 414428, which color theme do you like best?
Unfortunately we have to make a compromise with the Fusion Widget Style, it is not possible to set a better contrast for the checkboxes. The KF5 Breeze Widget Style would be better, but cannot be installed in the AppImage due to a large number of dependencies.

Maik
Comment 19 Jens 2022-01-17 10:23:30 UTC
Hello Maik,
I have to side with you here, I don't like any of them really, they are too low contrast and too "grey" to be a real dark theme.
Maybe we should fix the Fusion widget theme to allow checkbox border colors to be customizable ...?
Jens
Comment 20 caulier.gilles 2023-04-24 03:39:18 UTC
@Jens,

digiKam 8.0.0 is out. Problem still valid with this release ?

Best regards
Comment 21 caulier.gilles 2023-05-21 05:29:57 UTC
Git commit 7cc7f53b39c9f374ab4a5ef297b41b08dbed062a by Gilles Caulier.
Committed on 21/05/2023 at 05:17.
Pushed by cgilles into branch 'master'.

Start to support Breeze style from Plasma desktop in digiKam bundles to prevent a broken rendereing of widgets and icons when breeze theme is used.
Intentional: this do not includes decoration and kcm parts, only the core libs plus theme files --> these implementations must be available as a KF5 component, not in Plasma
A KDE application ALSO work under MacOS and Windows, not ONLY Linux. As usual, reduce the puzzle please.
Related: bug 414428, bug 470066, bug 406408

M  +67   -2    project/bundles/3rdparty/CMakeLists.txt [INFRASTRUCTURE] [INFRASTRUCTURE] [INFRASTRUCTURE]
A  +98   -0    project/bundles/3rdparty/ext_breeze/CMakeLists.txt [INFRASTRUCTURE] [INFRASTRUCTURE] [INFRASTRUCTURE]
A  +32   -0    project/bundles/3rdparty/ext_breeze/breeze-common-rules.patch
M  +4    -1    project/bundles/appimage/02-build-extralibs.sh
M  +5    -1    project/bundles/appimage/config.sh [INFRASTRUCTURE]
M  +5    -1    project/bundles/macports/02-build-extralibs.sh
M  +7    -1    project/bundles/macports/config.sh [INFRASTRUCTURE] [INFRASTRUCTURE] [INFRASTRUCTURE]
M  +5    -1    project/bundles/mxe/02-build-extralibs.sh
M  +6    -0    project/bundles/mxe/config.sh [INFRASTRUCTURE] [INFRASTRUCTURE] [INFRASTRUCTURE]
A  +29   -0    project/scripts/bootstrap-breeze.sh

https://invent.kde.org/graphics/digikam/commit/7cc7f53b39c9f374ab4a5ef297b41b08dbed062a
Comment 22 caulier.gilles 2023-05-21 06:32:16 UTC
Git commit 0b8d82b49be57e979291d1e83ec49fc828818f54 by Gilles Caulier.
Committed on 21/05/2023 at 06:30.
Pushed by cgilles into branch 'master'.

adjust patch to Plasma v5.27.5
Related: bug 414428, bug 470066, bug 406408

M  +7    -7    project/bundles/3rdparty/ext_breeze/breeze-common-rules.patch

https://invent.kde.org/graphics/digikam/commit/0b8d82b49be57e979291d1e83ec49fc828818f54
Comment 23 caulier.gilles 2023-05-21 08:04:03 UTC
Git commit 9e8718d743bbbb588fef78ea48b28d8257eb5000 by Gilles Caulier.
Committed on 21/05/2023 at 08:01.
Pushed by cgilles into branch 'master'.

Enable widget styles support under MacOS
Related: bug 470066, bug 406408, bug 414428, bug 279183, bug 413748, bug 198201, bug 410501, bug 262702

M  +1    -0    project/bundles/macports/03-build-digikam.sh

https://invent.kde.org/graphics/digikam/commit/9e8718d743bbbb588fef78ea48b28d8257eb5000
Comment 24 caulier.gilles 2023-05-22 02:55:38 UTC
digiKam 8.1.0 AppImage bundle will provide the Breeze widgets style to render properly all the GUI under Linux.

Select Breeze style/Icons set in Setup/Miscs dialog page.

https://i.imgur.com/nqL5Iak.png

Best

Gilles Caulier
Comment 25 caulier.gilles 2023-05-22 05:37:57 UTC
Git commit da88685a35b3d809bca11a8c65582015b9ce4f55 by Gilles Caulier.
Committed on 22/05/2023 at 05:34.
Pushed by cgilles into branch 'master'.

Switch to Breeze widgets style by default
Related: bug 365262, bug 221065, bug 414428, bug 279183, bug 381855, bug 262702, bug 198201, bug 436259, bug 470066, bug 413748, bug 413879, bug 406408, bug 410501

M  +5    -5    NEWS
M  +2    -2    core/libs/settings/applicationsettings.cpp
M  +2    -2    core/showfoto/main/showfotosettings.cpp
M  +1    -1    core/tests/video/qtav/avplayer/main/MainWindow.cpp

https://invent.kde.org/graphics/digikam/commit/da88685a35b3d809bca11a8c65582015b9ce4f55
Comment 26 caulier.gilles 2023-05-22 06:01:05 UTC
Git commit a7c475aa49fea92d8b7735b7f39381b18bb58fe9 by Gilles Caulier.
Committed on 22/05/2023 at 05:58.
Pushed by cgilles into branch 'master'.

digiKam online documentation: Recommend "Brezze" Widgets style and icons-set instead "Fusion" for all desktop.
Related: bug 365262, bug 221065, bug 414428, bug 279183, bug 381855, bug 262702, bug 198201, bug 436259, bug 470066, bug 413748, bug 413879, bug 406408, bug 410501

M  +2    -2    setup_application/miscs_settings.rst

https://invent.kde.org/documentation/digikam-doc/commit/a7c475aa49fea92d8b7735b7f39381b18bb58fe9