Standard Alt+Tab / Super+Tab ("Switch applications") window switcher shortcut behavior breaks (becomes "sticky" or "off by one MRU") after some time running
Affected version
- OS and version: Fedora 38 (also F37)
- Affected GNOME Shell version: 44.x (also 43.x), and probably prior versions
- XOrg vs Wayland: I've tested this on X11 and I keep encountering it there, I think it might happen with Wayland but I'm not sure.
- Does this issue happen without extensions: yes
Bug summary
Alt-Tab inexplicably breaks after gnome-shell has been running for a while while using it. I've been unable to find the exact cause/trigger so far, other than active use / time passing.
This is a bit similar to #5348 (closed) and #5373, but:
- It's not just a matter of how fast you do it (5348), which used to be the old incarnation of this problem prior to GNOME 41/42... it seems the behavior has now regressed since version 42 (and 43/44) and applies no matter how fast or slow you are
- It's not affecting
Alt+Esc
, it's affecting the standard default behavior ofSuper+Tab
/Alt+Tab
(switch between applications) andAlt + the_key_above_tab
(switch between windows of the current application)
I'm pretty sure this is a regression that occurred in 42-43, and it went mostly unnoticed because it manifests itself only after the shell has been running for a while... but it's been crippling my day-to-day user experience of GNOME Shell since then.
Steps to reproduce
- Use GNOME Shell for a while (it could be one hour, two hours, 20 hours, before the issue manifests itself; having apps like Gedit, Firefox etc. open seems to help trigger the issue)
- Try to quickly
Alt+Tab
to switch between your two most-recently-used (MRU) applications
What happened
When the bug is effective, Alt+Tab
does not easily switch between applications/windows, it "sticks" to the current application. I've noticed this especially with Firefox, Gedit and applications that have multiple windows... but that might just be a coincidence.
More technically, the way the issue happens is that it always preselects the "wrong" choice when I press Alt+Tab
and release Tab
(while keeping Alt
pressed). I can't find a way to describe this other than it "sticks" like glue to the 2nd item in the app switcher's list once you're focused on it, and doesn't swap it with the 1st item, so you can't Alt+Tab
repeatedly to "alternate switch" between two apps you're currently using, and that's a huge regression to me.
What did you expect to happen
Always correctly pre-select the "other most recently used application" in the window switcher the first time I hit Alt+Tab (or instantly switch between the two if I release the Alt+Tab shortcut immediately)
Additional info
- This bug does not happen at the beginning with a "fresh" GNOME Shell, as you would see if you reload GNOME Shell (
Alt+F2, r, Enter
when running in a Xorg session; if you're running Wayland, you'll probably have to logout+relogin instead)... then after some hours of use, the issue comes back - The issue is not related to having multiple screens / monitors connected, as it also happens on my laptop when it's running on its own, disconnected, and having restarted GNOME Shell (with
Alt+F2, r
). - The issue is not related to animations/performance, as it happens even with animations turned off in accessibility settings, and it is triggered "at some point in time" on the same machine (so the performance should not be a variable there)
- I think the issue is not related to virtual workspaces either
- The issue is not related to minimizing/unminimizing windows, or tiling/untiling (with the super+up/down/left/right keys)
- Not related to extensions. Happens with a vanilla GNOME Shell, with or without dash/docks/etc., and even with any alternative alt-tabbing extensions (I've been desperately trying to find a workaround for the issue)
I am quite lost at this point on what to do with this, as it seems there have been so many tickets and branches attempting to fix this, but the problem persists, and I still don't know exactly what triggers it. I've heard other anecdotal stories of people encountering this bug, and I even saw someone describing the same symptoms in a reddit thread today, where there is a video demonstrating the issue, so certainly I am not the only one suffering from this; it's just hard for me to pinpoint what is causing the issue to manifest "after a while".
Here is the output from journalctl /usr/bin/gnome-shell
(as you can see I reloaded the shell a couple of times to work around the problem): gnome_shell_journalctl_output.txt