如何获得更大的静态滚动条(又称普通滚动条)?

如何获得更大的静态滚动条(又称普通滚动条)?

我很高兴外面的覆盖滚动条终于消失了。

但是滚动条仍然是一条非常细的线,当鼠标悬停时,滚动条会变得不那么细,但仍然是细的滚动条。

我如何获得普通的滚动条?即,像在其他操作系统中一样,在 Firefox 中,滚动条不会根据鼠标指向的内容而改变,并且具有合适的宽度。

我已经尝试过了

gsettings set com.canonical.desktop.interface scrollbar-mode normal

但没有运气。

答案1

我认为你应该谨慎一点。我们中的许多人不会建议你编辑主题的系统范围默认值,除非你确实打算干扰系统中所有用户帐户的活动。如果你在执行此操作时恰好犯了一个错误,那么它会影响所有用户帐户。另一个需要注意的问题是,当软件包更新时,你的更改将被删除。

该策略的另一个缺点是它只改变一个 GTK 主题的行为,但您可能希望更改所有 GTK-3.0 主题中的滚动条大小。

相反,在用户帐户内编辑配置文件。诀窍是找出哪一个是到所需端点的最短距离。您编辑的 GTK 文件是 CSS(层叠样式表)设置的一部分,因此您在帐户中输入的自定义内容将修改设置。

在您的用户帐户中,在文件夹 ~/.config/gtk-3.0/gtk.css 中,我目前在一个名为“gtk.css”的文件中

.scrollbar {
  -GtkScrollbar-has-backward-stepper: true;
  -GtkScrollbar-has-forward-stepper: true;
  -GtkRange-slider-width: 20;
  -GtkRange-stepper-size: 20;
}

如果您稍微尝试一下,您会发现可以从上面编辑的主题文件中集成许多特定更改。有一次我非常努力地摆弄了很多设置,但现在我处于“保持简单”模式。

如果你确实想编辑大量设置,正确的做法是复制整个 gtk-widgets.css 文件并将其放在 ~/.config/gtk-3.0 文件夹中。然后开始摆弄设置。

在同一个文件夹中,我有一个名为“settings.ini”的文件

[Settings]
gtk-primary-button-warps-slider = false

这样可以防止滚动条上的点击移动到文件中的某个点,而是只前进一个屏幕。我更喜欢这个!

另一件值得了解的事情是,更改该主题文件(如 @Dorian 先前所建议的,或如我所建议的,通过更改所有基于 GTK-3.0 的主题的用户帐户)只会更改基于 GTK-3.0 工具包的程序。它不会更改所有应用程序的滚动条。它只适用于读取该 gtk-3.0 配置文件的应用程序。由于您正在编辑 gtk-3.0 主题,因此使用 QT 或 gtk-2.0 编写的应用程序不会更改。因此,更改所有程序的滚动条大小比您想象的要困难/繁琐得多。

我也更改了 gtk-2.0 中的滚动条宽度。这是在单独的文件夹 ~/.config/gtk-2.0 中完成的。要创建的文件名为 gtkrc

style "scroll"
{
 GtkScrollbar::slider-width = 20
}

请注意,gtk-2.0 是一个不同设计的设置,因此语法不同,您不能直接将 gtk-3.0 css 复制到 gtk-2.0 文件夹中。

我注意到,当您改变滚动条时,某些应用程序会表现不佳,因为滑块槽内的“抓取器”的大小调整不正确。我怀疑@Dorian 文件中的滚动条拖动更改会有所帮助。我可能会回来尝试一下。我会告诉你的。

摘要:关键的“旧式 Linux 系统管理员建议”是“不要在系统范围内编辑配置文件”。这样会让您的系统处于危险之中,您的更改不会在修订版中持续存在,并且需要 root 访问权限,这对于此类外观方面的事情来说绝不是好事。找到一种方法来更改您的用户帐户。

PS. 如果您确实想要摆弄系统文件(如果我真的想坚持所有用户都使用我最喜欢的足球队颜色作为他们的壁纸和配色方案,我有时会这样做 :) ),您应该做的第一件事是复制原始文件并将原始文件命名为“gtk-widgets.css.orig”。然后,当您编辑文件时,将编辑的副本保存为“gtk-widgets.css.20160919”,其中我在其末尾标有 YYYYMMDD 日期。这样,当 deb 包更新时,您将拥有编辑文件的副本。您编辑的名为 gtk-widgets.css 的文件将在包安装时被删除。

答案2

编辑此文件/usr/share/themes/Ambiance/gtk-3.0/gtk-widgets.css

查找此行(大约 1200 行):-GtkRange滑块宽度:10;

然后将 10 改为更大的数字,比如 20 或 30,就完成了 :)

我也认为它们太小了...

看这个图片:

在此处输入图片描述

如果您将滚动条大小更改为 16,并且希望它们保持这种状态,并且在没有鼠标指向滚动条时不会缩小,请按照上图进行更改。

如果您使用 16 以外的尺寸,只需试验一下边距大小即可获得正确结果。

答案3

更改-GtkRange-slider-width不会影响默认的 GTK+3 主题。相反,您可以执行以下操作:

scrollbar slider {
    /* Size of the slider */
    min-width: 20px;
    min-height: 20px;
    border-radius: 22px;

    /* Padding around the slider */
    border: 5px solid transparent;
}

(将以上内容放入~/.config/gtk-3.0/gtk.css。)

答案4

我使用的是 Ubuntu 18.04,这是唯一一个可以改变所有内容滚动条的解决方案,从 Firefox 到 LibreOffice 再到 gnome-terminal。上述解决方案对于一两个应用程序有效,但并不适用于所有应用程序。

注意:这会为您提供非常大的滚动条,这对于大显示器非常有用,因为您可以从眼角看到它们,而不必每次想要抓住它们时都看向屏幕的一侧。如果您想要较小的滚动条,请将所有 70px 更改为较小的数字,例如 20px 或 30px,并进行相应的调整。

将以下文本放入~/.config/gtk-3.0/gtk.css


.scrollbar,
scrollbar {
-GtkScrollbar-has-backward-stepper: 1;
-GtkScrollbar-has-forward-stepper: 1;
}

scrollbar slider {
background-color: @scrollbar_track_color;
}

.scrollbar.vertical slider,
scrollbar.vertical slider {
    min-height: 150px;
    min-width: 70px;
}

.scrollbar.horizontal.slider,
scrollbar.horizontal slider {
min-width: 40px;
min-height: 10px;
}

.scrollbar.vertical.slider:hover,
scrollbar.vertical:hover slider {
min-width: 70px;
}

.scrollbar.horizontal.slider:hover,
scrollbar.horizontal:hover slider {
    min-height: 10px;
}

.scrollbar.contents,
scrollbar contents {
    background-color: transparent;
    background-image: none;
    background-size: 0;
    border: none;
    border-radius: 0;
}

.scrollbar.trough,
scrollbar trough {
    background-image: none;
    border: none;
}

.scrollbar:hover:backdrop,
.scrollbar.dragging:backdrop,
scrollbar:hover:backdrop,
scrollbar.dragging:backdrop {
    background-color: alpha(@backdrop_selected_bg_color, 0.5);
}


.scrollbar.vertical:hover:dir(ltr),
.scrollbar.vertical:active:dir(ltr),
scrollbar.vertical:hover:dir(ltr),
scrollbar.vertical:active:dir(ltr) {
    margin-left: 0px;
}

.scrollbar.vertical:hover:dir(rtl),
.scrollbar.vertical:active:dir(rtl),
scrollbar.vertical:hover:dir(rtl),
scrollbar.vertical:active:dir(rtl) {
    margin-right: 0px;
}

.scrollbar.horizontal:hover,
.scrollbar.horizontal:active,
scrollbar.horizontal:hover,
scrollbar.horizontal:active {
    margin-top: 0px;
}

.scrollbar.slider,
scrollbar slider {
    background-color: alpha(@backdrop_filling_bg, 0.75);
    border-radius: 10px;
}

.scrollbar.slider:hover,
.scrollbar.slider:active,
scrollbar slider:hover,
scrollbar slider:active {
    border-radius: 20px;
    margin: 0;
}


.scrollbar.vertical:dir(ltr):not(:hover):not(.dragging),
scrollbar.vertical:dir(ltr):not(:hover):not(.dragging) {
    margin-left: 0px;
}

.scrollbar.vertical:dir(rtl):not(:hover):not(.dragging),
scrollbar.vertical:dir(rtl):not(:hover):not(.dragging) {
    margin-right: 0px;
}

.scrollbar.horizontal:not(:hover):not(.dragging),
scrollbar.horizontal:not(:hover):not(.dragging) {
    margin-top: 0px;
}


.scrollbar.slider:hover,
scrollbar slider:hover {
    background-color: alpha(@backdrop_filling_bg, 0.6);
}

.scrollbar.slider:active,
scrollbar slider:active {
    background-color: @backdrop_filling_bg;
}

.scrollbar.slider:backdrop,
scrollbar slider:backdrop {
    background-color: alpha(@backdrop_filling_bg, 0.75);
}

.scrollbar.slider:hover:backdrop,
scrollbar slider:hover:backdrop {
    background-color: alpha(@backdrop_filling_bg, 0.6;
}

.scrollbar.slider:active:backdrop,
scrollbar slider:active:backdrop {
    background-color: @backdrop_filling_bg;
}

scrollbar {
    min-width: 70px;
    min-height: 70px;
}

相关内容