146

It looks like Ubuntu 11.04 will come with overlay scrollbars by default. I do like them, but I don't like the current mix of scrollbar types as many applications don't yet use those overlay scrollbars.

Is there a way to disable overlay scrollbars (without removing the overlay-scrollbar package)?

0

12 Answers 12

137

In 12.04 LTS there's a slightly cleaner way to do it. Just run

gsettings set org.gnome.desktop.interface ubuntu-overlay-scrollbars false

in a terminal. Apps opened afterwards will have the non-ayatana scrollbar.

To get the default behavior back, run

gsettings reset org.gnome.desktop.interface ubuntu-overlay-scrollbars

If you are using 12.10 or later, run

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

And to return to the default, run

gsettings reset com.canonical.desktop.interface scrollbar-mode
8
  • 1
    In 13.10 only the first one worked for me.
    – Pointy
    May 21 '14 at 21:00
  • 1
    Thx! That was wonderful to get rid of that crap! :-)
    – JohnyTex
    May 5 '15 at 15:12
  • Does not work on 14.04. htorque's answer does though. Jan 9 '16 at 16:26
  • 1
    Doesn't work for me in 15.10. No such schema 'com.canonical.desktop.interface' Mar 21 '16 at 15:38
  • 1
    In 16.04 LTS: No such key 'ubuntu-overlay-scrollbars'
    – Calmarius
    Nov 4 '16 at 16:33
68

You can disable the scrollbars either

4
  • 11
    Just one user: echo export LIBOVERLAY_SCROLLBAR=0 >> ~/.xprofile (note that the double '>>' is important, it means "append"). To add for all users: echo export LIBOVERLAY_SCROLLBAR=0 | sudo tee -a /etc/X11/Xsession.d/99disable-overlay-scrollbars
    – sladen
    Jun 23 '11 at 12:17
  • While this seems to have no effect for me (Ubuntu 12.04 with LXDE -- and yes, X was restarted after that change), Erigami's variant worked excellent. Just as a hint to try the other if one doesn't work :)
    – Izzy
    Jun 25 '13 at 6:14
  • For 15.10 and 16.04 the variable is named differently.
    – Ruslan
    May 23 '17 at 14:23
  • I remember that when I still used Unity desktop environment, I had to use this workaround to fix a scrollbar bug on Geany: alias geany="LIBOVERLAY_SCROLLBAR=0 geany"
    – baptx
    Oct 23 '18 at 14:50
30

You can remove the scrollbars completely by typing

sudo apt-get remove overlay-scrollbar liboverlay-scrollbar
4
  • 4
    This is a merged in answer to deal with people who are happy with deleting the packages. It may well be a simpler fix.
    – Oli
    Jun 7 '11 at 11:49
  • 1
    Warning: Don't try this on 13.10! Aug 29 '14 at 0:24
  • @Chan-HoSuh - why? (at a guess it may try and remove Unity etc, so loook at what the packages try to remove first).
    – Wilf
    Jul 22 '15 at 16:06
  • 2
    'liboverlay-scrollbar' does not exist in Ubuntu 15.10, so you cannot remove it
    – MrSmith42
    Feb 17 '16 at 9:53
18

Just disabling or removing the overlay-scrollbars as described by the other answers will get you back the scroll bars, but they will be missing the stepper buttons at the end of the bars because they have been disabled in the Ambiance theme. To re-enable them, put the following in the ~/.gtkrc-2.0 file:

style "default" {
  engine "murrine" {
    stepperstyle = 0
  }
}

and the following into the file ~/.config/gtk-3.0/gtk.css:

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

Usually, restarting the applications is enough for the changes to apply.

5
  • To make the stepper buttons better-looking, add this to .scrollbar: -GtkRange-slider-width: 16; -GtkRange-stepper-size: 17; Aug 21 '12 at 7:56
  • Thanks, this restores the steppers for me, but is there an easy way to fix the contrast on the scrollbars so they're not a totally unusable black on black? Sep 22 '12 at 14:34
  • That worked for me. I'm just surprised by the "murrine". Wondering whether that really applies to me. I thought I had metacity, or is metacity yet something else than the "engine"? Oct 14 '12 at 2:27
  • This doesn't seem to have done anything for me. Is it because I'm running Cinnamon? Or do I need to restart for it to take effect? May 6 '14 at 18:20
  • @PaulBrannan Uhh, that is a really old answer. I would be surprised if it was directly applicable, in particular to the Cinnamon desktop... May 9 '14 at 20:39
5

Simply use utility dconf-editor or gconf-editor. If it is not already present you can install this from Ubuntu Software Center.

