GTK - Arch Linux 中文维基

跳至內容

# GTK

出自 Arch Linux 中文维基
翻譯狀態：

- 本文（或部分內容）譯自 GTK，最近一次同步於 2022-04-19，若英文版本有所更改，則您可以幫助同步與翻譯更改的內容。
- 您可以在 ArchWiki 的對應頁面找到本文翻譯的原始修訂歷史。
- 本文可能與英文原文存在出入。

相關文章

- 統一 Qt 和 GTK 應用程式的外觀
- Qt
- GNU
- GTK/開發

摘自 GTK 官方網站：

  GTK，或稱 GIMP Toolkit，是一個跨平台的圖形界面開發庫。該庫提供一套完整的窗口部件，從一次性工具到大型應用都可使用。

GTK，即 GIMP Toolkit，最初由 GNU 項目為 GIMP 開發，但現在它已經是一個非常流行的工具包，綁定了很多語言。本文將探討 GTK 主題、風格、圖標、字體和字號的配置工具，也會詳細介紹手動配置。

## 安裝

目前在官方軟體倉庫中有三個版本的 GTK。它們可以通過以下軟體包來安裝：

- GTK 4.x 可以通過 gtk4包 包獲得。
- GTK 3.x 可以通過 gtk3包 包獲得。
- GTK 2.x 可以通過 gtk2包 包獲得。

GTK 1.x 可以通過 AUR 上的 gtkAUR 包獲得。

## 主題

### GTK 3 和 GTK 4

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_THEME` 環境變量 以強行應用，或者使用打過補丁的libadwaita版本：libadwaita-without-adwaita-gitAUR。

若不使用 dconf 屬性，則可以使用 `GTK_THEME` 設置 GTK 3 和 GTK 4 主題。例如將 GNOME 計算器的主題設為 Adwaita 的暗色變體：

    $ GTK_THEME=Adwaita:dark gnome-calculator

提示：要將上述更改應用於桌面快捷方式（或啟動器），請參閱 桌面項#編輯環境變量。
注意：如果不使用對應的 XDG_桌面門戶 ，則可能需要設置 環境變量 `ADW_DISABLE_PORTAL=1` 方可正確載入通過 GSettings 設置的主題。參見 https://gitlab.gnome.org/GNOME/libadwaita/-/commit/e715fae6a509db006a805af816f9d163f81011ef

### GTK 2

GTK 2 的默認主題是 Raleigh，但 Arch Linux 位於 `/usr/share/gtk-2.0/gtkrc` 的自定義配置文件將默認主題設為了 Adwaita。不過，這需要安裝 gnome-themes-extra-gtk2AUR 包才能正常工作，否則 GTK 2 應用程式將繼續顯示 Raleigh 主題。

若要修改 GTK 2 的主題，可以通過配置環境變量 `GTK2_RC_FILES` 來實現。例如將 GIMP 的主題設為 Raleigh：

    $ GTK2_RC_FILES=/usr/share/themes/Raleigh/gtk-2.0/gtkrc gimp

提示：`gtkrc` 也可以是由 #配置工具 在家目錄 (/home) 下創建的自定義文件。參見 #示例。

在官方軟體倉庫或 AUR 可以安裝更多主題。可以在 `~/.themes/` 或 `~/.local/share/themes/` 目錄中手動提取主題。

### GTK 2 與 GTK 3 的主題支持：

- Adapta — 基於 Material Design 準則的自適應 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-themeAUR, 不透明: arc-solid-gtk-themeAUR

- Bluebird — Xfce 的藍色桌面套件。

  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-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 的類 Material Design 平面主題。

  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 組件）程序的人都知道，兩者的外觀並不怎麼協調。關於兩者外觀統一的問題，參見：統一 Qt 和 GTK 應用程式的外觀。

## 配置工具

大部分主流桌面環境都提供配置 GTK 主題、圖標、字體和字體尺寸的工具，並使用 XSettings 管理這些設置：

- 如果使用 Cinnamon，使用主題工具 (cinnamon-settings themes): 前往系統設置 > 主題.
- 如果使用 Enlightenment：前往設置 > 全部 > 外觀 > 應用程式主題.
- 如果使用 GNOME，使用 GNOME Tweaks (gnome-tweaks): 安裝 gnome-tweaks包.
- 如果使用 MATE，使用「外觀首選項」工具 (mate-appearance-properties): 前往系統 > 設置 > 外觀.
- 如果使用 Xfce，使用「外觀」工具: 前往設置 > 外觀.

其他 GUI 工具通常會覆寫配置文件。

同時支持 GTK 2 與 GTK 3 的：

- KDE GTK Configurator — 允許您更改 GTK 2 和 GTK 3 應用程式樣式和字體的應用程式。

  https://invent.kde.org/plasma/kde-gtk-config || kde-gtk-config包
  安裝完成後, 在系統設置 > 外觀 > Application Style > Configure GNOME/GTK Application Style 中能找到 `kde-gtk-config`。

- LXAppearance — LXDE 項目中獨立於桌面的 GTK 2 和 GTK 3 風格配置工具（不需要 LXDE 桌面的其他部分）。

  https://wiki.lxde.org/en/LXAppearance[失效連結 2022-09-18 ⓘ] || lxappearance-gtk3包

- Oo-mox — 一款圖形應用程式，用於生成 Numix 和 Flat Plat 主題（GTK 2 和 3）、Archdroid 和 Gnome 顏色圖標主題的不同顏色變體，也能為 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 用戶特定設置: `~/.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 編程參考手冊中的 GTK4 和 GTK3 GtkSettings 屬性（以及 GTK 2 屬性）。

