如何更改滚动条的颜色?


20

Unity中的滚动条对比度很低,我看不到该条仅在使用外围视觉的地方。我必须看一下滚动条。

查看Mac OS X界面,注意蓝色的对比滚动条。您无需直接查看它即可知道您在页面中的位置。

如何更改它以使其具有更大的对比度,并且每次都能看到自己的位置?


1
@culebrón 这是您的屏幕截图,带有径向模糊和“不可见”滚动条。如果需要,我会让您将其添加到您的问题中。
汤姆·布鲁斯曼

@culebrón 这个问题可能是您面临的问题吗?
布鲁诺·佩雷拉

2
相关的错误报告:错误#563474
Christopher Kyle Horton

建议SE网站使用不合适的问题:为什么开发人员认为如此低对比度的滚动条是好的UI?
Neuronet

Answers:


19

有点晚了,但是也许我找到了一个很好的,简单的GUI解决方案:

侏儒颜色选择器 安装gnome-color-chooser

Gnome颜色选择器中的滚动条设置

强调:

  • 完全的GUI解决方案,无需手动摆弄 ~/.gtkrc
  • 仅更改您检查的设置。取消选中它们将还原为默认值。
  • 单击即会应用更改Apply。无需来回切换主题
  • 无需sudo(但更改仅针对您的用户)
  • 仅适用于“旧版”滚动条(需要固定的滚动条)。“覆盖”滚动条未修改。

所做的更改并不引人注目:它会编辑(或创建)~/.gtkrc以包含其自己的配置文件:

include ".gtkrc-2.0-gnome-color-chooser"

该文件也很苗条:

style "gnome-color-chooser-scrollbar"
{
  bg[NORMAL] = "#ACACAC"
  bg[PRELIGHT] = "#808080"
  bg[ACTIVE] = "#ACACAC"
}
widget_class "*Scrollbar" style "gnome-color-chooser-scrollbar"

顺便说一句,我从实验中选择了上述颜色。它们与Ambiance的“单色光泽”风格很好地融合在一起,比默认颜色略暗(因此更明显)。

在Firefox获得覆盖滚动条之前,我对自定义颜色非常满意:)


在Unity Ubuntu 14.04中对此进行了尝试,它对到目前为止我注意到的滚动条(包括重启后)没有影响。
Neuronet

@neuronet:是的,我已经注意到它在最新版本的Firefox(45或47)中停止工作
MestreLion

为什么这种崩溃不能使Unity开发人员仅将其设置为系统设置的重要组成部分?我为此烦恼的时间本来可以开发一个新的OS。:)
Neuronet

11

我以库勒布朗的描述为基础,并偶然创造了一些我认为非常棒的东西...

/usr/share/themes/Ambiance/gtk-2.0/gtkrc以root身份打开以进行修改:

gksu gedit /usr/share/themes/Ambiance/gtk-2.0/gtkrc

然后将该文件中的匹配部分修改为以下内容(请记住备份默认设置,以防您不喜欢更改):

style "scrollbar" = "button" {
    xthickness = 2
    ythickness = 2

    bg[NORMAL] = shade (0.62, @bg_color)
    bg[PRELIGHT] = shade (0.66, @bg_color)

    bg[ACTIVE] = shade (0.64, @bg_color)

    engine "murrine"
    {
        border_shades = {0.95, 0.90}
        roundness = 3
        contrast = 1.0
        trough_shades = {0.92, 0.98}
        lightborder_shade = 1.3
        glowstyle = 5
        glow_shade = 1.02
        gradient_shades = {1.2, 1.0, 1.0, 0.86}
        trough_border_shades = {0.9, 0.98}
    }
}

保存,然后通过切换主题或注销应用更改。

新的,棒的和可用的滚动条可能看起来像:


由于某些原因,这样做根本不会影响终端滚动条。我什至在玩弄,/usr/share/themes/Ambiance/gtk-2.0/apps/gnome-terminal.rc但没有喜悦!
adarshr 2012年

抱歉,我对主题的理解还不够熟悉,无法帮助您使用终端的滚动条。希望其他人可以提出解决方案。:)
askuhn 2012年

9

上面的内容更改了使用gtk2主题文件的应用程序的滚动条。gnome-color-chooser也是如此(至少与当前存储库中的一个一样)。对于gtk3应用程序,例如使用gnome-fallback的13.04中的gnome-terminal和gedit,需要更改/usr/share/themes/Ambiance/gtk-3.0/gtk-widgets.css

去做这个

sudo gedit /usr/share/themes/Ambiance/gtk-3.0/gtk-widgets.css

并用以下* scrollbar *内容替换该部分:

