You are not logged in.
If you thought the Linux desktop got things right the first time and shouldn't have been changed, you're in the right place. The Devuan Excalibur live ISO sets a lot of things to the way they were for everyone twenty years ago but aren't in a lot of distros today.
A lot of people use custom setups or respins, however, so they might not see the same defaults. Based on a conversation today with fsmithred, I thought the following on how such things are set might be helpful:
Scrollbars that vanish when your mouse isn't moving over the right window
GTK calls these "overlay scrollbars", and their intended benefit is saving screen real-estate for people who only scroll with a scroll-wheel or track-pad gesture anyway, but they force you to take actual action to see where you are in list or document rather than having an always-visible slider, and if you're the type that actually does click on scrollbars, they are really annoying.
This is solved by default in Devuan Excalibur because a package to change the default behavior is recommended by the default theme, but if you don't have it simply
apt install gtk3-nooverlayscrollbarWhat this package actually does is introduce the environment variables
GTK_OVERLAY_SCROLLING=0
LIBOVERLAY_SCROLLBAR=0into your X session, so you can also set those yourself or add them to a custom Wayland session.
Scrollbars that jump many pages when you click the wrong place
GTK themes can contain general GTK settings. Devuan Excalibur's theme contains a settings.ini containing the line
gtk-primary-button-warps-slider = falseThis makes the scrollbar only scroll by one page if you left-click it somewhere other than the handle.
If you want this behavior all the time and not just when you're using Excalibur's default theme, simply create ~/.config/gtk-3.0/settings.ini and add the same line to it.
Titlebars that don't follow theming and have random widgets in the way of clicking and dragging
This is called "client-side decoration". It's what web browsers use to display tabs at the very top of the screen where you can just bounce your mouse off the wall and grab them (assuming no top panel), but they're also being used these days in a wild number of places where they provide no benefit unless you consider breaking theming a benefit.
This is already solved by default in Devuan Excalibur because a package to change the behavior is recommended by the default theme, but if you don't have it, simply
apt install gtk3-nocsdThis should automatically configure things to not draw their own ugly titlebars... unless they're GTK4 GNOME apps where that is a core feature. (For a detailed explanation of how this actually works read /usr/share/doc/gtk3-nocsd/README.Debian)
If you've set up a custom session (eg. Xfwl4) where the behavior still isn't right simply
export GTK_CSD=0And if you think a particular application, for example Firefox, is responsible enough to draw a custom titlebar in a useful way, you can override the behavior for a single application by starting it like this:
GTK_CSD=1 firefoxor in a .desktop file:
sh -c "GTK_CSD=1 firefox"Toolbar/sidebar icons that are colorless black outlines
Correction: Excalibur's default theme fixes this too.
GTK3 recognizes two separate classes of icons "regular" and "symbolic". The idea is that even at the same icon size there's a difference between a recognizable shape that represents something, like you might see in a toolbar, and an actual full pictograph of the same thing, like you might see in your file manager. A lot of icon themes, including Excalibur's default one, do not provide symbolic icons, so when programs request them, the system pulls default versions from Adwaita that look like the black line art on highway warning signs.
If that's your cup of tea, great, but if you prefer being able to tell items apart by color as well as shape and don't want to set up a different icon theme, it's possible to edit your favorite GTK theme to use CSS that sets everything to "regular" the way it used to be. Devuan Excalibur's default theme, for example, does this. Just put the following in ~/.themes/YourFavoriteTheme/gtk-3.0/gtk.css:
* { -gtk-icon-style: regular }This is, of course, specifically for GTK applications, and will not affect Qt applications like Krita that are also fond of toolbars that distinguish things by shape alone and not color.
Last edited by Uityyy (2026-07-09 00:33:18)
~ Start theming my apps ~
Offline
Scrollbars that jump many pages when you click the wrong place
GTK themes can contain general GTK settings. Devuan Excalibur's theme contains a settings.ini containing the line
gtk-primary-button-warps-slider = falseThis makes the scrollbar only scroll by one page if you left-click it somewhere other than the handle.
If you want this behavior all the time and not just when you're using Excalibur's default theme, simply create ~/.config/gtk-3.0/settings.ini and add the same line to it.
Thanks for posting this! The same setting works on Daedalus also. Note that if you're creating a settings.ini file, that code should be in a "[Settings]" group, like so:
[Settings]
gtk-primary-button-warps-slider = falseOtherwise you'll get a gtk warning, failed to parse settings.ini: Key file does not start with a group.
Offline
Nice!
Thanks! ๐ช
Offline
Thanks! Most helpful!
Offline
I have the following in my ~/.config/gtk-3.0/gtk.css (which is actually symlinked to /etc/gtk-3.0/gtk.css, since I want this applied globally).
This fixes the appearance of scrollbars to have proper buttons, and restricts their size, which I have found goes weird in certain themes.
* {
-GtkScrollbar-has-backward-stepper: true;
-GtkScrollbar-has-forward-stepper: true;
}
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-end-symbolic"); }
scrollbar.horizontal button.up { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); }
scrollbar button {
min-width: 14px;
min-height: 14px;
padding: 0px;
border: none;
}
scrollbar.slider {
min-height: 8px;
min-width: 8px;
}Offline
is there any way to get rid of overlay scrollbars on GTK4 apps too?
I have a Devuan system with TDE with everything set as per first post of this thread but in Handbrake (which ldd tells me links to libgtk-4) I still get those annoying overlay scrollbars that hide when I don't hover over them.
Last edited by tux_99 (Yesterday 17:34:01)
โEither the users control the program โ or the program controls the usersโ Richard Stallman
Offline
is there any way to get rid of overlay scrollbars on GTK4 apps too?
I don't know if scrollbars are included and haven't had time to test, but there's a guy doing some nice work on dealing with CSD in gtk4 and libhandy, may possibly be of some use to you:
https://codeberg.org/MorsMortium/GTK-NoCSD
https://sourceforge.net/projects/vuu-do/ Vuu-do GNU/Linux, Devuan-based Openbox systems.
Devuan 6 mate-mini iso, pure Devuan, 100% no-vuu-do. Now with Xlibre as well.
Please donate to support Devuan and init freedom! https://devuan.org/os/donate
https://devuanusers.com/ Apps source : https://git.devuan.org/greenjeans
Offline
Thanks greenjeans I will look into that but I don't have high hopes, CSD and overlay scrollbars are separate issues and I don't see any mention of overlay scrollbars on that page.
โEither the users control the program โ or the program controls the usersโ Richard Stallman
Offline
So the Gnome devs intentionally removed the GTK_OVERLAY_SCROLLING env variable that allowed users to disable overlay scrolling:
Drop the env var for scrolling control
This was never meant to be an official api, but rather
a transition help. Time to drop it for GTK+ 4.
https://github.com/GNOME/gtk/commit/e49 โฆ 52adee3813
If that's not evil then I don't know what.
Last edited by tux_99 (Today 22:11:08)
โEither the users control the program โ or the program controls the usersโ Richard Stallman
Offline