I set GTK_OVERLAY_SCROLLING environment variable to 0 in ~/.xprofile, ~/.profile, ~/.xinitrc and ~/.pam_environment, but still GTK_OVERLAY_SCROLLING environment variable has value 1.

Who overrides this environment variable?

I did it already:

$ gsettings get org.gnome.desktop.interface overlay-scrolling

AFAIK it should be only in ~/.xsessionrc like this


and that will overwrite whatever is in /etc/X11/Xsession.d/ and not the other way around

Brute force searching might help:

$ sudo grep -R GTK_OVERLAY_SCROLLING / 2>/dev/null

ripgrep is a lot faster at these searches, but has to be installed:

$ sudo pacman -Syu ripgrep
$ sudo rg -R GTK_OVERLAY_SCROLLING / 2>/dev/null

.xsessionrc also had no effect…

I got

/usr/lib/python3.9/site-packages/quodlibet/_init.py:        environ["GTK_OVERLAY_SCROLLING"] = "0"
/usr/share/cinnamon/cinnamon-settings/bin/CinnamonGtkSettings.py:            GLib.setenv("GTK_OVERLAY_SCROLLING", "1", True)
/usr/share/cinnamon/cinnamon-settings/bin/CinnamonGtkSettings.py:            GLib.setenv("GTK_OVERLAY_SCROLLING", "0", True)

CinnamonGtkSettings.py sets environment variable.

    def update_overlay_state(self):
        if self.interface_settings.get_boolean("gtk-overlay-scrollbars"):
            GLib.setenv("GTK_OVERLAY_SCROLLING", "1", True)
            GLib.setenv("GTK_OVERLAY_SCROLLING", "0", True)

I found setting in “Effect” (scroll box fade effect), BUT even though I disabled scroll box fade in the settings, the value of GTK_OVERLAY_SCROLLING was still set to 1.