This utility is like Windows registry-editor where you can tweak system settings. From entry org > gnome > Desktop > Applications.you find an item named ubuntu-overlay-scrollbars. Toggle the item off, logout/login and you're ready.

1
  • The path is org > gnome > desktop > interface in Ubuntu 14 but it doesn't work anyway. Oct 13 '16 at 4:38
4

In Ubuntu 12.04 you can just install Ubuntu Tweak and the option to disable the vertical overlay scrollbar is in Tweaks -> Miscellaneous. You'll need to log-off or reboot for the changes to take effect.

If you want the overlay scrollbar back at some point, you just go and enable it back again in the app. In addition you get a large number of tweaks at your disposition. I'd say this is the easiest way to achieve this.

1
4

Maybe you're talking about ayatana scrollbar!

in the case that you want to have the old scrollbar style you only need to use the next command:

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

enter image description here

3

Try the following:

echo "export LIBOVERLAY_SCROLLBAR=0" > /etc/X11/Xsession.d/80overlayscrollbars

You'll probably need to log off once.

More information / ideas can be found here.

3
  • pavlos G. beat me to it. The info is also confirmed here and here Jun 7 '11 at 11:38
  • Thanks for this, guys. As I absolutely despise the overlay scrollbars, I'll accept the answer that removes the packages, but I'm sure this info will be useful to others. Jun 7 '11 at 11:44
  • 1
    Careful with the single >, it will cause the file to be overwritten if it already exists (and thus destroy all previous changes). Better use >> instead to append the new setting.
    – Izzy
    Jun 25 '13 at 6:21
3

On 15.10 wily (libgtk-3-0) this worked for me:

export GTK_OVERLAY_SCROLLING=0
3
  • 1
    I tried this and it doesn't work for me, though I inserted this into .xprofile as well. Does it really work for you? In which application you can see it take effect?
    – Nicolas
    Mar 9 '16 at 23:29
  • Where should this code be put?
    – A.L
    Apr 22 '16 at 23:48
  • This still works well for me on Xubuntu 18.04. To disable overlay scrollbars globally, put this line into a (new) file like /etc/X11/Xsession.d/99disable-overlay-scrollbars.
    – Ruslan
    Jun 11 '19 at 10:21
1

When you try to uninstall liboverlay-scrollbar doesn't find it! To get rid of the transparent bars was easily fixed. I use leafpad.

Open a terminal :

  1. gksudo leafpad /etc/X11/Xsession.d/99disable-overlay-scrollbars
  2. Put your password in.
  3. Type export LIBOVERLAY_SCROLLBAR=0
  4. Save, Exit and reboot.

No more overlay slidebars or transparent slidebars.

0
0

Enabling classic/old style scrollbars

For Ubuntu 14.x there are two ways:

Just use command:

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

Or install Unity Tweak Tool.

sudo apt-get install unity-tweak-tool

Go to System > Scrollbars and set to Legacy.

Changing colors and appearance

After one of these two steps, you can further enhance the look of scrollbars if you are using default Ambiance theme. To do this, fire up (if you don't have sublime editor then replace it with whatever editor you are using like nano or gedit).

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

Press Ctrl+F and type .scrollbar to find style section for scrollbars. Mine looks like below (annotated with /* MODIFIED ... / comments below):

.scrollbar,
.scrollbar.vertical {
    /* MODIFIED: next 3 lines */
    -GtkScrollbar-has-backward-stepper: 1;
    -GtkScrollbar-has-forward-stepper: 1;
    -GtkScrollbar-stepper_size = 14;
    -GtkRange-slider-width: 14;
    border-radius: 20px;
    border-image: none;
}

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

.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.86);
    /* MODIFIED: next 1 line */
    background-image: -gtk-gradient (linear, left top, right top,
                                     from (shade (@dark_bg_color, 1.08)),
                                     color-stop (0.5, @dark_bg_color),
                                     to (shade (@dark_bg_color, 0.94)));
    box-shadow: inset 1px 0 shade (@bg_color, 1.1),
                inset -1px 0 shade (@bg_color, 1.01),
                inset 0 1px shade (@bg_color, 1.1),
                inset 0 -1px shade (@bg_color, 1.1);
}

Final result:

enter image description here

-1

I was able to get rid of the overlay scrollbars using dconf-editor, by setting:

com.canonical.desktop.interface.scrollbar-mode='normal'

(Caveat, not sure about stepper buttons.)

Intuitively, if 'off' is normal, shouldn't it be the default? Someone deemed 'overlay-auto' the default. Just thankful to be rid of this horrifically unhelpful 'feature'. It cost me about two hours to find a solution. Hope to resolve the stepper-buttons issue based on the above information (thank you).

1
  • This is a combination of other answers already posted here.
    – stumblebee
    Feb 19 '18 at 1:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.