Question about GtkScrollbar class in custom themes

5,028

Solution 1

I actually managed to solve my question myself. I will explain here how for those who are interested:

In the folder /usr/share/themes/Zukitwo-Dark/gtk-3.0 edit as root the file gtk-widgets.css. Under /default/ include both lines

-GtkScrollbar-has-forward-stepper: 1;

-GtkScrollbar-has-backward-stepper: 1;

Make sure that the "stepper-size" is set to 13 (not 0)

-GtkRange-stepper-size: 13;

Include the same two lines in the part where is says

.scrollbar {

and also check the stepper-size. Then in the folder /usr/share/themes/Zukitwo-Dark/gtk-2.0 adjust the file "gtkrc": In the Scrollbar part, add

GtkScrollbar    ::has-backward-stepper      = 1

GtkScrollbar    ::has-forward-stepper       = 1

and again check the range:

GtkRange    ::stepper-size          = 13

This should take care of it all and the steppers (arrows) should be back after a logout/login.

Solution 2

Using Ubuntu 14.04, I successfully managed to get back my missing scrollbar arrows using the above information. However, I had to do a few more things.

I had to open System Settings -> Appearance to see which Theme I was using (Which turned out to be Radiance).

Then I had to go to /usr/share/themes and look for the folder that corresponded to the name of my Theme, ie /usr/share/themes/Radiance

Then, remembering to run gedit as root (launch it from a terminal using sudo gedit), I edited 2 files.

File #1

/usr/share/themes/Radiance/gtk-3.0/gtk-widgets.css

Search for "GtkRange-stepper-size" & you will find 1 instance. Check that it has a value of 13 (as below)

-GtkRange-stepper-size: 13;

then paste in these 2 lines directly below it:

-GtkScrollbar-has-forward-stepper: 1;
-GtkScrollbar-has-backward-stepper: 1;

Search for ".scrollbar," Then add the 3 lines, so it looks like this:

.scrollbar,
.scrollbar.vertical {
    -GtkScrollbar-has-backward-stepper: 1;
    -GtkScrollbar-has-forward-stepper: 1;
    -GtkRange-stepper-size: 13;
    -GtkRange-slider-width: 14;
    border-radius: 20px;
    border-image: none;

Save gtk-widgets.css and then open

File #2

/usr/share/themes/Radiance/gtk-2.0/gtkrc

search for "::stepper-size" & you will only find 1 instance

Check that it has a value of 13 (as below):

GtkRange::stepper-size = 13

7 or 8 lines below it you will find the GtkScrollbar entries:

GtkScrollbar::activate-slider = 1
GtkScrollbar::trough-border = 0
GtkScrollbar::slider-width = 13
GtkScrollbar::min-slider-length = 31

add the 2 lines below, so it looks like this:

GtkScrollbar::activate-slider = 1
GtkScrollbar::trough-border = 0
GtkScrollbar::slider-width = 13
GtkScrollbar::min-slider-length = 31
GtkScrollbar::has-backward-stepper = 1
GtkScrollbar::has-forward-stepper = 1

Then save both files.

#

For the record, I turned on normal scrollbars using this command from a standard user terminal (run it as your own user account, as it is your settings that you want to change):

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

I also turned on the Location Bar using:

gsettings set org.gnome.nautilus.preferences always-use-location-entry  true

and set Nautilus to always have a Delete button using:

gsettings set org.gnome.nautilus.preferences enable-delete  true

Don't forget to log off & log back on again for all your changes to show up.

Justin

Share:
5,028

Related videos on Youtube

Willem van Gerven
Author by

Willem van Gerven

Updated on September 18, 2022

Comments

  • Willem van Gerven
    Willem van Gerven over 1 year

    I very much like to use the Zukitwo theme as an alternative over the standard Ambiance theme, it is to my taste more easy on the eyes.

    However, the theme takes away the scrollbar arrows or "steppers" (which are normally part of the scrollbars in e.g. thunderbird and firefox in the Ambiance theme).

    I found this information: https://live.gnome.org/GnomeArt/Tutorials/GtkThemes/GtkScrollbar and was looking around in the gtk stylesheets of the theme:

    /usr/share/themes/Zukitwo-Dark/gtk-3.0/gtk-widgets.css

    but I have no experience at all in editing themes to get the arrows back in place again. I was trying to put in there the "GtkScrollbar-has-forward-stepper" and "GtkScrollbar-has-backward-stepper" commands set to "1", but with no effect after reboot.

    Could someone perhaps point out to me what tweaks to make to reinstate the scrollbar arrows? I would be happy to learn more about this!

    All help is much appreciated!

  • Alexis Wilke
    Alexis Wilke over 10 years
    That worked! Although I'm using a theme named Adwaita because it works best for me (old X11 look like I had under IRIX). However, that theme did NOT have any gtk-widgets.css file. I think it should have one though. But I instead edited the said file of Ambiance and Radiance and the steppers appeared! I think that Gnome uses the last gtk-widgets.css file it found and when you switch to a theme where it is missing, that last one, whatever it was, has "side effects" on your current theme.
  • Elder Geek
    Elder Geek almost 10 years
    Welcome to askubuntu! Thanks for helping! Can you define "above instructions" in your answer? The positioning of answers is based on user feedback, and the order is not static.
  • raddevus
    raddevus over 4 years
    Fantastic! That worked on Ubuntu 18.04.4 LTS. Thanks, so much. I had posted this question at : askubuntu.com/questions/1213948/…