アプリケーション毎に異なるテーマを適用して起動する方法(GNOMEデスクトップ環境)
ちょいちょい調べものをしていた最中に、アプリケーション毎に異なるテーマ(ウィンドウとかボタンの配色など)を適用して起動する方法があったので書き記しておきます。ちなみにタイトルにはGNOMEデスクトップ環境って書きましたが、GTK+アプリケーションなら通用する方法かと思います。Qtアプリだと意味ないかもです。 (単にGNOME環境でしか試していないため、このようなタイトルにしてます) まぁアプリケーション毎に異なるテーマを適用する必要はそれほどあるとは思えませんが、以前ブログに書いたようなEmacsのスクロールバー表示がおかしいというケースを回避するのに使えたりします。後は自作アプリをいろいろなテーマで表示テストするときのデバック用とか。 Emacsのスクロールバーの表示がおかしい件(Ubuntu 18.04) 前置きはこんなところで方法としては、コマンドラインからアプリケーションを起動するときに「GTK_THEME」という環境変数に適当なテーマを指定します。 geditをHighContrastのテーマで起動する場合は $ GTK_THEME=HighContrast gedit とします。なおgnome-terminalではこの方法によるテーマの変更は出来ませんでしたので、全てのアプリケーション(GTK+を利用した)で使えるというわけではなさそうです。 またコマンドラインからではなく、アプリケーションランチャーからこの方法を使いたい場合は.desktopファイルをうまいこと作ってやります。なお.desktopファイルに上に書いたコマンドをそのまま書いても認識されないようで、アプリケーションランチャーに表示すらされませんでした。認識させるには環境変数の書き方に手を加えてExecの行を Exec=env GTK_THEME=Adwaita gedit のように書けばいいようです。 参考サイト gnome - GTK - Enable/set dark theme on a per-application basis - Unix & Linux Stack Exchange Running GTK+ Applications: GTK+ 3 Reference Manual