/*************
 * scrollbar *
 *************/
.scrollbar,
.scrollbar.vertical {
    -GtkScrollbar-has-backward-stepper: 0;
    -GtkScrollbar-has-forward-stepper: 0;
    -GtkRange-slider-width: 14;

    border-radius: 3px;

    border-image: none;
}

.scrollbar.trough,
.scrollbar.trough.vertical {
    border-color: shade (@bg_color, 0.64);
}

.scrollbar.trough.horizontal {
}

.scrollbar.slider,
.scrollbar.slider:hover,
.scrollbar.button,
.scrollbar.slider.vertical,
.scrollbar.slider.vertical:hover,
.scrollbar.button.vertical {
    border-width: 1px;
    border-style: solid;
    border-color: shade (@bg_color, 0.4);
    background-image: -gtk-gradient (linear, left top, right top,
                                     from (shade (@button_bg_color, 0.76)),
                                     to (shade (@button_bg_color, 0.62)));
    box-shadow: inset 1px 0 shade (@button_bg_color, 0.85),
                inset -1px 0 shade (@button_bg_color, 0.62),
                inset 0 1px shade (@button_bg_color, 0.9),
                inset 0 -1px shade (@button_bg_color, 0.62);
}

.scrollbar.slider.horizontal,
.scrollbar.slider.horizontal:hover,
.scrollbar.button.horizontal {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@button_bg_color, 0.76)),
                                     to (shade (@button_bg_color, 0.62)));
    box-shadow: inset 1px 0 shade (@button_bg_color, 0.85),
                inset -1px 0 shade (@button_bg_color, 0.62),
                inset 0 1px shade (@button_bg_color, 0.9),
                inset 0 -1px shade (@button_bg_color, 0.62);

}

.scrollbar.button,
.scrollbar.button:insensitive {
}

这在gtk3中提供了一个滚动条,如下所示:

http://i.stack.imgur.com/m385G.png

与上面的gtk2类似。但是,这里没有包括小的刻度线和适当的步进器。


可以在14.04终端上运行,谢谢。
markdsievers 2014年

3
这对于像Firefox 46及更高版本的gtk3应用程序非常有用。可以将更改添加到〜/ .config / gtk-3.0 / gtk.css中,而不用修改原始主题文件,从而在保留原始文件的同时为每个用户提供自己的首选外观。
yoyoma2 '16

8

找到了解决方案:sudo并打开/usr/share/themes/Ambiance/gtk-2.0/gtkrc并找到以下代码:

style "scrollbar" = "button" {

在花括号下方,将bg [SOMETHING]行更改为:

    bg[NORMAL] = @selected_bg_color
    bg[PRELIGHT] = shade (1.04, @selected_bg_color)

    bg[ACTIVE] = shade (0.96, @selected_bg_color)

或查看文件第1行中声明的颜色,然后选择所需的颜色。要更新外观,请在“系统设置/外观”中将主题更改为另一主题,然后返回到“氛围”。

编辑:似乎Xterm使用“辐射”主题。“光辉”中的滚动条是黑底黑字的,只是不可见。太时尚了,是的!也需要编辑该主题。


请您提交错误报告以通知开发人员-我们需要可配置的滚动条颜色,您的用例将对此进行突出显示。谢谢。
fossfreedom

@fossfreedom,我认为您可以从“ Unity滚动条”中删除“ Unity”,因为我认为OP指的是例如我们在LibreOffice和Firefox中看到的常规滚动条(gtk-2.0)。将“ Unity”保留在原位可能会给人以为是正在谈论的“新”覆盖滚动条。

@ vasa1-我让OP回答这个问题……
fossfreedom

最好在用户目录而不是系统范围内进行此修改
Jorge Castro

1

尽管不是直接解决问题的方法,但是如果您不喜欢新的滚动条(我不怪您,我个人认为它们非常可怕),则可以通过运行以下命令来还原为标准滚动条:

sudo apt-get remove overlay-scrollbar liboverlay-scrollbar3-0.2-0 liboverlay-scrollbar-0.2-0

由于编辑帮助,OP可能与常规滚动条有关,与覆盖滚动条无关/usr/share/themes/Ambiance/gtk-2.0/gtkrc

我对他们还好,它们看起来很时尚,但是“时尚”的东西显然在这里过分了,以可用性为代价。所有小写​​字母或大写字母“ ubuntu”的书写方式也是如此。棍子越少伸出线,可读性越差。
culebrón

问题显然是关于常规(或“旧式”)滚动条的,因为那是对比度很差的滚动条。您可能喜欢或不喜欢新的叠加样式,但是它的橙色薄层至少在灰色上具有适当的对比度。
MestreLion

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.