AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 775201
Accepted
Simon
Simon
Asked: 2016-05-21 06:16:40 +0800 CST2016-05-21 06:16:40 +0800 CST 2016-05-21 06:16:40 +0800 CST

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

  • 772

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

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

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

我已经试过了

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

但没有运气。

scrollbar
  • 6 6 个回答
  • 46627 Views

6 个回答

  • Voted
  1. pauljohn32
    2016-09-20T18:03:22+08:002016-09-20T18:03:22+08:00

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

    这个策略的另一个缺点是它只改变了一个 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 的文件将被软件包安装删除。

    • 30
  2. Best Answer
    Delorean
    2016-05-21T06:41:58+08:002016-05-21T06:41:58+08:00

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

    寻找这一行(在第 1200 行附近):-GtkRange-slider-width: 10;

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

    我也觉得他们太小了...

    看这张图片:

    在此处输入图像描述

    如果您将滚动条大小更改为 16,并且希望它们保持这种状态,并且当您没有鼠标在其上时不缩小,则进行上图中的更改。

    如果您使用 16 以外的尺寸,只需尝试使用边距尺寸以使其正确。

    • 23
  3. Vladimir Panteleev
    2017-04-25T20:32:41+08:002017-04-25T20:32:41+08:00

    更改-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.)

    • 21
  4. whtyger
    2017-01-13T05:57:16+08:002017-01-13T05:57:16+08:00

    以下是恢复不会消失且具有永久宽度的滚动条的步骤,即“经典”滚动条。在 Ubuntu 16.04 的 GNOME 闪回会话中测试(也适用于 Unity)。

    步骤 1.备份/etc/environment. 运行sudo nano /etc/environment并添加下一行:

    GTK_OVERLAY_SCROLLING=0
    

    这将防止滚动条的自动隐藏行为。

    步骤 2.为了避免篡改主主题文件/usr/share/themes/Ambiance/gtk-3.0/gtk-widgets.css,我们将从那里借用一些代码,对其进行更改并将其放入用户配置文件文件夹中。创建~/.config/gtk-3.0/gtk.css并将下一行放入其中:

    /* Adding the buttons on the edges (if you don't need them, skip the next 4 lines)
     */
    
    .scrollbar {
      -GtkScrollbar-has-backward-stepper: 1;
      -GtkScrollbar-has-forward-stepper: 1;
    }
    
    /* Scrollbar trough squeezes when cursor hovers over it. Disabling that
     */
    
    .scrollbar.vertical:hover:dir(ltr),
    .scrollbar.vertical.dragging:dir(ltr) {
        margin-left: 0px;
    }
    
    .scrollbar.vertical:hover:dir(rtl),
    .scrollbar.vertical.dragging:dir(rtl) {
        margin-right: 0px;
    }
    
    .scrollbar.horizontal:hover,
    .scrollbar.horizontal.dragging,
    .scrollbar.horizontal.slider:hover,
    .scrollbar.horizontal.slider.dragging {
        margin-top: 0px;
    }
    
    /* Slider widens to fill the scrollbar when cursor hovers over it. Making it permanent
     */
    
    .scrollbar.slider.vertical:dir(ltr):not(:hover):not(.dragging) {
        margin-left: 0px;
    }
    
    .scrollbar.slider.vertical:dir(rtl):not(:hover):not(.dragging) {
        margin-right: 0px;
    }
    
    .scrollbar.slider.horizontal:not(:hover):not(.dragging) {
        margin-top: 0px;
    }
    

    步骤 3.创建~/.config/gtk-3.0/settings.ini并添加下一行:

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

    当您单击滑块任一侧的滚动条时,这将恢复逐页滚动行为。[Settings]如果这个文件已经存在,只需在它的部分添加最后一行。

    第 4 步。卸载overlay-scrollbar和overlay-scrollbar-gtk2软件包 - 您将不再需要它们。

    PS如果您使用一些需要超级用户权限的应用程序(即 Synaptic、Gedit 等),那么您还应该将这些gtk.css和settings.ini文件放入根的配置文件文件夹中:

    sudo cp ~/.config/gtk-3.0/gtk.css /root/.config/gtk-3.0/
    sudo cp ~/.config/gtk-3.0/settings.ini /root/.config/gtk-3.0/
    

    PPS如果您发现这些滚动条对您来说太窄,请将它们变宽。只需将下一行添加到您的~/.config/gtk-3.0/gtk.css:

    .scrollbar {
      -GtkRange-slider-width: 15;
    }
    

    根据需要增加宽度(默认值为 10)。/root/.config/gtk-3.0/gtk.css如果需要,也更新。

    • 12
  5. s. wolfe
    2018-09-23T15:09:33+08:002018-09-23T15:09:33+08:00

    我使用的是 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;
    }
    
    • 7
  6. Aleksandar Pavić
    2021-08-12T22:07:56+08:002021-08-12T22:07:56+08:00

    在 Ubuntu 20.04 上,我合并了上述一些解决方案,以便在 Libre Office 上获得更厚的滚动条,而不是篡改它的颜色。

    这是我从上面的答案合并的代码:

    /* Adding the buttons on the edges (if you don't need them, skip the next 4 lines)
     */
    
    .scrollbar {
      -GtkScrollbar-has-backward-stepper: 1;
      -GtkScrollbar-has-forward-stepper: 1;
    }
    
    /* Scrollbar trough squeezes when cursor hovers over it. Disabling that
     */
    
    .scrollbar.vertical:hover:dir(ltr),
    .scrollbar.vertical.dragging:dir(ltr) {
        margin-left: 0px;
    }
    
    .scrollbar.vertical:hover:dir(rtl),
    .scrollbar.vertical.dragging:dir(rtl) {
        margin-right: 0px;
    }
    
    .scrollbar.horizontal:hover,
    .scrollbar.horizontal.dragging,
    .scrollbar.horizontal.slider:hover,
    .scrollbar.horizontal.slider.dragging {
        margin-top: 0px;
    }
    
    /* Slider widens to fill the scrollbar when cursor hovers over it. Making it permanent
     */
    
    .scrollbar.slider.vertical:dir(ltr):not(:hover):not(.dragging) {
        margin-left: 0px;
    }
    
    .scrollbar.slider.vertical:dir(rtl):not(:hover):not(.dragging) {
        margin-right: 0px;
    }
    
    .scrollbar.slider.horizontal:not(:hover):not(.dragging) {
        margin-top: 0px;
    }
    
    
    .scrollbar {
      -GtkRange-slider-width: 15;
    }
    
    .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;
    }
    
    • 0

相关问题

  • 是否可以在 15.10 中使滚动条变宽?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve