1 Dark mode issues
Moritz Bunkus edited this page 2023-05-14 13:59:22 +02:00

Dark mode doesn't work on Windows or it cannot be disabled

This article concerns release 76.0 & was last revised on 2023-05-14 11:59 UTC.

There are currently three issues in the release of v76.0 wrt. to the dark mode on Windows:

  1. Links are rendered in dark blue, which is not enough contrast to the dark background, making them hard to read. Links are used e.g. for displaying track languages or in the update information dialog.
  2. On some installations of Windows 11 MKVToolNix uses a light color palette even though Windows 11's application color mode is set to "dark".
  3. The checkbox for disabling the dark mode was still present in the preferences in release v76.0 but had no functionality associated with it anymore.

Solution

The issues have been fixed in the latest continuous builds by not relying on Qt for providing the dark mode, but providing my own. This mode is based on Qt's implementation. One of the advantages apart from fixing both aforementioned issues is that this mode works on Windows 10, too.

Additionally I've added a switch in the preferences for switching between the light mode, the dark mode & following the system's light/dark settings.

Also see issue 3528 for details.

Details about the issues

Status

This is due to a bug in Qt 6.5.0, for which I've filed QTBUG-11305.

I've also implemented a workaround by changing the color of links to a much lighter blue.

Workaround

Download, install & use the latest continuous build. Starting with revision 005 they contain the workaround.

2. Light color palette used

Status

On some installations of Windows 11 Qt 6.5.0 opts to use the light palette even if Windows 11's application color mode is set to "dark". This is a bug in Qt 6.5.0 for which I've filed QTBUG-113338.

Workaround

I've implemented three major changes in order to combat this:

  1. MKVToolNix itself will now always generate a light or dark palette instead of relying on Qt to do so.
  2. I've added an option in the preferences on the "GUI" page that allows the user to chose between always using a light palette, always using a dark palette & following the system settings. The latter will hopefully be more compatible than what Qt currently does.
  3. The palettes will not only be used on Windows 11, but on Windows 10 as well, improving upon the old custom dark palette used there.

Download & install the latest continuous build. Starting with revision 021 they contain the fixes.

3. Non-functional checkbox "disable dark mode"

Status

The functionality to disable the dark mode had been intentionally removed before release v76. Unfortunately I forgot to remove the checkbox in the preferences. Therefore checking it simply did nothing.

Workaround

Just use the latest continuous builds as described above.

Background

Releases prior to v76.0 always used what's now considered to be the legacy dark palette. This was due to Qt itself not having support for a dark palette in its platform theme plugins for Windows.

This legacy dark palette has some issues; e.g. disabled elements were hard to read or used wrong colors.

With the release of Qt 6.5.0 they started supporting a dark palette for Windows 11 and newer, but not for Windows 10. MKVToolNix v76.0 switched to using Qt's own dark palette when running on Windows 11, only using its own legacy dark palette on Windows 10.

Unfortunately there are still some teething issues left in Qt's support for Windows 11's dark palette.