アプリケーション毎に異なるテーマを適用して起動する方法(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

のように書けばいいようです。

参考サイト


コメント

スポンサーリンク


このブログの人気の投稿

gnuplotでプロットなどの色をcolornameの指定で変更する

catコマンドの出力を行番号付きにするためのコマンドラインオプション(-n, -b)

Ubuntu Softwareが起動しないのでいろいろと調べてみる(Ubuntu 20.04.1 LTS)

gnuplot : グラフにグリッド線を描く方法(set grid)

gnuplot : プロット画像のサイズ指定について(set sizeとの違い)