Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Accessibility: icons are invisible in dark themes #1606

Open
Gering-ding-ding-ding-din opened this issue Apr 14, 2023 · 7 comments
Open

Accessibility: icons are invisible in dark themes #1606

Gering-ding-ding-ding-din opened this issue Apr 14, 2023 · 7 comments

Comments

@Gering-ding-ding-ding-din

Prologue

Because of health problems regarding my eyes I am forced to use dark/black color themes exclusively combined with a screen brightness of <= 3%. Therefore I'm using a black color theme in KDE Plasma.

Expected behavior

All icons should be visible.

Observed behavior

Most icons are invisible.

Steps to reproduce or sample file

Open LibreCAD in KDE Plasma with a dark theme (e.g. "Breeze Dark" or "Breeze Black") selected.

Breeze Black:
Screenshot_20230415_013844_breezeblack

Breeze Dark:
Screenshot_20230415_013844_breezedark

Operating System and LibreCAD version info

Operating System: Arch Linux
KDE Plasma Version: 5.27.4
KDE Frameworks Version: 5.105.0
Qt Version: 5.15.9
Kernel Version: 6.2.10-arch1-1 (64-bit)
Graphics Platform: X11

LibreCAD Version: 2.2.0-alpha
Compiler: GNU GCC 12.2.0
Compiled on: Dec 17 2022
Qt Version: 5.15.9
Boost Version: 1.80.0
System: Arch Linux

@gerardbm
Copy link

The green of the icons is the only part that have contrast ratio enough to be seen with a dark and a light background. So we only need tot create a version of this icons changing the black for white.

Librecad needs an option to choose between two icons themes, and I will do the icons for the dark mode if someone implements this option.

@U--d--o
Copy link

U--d--o commented Oct 12, 2023

Same Problem using Dark Mode on MacOS!

There are 2 possibilities, one after the other.

  1. the simplest and fast in implementation:
    Disable/ignore Dark Mode on MacOS for LibreCAD.

  2. the hard way of customization, which can take a little longer after point 1 from me.

But please, so that you can use LibreCAD also on a Mac in Dark Mode, please implement point 1 asap!

@flywire
Copy link
Contributor

flywire commented Oct 12, 2023

Quick and dirty conversion needs testing: https://github.com/flywire/LibreCAD/tree/dark-mode/librecad/res/icons/dark-mode

@lordofbikes
Copy link
Member

Many thanks for this! 👍
As you have noticed, the icons are built into the binary at compile time.
So this is good for testing, but not practical.
Now it needs code modifications, to load the icons dynamically at run time. Then the user can switch the theme in settings.
Sadly, this can't be done by sed 😉

@gerardbm
Copy link

A very interesting implementation of this would be the availability of adding more themes via folders: default, dark, minimal, blued, etc; so they can be switched from a select box. A data file could contain the name, the path...

By default, the dark icons should appear when the user uses a dark UI. If not, the user should be able to specify alternative icons.

@flywire, many thanks for this contribution! I love this!

@lordofbikes
Copy link
Member

the availability of adding more themes via folders: default, dark, minimal, blued, etc

That's what I meant with dynamic loading at run time. The icons are no longer deployed in the binary, we have to deploy the original SVG icons then, and can of course add more sets. Or the user can change them for his taste and use a customized set.
As a fallback, we probably will keep the current set in the binary, in case there is a configuration failure.

I'm not sure yet, if auto detect of light/dark mode will work for every OS, but a simple change in Application Preferences might be a reasonable effort for the users.

@flywire
Copy link
Contributor

flywire commented Oct 14, 2023

Close issue as duplicate of #1144

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants