Gtk + 3.0テーマをカスタマイズしようとしています。テーマに変更を加えた場合、2つのテーマを(MyUnityを使用して)変更して、アプリケーションにテーマをリロードさせてテストします。しかし、それを行うと、テーマは更新されず、古いバージョンのままで、私の変更を認識できません。どうやらGtk +はどこかにテーマ情報をキャッシュしているようです。
セッションを閉じて再度開くと、テーマの変更に感謝できますが、変更ごとにこれを行うのは非常に面倒です。
テーマを更新して変更を確認する方法はありますか(たとえば、コマンドラインプログラムまたはGtk + API呼び出し)。
これはかなり単純で効果的です。
killall
でNautilusを強制終了し、ターミナルからnautilusを開きます難しいことをせずに行った変更を確認できます。テーマの変更するほとんどの要素は、Nautilusに反映されます。
このbash関数を使用して、シェルをリロードせずにテーマをリロードできます。~/.bashrc
ファイルに追加できます。
function reload_gtk_theme() {
theme=$(gsettings get org.gnome.desktop.interface gtk-theme)
gsettings set org.gnome.desktop.interface gtk-theme ''
sleep 1
gsettings set org.gnome.desktop.interface gtk-theme $theme
}
使用するには、次を実行します:
$ reload_gtk_theme