1

Ever since the hateful and buggy "overlay scrollbars" appeared, I disabled them and used "normal" scrollbars, so I am glad the overlay ones are finally gone in 15.10.

However, I don't like the new 15.10 scrollbars either. They are super thin when they are "idle", and even when you roll over them and they become thicker, they are still annoyingly thin. I can appreciate the advantage of that on devices with a small screen, but on regular computer screens with plenty of space it's just annoying (annoying that they hide, and annoying that it takes so much precision to click and drag them).

Is there a setting somewhere to have the traditional, full-width, never-hiding scrollbars?

matteo
  • 2,491

2 Answers2

1

I can still remember the happiness I felt, when I read that those horrible "overlay scrollbars" were to be abolished with Ubuntu 15.10.

However, like you, I too hate the new "half-width scrollbars" with just the same passion.

The solution came to me, as I stumbled over the following askubuntu.com posting:
Is it possible to make the scrollbars wider in 15.10?

... to disable the new scrollbars, I then did the following:

  • sudo editor /usr/share/themes/Ambiance/gtk-3.0/gtk-widgets.css
  • modified the following entries inside the .scrollbar{} selector
    1. the has-xxx-stepper settings determine if the scrollbar arrows are shown:
      -GtkScrollbar-has-backward-stepper: 1;
      -GtkScrollbar-has-forward-stepper: 1;
    2. mouse hover color effects can be disabled by adding a default background-color: background-color: @scrollbar_track_color;
    3. the width of the scrollbar thumb can be adjusted by modifying the -GtkRange setting:
      -GtkRange-slider-width: 13;
  • hovering effects for vertical scrollbars can be disabled by changing the margin-left and margin-right settings for .scrollbar.vertical and .scrollbar.slider.vertical to 0px;
  • hovering effects for horizontal scrollbars can be disabled by changing the margin-top setting for .scrollbar.horizontal:hover and .scrollbar.slider.horizontal:... to 0px;

With this I can now enjoy constant-width scrollbars once again: enter image description here

Edit: Just to make everything clear, here is a diff of all the changes I made:

diff /usr/share/themes/Ambiance/gtk-3.0/gtk-widgets.css /usr/share/themes/Ambiance/gtk-3.0/gtk-widgets.ori.css 
1139,1140c1139,1140
<     -GtkScrollbar-has-backward-stepper: 1;
<     -GtkScrollbar-has-forward-stepper: 1;
---
>     -GtkScrollbar-has-backward-stepper: 0;
>     -GtkScrollbar-has-forward-stepper: 0;
1143c1143
<     -GtkRange-slider-width: 13;
---
>     -GtkRange-slider-width: 10;
1147d1146
<     background-color: @scrollbar_track_color;
1167c1166
<     margin-left: 0px;
---
>     margin-left: 2px;
1172c1171
<     margin-right: 0px;
---
>     margin-right: 2px;
1179c1178
<     margin-top: 0px;
---
>     margin-top: 2px;
1197c1196
<     margin-left: 0px;
---
>     margin-left: 7px;
1201c1200
<     margin-right: 0px;
---
>     margin-right: 7px;
1205c1204
<     margin-top: 0px;
---
>     margin-top: 7px;
  • -GtkRange-slider-width: 13; I assume you mean the one inside .scrollbar{} (there are other occurrences). Now, almost there. The scrollbar still disappears when the mouse stays still for a few seconds. The difference is that, instead of having to move it over or near to the scrollbar, you just need to move the mouse wherever. Is it possible to not have the scrollbar hide at all? Also, still missing the up and down arrow buttons. – matteo Feb 12 '16 at 23:02
  • 1
    Yes, I meant the -GtkRange-slider-width setting inside .scrollbar{}. Also you're right in that, technically, the suggested changes only result in a constant with scrollbar thumb (while the scrollbar itself is still only visible if the mouse is hovering above it). I admit that, viewed in this light, the above is still not a complete solution. However, I think it works well enough, even though the question on how to reenable the up and down buttons is still open ... anybody up for the challenge? – Michael Stumpfl Feb 13 '16 at 08:34
  • (while the scrollbar itself is still only visible if the mouse is hovering above it) yeah that's another limitation though I guess that could be fixed. What I was saying is that even the scrollbar thumb disappears when you don't move the mouse; I wonder if that can be fixed too.... – matteo Feb 13 '16 at 13:12
  • (even the scrollbar thumb disappears when you don't move the mouse) I'm sorry, but I can't reproduce this problem. During my last edit I added a screenshot of Gnome's overlay scrollbars after having applied all of the suggested changes – they now really are behaving like they should, I think. – Michael Stumpfl Feb 13 '16 at 21:57
  • One last thought with regard to your question about invisible scrollbars: can you please make sure that a global `GTK_OVERLAY_SCROLLING=0' environment variable is defined on your system? (This could be done in /etc/environment, for example.) – Michael Stumpfl Feb 13 '16 at 22:46
1

Note that you don't have to edit the system file you can also just put the relevant settings in $HOME/.config/gtk-3.0/gtk.css