- 自 GTK 3.10 以來，以下描述的一些設置 (例如 `gtk-icon-sizes`) 已棄用並被忽略。
- 如果編輯 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 Pop

注意：圖標主題名稱是其目錄的名稱，而不是其 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-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

對於 GTK3 還需要運行：

    $ 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 的鍵位綁定，並且可以更改。您也可以把其中的內容複製到用戶目錄下的 `~/.gtkrc-2.0` 文件中來為個別用戶進行自定義。

### GNOME 菜單延遲

滑鼠指向菜單與菜單顯示之間有一定延遲，通過以下設置調整延遲時間（以毫秒為單位）：

    gtk-menu-popup-delay = 0

### 縮小窗口部件

如果屏幕很小，不喜歡過大的圖標和窗口部件，可以調整其尺寸。

若要讓工具欄僅顯示圖標而不顯示文字（valid values）：

    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 按鈕

若要刪除 gtk3 窗口的客戶端裝飾 (CSD)[3] 最小化和最大化按鈕：

    gtk-decoration-layout=menu:close

參見 GTK 文檔。

### 禁用滑鼠中鍵粘貼

若要關閉滑鼠中鍵（主鍵）粘貼：

    gtk-enable-primary-paste=false

### 文件選擇器啟動時的初始位置

在當前工作目錄而不是最近位置內打開文件選擇器。通常來說，當前工作目錄是家 (home) 目錄。

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

### Disable overlay scrollbars

Since GTK 3.15, overlay scrollbars are enabled by default, meaning that scrollbars will be shown only on mouseover in GTK 3 applications. This behavior can be reverted by setting the following environment variable: `GTK_OVERLAY_SCROLLING=0`. See Environment variables#Graphical environment.

Alternatively, overlay scrollbars can be disabled in the GTK 3 settings since GTK 3.24.9. To do so, the value of gtk-overlay-scrolling has to be set to false in the [Settings] section of the settings file:

    ~/.config/gtk-3.0/settings.ini

    [Settings]
    gtk-overlay-scrolling = false

