Menu

#2153 Program unreadable in Windows when using Dark Mode + Dark Theme

KeePass_2.x
closed
nobody
5
2022-05-22
2022-05-07
lwc
No

It's great KeePass adapts dark themes, but it's the only program I know of that adapts dark themes as opposed to dark mode.
In Windows 10, for example, I believe it should rely on Windows Settings → 'Personalization' → 'Colors' instead of Windows Settings → 'Ease of Access' → 'High contrast', which was rightfully renamed to Accessibility in Windows 11.

In other words, dark mode is meant for ease of access, while High contrast is meant for accessibility. There's a difference, see the general Windows screenshot to understand why High Contrast is meant for accessibility.

Since other programs rely on Dark Mode, it has to be on, but the combination of Dark Mode and High Contrast makes KeePass unreadable (i.e. half the rows are hidden).

Steps to reproduce

  1. Enable Windows' Dark Mode (since other programs expect it)
  2. Enable Windows' High Contrast (since KeePass expects it)
  3. Open KeePass

Expected Result
See everything dark like in other programs.
KeePass should only rely on step 1, not 2.

Actual Result
Half the rows are hidden since KeePass relies on step 2 instead of 1.

3 Attachments

Discussion

  • Dominik Reichl

    Dominik Reichl - 2022-05-21
    • status: open --> closed
     
  • Dominik Reichl

    Dominik Reichl - 2022-05-21

    The FAQ already explains the differences between the two Windows options:
    https://keepass.info/help/base/faq_tech.html#guidark
    (section "Option 'Choose your (default app) mode' → 'Dark'").

    By default, the KeePass option 'Use alternating item background colors' is turned on and the option 'Custom alt. item color' is turned off. With this combination, the background colors are alternating, and an appropriate alternate color is determined automatically (depending on whether the default background color is light/dark).

    In order to achieve the situation in your screenshot, you must have turned on both options, probably before switching to a dark theme. When the second option is turned on, KeePass uses the color that the user has specified; it doesn't change it to something else when switching themes. This is the expected behavior. So, I see no bug here.

    However, I see that two related options on different tab pages can easily lead to confusions like yours, and I think this can be improved.

    I've now removed the two options and added a new option called 'Alt. item background color'. This is a combo box, supporting the states 'Off', 'On, default color' and 'On, custom color'. The state 'On, default color' corresponds to the previous on/off combination, and the state 'On, custom color' corresponds to the previous on/on combination. This should be clearer than the previous two options.

    Here's the latest development snapshot for testing:
    https://keepass.info/filepool/KeePass_220521.zip

    Thanks and best regards,
    Dominik

     
    • lwc

      lwc - 2022-05-21

      In order to achieve the situation in your screenshot, you must have turned on both options, probably before switching to a dark theme.

      But that's truly not the case, as I never touched these settings - see screenshots.
      Does it change your argument?

      on Windows 10, it is called 'Choose your default app mode'

      Since at least nowadays it's called Choose your accent color, can you update the documentation (again, for the Windows 10 statement there)?

      KeePass is a regular Windows application, not a UWP app, thus it follows the system theme, not the UWP option. This is the expected behavior; KeePass does not have anything to do with UWP options.

      Where does Windows instruct it's the expected behavior? I still argue Dark Theme is for disabled people (you saw how it affects Windows' System Tray), while nothing stops all apps from reading the Light/Dark Mode setting.

      As a random example, Sandboxie Plus respects Dark Mode despite not being an UWP app - see How to Enable Dark Mode in Sandboxie Plus:

      Select the checkbox Use Dark Theme in the settings. This checkbox can have three states – unchecked, mixed and checked. When it is unchecked, it enables the light mode. When it is checked, it enabled the dark mode. When it is mixed, it enabled auto-mode which gets the dark mode setting from the operating system settings for dark mode.

      I can confirm that mixed state cares for Dark Mode, not Dark Theme.

       

      Last edit: lwc 2022-05-21
  • Dominik Reichl

    Dominik Reichl - 2022-05-22

    I can reproduce this problem neither on Windows 10 nor 11 (see the attached screenshots).

    The option was the most likely reason, but it can indeed also be caused by other things (maybe you didn't restart KeePass, maybe there are background colors set explicitly for the entries, maybe it's caused by a plugin, ...).

    The Windows option 'Choose your (default app) mode' is different from the accent color option. The documentation is correct (up-to-date for Windows 10 and 11).

    In my opinion, following the system theme is the most reasonable and expected behavior for a Windows application. The vast majority of Windows applications (not UWP apps) does this, too (but there of course are a few exceptions that implement own theming, like the one you mentioned). So, I'm not planning to change this.

    Best regards,
    Dominik

     
    • lwc

      lwc - 2022-05-22

      Can you show a screenshot from Windows 10 of "Choose your (default app) mode"? I only find the Accent color one.

      Is there a way to make KeePass use Dark Mode without Dark Theme? As I've shown above, it "breaks" my overall System Tray.

      Thanks!

       
  • Dominik Reichl

    Dominik Reichl - 2022-05-22

    The 'Choose your default app mode' option of Windows 10 can be seen in the first screenshot on the following page:
    https://www.majorgeeks.com/content/page/how_to_go_dark_in_windows_10_cz5a.html

    With the KeeTheme plugin, you can get a dark KeePass UI even when the system theme is light.
    https://keepass.info/plugins.html#keetheme

    Best regards,
    Dominik

     
    • lwc

      lwc - 2022-05-22

      The first screenshot there is actually the Accent menu (that's how you can reach it directly). It even has the word "accent" ("Choose your accept color").

      But even following their precise instructions (via 21H2) I just don't have that "default app" option - see screenshot.

       

      Last edit: lwc 2022-05-22

Log in to post a comment.

MongoDB Logo MongoDB