在 GTK2 应用程序上将滚动条箭头添加到 Adwaita(默认)

Fed*_*eli 7 gnome themes gtk scrollbar gtk-2

我使用的是 Ubuntu 22.10 桌面版。我的系统上只安装了默认主题。目前,我使用Adwaita(默认),它在垂直或水平窗口滚动条的两端没有箭头

我测试了其他主题;只有HighContrastHighContrastInverse似乎提供了我需要的箭头。然而,这些高对比度的主题并不适合我。Adwaita(默认)就很好,除了滚动条中缺少箭头。

我尝试了互联网上提供的一些解决方案(如this),尝试创建一个类似的文件~/.config/gtk-3.0/gtk.css并放置必要的CSS声明,但这些不起作用。

在本地修改 GTK2 应用程序的主题并添加这些滚动条箭头的推荐方法是什么?

更新

事实上,事实证明上述操作确实适用于 GTK3 应用程序。但是,我需要这些箭头的应用程序使用 GTK2

~/.config/gtk-2.0/gtkrc我尝试了、~/.gtkrc、 和 等位置~/.gtkrc-2.0,但没有帮助。

直接编辑文件/usr/share/themes/Adwaita/gtk-2.0/main.rc并注释掉以下行:

GtkScrollbar::has-backward-stepper = 0
GtkScrollbar::has-forward-stepper = 0
Run Code Online (Sandbox Code Playgroud)

似乎有帮助,但我想在用户的基础上进行操作(通过将其值设置为1)。

Hum*_*ity 1

如果您已将自定义设置放入 .gtkrc-2.0.mine中,但您的.gtkrc-2.0不包含.gtkrc-2.0.mine(或被您的 DE 覆盖),则应在附近包含.gtkrc -2.0.mine /usr/share/themes/Adwaita/gtk-2.0/gtkrc的底部

例如

.
.
# local settings
include "/home/username/.gtkrc-2.0.mine"

# And hand over the control to the theme files
include "main.rc"
include "apps.rc"
include "hacks.rc"
Run Code Online (Sandbox Code Playgroud)

或者,对于全局解决方案,您可以更改 /usr/share/themes/Adwaita/gtk-2.0/main.rc中的任何滚动相关设置

例如

GtkScrollbar::slider-width = 20
GtkRange::stepper-size = 20
GtkScrollbar::stepper-size         = 20
GtkScrollbar::has-backward-stepper = 1
GtkScrollbar::has-forward-stepper  = 1
Run Code Online (Sandbox Code Playgroud)

另外,注释掉下面的块;

# Disable arrows for qt in scrollbars
Run Code Online (Sandbox Code Playgroud)

否则箭头图形会被遮挡。