GTK 4 will no longer support `GTK_OVERLAY_SCROLLING`. It has already been dropped from master. As of GTK 4, the overlay nature of the scrollbars is part of the toolkit. The blanket toggle has been removed to prevent developers from breaking applications that have not been tested with both combinations. To allow application developers to decide what their applications should look like, the toolkit instead provides a mechanism to opt-out or add a setting for users. The function gtk_scrolled_window_set_overlay_scrolling() can be used to enable/disable overlay scrolling on a per-application basis. Application developers can optionally use GSettings to have a user setting bound to the property.

#### Remove overlay scroll indicators

The positions of the overlay scrollbars are indicated by thin dashed lines in the application window. These dashed lines will be present even when overlay scrolling is disabled using the environment variable discussed in the section above. To remove the indicator lines, create the following file:

    ~/.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 example configurations:

注意：May be ignored by some desktop environments (e.g. 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，並且需要通過 Xwayland 才能使用 X11 後端在 Wayland 會話上運行。

使用 Wayland 後端時，一些變量不會從 `settings.ini` 讀取。 Any key that is present in the GSettings schema `org.gnome.desktop.interface` are read from there instead of `settings.ini`.

An example of such variables are `gtk-color-scheme` and `icon-theme`, which must have their keys set with GSettings in order to theme GTK Applications under Wayland. 或者，如果只需要自定義主題，可以設置環境變量 `GTK_THEME`。

### Xorg 後端

如果正在使用 Xorg 顯示伺服器，則後端自動默認為 x11。

通過設置環境變量 `GDK_BACKEND=x11`，可以強制 Wayland 會話的 GTK3 應用程式通過 Xwayland 使用 X11 後端。

### Broadway 後端

The GDK Broadway backend provides support for displaying GTK applications in a web browser, using HTML5 and web sockets. [4]

When using broadwayd, specify the display number to use, prefixed with a colon, similar to X. The default display number is 0 (zero).

    $ display_number=:5

Start it.

    $ broadwayd $display_number

Port used by default

    port = 8080 + $display_number

Point your browser to http://127.0.0.1:port

To Start applications

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

Alternatively can set address and port

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

## 疑難解答

### Different themes between GTK 2 and GTK 3 applications

In general, if a selected theme has support for both GTK 2 and GTK 3, the theme will be applied to all GTK 2 and GTK 3 applications. If a selected theme has support for only GTK 2, it will be used for GTK 2 applications and the default GTK theme will be used for GTK 3 applications. If the selected theme has support for only GTK 3, it will be used for GTK 3 applications and the default GTK theme will be used for GTK 2 applications. Thus for application theme consistency, it is best to use a theme which has support for both GTK 2 and GTK 3.

You could find what themes installed on your system have both an GTK 2 and GTK 3 version by using this command (does not work with names containing spaces):

    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"/

### Theme not applied to root applications

As user theme files (`$XDG_CONFIG_HOME/gtk-3.0/settings.ini`, `~/.gtkrc-2.0`) are not read by other accounts, the selected theme will not apply to X applications run as root. Possible solutions include:

- Create symlinks, e.g

    # ln -s /home/[username]/.gtkrc-2.0 /etc/gtk-2.0/gtkrc
    # ln -s /home/[username]/.config/gtk-3.0/settings.ini /etc/gtk-3.0/settings.ini

- Configure system-wide theme files: `/etc/gtk-3.0/settings.ini` (GTK 3) or `/etc/gtk-2.0/gtkrc` (GTK 2)
- Adjust the theme as root

    # lxappearance

- Use a settings daemon (this is what most desktop environments do). A desktop-agnostic variant using XSettings is available in the AUR under xsettingsd-gitAUR.

### Client-side decorations

GTK 3.12 introduced client-side decorations, which move the title-bar away from the window manager. This may present issues such as double title-bars, no title-bar at all, double shadows with compositing enabled, or being unable to move a frozen application.

To remove the shadow and gap around windows (for example in combination with a tiling window manager), create the following file:

    ~/.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;
    }
    /* You may want to use this if you don't like the double title.
    GtkLabel.title {
        opacity: 0;
    }*/

