Ubuntu 16.10 滚动条宽度

Ubuntu 16.10 滚动条宽度

更新到 16.10 后,所有应用程序中的滚动条大小都增加了。我真的习惯了 2px 滚动条的想法。有没有办法可以减少新滚动条的宽度?

答案1

@WinEunuuchs2Unix

OP 没有询问 Amiance,OP 在 16.10 请求帮助。你甚至没有问正在考虑哪个桌面或主题。

鼓励用户编辑 /usr/share/themes 中的文件是一个非常糟糕的主意。首先,当软件包升级时,他们的更改将会丢失。其次,一个用户(以 root 身份)所做的更改可能会对其他用户造成危害。第三,通过编辑 ~/.config/gtk-3.0 中的文件也可以获得相同的更改。

我认为这个答案更好。GTK-3.20 主题的格式已更改。许多主题没有用户可编辑的文件。此外,CSS 样式也已更改。

gtk-3.20 提供的主题有

Adwaita
HighContrast
Raleigh
win32

如何自定义这些内容大部分都是未知领域,但我取得了一些成功。这些主题提供的 gtk.css 文件不可编辑,或者没有用处。但是,您可以检索 gtk-3.20 源代码,在 Adwaita 主题中,有一个名为 gtk-contained.css 的文件。它显示了当前使用的 CSS 语法。

将您想要的尽可能多的语法复制到名为 ~/.config/gtk-3.0/gtk.css 的文件中。如果您在其中编辑设置,那么使用基于 gtk-3.20 的主题的程序将注意到这些变化。

坏消息是,由于较新的 GTK-3.20 中 CSS 样式的变化,我们过去在 Gnome 16.04 中所做的配置更改不再有效。

但我已经验证过,通过调整这里的设置,然后重新启动 Firefox,我可以改变滚动条的颜色、添加步进箭头等等。我在调整滚动条宽度方面运气不佳,这是覆盖滚动条的残留挫败感。

