Fedora 37から39にアップグレードした後、Qtアプリケーション(vlcなど)は、ダークモード用に設定されたgnomeシェルセッションで実行されると、ダークモードではレンダリングされなくなります。
明らかに、QtアプリケーションはFedora 39でデフォルトでダークモードでレンダリングする必要があります。https://jgrulich.cz/2023/08/22/qt-theming-in-fedora-workstation/- しかし、私のシステムではそうではありません。
Gtkアプリケーション(例:Gnomeシェル設定)は暗いモードで表示され、Gnomeシェル設定は次のとおりです。
$ gsettings get org.gnome.desktop.interface color-scheme
'prefer-dark'
Fedoraのアップグレード、自動アンインストールなどを実行すると、次のadwaitaパッケージがインストールされます。
$ rpm -qa | grep adwaita
adwaita-cursor-theme-45.0-1.fc39.noarch
adwaita-icon-theme-45.0-1.fc39.noarch
qadwaitadecorations-qt6-0.1.3-2.fc39.x86_64
qadwaitadecorations-qt5-0.1.3-2.fc39.x86_64
libadwaita-1.4.2-2.fc39.x86_64
adwaita-gtk2-theme-3.28-17.fc39.x86_64
どのようにさらにデバッグできますか?
QtアプリケーションのGnomeシェルダークモード統合を変更する方法は?
それとも、すべてのQtアプリケーションに対してデフォルトでダークモードを設定する方法は?
答え1
Fedora 39には、QtアプリケーションにGnomeシェルスタイルを提供するために使用できるadwaita-qt6/adwaita-qt5パッケージもあります。しかし、adwaita-qtプロジェクトは維持されないQT_STYLE_OVERRIDE=Adwaita-Dark
これは、暗いadwaitaテーマを強制するために何かが動作しますが、暗いモードが不完全であることを意味します。たとえば、メニューバーはまだ明るいです。
解決策は、kvantum
基本テーマが暗いモードスタイルの「エンジン」テーマをインストールすることです。
したがって、以下は暗いモードでvlcを実行するのに十分です。
$ export QT_STYLE_OVERRIDE=kvantum
$ vlc
または
$ QT_STYLE_OVERRIDE=kvantum vlc
注:Qt4とは異なり、Qt5以降では$HOME
特定のポイントファイルを介してスタイルを設定することはできません。働くそして環境変わりやすい。
残念ながら、kvantumのデフォルト設定も完璧ではありません。たとえば、vlcとokularの通常のパネルラベルは、再生時間や残り時間など、灰色の背景に黒いフォントで表示されるため、読みにくいです。
qt5ct
別の部分的な解決策は、カスタムパレット、つまり「より暗い」カラースキームを使用してQt Fusionスタイルをインストールして設定することです。
$ QT_QPA_PLATFORMTHEME=qt5ct qt5ct
だから:
$ head -n 6 ~/.config/qt5ct/qt5ct.conf
[Appearance]
color_scheme_path=/usr/share/qt5ct/colors/darker.conf
custom_palette=true
standard_dialogs=default
style=Fusion
繰り返しますが、Qtプログラムが実際にこれらすべてを使用するには、環境変数を設定する必要があります。QT_QPA_PLATFORMTHEME
しかし、今回はそうです。
例:
$ QT_QPA_PLATFORMTHEME=qt5ct vlc
これはvlcにより良い暗いモードスタイルを提供します。つまり、再生時間/残り時間ラベルも暗い灰色の背景に白いテキストとして表示され、これ以上欠陥はありません。
ただし、okularなどのKDEプログラムではこの回避策は機能しません。これは、okularがデフォルトの照明モードスタイルを使用し、何も変更されないことを意味します。