Note that if visual problems persist, you may want to use the GTK Inspector to find the offending elements as explained here [5].

To adjust the buttons in the header bar, use the `gtk-decoration-layout` setting. [6] The below examples removes all buttons:

    ~/.config/gtk-3.0/settings.ini

    gtk-decoration-layout=menu:

To remove client-side decorations altogether, it's possible to use a patched library like gtk3-classicAUR or gtk3-nocsd-gitAUR.

### cedilla ç/Ç instead of ć/Ć

See [7], and [8] for a workaround using Xcompose (US international layout).

### Suppress warning about accessibility bus

If you do not use any Gnome Accessibility features, you may receive warnings like:

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

To suppress these warnings, execute programs with `NO_AT_BRIDGE=1` or set that as a global environment variable.

### Titlebar background color mismatch

If you are using a window manager which uses a window decoration theme that mimics the GTK theme background color, you may find that the titlebar color no longer completely matches the application color in some GTK 3 applications. As a workaround, create the following file:

    ~/.config/gtk-3.0/gtk.css

    /* Always use background color */
    GtkWindow {
        background-color: @theme_bg_color;
    }

    /* Fix tooltip background override */
    .tooltip {
        background-color: rgba(0, 0, 0, 0.8);
    }

    .tooltip * {
        background-color: transparent;
    }

    /* Fix Nautilus desktop window background override */
    NautilusWindow {
         background-color: transparent;
    }

### Wrong focus events with tiling window managers

注意：This disables smooth scrolling and touchscreen support for GTK3 applications. [9]

Define `GDK_CORE_DEVICE_EVENTS=1` to use GTK2 style input, instead of xinput2. [10]

### Thumbnail support for GTK file dialog

Install gtk2-patched-filechooser-icon-viewAUR and gtk3-patched-filechooser-icon-viewAUR to have the option to view files as thumbnails instead of list in the GTK file chooser.

### Button and menu icons

本文或本章節的事實準確性存在爭議。

原因： Explain what the issue is. GNOME ignores `settings.ini` if GDM is used.（在 Talk:GTK 中討論）

For some applications in GNOME's Wayland session. Your `~/.config/gtk-3.0/settings.ini` file is misconfigured. This can happen if you try other GTK based desktop environments. These are the offending values:

    ~/.config/gtk-3.0/settings.ini

    [Settings]
    gtk-button-images=1
    gtk-menu-images=1

Simply set them to 0 or remove the whole file to use GNOME defaults.

### GTK 3 without polkit

GTK3 depends on polkit through colord, which is required for printing. However printing works fine without polkit installed; at least with a monochrome printer and package versions gtk3-print-backends=3.22.19-2 and colord=1.4.1-1.

### Some GTK 2 themes only change the UI color palette

Depending on the theme of choice's support for GTK 2, UI controls may still have the default Raleigh appearance, possibly with a different color palette. This is due to these themes requiring the GTK 2 Murrine engine, which is missing (GTK 2 programs should complain about it on their standard error output). Install the gtk-engine-murrine包 package.

### Patching GTK file chooser to use regular type ahead

GTK file chooser uses the same type-ahead-find feature as GNOME/Files. This can be very jarring and does not fit in very well with other desktop enviroments.

Some applications support XDG-desktop-portal which allows application to use the native file chooser. If that does not work you can restore type-ahead functionality by using a patched GTK, for example gtk3-classicAUR.

### Text in GTK 4 applications is blurry or renders incorrectly

GTK 4 switched to grayscale antialiasing without hinting when rendering fonts. A setting is available that will restore some of the GTK 3 behavior [11]. Subpixel antialiasing is not available.

    ~/.config/gtk-4.0/settings.ini

    [Settings]
    gtk-hint-font-metrics=1

## 參見

- GTK 官方網站
- 維基百科對 GTK 的介紹

分類：​

- 控制項工具集
- 包含失效連結的頁面

隱藏分類：​

- 使用「模板:準確性」標記的頁面或章節

GTK
新增話題