但是,只要您看到语法差异,您就会明白为什么现在摆弄主题与当时不同。

 scrollbar {
    background-color: #c3c4c4;
    transition: 300ms cubic-bezier(0.25, 0.46, 0.45, 0.94); }
 * {
     -GtkScrollbar-has-backward-stepper: true;
     -GtkScrollbar-has-forward-stepper: true; }
 scrollbar.top {
     border-bottom: 1px solid #9d9d99; }
 scrollbar.bottom {
     border-top: 1px solid #9d9d99; }
 scrollbar.left {
     border-right: 1px solid #9d9d99; }
 scrollbar.right {
     border-left: 1px solid #9d9d99; }
 scrollbar:backdrop {
     background-color: #e1e1df;
     border-color: #a5a5a1;
     transition: 200ms ease-out; }
 scrollbar slider {
     min-width: 30px;
     min-height: 30px;
     margin: -1px;
     border: 4px solid transparent;
     border-radius: 8px;
     background-clip: padding-box;
     background-color: #787c7d; }
 scrollbar slider:hover {
       background-color: #535859; }
 scrollbar slider:hover:active {
     background-color: #2a76c6; }
 scrollbar slider:backdrop {
     background-color: #c3c4c4; }
 scrollbar slider:disabled {
     background-color: transparent; }
 scrollbar.fine-tune slider {
     min-width: 4px;
     min-height: 4px; }
 scrollbar.fine-tune.horizontal slider {
     border-width: 5px 4px; }
 scrollbar.fine-tune.vertical slider {
     border-width: 4px 5px; }
   scrollbar.overlay-indicator:not(.dragging):not(.hovering) {
       border-color: transparent;
       opacity: 0.4;
       background-color: transparent; }
   scrollbar.overlay-indicator:not(.dragging):not(.hovering) slider {
       margin: 0;
       min-width: 3px;
       min-height: 3px;
       background-color: #2e3436;
       border: 1px solid white; }
     scrollbar.overlay-indicator:not(.dragging):not(.hovering) button {
       min-width: 5px;
       min-height: 5px;
       background-color: #2e3436;
       background-clip: padding-box;
       border-radius: 100%;
       border: 1px solid white;
       -gtk-icon-source: none; }
     scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal slider {
       margin: 0 2px;
       min-width: 40px; }
     scrollbar.overlay-indicator:not(.dragging):not(.hovering).horizontal button {
       margin: 1px 2px;
       min-width: 5px; }
     scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical slider {
       margin: 2px 0;
       min-height: 40px; }
     scrollbar.overlay-indicator:not(.dragging):not(.hovering).vertical button {
       margin: 2px 1px;
       min-height: 5px; }
   scrollbar.overlay-indicator.dragging, scrollbar.overlay-indicator.hovering {
     opacity: 0.8; }
   scrollbar.horizontal slider {
     min-width: 40px; }
   scrollbar.vertical slider {
     min-height: 40px; }
   scrollbar button {
     padding: 0;
     min-width: 42px;
     min-height: 12px;
     border-style: none;
     border-radius: 0;
     transition-property: min-height, min-width, color;
     border-color: transparent;
     background-color: transparent;
     background-image: none;
     box-shadow: inset 0 1px rgba(255, 255, 255, 0);
     text-shadow: none;
     -gtk-icon-shadow: none;
     color: #787c7d; }
     scrollbar button:hover {
       border-color: transparent;
       background-color: transparent;
       background-image: none;
       box-shadow: inset 0 1px rgba(255, 255, 255, 0);
       text-shadow: none;
       -gtk-icon-shadow: none;
       color: #535859; }
     scrollbar button:active, scrollbar button:checked {
       border-color: transparent;
       background-color: transparent;
       background-image: none;
       box-shadow: inset 0 1px rgba(255, 255, 255, 0);
       text-shadow: none;
       -gtk-icon-shadow: none;
       color: #2a76c6; }
     scrollbar button:disabled {
       border-color: transparent;
       background-color: transparent;
       background-image: none;
       box-shadow: inset 0 1px rgba(255, 255, 255, 0);
       text-shadow: none;
       -gtk-icon-shadow: none;
       color: rgba(120, 124, 125, 0.2); }
     scrollbar button:backdrop {
       border-color: transparent;
       background-color: transparent;
       background-image: none;
       box-shadow: inset 0 1px rgba(255, 255, 255, 0);
       text-shadow: none;
       -gtk-icon-shadow: none;
       color: #c3c4c4; }
       scrollbar button:backdrop:disabled {
         border-color: transparent;
         background-color: transparent;
         background-image: none;
         box-shadow: inset 0 1px rgba(255, 255, 255, 0);
         text-shadow: none;
         -gtk-icon-shadow: none;
         color: rgba(195, 196, 196, 0.2); }
   scrollbar.vertical button.down {
     -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); }
   scrollbar.vertical button.up {
     -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); }
   scrollbar.horizontal button.down {
     -gtk-icon-source: -gtk-icontheme("pan-right-symbolic"); }
   scrollbar.horizontal button.up {
     -gtk-icon-source: -gtk-icontheme("pan-left-symbolic"); }

在我的 Ubuntu 16.10 中,我没有 Ambiance 主题可供比较,我没有运行 Unity。我会获取其源代码的副本并查看。

啊,如果用户确实想按照您描述的那样编辑 Ambiance gtk-widgets.css,那么格式与您描述的不同。请注意文件 /usr/share/themes/Ambiance/gtk-3.20/gtk-widgets.css 中的语法差异

/*************
 * scrollbar *
 *************/

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

scrollbar slider {
    background-color: @scrollbar_track_color;
}

.scrollbar.vertical slider,
    scrollbar.vertical slider {
    min-height: 15px;
    min-width: 5px;
}

.scrollbar.horizontal.slider,
scrollbar.horizontal slider {
    min-width: 15px;
    min-height: 5px;
}

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

注意样式的差异,新的样式首先有一个“。”声明,然后是实例名称。

新的 Ambiance 包也确实有使用旧样式的 gtk-3.0/gtk-widgets.css。它看起来像您提到的那个。因为版本 3.20 实际上更像版本 4.00,所以您可以看到为什么有 2 个单独的样式文件夹。

我认为棘手的想法是某些应用程序是否能够区分这两件事。

相关内容