-
Notifications
You must be signed in to change notification settings - Fork 23.1k
Make GTK reduced motion config instructions comprehensive #42663
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Preview URLs (comment last updated: 2026-01-08 14:07:09) |
chrisdavidmills
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for your contribution, @webknjaz.
I've got a suggestion and a couple of questions for you.
| - In GTK/GNOME: Settings > Accessibility > Seeing > Reduced animation is turned on. | ||
| - In older versions of GNOME, GNOME Tweaks > General tab (or Appearance, depending on version) > Animations is turned off. | ||
| - Alternatively, add `gtk-enable-animations = false` to the `[Settings]` block of [the GTK 3 configuration file](https://wiki.archlinux.org/title/GTK#Configuration). | ||
| - Alternatively, add `gtk-enable-animations = false` to the `[Settings]` block of [the GTK 3 configuration file](https://wiki.archlinux.org/title/GTK#Configuration). Additionally run `gsettings set org.gnome.desktop.interface enable-animations false` to make programms pick up the settings faster. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| - Alternatively, add `gtk-enable-animations = false` to the `[Settings]` block of [the GTK 3 configuration file](https://wiki.archlinux.org/title/GTK#Configuration). Additionally run `gsettings set org.gnome.desktop.interface enable-animations false` to make programms pick up the settings faster. | |
| - Alternatively, add `gtk-enable-animations = false` to the `[Settings]` block of [the GTK 3 configuration file](https://wiki.archlinux.org/title/GTK#Configuration). Additionally run `gsettings set org.gnome.desktop.interface enable-animations false` to make programs pick up the settings faster. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, when you say "to make programs pick up the settings faster":
- By "programs", do you mean Firefox in this context? If so, it might be less vague to specifically say "...to make Firefox...", given that the whole section is about Firefox honoring reduce settings.
- By "pick up the settings faster", are you specifically referring to the
reducesetting?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for catching the typo!
I mean Firefox and any other apps that attempt to respect GTK settings. I've been experimenting with a number of browsers and wasn't able to make Chrome respect the setting (not sure why, maybe I need a reboot 🤷♂️). Firefox didn't work when I changed the config but executing the gsettings set org.gnome.desktop.interface enable-animations false command triggered an immediate response in that the test animations on https://webkit.org/blog-files/prefers-reduced-motion/prm.htm stopped moving and it started indicating the preference, without me restarting Firefox. This probably indicates that my build of Firefox (a pre-compiled binary in Gentoo's portage) likely uses GTK 4. I can imagine that somebody using GTK 3/2 etc might need that config edit (plus maybe a re-login or something like that).
https://wiki.archlinux.org/title/Talk:GTK#c-Arash-20240319042700-Affaisseras-20240309232500 that I linked in the commit message talks about GTK in general linking to https://wiki.archlinux.org/title/GTK#Basic_theme_configuration without specifying what text in there supports their point. But the commenter says "it's implied" so I assume they mean the phrase "If the theme is not applied for GTK 3, use gsettings in addition", plus maybe that "dark theme" section example that suggests using the config for GTK 3 but the command for GTK 4.
I have confirmed that there's three versions (2, 3 and 4) installed on my machine:
$ eix -I x11-libs/gtk+
[I] x11-libs/gtk+
Available versions:
(2) 2.24.33-r3^t{gpkg}
(3) 3.24.51^t
{+X aqua broadway cloudproviders colord cups examples gtk-doc +introspection sysprof test vim-syntax wayland xinerama ABI_MIPS="n32 n64 o32" ABI_S390="32 64" ABI_X86="32 64 x32"}
Installed versions: 2.24.33-r3(2)^t{gpkg}(01:41:40 PM 07/12/2024)(cups introspection -aqua -examples -test -vim-syntax -xinerama ABI_MIPS="-n32 -n64 -o32" ABI_S390="-32 -64" ABI_X86="64 -32 -x32") 3.24.51(3)^t(04:17:46 PM 10/14/2025)(X colord cups introspection sysprof wayland -aqua -broadway -cloudproviders -examples -gtk-doc -test -vim-syntax -xinerama ABI_MIPS="-n32 -n64 -o32" ABI_S390="-32 -64" ABI_X86="64 -32 -x32")
Homepage: https://www.gtk.org/
Description: Gimp ToolKit +
$ eix -I gui-libs/gtk
[I] gui-libs/gtk
Available versions: (4) 4.18.6-r1^t ~4.20.3-r2^t
{+X aqua broadway cloudproviders colord cups examples gstreamer gtk-doc +introspection sysprof test vulkan wayland CPU_FLAGS_X86="f16c"}
Installed versions: 4.18.6-r1(4)^t(04:18:58 PM 10/14/2025)(X colord cups gstreamer introspection sysprof vulkan wayland -aqua -broadway -cloudproviders -examples -gtk-doc -test CPU_FLAGS_X86="-f16c")
Homepage: https://www.gtk.org/ https://gitlab.gnome.org/GNOME/gtk/
Description: GTK is a multi-platform toolkit for creating graphical user interfacesSo technically other programs might expect the same configuration to live in the config files rather than gsettings if they use older GTK versions. This may be browsers or something else on the system. I wanted the phrase to be generic enough to hint that configuring this in all the places is probably the best thing to do and would cover all the possibilities across various software supporting animation preferences. It's possible that somebody might've configured it in one of the configs in the past and forgot about it. They'd probably expect things to work when they switch between browsers (like from Chrome to Firefox, for example) and will get confused that it doesn't work without realizing that the underlying reason is unrelated to the app but to the underlying graphical framwork.
I'm not too attached to the phrasing, this is mostly a drive-by as I tend to fix things in docs/repos that show up at the top of search results, when I find solutions to my frustrations. I'll accept the above suggestion but do feel free to commit directly to this branch as you see fit.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the explanation, @webknjaz. I can see why you want to tread carefully here; this could easily get very verbose if we tried to cover every eventuality. I still think the phrasing is a bit vague considering the very specific context it is being discussed in.
Would you be happy with something like this:
Additionally, run
gsettings set org.gnome.desktop.interface enable-animations falseto make Firefox (and potentially other programs, depending on the GTK version they rely on) respect thereducesetting more quickly.
or
Additionally, run
gsettings set org.gnome.desktop.interface enable-animations falseto make Firefox (and other programs relying on GTK version 4) respect thereducesetting more quickly.
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds good. Perhaps, I'd even go for the last one but drop the "more quickly" part since I might've misjudged the effect and it's probably more of "the only way to get it to work on GTK4 in certain programs" that I confused for responsiveness while trying out a number of changes before I learned more context.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds good. Perhaps, I'd even go for the last one but drop the "more quickly" part since I might've misjudged the effect and it's probably more of "the only way to get it to work on GTK4 in certain programs" that I confused for responsiveness while trying out a number of changes before I learned more context.
This patch adds a `gsettings` command that is respected by some applications better than the file config [[1]]. [1]: https://wiki.archlinux.org/title/Talk:GTK#c-Arash-20240319042700-Affaisseras-20240309232500
Co-authored-by: Chris Mills <chrisdavidmills@gmail.com>
Clarified instructions for enabling reduced motion in Firefox on GTK and KDE environments.
chrisdavidmills
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, cool, I have updated the sentence to my second suggestion, with the "more quickly" bit removed.
I tweaked the wording a little more, and also made it into its own separate bullet.
This patch adds a
gsettingscommand that is respected by some applications better than the file config [1].Description
gsettings set org.gnome.desktop.interface enable-animations falseis needed to cover a variaty of apps and GTK versions consistently, which this change documents.Motivation
When I was typing out the config, some apps didn't pick it up when I added the documented setting to the configs.
Additional details
It's probably because of GTK 3 vs. GTK 4 difference. But configuring it in the files and in
gsettingsdid help immediately.Related issues and pull requests
N/A