「GTK」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(文字列「[[zh-CN:」を「[[zh-hans:」に置換)
(同期)
 
(8人の利用者による、間の52版が非表示)
1行目: 1行目:
 
[[Category:ウィジェットツールキット]]
 
[[Category:ウィジェットツールキット]]
[[cs:GTK+]]
+
[[en:GTK]]
[[en:GTK+]]
+
[[es:GTK]]
[[es:Improve GTK Application Looks]]
+
[[pt:GTK]]
[[it:GTK+]]
+
[[ru:GTK]]
[[ru:GTK+]]
+
[[zh-hans:GTK]]
[[uk:GTK+]]
 
[[zh-hans:GTK+]]
 
 
{{Related articles start}}
 
{{Related articles start}}
 
{{Related|Qt と GTK アプリケーションの外観の統合}}
 
{{Related|Qt と GTK アプリケーションの外観の統合}}
 
{{Related|Qt}}
 
{{Related|Qt}}
 
{{Related|GNU プロジェクト}}
 
{{Related|GNU プロジェクト}}
{{Related|GTK+/開発}}
+
{{Related|GTK/開発}}
 
{{Related articles end}}
 
{{Related articles end}}
   
[http://www.gtk.org GTK+ ウェブサイト] より:
+
[https://www.gtk.org/ GTK ウェブサイト] より:
:''GTK+ もしくは GIMP ツールキットはグラフィカルユーザーインターフェースを作成するためのマルチプラットフォームのツールキットです。ウィジェットの完全なセットを提供することで、GTK+ はちょっとしたツールから完全なアプリケーションスイートまで幅広いプロジェクトに適しています。''
+
:GTK もしくは GIMP ツールキットはグラフィカルユーザーインターフェースを作成するためのマルチプラットフォームのツールキットです。ウィジェットの完全なセットを提供することで、GTK はちょっとしたツールから完全なアプリケーションスイートまで幅広いプロジェクトに適しています。
   
当初 GTK+ (GIMP Toolkit) は [[GNU プロジェクト]]によって [[アプリケーション一覧/マルチメディア#ラスタ画像|GIMP]] のために作成されました、しかしながら現在ではさまざまな言語のバインディングの存在する人気のあるツールキットになっています。この記事では GTK+ テーマ・スタイル・アイコン・フォント・フォントサイズを設定するのに使うツールと手動設定の方法をく伝えます。
+
当初 GTK (GIMP Toolkit) は [[GNU プロジェクト]]によって [[GIMP]] のために作成されました、しかしながら現在ではさまざまな言語のバインディングの存在する人気のあるツールキットになっています。この記事では GTK テーマ・スタイル・アイコン・フォント・フォントサイズを設定するのに使うツールと手動設定の方法を説明します。
   
 
== インストール ==
 
== インストール ==
   
GTK+ は[[公式リポジトリ]]から2つのバージョンがインストールきます。以下のパッケージインストールできます:
+
複数の GTK バージョンが現在利用可能です。以下のパッケージによってそれらは[[インストール]]できます:
  +
* '''GTK+ 3.x''' は {{Pkg|gtk3}} パッケージでインストールできます。
 
* '''GTK+ 2.x''' は {{Pkg|gtk2}} パッケージでインストールできます。
+
* '''GTK 4.x''' は {{Pkg|gtk4}} パッケージでインストールできます。
* '''GTK+ 1.x''' は {{AUR|gtk}} パッケージでインストールできます。
+
* '''GTK 3.x''' は {{Pkg|gtk3}} パッケージでインストールできます。
  +
* '''GTK 2.x''' は {{Pkg|gtk2}} パッケージでインストールできます。
  +
* '''GTK 1.x''' は {{AUR|gtk}} パッケージでインストールできます。
   
 
== テーマ ==
 
== テーマ ==
   
  +
=== GTK 3 と GTK4 ===
GTK+ 2 のデフォルトテーマは ''Raleigh'' ですが、Arch Linux では {{ic|/usr/share/gtk-2.0/gtkrc}} にカスタム設定ファイルを作成しており、デフォルトテーマは ''Adwaita'' に設定されています。GTK+ 3 のデフォルトテーマは ''Adwaita'' です。ただし ''HighContrast'', ''HighContrastInverse'', ''Raleigh'' テーマも含まれています。
 
  +
  +
GTK 3 と GTK 4 では、デフォルトテーマは Adwaita ですが、HighContrast テーマと HighContrastInverse テーマも含まれています。
  +
  +
特定のテーマを適用するには、dconf エディタから {{ic|org.gnome.desktop.interface}} 名前空間内の {{ic|gtk-theme}} プロパティを設定してください:
  +
  +
$ gsettings set org.gnome.desktop.interface gtk-theme Adwaita
  +
  +
{{Note|libadwaita ベースの GTK 4 アプリケーションでは、GTK テーマに[https://github.com/jnsh/arc-theme/issues/61#issuecomment-922380704 特殊なサポート]が存在している必要があり、かつ、{{ic|GTK_THEME}} [[環境変数]]を使って GTK テーマを強制する必要があります。あるいは、libadwaita のパッチ適用済みのバージョン {{AUR|libadwaita-without-adwaita-git}} を使用する必要があります。}}
  +
  +
dconf プロパティを使用しない場合は、{{ic|GTK_THEME}} [[環境変数]]を使って GTK 3 と GTK 4 のテーマを適用することができます。例えば、GNOME Calculator を Adwaita のダークバージョンを使って起動するには:
   
特定のテーマを使うには、環境変数を設定します。
 
* GTK+ 2 の場合、{{ic|GTK2_RC_FILES}} 環境変数を使います、例:
 
$ GTK2_RC_FILES=/usr/share/themes/Industrial/gtk-2.0/gtkrc gimp
 
:上記のコマンドを実行すると Industrial テーマで GIMP が起動します。
 
* GTK+ 3 の場合、{{ic|GTK_THEME}} 環境変数を使います、例:
 
 
$ GTK_THEME=Adwaita:dark gnome-calculator
 
$ GTK_THEME=Adwaita:dark gnome-calculator
:上記のコマンドを実行すると Adwaita のダークテーマで GNOME Calculator が起動します。
 
   
  +
{{Tip|デスクトップショートカット (またはランチャー) から一つのアプリケーションに対して GTK テーマを適用する方法については、[[デスクトップエントリ#環境変数の変更]] を見てください。}}
公式リポジトリや [[AUR]] から多数のテーマをインストールすることができます。
 
   
  +
{{Note|対応する [[XDG デスクトップ ポータル]]を使用しない場合は、GSettings で設定したテーマを選択するために {{ic|1=ADW_DISABLE_PORTAL=1}} [[環境変数]]を設定する必要があるかもしれません。https://gitlab.gnome.org/GNOME/libadwaita/-/commit/e715fae6a509db006a805af816f9d163f81011ef を参照してください。}}
'''GTK+ 2 と GTK+ 3.20 以上の両方をサポートしているテーマ:'''
 
* {{App|Breeze|KDE のデフォルトウィジェットテーマの GTK+ バージョン。|https://quickgit.kde.org/?p=breeze-gtk.git|{{Pkg|breeze-gtk}}}}
 
* {{App|Deepin|Deepin デスクトップのデフォルトテーマ。|https://github.com/linuxdeepin/deepin-gtk-theme|{{Pkg|deepin-gtk-theme}}}}
 
* {{App|GNOME Standard Themes|GNOME デスクトップのデフォルトテーマ。次のテーマが含まれています: ''Adwaita'', ''HighContrast''|https://github.com/GNOME/gnome-themes-standard|{{Pkg|gnome-themes-standard}}}}
 
* {{App|MATE Themes|MATE デスクトップのデフォルトテーマ。次のテーマが含まれています: ''BlackMATE'', ''BlueMenta'', ''Blue-Submarine'', ''ContrastHighInverse'', ''Green-Submarine'', ''Menta'', ''TraditionalGreen'', ''TraditionalOk''。|https://github.com/mate-desktop/mate-themes|{{Pkg|mate-themes}}}}
 
* {{App|Numix|近代的な外観をしているフラットで明るいテーマ (GNOME, Openbox, Unity, Xfce)。|https://github.com/shimmerproject/Numix|{{Pkg|numix-themes}}}}
 
* {{App|Adapta|マテリアルデザインガイドラインに基づいている GTK+ テーマ。|https://github.com/tista500/Adapta|{{AUR|adapta-gtk-theme}}}}
 
* {{App|Arc|モダンで透過するエレメントを備えたフラットテーマ。|https://github.com/horst3180/arc-theme|{{Pkg|arc-gtk-theme}}}}
 
* {{App|Blackbird|Xfce 用のダークなデスクトップスイート。|https://github.com/shimmerproject/Blackbird|{{AUR|xfce-theme-blackbird}}}}
 
* {{App|Flat-Plat|GTK3, GTK2, GNOME-Shell に対応しているマテリアルデザインライクなフラットテーマ。|https://github.com/nana-4/Flat-Plat|{{AUR|flatplat-theme-git}}}}
 
* {{App|Gnome-breeze|新しい Plasma 5 Breeze にマッチする GTK テーマ。|https://github.com/dirruk1/gnome-breeze|{{AUR|gnome-breeze-git}}}}
 
* {{App|Greybird|グレーとブルーの Xfce テーマ。Xubuntu 12.04 のデフォルト。|https://github.com/shimmerproject/Greybird|{{AUR|xfce-theme-greybird}}}}
 
* {{App|Vertex|GTK 3, GTK 2, Gnome-Shell, Cinnamon のためのテーマ。|ttps://github.com/horst3180/vertex-theme|{{AUR|vertex-themes}}}}
 
* {{App|Zuki|GTK, gnome-shell などのためのテーマ。|https://github.com/lassekongo83/zuki-themes|{{AUR|zuki-themes-git}}}}
 
   
  +
=== GTK 2 ===
'''GTK+ 2 だけをサポートしているテーマ:'''
 
* {{App|GTK+ Engines|GTK+ 2 のテーマエンジン。次のテーマが含まれています: ''Clearlooks'', ''Crux'', ''Industrial'', ''Mist'', ''Redmond'', ''ThinIce''|https://github.com/GNOME/gtk-engines|{{Pkg|gtk-engines}}}}
 
* {{App|Xfce Gtk+ Engine|Xfce の Gtk+-2.0 エンジンとテーマ|http://git.xfce.org/xfce/gtk-xfce-engine/|{{Pkg|gtk-xfce-engine}}}}
 
* {{App|Oxygen-Gtk|KDE のデフォルトウィジェットテーマ (Oxygen) の GTK2 ポート|https://projects.kde.org/projects/playground/artwork/oxygen-gtk/|{{Pkg|oxygen-gtk2}}}}
 
* {{App|Aurora Gtk Engine|最新の Clearlooks ファミリー。|http://gnome-look.org/content/show.php/Aurora+Gtk+Engine?content=56438|{{Pkg|gtk-engine-aurora}}}}
 
* {{App|QtCurve|KDE と Gtk のウィジェットスタイルの設定セット|https://projects.kde.org/projects/playground/base/qtcurve|{{Pkg|qtcurve-gtk2}}}}
 
   
  +
GTK 2 のデフォルトのテーマは Raleigh ですが、Arch Linux には、デフォルトのテーマを Adwaita に設定するカスタムの設定ファイルが {{ic|/usr/share/gtk-2.0/gtkrc}} に存在しています。
[[AUR]] には他にも多くの GTK+ テーマが存在します: [https://aur.archlinux.org/packages.php?K=gtk-theme search for gtk-theme], [https://aur.archlinux.org/packages.php?K=gtk2-theme search for gtk2-theme]。
 
   
  +
GTK 2 のテーマを変更するには、{{ic|GTK2_RC_FILES}} [[環境変数]]を使用してください。例えば、Raleigh テーマで [[GIMP]] を起動するには:
{{Note|GTK+ 3 は頻繁に変更されるため、GTK+ 3 のリリースがあった後は GTK+ 3 のテーマを修正する必要があることがしばしばあります。このため、全ての GTK+ 3 テーマが (最新バージョンの GTK+ 3 で) 期待通りの外観を表示するとは限りません。}}
 
   
  +
$ GTK2_RC_FILES=/usr/share/themes/Raleigh/gtk-2.0/gtkrc gimp
=== GTK+ と Qt ===
 
   
  +
{{Tip|{{ic|gtkrc}} は、任意の [[#設定ツール]] で作成されたホームディレクトリ内のカスタムファイルにすることもできます。[[#例]] を見てください。}}
デスクトップで GTK+ と Qt (KDE) アプリケーションを使っているならば、それらの見た目が上手く調和しないことに気づくでしょう。GTK+ スタイルと Qt スタイルを調和させたい場合は [[Qt と GTK アプリケーションの外観の統合]]を読んで下さい。
 
  +
  +
公式リポジトリや [[AUR]] から他のテーマをインストールすることができます。手動で展開されたテーマは {{ic|~/.themes/}} や {{ic|~/.local/share/themes/}} ディレクトリに配置します。
  +
  +
=== GTK 2 と GTK 3 をサポートしているテーマ ===
  +
  +
* {{App|Adapta|マテリアルデザインガイドラインに基づいている GTK テーマ。次のテーマが含まれています: Adapta, Adapta-Eta, Adapta-Nokto, Adapta-Nokto-Eta|https://github.com/tista500/Adapta|{{Pkg|adapta-gtk-theme}}}}
  +
* {{App|Arc|モダンで透過するエレメントを備えたフラットテーマ。次のテーマが含まれています: Arc, Arc-Dark, Arc-Darker|https://github.com/jnsh/arc-theme|透過あり: {{Pkg|arc-gtk-theme}}, 透過なし: {{Pkg|arc-solid-gtk-theme}}}}
  +
* {{App|Bluebird|Xfce 用の Blue Desktop Suite。|https://github.com/shimmerproject/Bluebird|{{AUR|xfce-theme-bluebird}}}}
  +
* {{App|Breeze|KDE のデフォルトウィジェットテーマの GTK バージョン。次のテーマが含まれています: Breeze, Breeze-Dark|https://invent.kde.org/plasma/breeze-gtk|{{Pkg|breeze-gtk}}}}
  +
* {{App|Deepin|Deepin デスクトップのデフォルトテーマ。次のテーマが含まれています: deepin, deepin-dark|https://github.com/linuxdeepin/deepin-gtk-theme|{{Pkg|deepin-gtk-theme}}}}
  +
* {{App|GNOME Extra Themes|GNOME デスクトップの追加テーマ。次のテーマが含まれています: Adwaita, Adwaita-dark, HighContrast|https://gitlab.gnome.org/GNOME/gnome-themes-extra|{{Pkg|gnome-themes-extra}}}}
  +
* {{App|Greybird|グレーとブルーの Xfce テーマ。Xubuntu 12.04 のデフォルト。|https://github.com/shimmerproject/Greybird|{{AUR|xfce-theme-greybird}}}}
  +
* {{App|Materia|GTK3, GTK2, GNOME-Shell に対応しているマテリアルデザインライクなフラットテーマ。|https://github.com/nana-4/materia-theme|{{Pkg|materia-gtk-theme}}}}
  +
* {{App|MATE Themes|MATE デスクトップのデフォルトテーマ。次のテーマが含まれています: BlackMATE, Blue-Submarine, BlueMenta, ContrastHighInverse, Green-Submarine, GreenLaguna, Menta, TraditionalGreen, TraditionalOk|https://github.com/mate-desktop/mate-themes|{{Pkg|mate-themes}}}}
  +
* {{App|Numix|近代的な外観をしているフラットで明るいテーマ (GNOME, Openbox, Unity, Xfce)。次のテーマが含まれています: Numix|https://github.com/numixproject/numix-gtk-theme|{{AUR|numix-gtk-theme-git}}}}
  +
* {{App|Vertex|GTK 3, GTK 2, Gnome-Shell, Cinnamon のためのテーマ。|https://github.com/horst3180/vertex-theme|{{AUR|vertex-themes}}}}
  +
* {{App|Zuki|GTK, gnome-shell などのためのテーマ。|https://github.com/lassekongo83/zuki-themes|{{AUR|zuki-themes}}}}
  +
  +
AUR にもいくつか GTK テーマが存在します。例えば、[https://aur.archlinux.org/packages?K=gtk-theme gtk-theme で検索]。
  +
  +
=== GTK と Qt ===
  +
  +
デスクトップで GTK と Qt (KDE) アプリケーションを使っているならば、それらの見た目が上手く調和しないことに気づくでしょう。GTK スタイルと Qt スタイルを調和させたい場合は [[Qt と GTK アプリケーションの外観の統合]]を読んで下さい。
   
 
== 設定ツール ==
 
== 設定ツール ==
   
主流の[[デスクトップ環境]]の多くは GTK+ テーマやアイコン、フォントやフォントサイズを設定するためのツールを提供しており、[http://standards.freedesktop.org/xsettings-spec/xsettings-spec-0.5.html XSettings] で設定を管理しています:
+
主流の[[デスクトップ環境]]の多くは GTK テーマやアイコン、フォントやフォントサイズを設定するためのツールを提供しており、[https://specifications.freedesktop.org/xsettings-spec/ XSettings] で設定を管理しています:
 
* [[Cinnamon]] を使っている場合、Themes ツールを使って下さい (''cinnamon-settings themes''): ''System Settings > Themes'' を開いて下さい。
 
* [[Cinnamon]] を使っている場合、Themes ツールを使って下さい (''cinnamon-settings themes''): ''System Settings > Themes'' を開いて下さい。
 
* [[Enlightenment]] を使っている場合: ''Settings > All > Look > Application Theme'' を開いて下さい。
 
* [[Enlightenment]] を使っている場合: ''Settings > All > Look > Application Theme'' を開いて下さい。
* [[GNOME]] を使っている場合、GNOME Tweak Tool (''gnome-tweak-tool''): {{Pkg|gnome-tweak-tool}} をインストール。
+
* [[GNOME]] を使っている場合、GNOME Tweaks (''gnome-tweaks''): {{Pkg|gnome-tweaks}} をインストールして下さい
 
* [[MATE]] を使っている場合、Appearance Preferences ツールを使って下さい (''mate-appearance-properties''): ''System > Settings > Appearance'' を開いて下さい。
 
* [[MATE]] を使っている場合、Appearance Preferences ツールを使って下さい (''mate-appearance-properties''): ''System > Settings > Appearance'' を開いて下さい。
 
* [[Xfce]] を使っている場合、Appearance ツールを使って下さい: ''Settings > Appearance'' を開いて下さい。
 
* [[Xfce]] を使っている場合、Appearance ツールを使って下さい: ''Settings > Appearance'' を開いて下さい。
   
他の GUI ツールは[[#設定|設定ファイル]]を上書きします。
+
通常、他の GUI ツールは[[#設定|設定ファイル]]を上書きします。
   
'''GTK+ 2 と GTK+ 3 の両方をサポートしているツール:'''
+
'''GTK 2 と GTK 3 の両方をサポートしているツール:'''
* {{App|KDE GTK Configurator|GTK+2 と GTK+3 アプリケーションのスタイルやフォントを変更することができるアプリケーション。|https://projects.kde.org/kde-gtk-config|{{Pkg|kde-gtk-config}}}}
 
:インストール後、{{ic|kde-gtk-config}} は ''System Settings > Application Appearance > GTK'' からも設定できます。
 
* {{App|LXAppearance|LXDE プロジェクトによる、デスクトップに依存しない GTK+2 と GTK+3 のスタイル設定ツール (LXDE デスクトップの他のソフトウェアを必要としません)。|http://wiki.lxde.org/en/LXAppearance|{{Pkg|lxappearance}}}}
 
* {{App|Oo-mox|Numix テーマ (GTK2, GTK3) や gnome-colors アイコンテーマの様々なカラーバリエーションを生成するためのグラフィカルアプリケーション。|https://github.com/actionless/oomox|{{AUR|oomox}}}}
 
   
  +
* {{App|KDE GTK Configurator|GTK 2 と GTK 3 アプリケーションのスタイルやフォントを変更することができるアプリケーション。|https://invent.kde.org/plasma/kde-gtk-config|{{Pkg|kde-gtk-config}}}}
'''GTK+ 2 だけをサポートしているツール:'''
 
  +
:インストール後、{{ic|kde-gtk-config}} は ''System Settings > Appearance > Application Style > Configure GNOME/GTK Application Style'' から使用できます。
* {{App|GTK+ Change Theme|GTK+ 2.0 のテーマを変更するためのプログラム (''switch2'' の代替プログラム)。|http://plasmasturm.org/code/gtk-chtheme/|{{Pkg|gtk-chtheme}}}}
 
  +
* {{App|LXAppearance|LXDE プロジェクトによる、デスクトップに依存しない GTK 2 と GTK 3 のスタイル設定ツール (LXDE デスクトップの他のパーツを必要としません)。|https://github.com/lxde/lxappearance|{{Pkg|lxappearance-gtk3}}}}
* {{App|GTK+ Preference Tool|GTK+ テーマの選択とフォントの切り替えプログラム。|http://gtk-win.sourceforge.net/home/index.php/Main/GTKPreferenceTool|{{Pkg|gtk2_prefs}}}}
 
  +
* {{App|Oo-mox|Numix と Flat-Plat テーマ (GTK 2, GTK 3) や Archdroid と Gnome-Colors アイコンテーマの様々なカラーバリエーションを生成するためのグラフィカルアプリケーション。HiDPI ディスプレイ用にスケールした GTK 2 テーマも生成できます。|https://github.com/actionless/oomox|{{AUR|themix-full-git}}}}
* {{App|GTK+ Theme Switch|シンプルな GTK+ テーマスイッチャ。|http://muhri.net/nav.php3?node=gts|{{Pkg|gtk-theme-switch2}}}}
 
  +
  +
'''GTK 2 だけをサポートしているツール:'''
  +
* {{App|GTK Change Theme|GTK 2.0 のテーマを変更するためのプログラム (''switch2'' より優れた代替ツールと見なされています)。|http://plasmasturm.org/code/gtk-chtheme/|{{Pkg|gtk-chtheme}}}}
  +
* {{App|GTK Preference Tool|GTK テーマの選択とフォントの切り替えプログラム。|https://gtk-win.sourceforge.io/home/index.php/Main/GTKPreferenceTool|{{AUR|gtk2_prefs}}}}
  +
* {{App|GTK Theme Switch|シンプルな GTK テーマスイッチャ。|3=http://muhri.net/nav.php3?node=gts|4={{AUR|gtk-theme-switch2}}}}
   
 
== 設定 ==
 
== 設定 ==
   
設定ファイルで GTK+ の設定を手動で指定することもできます。ただしデスクトップ環境やアプリケーションは手動設定を上書きしてしまうことがあります。GTK+ のバージョンによって、設定ファイルの場所は異なっています:
+
設定ファイルで GTK の設定を手動で指定することもできます。ただしデスクトップ環境やアプリケーションは手動設定を上書きしてしまうことがあります。GTK のバージョンによって、設定ファイルの場所は異なっています:
  +
* GTK+ 2 ユーザー個別: {{ic|~/.gtkrc-2.0}}
 
* GTK+ 2 システム全体: {{ic|/etc/gtk-2.0/gtkrc}}
+
* GTK 2 ユーザー個別: {{ic|$GTK2_RC_FILES}}、{{ic|~/.gtkrc-2.0}}
  +
* GTK 2 システム全体: {{ic|/etc/gtk-2.0/gtkrc}}
* GTK+ 3 ユーザー個別: {{ic|$XDG_CONFIG_HOME/gtk-3.0/settings.ini}} ({{ic|$XDG_CONFIG_HOME}} が設定されていない場合は {{ic|$HOME/.config/gtk-3.0/settings.ini}})
 
* GTK+ 3 システム全体: {{ic|/etc/gtk-3.0/settings.ini}}
+
* GTK 3 ユーザー個別: {{ic|$XDG_CONFIG_HOME/gtk-3.0/settings.ini}}、{{ic|$XDG_CONFIG_HOME}} が設定されていない場合は {{ic|$HOME/.config/gtk-3.0/settings.ini}}
  +
* GTK 3 システム全体: {{ic|/etc/gtk-3.0/settings.ini}}
   
 
{{Note|
 
{{Note|
* GTK の設定オプションの完全なリストは GTK+ プログラミングリファレンスマニュアルの [http://library.gnome.org/devel/gtk3/stable/GtkSettings.html#GtkSettings.properties GTK+ 3 ''GtkSettings'' properties] ( [http://library.gnome.org/devel/gtk2/stable/GtkSettings.html#GtkSettings.properties GTK+ 2 properties]) を見てさい。
+
*現在サポートされている GTK の設定オプションの完全なリストについてGTK プログラミングリファレンスマニュアルの [https://docs.gtk.org/gtk4/class.Settings.html#properties GTK4] と [https://docs.gtk.org/gtk3/class.Settings.html#properties GTK3] ''GtkSettings'' properties (そして [https://ghostarchive.org/archive/p2BmM GTK 2 properties]) を見てください。
  +
*以下の設定の中には非推奨となっているものもあり ({{ic|gtk-icon-sizes}} など)、GTK+ 3.10 では無視されることがあります。
 
  +
*以下で説明している設定のうちいくつか ({{ic|gtk-icon-sizes}} など) は GTK 3.10 から非推奨となっており、無視されます。
*GTK+ の設定ファイルを編集した場合、変更が適用されるのは新しく起動したアプリケーションからです。}}
 
  +
*GTK の設定ファイルを編集した場合、変更が適用されるのは新しく起動したアプリケーションからです。}}
   
 
=== テーマの基本設定 ===
 
=== テーマの基本設定 ===
   
GTK+ テーマやアイコン、フォントやフォントサイズを手動で変更するには、以下のように設定ファイルに追加します:
+
GTK テーマやアイコン、フォントやフォントサイズを手動で変更するには、例えば以下のように設定ファイルに追加します:
   
'''GTK+ 2:'''
+
* GTK 2:
 
{{hc|~/.gtkrc-2.0|2=
 
{{hc|~/.gtkrc-2.0|2=
 
gtk-icon-theme-name = "Adwaita"
 
gtk-icon-theme-name = "Adwaita"
116行目: 128行目:
 
}}
 
}}
   
'''GTK+ 3:'''
+
* GTK 3:
 
{{hc|$XDG_CONFIG_HOME/gtk-3.0/settings.ini|2=
 
{{hc|$XDG_CONFIG_HOME/gtk-3.0/settings.ini|2=
 
[Settings]
 
[Settings]
124行目: 136行目:
 
}}
 
}}
   
  +
テーマが GTK 3 に対して適用されない場合、加えて {{ic|gsettings}} を使用してください:
{{Note|アイコンテーマの名前はテーマのインデックスファイルに定義されています。ディレクトリの名前を指定しても適用されません。}}
 
  +
  +
$ gsettings set org.gnome.desktop.interface gtk-theme theme_name
  +
  +
同じように、アイコンテーマが GTK3 に適用されない場合は、{{ic|gsettings}} を使って:
  +
  +
$ gsettings set org.gnome.desktop.interface icon-theme icon_theme_name
  +
  +
アイコンを手動でダウンロード・インストールする方法については、[[アイコン]] を見てください。
  +
  +
{{Note|{{ic|gtk-icon-theme-name}} と {{ic|gtk-theme-name}} は、テーマのディレクトリの名前です。テーマの {{ic|index.theme}} における Name プロパティの値ではありません。}}
   
 
=== ダークテーマ ===
 
=== ダークテーマ ===
   
GTK+ 3 テーマの中には派生のダークテーマが存在することがありますが、アプリケーションによって明示的に使うように設定されない限り、デフォルトで使われることはありません。全ての GTK+ 3 アプリケーションでダークテーマを使うには、以下を設定:
+
GTK 3 テーマの中には派生のダークテーマが存在することがありますが、アプリケーションによって明示的に使うように設定されない限り、デフォルトで使われることはありません。全ての GTK 3 アプリケーションでダークテーマを使うには、以下を設定:
   
 
gtk-application-prefer-dark-theme = true
 
gtk-application-prefer-dark-theme = true
   
  +
GTK 4 に対しては、以下を使用してください:
=== キーボードショートカットのカスタマイズを有効にする ===
 
  +
  +
$ gsettings set org.gnome.desktop.interface color-scheme prefer-dark
  +
  +
=== キーボードショートカット ===
  +
  +
マウスをメニューアイテムの上に乗せて設定したいキーの組み合わせを押すことで GTK アプリケーションのキーボードショートカット (GTK では ''accelerators'' とも呼ばれます) を変更することができます。この機能を有効にするには、次を設定してください:
   
マウスをメニューアイテムの上に乗せて設定したいキーボードのコンビネーションを押すことで GTK+ アプリケーションのキーボードショートカットをカスタマイズすることができます
 
ただし、この機能はデフォルトでは無効になっています。この機能を有効にするには、次を設定してください:
 
 
gtk-can-change-accels = 1
 
gtk-can-change-accels = 1
   
 
==== Emacs キーバインド ====
 
==== Emacs キーバインド ====
GTK アプリで Emacs ライクなキーバインドを使うには:
 
   
  +
GTK アプリで Emacs ライクなキーバインドを使うには以下を追加します:
GTK+2 アプリの場合、{{ic|~/.gtkrc-2.0}} に {{ic|1=gtk-key-theme-name = "Emacs"}} を追加してください。
 
  +
  +
{{hc|1=~/.gtkrc-2.0|2=
  +
gtk-key-theme-name = "Emacs"
  +
}}
   
GTK+3 アプリの場合、以下を追加してください:
 
 
 
{{hc|1=~/.config/gtk-3.0/settings.ini|2=
 
{{hc|1=~/.config/gtk-3.0/settings.ini|2=
 
[Settings]
 
[Settings]
gtk-key-theme-name = Emacs}}
+
gtk-key-theme-name = Emacs
  +
}}
   
して以下のコマンドを実行してください:
+
GTK 3 に対しては、以下実行してください:
   
 
$ gsettings set org.gnome.desktop.interface gtk-key-theme "Emacs"
 
$ gsettings set org.gnome.desktop.interface gtk-key-theme "Emacs"
   
Xfce にも同じような設定が存在します:
+
XFCE にも同じような設定が存在します:
   
 
$ xfconf-query -c xsettings -p /Gtk/KeyThemeName -s Emacs
 
$ xfconf-query -c xsettings -p /Gtk/KeyThemeName -s Emacs
   
  +
==== キーバインドを宣言する ====
Emacs のキーバインドは {{ic|/usr/share/themes/Emacs/}} の設定ファイルで定義・変更できます。ユーザーの {{ic|~/.gtkrc-2.0}} ファイルにセクションをコピーすることで、ユーザー個別に編集が可能です。
 
   
  +
{{ic|/usr/share/themes/Emacs/}} などにある設定ファイルは、Emacs バインドを指定したり、変更したりできます。
=== GNOME メニューの高速化 ===
 
  +
  +
{{hc|/usr/share/themes/Emacs/gtk-2.0-key/gtkrc|
  +
binding "gtk-emacs-text-entry"
  +
{
  +
bind "<ctrl>b" { "move-cursor" (logical-positions, -1, 0) }
  +
...
  +
}
  +
}}
  +
  +
{{hc|/usr/share/themes/Emacs/gtk-3.0/gtk-keys.css|
  +
@binding-set gtk-emacs-text-entry
  +
{
  +
bind "<ctrl>b" { "move-cursor" (logical-positions, -1, 0) };
  +
...
  +
}
  +
}}
  +
  +
セクションを GTK 2 と 2 に対してそれぞれ {{ic|~/.gtkrc-2.0}} と {{ic|~/.themes/your-new-key-theme/gtk-3.0/gtk-keys.css}} にコピーすることで、ユーザー毎に設定を変更できます。
  +
  +
=== GNOME メニューの遅延 ===
  +
  +
この設定は GNOME でマウスをメニューに置いた時にメニューが開くまでの待ち時間を決めます。数値はミリ秒単位です。
   
この設定は GNOME でマウスをメニューに置いた時にメニューが開くまでの待ち時間を決めます。あなたの好きなように設定を変更してください。数字はミリ秒です、例えば 250 は1/4秒になります。
 
 
gtk-menu-popup-delay = 0
 
gtk-menu-popup-delay = 0
   
167行目: 216行目:
   
 
小さな画面を使っていて大きなアイコンやウィジェットを表示したくない場合、簡単にサイズを変えることができます。
 
小さな画面を使っていて大きなアイコンやウィジェットを表示したくない場合、簡単にサイズを変えることができます。
  +
ツールバーのアイコンに文章を表示しないようにするには、次を使って下さい:
 
  +
ツールバーのアイコンに文章を表示しないようにするには ([https://developer.gnome.org/gtk3/stable/gtk3-Standard-Enumerations.html#GtkToolbarStyle 有効値])、次を使って下さい:
  +
 
gtk-toolbar-style = GTK_TOOLBAR_ICONS
 
gtk-toolbar-style = GTK_TOOLBAR_ICONS
  +
 
小さいアイコンを使うには、次のような行を使って下さい:
 
小さいアイコンを使うには、次のような行を使って下さい:
  +
 
gtk-icon-sizes = "panel-menu=16,16:panel=16,16:gtk-menu=16,16:gtk-large-toolbar=16,16\
 
gtk-icon-sizes = "panel-menu=16,16:panel=16,16:gtk-menu=16,16:gtk-large-toolbar=16,16\
 
:gtk-small-toolbar=16,16:gtk-button=16,16"
 
:gtk-small-toolbar=16,16:gtk-button=16,16"
  +
 
ボタンからアイコンを完全に削除するには:
 
ボタンからアイコンを完全に削除するには:
  +
 
gtk-button-images = 0
 
gtk-button-images = 0
  +
 
メニューからアイコンを削除することもできます:
 
メニューからアイコンを削除することもできます:
  +
 
gtk-menu-images = 0
 
gtk-menu-images = 0
   
[http://martin.ankerl.com/2008/10/10/how-to-make-a-compact-gnome-theme/ ここ] で説明されているようにテーマの gtkrc で設定をするこもでき、小さくする設定が全て行う [http://gnome-look.org/content/show.php/Simple+eGTK?content=119812 テーマ] もあります
+
[https://martin.ankerl.com/2008/10/11/how-to-make-a-compact-gnome-theme/] と [https://www.gnome-look.org/p/1079374] も参照
  +
  +
=== CSD ボタンを隠す ===
  +
  +
Client-Side Decorations (CSD)[https://blogs.gnome.org/tbernard/2018/01/26/csd-initiative/] の最小化・最大化ボタン を ''gtk3'' ウィンドウから削除するには:
  +
  +
gtk-decoration-layout=menu:close
  +
  +
[https://docs.gtk.org/gtk3/property.Settings.gtk-decoration-layout.html GTK docs] を参照。
  +
  +
=== マウスの貼り付け機能を無効化 ===
  +
  +
マスクの中ボタンをクリックした際のクリップボード ([[クリップボード#セレクション|PRIMARY セレクション]]) からの貼り付けを無効化するには:
  +
  +
gtk-enable-primary-paste=false
   
 
=== ファイル選択ダイアログのデフォルトフォルダ ===
 
=== ファイル選択ダイアログのデフォルトフォルダ ===
   
最近使われたフォルダではなく ''current-working-directory'' でファイル選択ダイアログを開くようにします。通常、''current-working-directory'' は''ホームディレクトリ''です。
+
'''最近使われた'''フォルダではなく'''現在の作業ディレクトリ'''でファイル選択ダイアログを開くようにします。通常、'''現在の作業ディレクトリ'''は''ホーム''ディレクトリです。
   
'''GTK+ 3'''
+
'''GTK 3'''
   
''gsettings'' DConf を変更してください、設定ファイルは存在しません:
+
イカのコマンド[[GNOME#設定|設定]]を変更してください:
   
 
$ gsettings set org.gtk.Settings.FileChooser startup-mode cwd
 
$ gsettings set org.gtk.Settings.FileChooser startup-mode cwd
   
'''GTK+ 2'''
+
'''GTK 2'''
   
{{ic|~/.config/gtk-2.0/gtkfilechooser.ini}} 設定ファイルを編集してください:
+
以下を {{ic|~/.config/gtk-2.0/gtkfilechooser.ini}} に追加してください:
   
  +
StartupMode=cwd
{{hc|~/.config/gtk-2.0/gtkfilechooser.ini|
 
StartupMode&#61;cwd}}
 
   
 
=== スクロールの旧式の挙動 ===
 
=== スクロールの旧式の挙動 ===
   
{{Note|この設定が適用されない GTK+ アプリケーションもあります。}}
+
{{Note|この設定が適用されない GTK アプリケーションもあります。}}
 
{{Tip|左クリックではなく右クリックを使うことでも昔のようなスクロールの挙動をさせることができます。}}
 
{{Tip|左クリックではなく右クリックを使うことでも昔のようなスクロールの挙動をさせることができます。}}
   
GTK+ 3.6 以前では、スクロールバーのスライダーの両側をクリックすると、クリックした方向にスクロールバーが丁度一ページ分だけ移動するようになっていました。GTK+ 3.6 から、スライダーはクリックした位置に直接移動するようになっています。以下の内容のファイルを作成することで、アプリケーションによっては前の挙動に戻すことが可能です:
+
GTK 3.6 以前では、スクロールバーのスライダーの両側をクリックすると、クリックした方向にスクロールバーが丁度一ページ分だけ移動するようになっていました。GTK 3.6 から、スライダーはクリックした位置に直接移動するようになっています。以下の内容のファイルを作成することで、アプリケーションによっては前の挙動に戻すことが可能です:
   
 
{{hc|~/.config/gtk-3.0/settings.ini|<nowiki>
 
{{hc|~/.config/gtk-3.0/settings.ini|<nowiki>
210行目: 280行目:
 
=== オーバーレイスクロールバーを無効化 ===
 
=== オーバーレイスクロールバーを無効化 ===
   
GTK+ 3.15 から、オーバーレイスクロールバーがデフォルトで有効になっており、GTK+ 3 アプリケーションではマウスを乗せたときだけしかスクロールバーが表示されないようになっています。次の環境変数を設定することで元のスクロールバーに戻せます: {{ic|1=GTK_OVERLAY_SCROLLING=0}}。
+
GTK 3.15 から、オーバーレイスクロールバーがデフォルトで有効になっており、GTK 3 アプリケーションではマウスを乗せたときだけしかスクロールバーが表示されないようになっています。次の環境変数を設定することで元のスクロールバーに戻せます: {{ic|1=GTK_OVERLAY_SCROLLING=0}}。[[環境変数#グラフィック環境]] を参照
   
  +
あるいは、GTK 3.24.9 からは GTK 3 の設定でオーバーレイスクロールバーを無効化できます。設定ファイルの [Settings] セクションで gtk-overlay-scrolling の値を false に設定してください:
[[環境変数#グラフィカルアプリケーション]]を参照。
 
  +
  +
{{hc|~/.config/gtk-3.0/settings.ini|2=
  +
[Settings]
  +
gtk-overlay-scrolling = false
  +
}}
  +
  +
GTK 4 は、もはや {{ic|1=GTK_OVERLAY_SCROLLING}} をサポートしていません。master から[https://github.com/GNOME/gtk/commit/e49615184a9d85bb0bb4e289b3ee8252adee3813#diff-3cf94c6e1eb009e20985034bc2210bfd 削除]されました。GTK 4 では、スクロールバーのオーバーレイはツールキットの一部です。blanket toggle は、両方の組み合わせでテストしていないアプリケーションが壊れてしまうのを防ぐために削除されました。アプリケーション開発者がアプリの見た目を決定できるように、ツールキットは、オプトアウトあるいは設定を削除するメカニズムをユーザに提供しています。[https://developer.gnome.org/gtk3/stable/GtkScrolledWindow.html#gtk-scrolled-window-set-overlay-scrolling gtk_scrolled_window_set_overlay_scrolling()] 関数を使って、''アプリケーションごとに''オーバーレイスクロールを有効化/無効化できます。アプリケーション開発者は、任意で [https://blog.gtk.org/2017/05/01/first-steps-with-gsettings/ GSettings] を使ってユーザの設定をプロパティにバインドできます。
   
 
==== オーバーレイスクロールのインジケータを削除 ====
 
==== オーバーレイスクロールのインジケータを削除 ====
   
オーバーレイスクロールバーの位置はアプリケーションウィンドウの破線で示されます。たとえ上述の環境変数を使ってオーバーレイスクールを無効化しても破線は消えません。インジケータの線を消すには、以下のファイルを作成してください:
+
オーバーレイスクロールバーの位置はアプリケーションウィンドウの細い破線で示されます。たとえ上述の環境変数を使ってオーバーレイスクールを無効化しても破線は消えません。インジケータの線を消すには、以下のファイルを作成してください:
   
 
{{hc|~/.config/gtk-3.0/gtk.css|
 
{{hc|~/.config/gtk-3.0/gtk.css|
/* Remove dotted lines from GTK+ 3 applications */
+
/* Remove dotted lines from GTK 3 applications */
.undershoot.top, .undershoot.right, .undershoot.bottom, .undershoot.left { background-image: none; }
+
undershoot.top, undershoot.right, undershoot.bottom, undershoot.left { background-image: none; }
  +
}}
  +
  +
=== 例 ===
  +
  +
GTK の設定例:
  +
  +
{{Note|一部の[[デスクトップ環境]] (例えば、[[GNOME]]) では無視される場合があります。}}
  +
  +
{{hc|~/.gtkrc-2.0|2=
  +
gtk-theme-name="Arc-Dark"
  +
gtk-icon-theme-name="breeze-dark"
  +
gtk-font-name="Sans 11"
  +
gtk-cursor-theme-name="Breeze_Amber"
  +
gtk-cursor-theme-size=0
  +
gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ
  +
gtk-toolbar-icon-size=GTK_ICON_SIZE_SMALL_TOOLBAR
  +
gtk-button-images=0
  +
gtk-menu-images=0
  +
gtk-enable-event-sounds=0
  +
gtk-enable-input-feedback-sounds=0
  +
gtk-xft-antialias=1
  +
gtk-xft-hinting=1
  +
gtk-xft-hintstyle="hintslight"
  +
gtk-xft-rgba="rgb"
  +
}}
  +
  +
{{hc|~/.config/gtk-3.0/settings.ini|2=
  +
[Settings]
  +
gtk-theme-name=Arc-Dark
  +
gtk-icon-theme-name=breeze-dark
  +
gtk-font-name=Sans 11
  +
gtk-cursor-theme-name=Breeze_Amber
  +
gtk-cursor-theme-size=0
  +
gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ
  +
gtk-toolbar-icon-size=GTK_ICON_SIZE_SMALL_TOOLBAR
  +
gtk-button-images=0
  +
gtk-menu-images=0
  +
gtk-enable-event-sounds=0
  +
gtk-enable-input-feedback-sounds=0
  +
gtk-xft-antialias=1
  +
gtk-xft-hinting=1
  +
gtk-xft-hintstyle=hintslight
  +
gtk-xft-rgba=rgb
  +
# gtk-decoration-layout=menu:close
  +
# gtk-application-prefer-dark-theme=1
 
}}
 
}}
   
 
== GDK バックエンド ==
 
== GDK バックエンド ==
   
GDK (GTK+ の抽象レイヤー) は GTK+ アプリケーションを表示するための複数のバックエンドをサポートしています。デフォルトのバックエンドは ''x11'' です。
+
GDK (GTK の抽象レイヤー) は GTK アプリケーションを表示するための複数のバックエンドをサポートしています。
  +
  +
=== Wayland バックエンド ===
  +
  +
GDK [[Wayland]] バックエンドは {{Pkg|gtk3}} 及びそれ以降でのみサポートされており、[[Wayland]] ディスプレイサーバを使用する際のデフォルトバックエンドとなっています。
  +
  +
{{Pkg|gtk3}} より前のバージョンの GTK を使っているアプリケーションは Wayland をサポートしておらず、''X11'' バックエンドを使って Wayland セッションで実行するために Xwayland を使う必要があります。
  +
  +
[[Wayland]] バックエンドを使用する際、一部の変数は {{ic|settings.ini}} から source されません。
  +
GSettings スキーマ {{ic|org.gnome.desktop.interface}} 内に存在しているキーが、{{ic|settings.ini}} の代わりにそこから読み込まれます。
  +
  +
そのような変数の例は {{ic|gtk-color-scheme}} と {{ic|icon-theme}} です。[[Wayland]] 下で GTK アプリケーションにテーマを適用させるために、これらはキーを GSettings で設定しなければなりません。あるいは、テーマだけをカスタマイズすればよいのであれば、環境変数 {{ic|GTK_THEME}} を使用できます。
  +
  +
これに関する詳細は、[https://github.com/swaywm/sway/wiki/GTK-3-settings-on-Wayland sway wiki の関連する記事]を参照してください。
  +
  +
=== Xorg バックエンド ===
  +
  +
[[Xorg]] ディスプレイサーバが使用されている場合、バックエンドのデフォルトは自動的に ''x11'' になります。
  +
  +
環境変数 {{ic|1=GDK_BACKEND=x11}} を設定することで、Wayland セッション上で動作する GTK 3 アプリケーションに Xwayland を通して ''X11'' バックエンドを使用するように強制することが可能です。
   
 
=== Broadway バックエンド ===
 
=== Broadway バックエンド ===
GDK Broadway バックエンドは HTML5 とウェブソケットを使って、ウェブブラウザに GTK+ アプリケーションを表示することをサポートしています [https://developer.gnome.org/gtk3/3.8/gtk-broadway.html]。
 
   
  +
GDK Broadway バックエンドは HTML5 とウェブソケットを使って、ウェブブラウザに GTK アプリケーションを表示することをサポートしています。
broadwayd を使うときには、X と同じようにコロンを前に付けて、使用するディスプレイ番号を指定してください。デフォルトのディスプレイ番号は 1 です。
 
  +
[https://developer.gnome.org/gtk3/3.8/gtk-broadway.html]
  +
  +
''broadwayd'' を使うときには、X と同じようにコロンを前に付けて、使用するディスプレイ番号を指定してください。デフォルトのディスプレイ番号は 0 です。
   
$ display_number&#61;:5
+
$ display_number=:5
   
 
次のコマンドで起動します。
 
次のコマンドで起動します。
238行目: 381行目:
   
 
デフォルトで使われるポートは:
 
デフォルトで使われるポートは:
port &#61; 8080 + $display_number
+
port = 8080 + $display_number
   
ブラウザで http://127.0.0.1:port を開いてさい。
+
ブラウザで http://127.0.0.1:port を開いてください。
   
 
アプリを起動するには:
 
アプリを起動するには:
   
$ GDK_BACKEND&#61;broadway BROADWAY_DISPLAY&#61;$display_number ''<<app>>''
+
$ GDK_BACKEND=broadway BROADWAY_DISPLAY=$display_number ''<<application>>''
   
 
また、アドレスやポートを設定することも可能です:
 
また、アドレスやポートを設定することも可能です:
   
 
$ broadwayd --port $port_number --address $address $display_number
 
$ broadwayd --port $port_number --address $address $display_number
 
=== Wayland バックエンド ===
 
 
GDK [[Wayland]] バックエンドは {{ic|GDK_BACKEND&#61;wayland}} 環境変数を設定することで有効にできます。
 
   
 
== トラブルシューティング ==
 
== トラブルシューティング ==
   
=== GTK+ 2 と GTK+ 3 アプリケーションでテーマが異なる ===
+
=== GTK 2 と GTK 3 アプリケーションでテーマが異なる ===
   
通常、選択したテーマが GTK+ 2.x と GTK+ 3.x の両方をサポートしている場合、GTK+ 2 と GTK+ 3 アプリケーションの両方にテーマが適用されます。選択したテーマが GTK+ 2.x しかサポートしてない場合、GTK+ 2.x アプリケーションにはそのテーマが使われ、GTK+ 3.x アプリケーションにはデフォルトの GTK+ テーマが使われます。選択したテーマが GTK+ 3.x しかサポートしていない場合、GTK+ 3.x アプリケーションにはそのテーマが使われ、GTK+ 2.x アプリケーションにはデフォルトの GTK+ テーマが使われます。UI の外観を統一するために GTK+ 2.x と GTK+ 3.x 両方をサポートしているテーマを使うと一番良い結果が得られます。
+
通常、選択したテーマが GTK 2 と GTK 3 の両方をサポートしている場合、GTK 2 と GTK 3 アプリケーションの両方にテーマが適用されます。選択したテーマが GTK 2 しかサポートしてない場合、GTK 2 アプリケーションにはそのテーマが使われ、GTK 3 アプリケーションにはデフォルトの GTK テーマが使われます。選択したテーマが GTK 3 しかサポートしていない場合、GTK 3 アプリケーションにはそのテーマが使われ、GTK 2 アプリケーションにはデフォルトの GTK テーマが使われます。UI の外観を統一するために GTK 2 と GTK 3 両方をサポートしているテーマを使うと一番良い結果が得られます。
   
インストールしたテーマでどれが GTK+ 2.x と GTK+ 3.x 両方のバージョンを持っているか調べるには次のコマンドを使って下さい (空白が含まれている名前はひっかかりません):
+
インストールしたテーマでどれが GTK 2 と GTK 3 両方のバージョンを持っているか調べるには次のコマンドを使って下さい (空白が含まれている名前はひっかかりません):
 
find $(find ~/.themes /usr/share/themes/ -wholename "*/gtk-3.0" | sed -e "s/^\(.*\)\/gtk-3.0$/\1/") -wholename "*/gtk-2.0" | sed -e "s/.*\/\(.*\)\/gtk-2.0/\1"/
 
find $(find ~/.themes /usr/share/themes/ -wholename "*/gtk-3.0" | sed -e "s/^\(.*\)\/gtk-3.0$/\1/") -wholename "*/gtk-2.0" | sed -e "s/.*\/\(.*\)\/gtk-2.0/\1"/
   
 
=== root アプリケーションにテーマが適用されない ===
 
=== root アプリケーションにテーマが適用されない ===
   
ユーザーテーマファイル ({{ic|$XDG_CONFIG_HOME/gtk-3.0/settings.ini}}, {{ic|~/.gtkrc-2.0}}) は他のアカウントからは読み込まれないため、選択したテーマは [[en2:Running_X_apps_as_root|root で動かしている X アプリケーション]]には適用されません。以下のような解決方法があります:
+
ユーザーテーマファイル ({{ic|$XDG_CONFIG_HOME/gtk-3.0/settings.ini}}, {{ic|~/.gtkrc-2.0}}) は他のアカウントからは読み込まれないため、選択したテーマは [[Root で X アプリケーションを起動|root で動かしている X アプリケーション]]には適用されません。以下のような解決方法があります:
   
* シンボリックリンクを作成例:
+
* シンボリックリンクを作成してください。例:
# ln -s /home/[username]/.gtkrc-2.0 /etc/gtk-2.0/gtkrc
+
# ln -s $HOME/.gtkrc-2.0 /etc/gtk-2.0/gtkrc
# ln -s /home/[username]/.config/gtk-3.0/settings.ini /etc/gtk-3.0/settings.ini
+
# ln -s $HOME/.config/gtk-3.0/settings.ini /etc/gtk-3.0/settings.ini
* システム全体にテーマファイルを設定: {{ic|/etc/gtk-3.0/settings.ini}} (GTK+ 3) または {{ic|/etc/gtk-2.0/gtkrc}} (GTK+ 2)
+
* システム全体にテーマファイルを設定: {{ic|/etc/gtk-3.0/settings.ini}} (GTK 3) or {{ic|/etc/gtk-2.0/gtkrc}} (GTK 2)
 
* テーマを root で設定:
 
* テーマを root で設定:
# gksu lxappearance
+
# lxappearance
* 設定デーモンを使用 (ほとんどのデスクトップ環境では設定デーモンが使われています)。デスクトップに依存しない [http://standards.freedesktop.org/xsettings-spec/xsettings-spec-0.5.html XSettings] を使うデーモンは [[AUR]] の {{aur|xsettingsd-git}} でインストールできます。
+
* 設定デーモンを使用 (ほとんどのデスクトップ環境では設定デーモンが使われています)。デスクトップに依存しない [https://specifications.freedesktop.org/xsettings-spec/ XSettings] を使うデーモンは {{aur|xsettingsd-git}} でインストールできます。
   
 
=== クライアントサイドデコレーション ===
 
=== クライアントサイドデコレーション ===
   
GTK 3.12 から [http://blogs.gnome.org/mclasen/2013/12/05/client-side-decorations-in-themes/ クライアントサイドデコレーション] が導入されており、タイトルバーはウィンドウマネージャから取り去られています。これによって [http://redmine.audacious-media-player.org/boards/1/topics/1135 タイトルバーが二重になる]、タイトルバーが全く表示されない、コンポジットを有効にした場合に [https://github.com/chjj/compton/issues/189 影が二重に表示される] などの問題が発生することがあります。
+
GTK 3.12 から [https://blogs.gnome.org/mclasen/2013/12/05/client-side-decorations-in-themes/ クライアントサイドデコレーション] が導入されており、タイトルバーはウィンドウマネージャから取り去られています。これによって [https://redmine.audacious-media-player.org/boards/1/topics/1135 タイトルバーが二重になる]、タイトルバーが全く表示されない、コンポジットを有効にした場合に [https://github.com/chjj/compton/issues/189 影が二重に表示される] などの問題が発生することがあります。
   
 
(タイル型ウィンドウマネージャを使っている場合などに発生する) ウィンドウの周りの影と枠を消すには、以下のファイルを作成してください:
 
(タイル型ウィンドウマネージャを使っている場合などに発生する) ウィンドウの周りの影と枠を消すには、以下のファイルを作成してください:
301行目: 440行目:
 
box-shadow: none;
 
box-shadow: none;
 
}
 
}
  +
/* タイトルが二重になるのが気に食わない場合は、これを使うと良いでしょう。
/* You may want to use this if you don't like the double title.
 
 
GtkLabel.title {
 
GtkLabel.title {
 
opacity: 0;
 
opacity: 0;
 
}*/
 
}*/
 
</nowiki>}}
 
</nowiki>}}
  +
  +
視覚的な問題が続く場合、ここ[https://github.com/numixproject/numix-gtk-theme/issues/206#issuecomment-817660426]で説明されているように GTK Inspector を使って問題のある要素を探すと良いでしょう。
   
 
ヘッダーバーのボタンを調整するには、{{ic|gtk-decoration-layout}} の設定を使います [https://developer.gnome.org/gtk3/stable/GtkSettings.html#GtkSettings--gtk-decoration-layout]。以下の例では全てのボタンを削除します:
 
ヘッダーバーのボタンを調整するには、{{ic|gtk-decoration-layout}} の設定を使います [https://developer.gnome.org/gtk3/stable/GtkSettings.html#GtkSettings--gtk-decoration-layout]。以下の例では全てのボタンを削除します:
312行目: 453行目:
 
gtk-decoration-layout=menu:
 
gtk-decoration-layout=menu:
 
}}
 
}}
  +
  +
クライアント側の装飾も無くすには、装飾をデフォルトで無効化するパッチが含まれている {{AUR|gtk3-classic}} を使うことができます。クライアント側の装飾を有効化するには、{{ic|GTK_CSD}} を[[環境変数]]に任意の値を設定してください。
   
 
=== セディーユ ć/Ć ではなく ç/Ç が使われる ===
 
=== セディーユ ć/Ć ではなく ç/Ç が使われる ===
   
Xcompose を使用した解決方法が [https://bugs.launchpad.net/ubuntu/+source/gtk+2.0/+bug/518056] や [https://bugs.launchpad.net/ubuntu/+source/gtk+2.0/+bug/518056/comments/37] に載っています (US 国際レイアウト)。
+
Xcompose を使用した解決方法が [https://bugs.launchpad.net/ubuntu/+source/ibus/+bug/518056] や [https://bugs.launchpad.net/ubuntu/+source/ibus/+bug/518056/comments/37] に載っています (US 国際レイアウト)。
   
===accessibility bus に関する警告を表示させない===
+
=== accessibility bus に関する警告を表示させない ===
   
  +
[https://wiki.gnome.org/Accessibility Gnome Accessibility] 機能を使用していない場合、以下のような警告が発生することがあります:
GTK+ 3 プログラムの実行時に、ターミナルに以下のような警告が表示される場合:
 
   
 
WARNING **: Couldn't connect to accessibility bus:
 
WARNING **: Couldn't connect to accessibility bus:
   
  +
これらの警告を消すには、{{ic|1=NO_AT_BRIDGE=1}} を設定してプログラムを実行するか、それをグローバルな[[環境変数]]として設定してください。
以下のように[[環境変数]]を付けて実行することで警告を消すことができます:
 
 
$ NO_AT_BRIDGE=1 ''theprogram''
 
 
もしくは {{ic|~/.bashrc}} や {{ic|/etc/environment}} に {{ic|1=NO_AT_BRIDGE=1}} を追加してください。
 
   
 
=== タイトルバーの背景色がおかしい ===
 
=== タイトルバーの背景色がおかしい ===
   
GTK+ テーマの背景色に擬態するウィンドウデコレーションテーマを使用する[[ウィンドウマネージャ]]を使っている場合、GTK+ 3 アプリケーションでタイトルバーの色がアプリケーションの色と完全に食い違って表示されることがあります。対応策としては、以下のファイルを作成してください:
+
GTK テーマの背景色に擬態するウィンドウデコレーションテーマを使用する[[ウィンドウマネージャ]]を使っている場合、GTK 3 アプリケーションでタイトルバーの色がアプリケーションの色と完全に食い違って表示されることがあります。対応策としては、以下のファイルを作成してください:
 
{{hc|~/.config/gtk-3.0/gtk.css|
 
{{hc|~/.config/gtk-3.0/gtk.css|
  +
/* 背景色を常に使用する */
/* Always use background color */
 
 
GtkWindow {
 
GtkWindow {
 
background-color: @theme_bg_color;
 
background-color: @theme_bg_color;
 
}
 
}
   
  +
/* ツールチップの背景色のオーバーライドを修正する */
/* Fix tooltip background override */
 
 
.tooltip {
 
.tooltip {
 
background-color: rgba(0, 0, 0, 0.8);
 
background-color: rgba(0, 0, 0, 0.8);
347行目: 486行目:
 
}
 
}
   
  +
/* Nautilus デスクトップのウィンドウの背景色のオーバーライドを修正する */
/* Fix Nautilus desktop window background override */
 
 
NautilusWindow {
 
NautilusWindow {
 
background-color: transparent;
 
background-color: transparent;
353行目: 492行目:
 
}}
 
}}
   
=== タイル型ウィンドウマネージャでフォーカスイベントがおかしい ===
+
===タイル型ウィンドウマネージャでフォーカスイベントがおかしい ===
   
 
{{Note|1=以下の設定は GTK3 アプリケーションのタッチスクリーンのサポートを無効化します [https://bugzilla.gnome.org/show_bug.cgi?id=677329#c14]。}}
 
{{Note|1=以下の設定は GTK3 アプリケーションのタッチスクリーンのサポートを無効化します [https://bugzilla.gnome.org/show_bug.cgi?id=677329#c14]。}}
359行目: 498行目:
 
{{ic|1=GDK_CORE_DEVICE_EVENTS=1}} を[[環境変数#変数の定義|定義]]して xinput2 の代わりに GTK2 のスタイル入力を使うようにしてください [https://bugzilla.gnome.org/show_bug.cgi?id=677329#c10]。
 
{{ic|1=GDK_CORE_DEVICE_EVENTS=1}} を[[環境変数#変数の定義|定義]]して xinput2 の代わりに GTK2 のスタイル入力を使うようにしてください [https://bugzilla.gnome.org/show_bug.cgi?id=677329#c10]。
   
=== GTK+ 2 のファイルダイアログのサムネイル ===
+
=== GTK 2 のファイルダイアログのサムネイル ===
   
{{AUR|gtk2-patched-filechooser-icon-view}} をインストールすることで GTK+ のファイル選択ダイアログで、リストの代わりにサムネイルでファイルを閲覧するオプションが作られます。
+
{{AUR|gtk2-patched-filechooser-icon-view}} と {{AUR|gtk3-patched-filechooser-icon-view}} をインストールすることで GTK のファイル選択ダイアログで、リストの代わりにサムネイルでファイルを閲覧するオプションが作られます。
   
=== GNOME Wayland セッションで一部のアプリのボタン/メニューアイコンが表示されない ===
+
=== ボタンメニューアイコン ===
   
  +
{{Accuracy|問題を説明してください。GDM が使用されている場合、GNOME は {{ic|settings.ini}} を無視します。}}
{{ic|~/.config/gtk-3.0/settings.ini}} ファイルの設定が間違っています。他の GTK+ ベースのデスクトップ環境を試しに使ってみた場合に発生することがあります。以下の値に問題があります:
 
  +
GNOME の Wayland セッション内の一部のアプリケーションで発生します。{{AUR|gtk3-patched-filechooser-icon-view}} がファイルが間違って設定されています。これは、他の GTK ベースのデスクトップ環境を試したときに発生する可能性があります。以下が、問題のある値です:
   
 
{{hc|~/.config/gtk-3.0/settings.ini|<nowiki>[Settings]
 
{{hc|~/.config/gtk-3.0/settings.ini|<nowiki>[Settings]
371行目: 511行目:
 
gtk-menu-images=1</nowiki>}}
 
gtk-menu-images=1</nowiki>}}
   
上記を 0 に設定するか、全てのファイルを削除して GNOME のデフォルト設定に戻してください。
+
これらの値を 0 に設定するか、ファイルを削除して GNOME のデフォルト設定を使用してください。
   
  +
=== GTK 3 で polkit を使用しない ===
== Tips and tricks ==
 
   
  +
GTK 3 は印刷に必要な colord で polkit に依存しています。ただし印刷自体は polkit をインストールしていなくても可能です。少なくとも、モノクロ印刷と、パッケージバージョン gtk3-print-backends=3.22.19-2 と colord=1.4.1-1 で機能します。
=== ファイル選択ウィジェットでオートコンプリート検索機能を有効にする ===
 
[https://bugzilla.gnome.org/show_bug.cgi?id=748672 v3.16] 現在、ファイル名の頭文字を入力することですぐにファイルを指定できる [https://developer.gnome.org/gtk3/stable/GtkFileChooserDialog.html ファイル選択ウィジェット] のオートコンプリート検索機能は GTK3 コードベースで意図的に無効化されています [https://mail.gnome.org/archives/commits-list/2015-January/msg05538.html]。機能を有効にするにはパッチを当てる必要があります。必要であれば AUR に存在する {{aur|gtk3-typeahead}} パッケージをインストールしてください。
 
   
  +
=== 一部の GTK 2 テーマで UI のカラーパレットしか変化しない ===
== 設定例 ==
 
   
  +
GTK 2 のテーマによっては、UI のコントロールがデフォルトの Raleigh のままで、カラーパレットしか変わらないことがあります。原因はテーマが GTK 2 の Murrine エンジンを必要としているためです (GTK 2 プログラムは標準エラー出力にそのことを吐き出します)。{{Pkg|gtk-engine-murrine}} パッケージをインストールしてください。
GTK+ 2 設定例:
 
   
  +
=== GTK file chooser にパッチを適用して通常のタイプを先に使用する ===
{{hc|~/.gtkrc-2.0|2=
 
# GTK theme
 
include "/usr/share/themes/Clearlooks/gtk-2.0/gtkrc"
 
   
  +
GTK file chooser は、[[GNOME Files]] と同じ先行検索機能を使用します。これは非常に煩わしくなる可能性があり、他のデスクトップ環境とうまく適合しません。
# Font
 
style "myfont" {
 
font_name = "DejaVu Sans 8"
 
}
 
widget_class "*" style "myfont"
 
gtk-font-name = "DejaVu Sans 8"
 
   
  +
一部のアプリケーションは [[XDG デスクトップ ポータル]] をサポートしているため、アプリケーションで Native file chooser を使用できます。それが機能しない場合は、たとえば {{AUR|gtk3-classic}} などのパッチされた GTK を使用して先行入力機能を復元できます。
# Icon theme
 
gtk-icon-theme-name = "Tango"
 
   
  +
=== GTK 4 アプリケーションの文字がぼやける、または正しく表示されない ===
# Toolbar style
 
gtk-toolbar-style = GTK_TOOLBAR_ICONS
 
}}
 
   
  +
GTK 4 は、フォントのレンダリング時にヒントを出さずにグレースケールのアンチエイリアシングを行うように変更しました。GTK 3 の挙動の一部を復元する設定が利用できます [https://gitlab.gnome.org/GNOME/gtk/-/issues/3787#note_1260756]。HiDPI スクリーン以外に対しては、([https://gitlab.gnome.org/GNOME/gtk/-/issues/3787#note_1817867 2023年8月現在]) この設定はデフォルトでオンになっています。これにより、ほとんどのユーザーにとっては良い結果が得られるはずです。サブピクセル・アンチエイリアシングは利用できません。
{{Pkg|lxappearance}} で GTK+ 2.x から GTK+ 3.x に変換した GTK+ 3 の設定例:
 
   
{{hc|$XDG_CONFIG_HOME/gtk-3.0/settings.ini|2=
+
{{hc|~/.config/gtk-4.0/settings.ini|<nowiki>[Settings]
  +
gtk-hint-font-metrics=1</nowiki>}}
[Settings]
 
  +
gtk-theme-name=TraditionalOk
 
  +
=== GTK 4 アプリケーションが遅い ===
gtk-icon-theme-name=Fog
 
  +
gtk-font-name=Luxi Sans 12
 
  +
GTK は新しい GTK レンダラーである ngl (後のバージョンでは vulkan) に移行しました。これは古い gl レンダラーよりもパフォーマンスが悪いので ([https://gitlab.gnome.org/GNOME/gtk/-/issues/6438 #6438]、[https://gitlab.gnome.org/GNOME/gtk/-/issues/6682 #6682]、[https://gitlab.gnome.org/GNOME/gtk/-/issues/6644 #6644]、[https://gitlab.gnome.org/GNOME/gtk/-/issues/6324 #6324]、その他のイシューもある可能性あり)、GTK 4 アプリケーションが以前よりも重く、多くのリソースを消費してしまう場合があります。
gtk-cursor-theme-name=mate
 
  +
gtk-cursor-theme-size=24
 
  +
以下の[[環境変数]]を設定することで、レンダラーの設定を元に戻すことができます:
gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ
 
  +
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
 
  +
GSK_RENDERER=gl
gtk-button-images=1
 
  +
GDK_DEBUG=gl-no-fractional
gtk-menu-images=1
 
gtk-enable-event-sounds=0
 
gtk-enable-input-feedback-sounds=0
 
gtk-xft-antialias=1
 
gtk-xft-hinting=1
 
gtk-xft-hintstyle=hintslight
 
gtk-xft-rgba=rgb
 
}}
 
   
 
== 参照 ==
 
== 参照 ==
  +
* [http://www.gtk.org/ GTK+ 公式ウェブサイト]
 
  +
* [https://www.gtk.org/ GTK 公式ウェブサイト]
* [[wikipedia:GTK+|GTK+ についての Wikipedia の記事]]
 
  +
* [[Wikipedia:ja:GTK (ツールキット)|GTK についての Wikipedia の記事]]
* [http://developer.gnome.org/gtk-tutorial/stable/ GTK+ 2.0 チュートリアル]
 
  +
* [http://developer.gnome.org/gtk3/stable/ GTK+ 3 リファレンスマニュアル]
 
  +
{{TranslationStatus|GTK|2024-06-05|809486}}
* [http://developer.gnome.org/gtkmm-tutorial/stable/ gtkmm チュートリアル]
 
* [http://developer.gnome.org/gtkmm/stable/ gtkmm リファレンスマニュアル]
 

2024年6月5日 (水) 17:55時点における最新版

関連記事

GTK ウェブサイト より:

GTK もしくは GIMP ツールキットはグラフィカルユーザーインターフェースを作成するためのマルチプラットフォームのツールキットです。ウィジェットの完全なセットを提供することで、GTK はちょっとしたツールから完全なアプリケーションスイートまで幅広いプロジェクトに適しています。

当初 GTK (GIMP Toolkit) は GNU プロジェクトによって GIMP のために作成されました、しかしながら現在ではさまざまな言語のバインディングの存在する人気のあるツールキットになっています。この記事では GTK テーマ・スタイル・アイコン・フォント・フォントサイズを設定するのに使うツールと手動設定の方法を説明します。

目次

インストール

複数の GTK バージョンが現在利用可能です。以下のパッケージによってそれらはインストールできます:

  • GTK 4.xgtk4 パッケージでインストールできます。
  • GTK 3.xgtk3 パッケージでインストールできます。
  • GTK 2.xgtk2 パッケージでインストールできます。
  • GTK 1.xgtkAUR パッケージでインストールできます。

テーマ

GTK 3 と GTK4

GTK 3 と GTK 4 では、デフォルトテーマは Adwaita ですが、HighContrast テーマと HighContrastInverse テーマも含まれています。

特定のテーマを適用するには、dconf エディタから org.gnome.desktop.interface 名前空間内の gtk-theme プロパティを設定してください:

$ gsettings set org.gnome.desktop.interface gtk-theme Adwaita
ノート: libadwaita ベースの GTK 4 アプリケーションでは、GTK テーマに特殊なサポートが存在している必要があり、かつ、GTK_THEME 環境変数を使って GTK テーマを強制する必要があります。あるいは、libadwaita のパッチ適用済みのバージョン libadwaita-without-adwaita-gitAUR を使用する必要があります。

dconf プロパティを使用しない場合は、GTK_THEME 環境変数を使って GTK 3 と GTK 4 のテーマを適用することができます。例えば、GNOME Calculator を Adwaita のダークバージョンを使って起動するには:

$ GTK_THEME=Adwaita:dark gnome-calculator
ヒント: デスクトップショートカット (またはランチャー) から一つのアプリケーションに対して GTK テーマを適用する方法については、デスクトップエントリ#環境変数の変更 を見てください。
ノート: 対応する XDG デスクトップ ポータルを使用しない場合は、GSettings で設定したテーマを選択するために ADW_DISABLE_PORTAL=1 環境変数を設定する必要があるかもしれません。https://gitlab.gnome.org/GNOME/libadwaita/-/commit/e715fae6a509db006a805af816f9d163f81011ef を参照してください。

GTK 2

GTK 2 のデフォルトのテーマは Raleigh ですが、Arch Linux には、デフォルトのテーマを Adwaita に設定するカスタムの設定ファイルが /usr/share/gtk-2.0/gtkrc に存在しています。

GTK 2 のテーマを変更するには、GTK2_RC_FILES 環境変数を使用してください。例えば、Raleigh テーマで GIMP を起動するには:

$ GTK2_RC_FILES=/usr/share/themes/Raleigh/gtk-2.0/gtkrc gimp
ヒント: gtkrc は、任意の #設定ツール で作成されたホームディレクトリ内のカスタムファイルにすることもできます。#例 を見てください。

公式リポジトリや AUR から他のテーマをインストールすることができます。手動で展開されたテーマは ~/.themes/~/.local/share/themes/ ディレクトリに配置します。

GTK 2 と GTK 3 をサポートしているテーマ

  • Adapta — マテリアルデザインガイドラインに基づいている GTK テーマ。次のテーマが含まれています: Adapta, Adapta-Eta, Adapta-Nokto, Adapta-Nokto-Eta
https://github.com/tista500/Adapta || adapta-gtk-theme
  • Arc — モダンで透過するエレメントを備えたフラットテーマ。次のテーマが含まれています: Arc, Arc-Dark, Arc-Darker
https://github.com/jnsh/arc-theme || 透過あり: arc-gtk-theme, 透過なし: arc-solid-gtk-theme
  • Bluebird — Xfce 用の Blue Desktop Suite。
https://github.com/shimmerproject/Bluebird || xfce-theme-bluebirdAUR
  • Breeze — KDE のデフォルトウィジェットテーマの GTK バージョン。次のテーマが含まれています: Breeze, Breeze-Dark
https://invent.kde.org/plasma/breeze-gtk || breeze-gtk
  • Deepin — Deepin デスクトップのデフォルトテーマ。次のテーマが含まれています: deepin, deepin-dark
https://github.com/linuxdeepin/deepin-gtk-theme || deepin-gtk-theme
  • GNOME Extra Themes — GNOME デスクトップの追加テーマ。次のテーマが含まれています: Adwaita, Adwaita-dark, HighContrast
https://gitlab.gnome.org/GNOME/gnome-themes-extra || gnome-themes-extra
  • Greybird — グレーとブルーの Xfce テーマ。Xubuntu 12.04 のデフォルト。
https://github.com/shimmerproject/Greybird || xfce-theme-greybirdAUR
  • Materia — GTK3, GTK2, GNOME-Shell に対応しているマテリアルデザインライクなフラットテーマ。
https://github.com/nana-4/materia-theme || materia-gtk-theme
  • MATE Themes — MATE デスクトップのデフォルトテーマ。次のテーマが含まれています: BlackMATE, Blue-Submarine, BlueMenta, ContrastHighInverse, Green-Submarine, GreenLaguna, Menta, TraditionalGreen, TraditionalOk
https://github.com/mate-desktop/mate-themes || mate-themes
  • Numix — 近代的な外観をしているフラットで明るいテーマ (GNOME, Openbox, Unity, Xfce)。次のテーマが含まれています: Numix
https://github.com/numixproject/numix-gtk-theme || numix-gtk-theme-gitAUR
  • Vertex — GTK 3, GTK 2, Gnome-Shell, Cinnamon のためのテーマ。
https://github.com/horst3180/vertex-theme || vertex-themesAUR
  • Zuki — GTK, gnome-shell などのためのテーマ。
https://github.com/lassekongo83/zuki-themes || zuki-themesAUR

AUR にもいくつか GTK テーマが存在します。例えば、gtk-theme で検索

GTK と Qt

デスクトップで GTK と Qt (KDE) アプリケーションを使っているならば、それらの見た目が上手く調和しないことに気づくでしょう。GTK スタイルと Qt スタイルを調和させたい場合は Qt と GTK アプリケーションの外観の統合を読んで下さい。

設定ツール

主流のデスクトップ環境の多くは GTK テーマやアイコン、フォントやフォントサイズを設定するためのツールを提供しており、XSettings で設定を管理しています:

  • Cinnamon を使っている場合、Themes ツールを使って下さい (cinnamon-settings themes): System Settings > Themes を開いて下さい。
  • Enlightenment を使っている場合: Settings > All > Look > Application Theme を開いて下さい。
  • GNOME を使っている場合、GNOME Tweaks (gnome-tweaks): gnome-tweaks をインストールして下さい。
  • MATE を使っている場合、Appearance Preferences ツールを使って下さい (mate-appearance-properties): System > Settings > Appearance を開いて下さい。
  • Xfce を使っている場合、Appearance ツールを使って下さい: Settings > Appearance を開いて下さい。

通常、他の GUI ツールは設定ファイルを上書きします。

GTK 2 と GTK 3 の両方をサポートしているツール:

  • KDE GTK Configurator — GTK 2 と GTK 3 アプリケーションのスタイルやフォントを変更することができるアプリケーション。
https://invent.kde.org/plasma/kde-gtk-config || kde-gtk-config
インストール後、kde-gtk-configSystem Settings > Appearance > Application Style > Configure GNOME/GTK Application Style から使用できます。
  • LXAppearance — LXDE プロジェクトによる、デスクトップに依存しない GTK 2 と GTK 3 のスタイル設定ツール (LXDE デスクトップの他のパーツを必要としません)。
https://github.com/lxde/lxappearance || lxappearance-gtk3
  • Oo-mox — Numix と Flat-Plat テーマ (GTK 2, GTK 3) や Archdroid と Gnome-Colors アイコンテーマの様々なカラーバリエーションを生成するためのグラフィカルアプリケーション。HiDPI ディスプレイ用にスケールした GTK 2 テーマも生成できます。
https://github.com/actionless/oomox || themix-full-gitAUR

GTK 2 だけをサポートしているツール:

  • GTK Change Theme — GTK 2.0 のテーマを変更するためのプログラム (switch2 より優れた代替ツールと見なされています)。
http://plasmasturm.org/code/gtk-chtheme/ || gtk-chtheme
  • GTK Preference Tool — GTK テーマの選択とフォントの切り替えプログラム。
https://gtk-win.sourceforge.io/home/index.php/Main/GTKPreferenceTool || gtk2_prefsAUR
  • GTK Theme Switch — シンプルな GTK テーマスイッチャ。
http://muhri.net/nav.php3?node=gts || gtk-theme-switch2AUR

設定

設定ファイルで GTK の設定を手動で指定することもできます。ただしデスクトップ環境やアプリケーションは手動設定を上書きしてしまうことがあります。GTK のバージョンによって、設定ファイルの場所は異なっています:

  • GTK 2 ユーザー個別: $GTK2_RC_FILES~/.gtkrc-2.0
  • GTK 2 システム全体: /etc/gtk-2.0/gtkrc
  • GTK 3 ユーザー個別: $XDG_CONFIG_HOME/gtk-3.0/settings.ini$XDG_CONFIG_HOME が設定されていない場合は $HOME/.config/gtk-3.0/settings.ini
  • GTK 3 システム全体: /etc/gtk-3.0/settings.ini
ノート:
  • 現在サポートされている GTK の設定オプションの完全なリストについては、GTK プログラミングリファレンスマニュアルの GTK4GTK3GtkSettings properties (そして GTK 2 properties) を見てください。
  • 以下で説明している設定のうちいくつか (gtk-icon-sizes など) は GTK 3.10 から非推奨となっており、無視されます。
  • GTK の設定ファイルを編集した場合、変更が適用されるのは新しく起動したアプリケーションからです。

テーマの基本設定

GTK テーマやアイコン、フォントやフォントサイズを手動で変更するには、例えば以下のように設定ファイルに追加します:

  • GTK 2:
~/.gtkrc-2.0
gtk-icon-theme-name = "Adwaita"
gtk-theme-name = "Adwaita"
gtk-font-name = "DejaVu Sans 11"
  • GTK 3:
$XDG_CONFIG_HOME/gtk-3.0/settings.ini
[Settings]
gtk-icon-theme-name = Adwaita
gtk-theme-name = Adwaita
gtk-font-name = DejaVu Sans 11

テーマが GTK 3 に対して適用されない場合、加えて gsettings を使用してください:

$ gsettings set org.gnome.desktop.interface gtk-theme theme_name

同じように、アイコンテーマが GTK3 に適用されない場合は、gsettings を使って:

$ gsettings set org.gnome.desktop.interface icon-theme icon_theme_name

アイコンを手動でダウンロード・インストールする方法については、アイコン を見てください。

ノート: gtk-icon-theme-namegtk-theme-name は、テーマのディレクトリの名前です。テーマの index.theme における Name プロパティの値ではありません。

ダークテーマ

GTK 3 テーマの中には派生のダークテーマが存在することがありますが、アプリケーションによって明示的に使うように設定されない限り、デフォルトで使われることはありません。全ての GTK 3 アプリケーションでダークテーマを使うには、以下を設定:

gtk-application-prefer-dark-theme = true

GTK 4 に対しては、以下を使用してください:

$ gsettings set org.gnome.desktop.interface color-scheme prefer-dark

キーボードショートカット

マウスをメニューアイテムの上に乗せて設定したいキーの組み合わせを押すことで GTK アプリケーションのキーボードショートカット (GTK では accelerators とも呼ばれます) を変更することができます。この機能を有効にするには、次を設定してください:

gtk-can-change-accels = 1

Emacs キーバインド

GTK アプリで Emacs ライクなキーバインドを使うには以下を追加します:

~/.gtkrc-2.0
gtk-key-theme-name = "Emacs"
~/.config/gtk-3.0/settings.ini
[Settings]
gtk-key-theme-name = Emacs

GTK 3 に対しては、以下も実行してください:

$ gsettings set org.gnome.desktop.interface gtk-key-theme "Emacs"

XFCE にも同じような設定が存在します:

$ xfconf-query -c xsettings -p /Gtk/KeyThemeName -s Emacs

キーバインドを宣言する

/usr/share/themes/Emacs/ などにある設定ファイルは、Emacs バインドを指定したり、変更したりできます。

/usr/share/themes/Emacs/gtk-2.0-key/gtkrc
binding "gtk-emacs-text-entry"
{
  bind "<ctrl>b" { "move-cursor" (logical-positions, -1, 0) }
  ...
}
/usr/share/themes/Emacs/gtk-3.0/gtk-keys.css
@binding-set gtk-emacs-text-entry
{
  bind "<ctrl>b" { "move-cursor" (logical-positions, -1, 0) };
  ...
}

セクションを GTK 2 と 2 に対してそれぞれ ~/.gtkrc-2.0~/.themes/your-new-key-theme/gtk-3.0/gtk-keys.css にコピーすることで、ユーザー毎に設定を変更できます。

GNOME メニューの遅延

この設定は GNOME でマウスをメニューに置いた時にメニューが開くまでの待ち時間を決めます。数値はミリ秒単位です。

gtk-menu-popup-delay = 0

ウィジェットのサイズを小さくする

小さな画面を使っていて大きなアイコンやウィジェットを表示したくない場合、簡単にサイズを変えることができます。

ツールバーのアイコンに文章を表示しないようにするには (有効値)、次を使って下さい:

gtk-toolbar-style = GTK_TOOLBAR_ICONS

小さいアイコンを使うには、次のような行を使って下さい:

gtk-icon-sizes = "panel-menu=16,16:panel=16,16:gtk-menu=16,16:gtk-large-toolbar=16,16\
:gtk-small-toolbar=16,16:gtk-button=16,16"

ボタンからアイコンを完全に削除するには:

gtk-button-images = 0

メニューからアイコンを削除することもできます:

gtk-menu-images = 0

[1][2] も参照。

CSD ボタンを隠す

Client-Side Decorations (CSD)[3] の最小化・最大化ボタン を gtk3 ウィンドウから削除するには:

gtk-decoration-layout=menu:close

GTK docs を参照。

マウスの貼り付け機能を無効化

マスクの中ボタンをクリックした際のクリップボード (PRIMARY セレクション) からの貼り付けを無効化するには:

gtk-enable-primary-paste=false

ファイル選択ダイアログのデフォルトフォルダ

最近使われたフォルダではなく現在の作業ディレクトリでファイル選択ダイアログを開くようにします。通常、現在の作業ディレクトリホームディレクトリです。

GTK 3

イカのコマンドで設定を変更してください:

$ gsettings set org.gtk.Settings.FileChooser startup-mode cwd

GTK 2

以下を ~/.config/gtk-2.0/gtkfilechooser.ini に追加してください:

StartupMode=cwd

スクロールの旧式の挙動

ノート: この設定が適用されない GTK アプリケーションもあります。
ヒント: 左クリックではなく右クリックを使うことでも昔のようなスクロールの挙動をさせることができます。

GTK 3.6 以前では、スクロールバーのスライダーの両側をクリックすると、クリックした方向にスクロールバーが丁度一ページ分だけ移動するようになっていました。GTK 3.6 から、スライダーはクリックした位置に直接移動するようになっています。以下の内容のファイルを作成することで、アプリケーションによっては前の挙動に戻すことが可能です:

~/.config/gtk-3.0/settings.ini
[Settings]
gtk-primary-button-warps-slider = false

オーバーレイスクロールバーを無効化

GTK 3.15 から、オーバーレイスクロールバーがデフォルトで有効になっており、GTK 3 アプリケーションではマウスを乗せたときだけしかスクロールバーが表示されないようになっています。次の環境変数を設定することで元のスクロールバーに戻せます: GTK_OVERLAY_SCROLLING=0環境変数#グラフィック環境 を参照。

あるいは、GTK 3.24.9 からは GTK 3 の設定でオーバーレイスクロールバーを無効化できます。設定ファイルの [Settings] セクションで gtk-overlay-scrolling の値を false に設定してください:

~/.config/gtk-3.0/settings.ini
[Settings]
gtk-overlay-scrolling = false

GTK 4 は、もはや GTK_OVERLAY_SCROLLING をサポートしていません。master から削除されました。GTK 4 では、スクロールバーのオーバーレイはツールキットの一部です。blanket toggle は、両方の組み合わせでテストしていないアプリケーションが壊れてしまうのを防ぐために削除されました。アプリケーション開発者がアプリの見た目を決定できるように、ツールキットは、オプトアウトあるいは設定を削除するメカニズムをユーザに提供しています。gtk_scrolled_window_set_overlay_scrolling() 関数を使って、アプリケーションごとにオーバーレイスクロールを有効化/無効化できます。アプリケーション開発者は、任意で GSettings を使ってユーザの設定をプロパティにバインドできます。

オーバーレイスクロールのインジケータを削除

オーバーレイスクロールバーの位置はアプリケーションウィンドウの細い破線で示されます。たとえ上述の環境変数を使ってオーバーレイスクールを無効化しても破線は消えません。インジケータの線を消すには、以下のファイルを作成してください:

~/.config/gtk-3.0/gtk.css
/* Remove dotted lines from GTK 3 applications */
undershoot.top, undershoot.right, undershoot.bottom, undershoot.left { background-image: none; }

GTK の設定例:

ノート: 一部のデスクトップ環境 (例えば、GNOME) では無視される場合があります。
~/.gtkrc-2.0
gtk-theme-name="Arc-Dark"
gtk-icon-theme-name="breeze-dark"
gtk-font-name="Sans 11"
gtk-cursor-theme-name="Breeze_Amber"
gtk-cursor-theme-size=0
gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ
gtk-toolbar-icon-size=GTK_ICON_SIZE_SMALL_TOOLBAR
gtk-button-images=0
gtk-menu-images=0
gtk-enable-event-sounds=0
gtk-enable-input-feedback-sounds=0
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle="hintslight"
gtk-xft-rgba="rgb"
~/.config/gtk-3.0/settings.ini
[Settings]
gtk-theme-name=Arc-Dark
gtk-icon-theme-name=breeze-dark
gtk-font-name=Sans 11
gtk-cursor-theme-name=Breeze_Amber
gtk-cursor-theme-size=0
gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ
gtk-toolbar-icon-size=GTK_ICON_SIZE_SMALL_TOOLBAR
gtk-button-images=0
gtk-menu-images=0
gtk-enable-event-sounds=0
gtk-enable-input-feedback-sounds=0
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle=hintslight
gtk-xft-rgba=rgb
# gtk-decoration-layout=menu:close
# gtk-application-prefer-dark-theme=1

GDK バックエンド

GDK (GTK の抽象レイヤー) は GTK アプリケーションを表示するための複数のバックエンドをサポートしています。

Wayland バックエンド

GDK Wayland バックエンドは gtk3 及びそれ以降でのみサポートされており、Wayland ディスプレイサーバを使用する際のデフォルトバックエンドとなっています。

gtk3 より前のバージョンの GTK を使っているアプリケーションは Wayland をサポートしておらず、X11 バックエンドを使って Wayland セッションで実行するために Xwayland を使う必要があります。

Wayland バックエンドを使用する際、一部の変数は settings.ini から source されません。 GSettings スキーマ org.gnome.desktop.interface 内に存在しているキーが、settings.ini の代わりにそこから読み込まれます。

そのような変数の例は gtk-color-schemeicon-theme です。Wayland 下で GTK アプリケーションにテーマを適用させるために、これらはキーを GSettings で設定しなければなりません。あるいは、テーマだけをカスタマイズすればよいのであれば、環境変数 GTK_THEME を使用できます。

これに関する詳細は、sway wiki の関連する記事を参照してください。

Xorg バックエンド

Xorg ディスプレイサーバが使用されている場合、バックエンドのデフォルトは自動的に x11 になります。

環境変数 GDK_BACKEND=x11 を設定することで、Wayland セッション上で動作する GTK 3 アプリケーションに Xwayland を通して X11 バックエンドを使用するように強制することが可能です。

Broadway バックエンド

GDK Broadway バックエンドは HTML5 とウェブソケットを使って、ウェブブラウザに GTK アプリケーションを表示することをサポートしています。 [4]

broadwayd を使うときには、X と同じようにコロンを前に付けて、使用するディスプレイ番号を指定してください。デフォルトのディスプレイ番号は 0 です。

$ display_number=:5

次のコマンドで起動します。

$ broadwayd $display_number 

デフォルトで使われるポートは:

port = 8080 + $display_number

ブラウザで http://127.0.0.1:port を開いてください。

アプリを起動するには:

$ GDK_BACKEND=broadway BROADWAY_DISPLAY=$display_number <<application>>

また、アドレスやポートを設定することも可能です:

$ broadwayd --port $port_number --address $address $display_number

トラブルシューティング

GTK 2 と GTK 3 アプリケーションでテーマが異なる

通常、選択したテーマが GTK 2 と GTK 3 の両方をサポートしている場合、GTK 2 と GTK 3 アプリケーションの両方にテーマが適用されます。選択したテーマが GTK 2 しかサポートしてない場合、GTK 2 アプリケーションにはそのテーマが使われ、GTK 3 アプリケーションにはデフォルトの GTK テーマが使われます。選択したテーマが GTK 3 しかサポートしていない場合、GTK 3 アプリケーションにはそのテーマが使われ、GTK 2 アプリケーションにはデフォルトの GTK テーマが使われます。UI の外観を統一するために GTK 2 と GTK 3 両方をサポートしているテーマを使うと一番良い結果が得られます。

インストールしたテーマでどれが GTK 2 と GTK 3 両方のバージョンを持っているか調べるには次のコマンドを使って下さい (空白が含まれている名前はひっかかりません):

find $(find ~/.themes /usr/share/themes/ -wholename "*/gtk-3.0" | sed -e "s/^\(.*\)\/gtk-3.0$/\1/") -wholename "*/gtk-2.0" | sed -e "s/.*\/\(.*\)\/gtk-2.0/\1"/

root アプリケーションにテーマが適用されない

ユーザーテーマファイル ($XDG_CONFIG_HOME/gtk-3.0/settings.ini, ~/.gtkrc-2.0) は他のアカウントからは読み込まれないため、選択したテーマは root で動かしている X アプリケーションには適用されません。以下のような解決方法があります:

  • シンボリックリンクを作成してください。例:
# ln -s $HOME/.gtkrc-2.0 /etc/gtk-2.0/gtkrc
# ln -s $HOME/.config/gtk-3.0/settings.ini /etc/gtk-3.0/settings.ini
  • システム全体にテーマファイルを設定: /etc/gtk-3.0/settings.ini (GTK 3) or /etc/gtk-2.0/gtkrc (GTK 2)
  • テーマを root で設定:
# lxappearance
  • 設定デーモンを使用 (ほとんどのデスクトップ環境では設定デーモンが使われています)。デスクトップに依存しない XSettings を使うデーモンは xsettingsd-gitAUR でインストールできます。

クライアントサイドデコレーション

GTK 3.12 から クライアントサイドデコレーション が導入されており、タイトルバーはウィンドウマネージャから取り去られています。これによって タイトルバーが二重になる、タイトルバーが全く表示されない、コンポジットを有効にした場合に 影が二重に表示される などの問題が発生することがあります。

(タイル型ウィンドウマネージャを使っている場合などに発生する) ウィンドウの周りの影と枠を消すには、以下のファイルを作成してください:

~/.config/gtk-3.0/gtk.css
.window-frame, .window-frame:backdrop {
 box-shadow: 0 0 0 black;
 border-style: none;
 margin: 0;
 border-radius: 0;
}

.titlebar {
 border-radius: 0;
}

.window-frame.csd.popup {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.13);
}

.header-bar {
  background-image: none;
  background-color: #ededed;
  box-shadow: none;
}
/* タイトルが二重になるのが気に食わない場合は、これを使うと良いでしょう。
GtkLabel.title {
    opacity: 0;
}*/

視覚的な問題が続く場合、ここ[5]で説明されているように GTK Inspector を使って問題のある要素を探すと良いでしょう。

ヘッダーバーのボタンを調整するには、gtk-decoration-layout の設定を使います [6]。以下の例では全てのボタンを削除します:

~/.config/gtk-3.0/settings.ini
gtk-decoration-layout=menu:

クライアント側の装飾も無くすには、装飾をデフォルトで無効化するパッチが含まれている gtk3-classicAUR を使うことができます。クライアント側の装飾を有効化するには、GTK_CSD環境変数に任意の値を設定してください。

セディーユ ć/Ć ではなく ç/Ç が使われる

Xcompose を使用した解決方法が [7][8] に載っています (US 国際レイアウト)。

accessibility bus に関する警告を表示させない

Gnome Accessibility 機能を使用していない場合、以下のような警告が発生することがあります:

WARNING **: Couldn't connect to accessibility bus:

これらの警告を消すには、NO_AT_BRIDGE=1 を設定してプログラムを実行するか、それをグローバルな環境変数として設定してください。

タイトルバーの背景色がおかしい

GTK テーマの背景色に擬態するウィンドウデコレーションテーマを使用するウィンドウマネージャを使っている場合、GTK 3 アプリケーションでタイトルバーの色がアプリケーションの色と完全に食い違って表示されることがあります。対応策としては、以下のファイルを作成してください:

~/.config/gtk-3.0/gtk.css
/* 背景色を常に使用する */
GtkWindow {
    background-color: @theme_bg_color;
}

/* ツールチップの背景色のオーバーライドを修正する */
.tooltip {
    background-color: rgba(0, 0, 0, 0.8);
}

.tooltip * {
    background-color: transparent;
}

/* Nautilus デスクトップのウィンドウの背景色のオーバーライドを修正する */
NautilusWindow {
     background-color: transparent; 
}

タイル型ウィンドウマネージャでフォーカスイベントがおかしい

ノート: 以下の設定は GTK3 アプリケーションのタッチスクリーンのサポートを無効化します [9]

GDK_CORE_DEVICE_EVENTS=1定義して xinput2 の代わりに GTK2 のスタイル入力を使うようにしてください [10]

GTK 2 のファイルダイアログのサムネイル

gtk2-patched-filechooser-icon-viewAURgtk3-patched-filechooser-icon-viewAUR をインストールすることで GTK のファイル選択ダイアログで、リストの代わりにサムネイルでファイルを閲覧するオプションが作られます。

ボタンとメニューのアイコン

この記事またはセクションの正確性には問題があります。
理由: 問題を説明してください。GDM が使用されている場合、GNOME は settings.ini を無視します。 (議論: トーク:GTK#)

GNOME の Wayland セッション内の一部のアプリケーションで発生します。gtk3-patched-filechooser-icon-viewAUR がファイルが間違って設定されています。これは、他の GTK ベースのデスクトップ環境を試したときに発生する可能性があります。以下が、問題のある値です:

~/.config/gtk-3.0/settings.ini
[Settings]
gtk-button-images=1
gtk-menu-images=1

これらの値を 0 に設定するか、ファイルを削除して GNOME のデフォルト設定を使用してください。

GTK 3 で polkit を使用しない

GTK 3 は印刷に必要な colord で polkit に依存しています。ただし印刷自体は polkit をインストールしていなくても可能です。少なくとも、モノクロ印刷と、パッケージバージョン gtk3-print-backends=3.22.19-2 と colord=1.4.1-1 で機能します。

一部の GTK 2 テーマで UI のカラーパレットしか変化しない

GTK 2 のテーマによっては、UI のコントロールがデフォルトの Raleigh のままで、カラーパレットしか変わらないことがあります。原因はテーマが GTK 2 の Murrine エンジンを必要としているためです (GTK 2 プログラムは標準エラー出力にそのことを吐き出します)。gtk-engine-murrine パッケージをインストールしてください。

GTK file chooser にパッチを適用して通常のタイプを先に使用する

GTK file chooser は、GNOME Files と同じ先行検索機能を使用します。これは非常に煩わしくなる可能性があり、他のデスクトップ環境とうまく適合しません。

一部のアプリケーションは XDG デスクトップ ポータル をサポートしているため、アプリケーションで Native file chooser を使用できます。それが機能しない場合は、たとえば gtk3-classicAUR などのパッチされた GTK を使用して先行入力機能を復元できます。

GTK 4 アプリケーションの文字がぼやける、または正しく表示されない

GTK 4 は、フォントのレンダリング時にヒントを出さずにグレースケールのアンチエイリアシングを行うように変更しました。GTK 3 の挙動の一部を復元する設定が利用できます [11]。HiDPI スクリーン以外に対しては、(2023年8月現在) この設定はデフォルトでオンになっています。これにより、ほとんどのユーザーにとっては良い結果が得られるはずです。サブピクセル・アンチエイリアシングは利用できません。

~/.config/gtk-4.0/settings.ini
[Settings]
gtk-hint-font-metrics=1

GTK 4 アプリケーションが遅い

GTK は新しい GTK レンダラーである ngl (後のバージョンでは vulkan) に移行しました。これは古い gl レンダラーよりもパフォーマンスが悪いので (#6438#6682#6644#6324、その他のイシューもある可能性あり)、GTK 4 アプリケーションが以前よりも重く、多くのリソースを消費してしまう場合があります。

以下の環境変数を設定することで、レンダラーの設定を元に戻すことができます:

GSK_RENDERER=gl
GDK_DEBUG=gl-no-fractional

参照

翻訳ステータス: このページは en:GTK の翻訳バージョンです。最後の翻訳日は 2024-06-05 です。もし英語版に 変更 があれば、翻訳の同期を手伝うことができます。