GNOME Bugzilla – Bug 86590
Workspace switching should not be instantaneous
Last modified: 2020-11-07 12:36:23 UTC
Description of Problem: When switching workspaces a popup is displayed and your workspace configuration is shown, but not switched to until you release the Ctrl+Alt key sequence. Personally, I would rather the desktop be switched on keypress of the arrow keys rather than on keyrelease of the modifier keys. A good reason for doing this in my opinion is that neither the gnome pager, nor the metacity popup provide information that is completely sufficient to make a decision as to which workspace I want. (The pager obivously has much more information and is usually sufficient to give me an idea, but not for sure.) So, it makes sense to me that I shouldn't have to release Ctrl and Alt just to see the workspace, just switch to it as if I used the mouse in the pager.
Agreed. Current behavior is uninformative.
This is a dup, it's in here already with a patch to make the popup look like a mini-pager. I want to try that first before removing the popup.
Removing the popup is _not_ a big deal (to me); I can take it or leave it. The improper behavior is the failure to switch on keypress.
Making the workspace switching popup look like the workspace switcher on the panel would be helpful, since the layout would provide more information, but the information provided is still far less and harder to interpret than actually showing the workspace itself by switching instantly (which the bug reporter points out), so this isn't a dupe of the bug to make the workspace switching popup actually be a switcher.
What metacity version are you using seth, the popup has already looked like the pager for a while now.
Not to speak for Seth, but I believe he is saying that even with a thumbnail view of the workspaces in the current popup, there is not always enough information to make the decision. I read the other bug report too, and I have the same feeling. My proposal would be to have the thumbnail view of the workspaces AND switch on keypress instantaneously. Reasons: 1. The main reason I saw for the delay was because of the time it takes to draw the new workspace. 2. The window manager I use (sawfish with gnome) switches when I tell it to, it doesn't wait to draw anything. The conclusion seems to be to have both the thumbnail view and still switch instantly. People concerned about the slow rendering can just keep switching, because the switch stops the rendering on the current workspace and you don't have to wait for the desktop to completely render. They can get their visual cues from the popup/thumbnail view of the workspaces. Additionally, people like me that want the workspace to switch instantly are also sated. For example, I use the gnome pager to display the thumbnail information and then like to switch with my keyboard, but my layouts (especially for coding) are very similar to exactly the same. The instant switch gives me the ability to determine quickly where I am.
*** Bug 89082 has been marked as a duplicate of this bug. ***
Adding "Window" to the summary too, because I think most of the arguments are pretty applicable to both.
In the interests of direct manipulation/feedback and the comfort of stable information display, I strongly support both the presence of the switcher dialogue and immediate results on each keypress for both window and workspace switching. [ A quick thanks to wray@cs.byu.edu, who reported this bug very well, describing the pros and cons of the current and suggested behaviours. Well done - this is a good bug report. :-) ]
jdub, there is really no need to randomly aol bug reports ;-) anyway it sounds like a sensible change to do both.
Oh well, it got a yes, dinnit'?. ;-)
Here's a patch which makes metacity do both.
Created attachment 10818 [details] [review] Make virtual desktops apply instantly and still show the pager popup
This patch looks fine to commit, with ChangeLog. If you don't have cvs commit access I'll commit next time I make a pass through the metacity bugs.
commited. see you, Chris
Heh, so now it is both slow (the original reason to add the popup) and also shows the popup. It would be perfect if it was also fast. I liked the "only flash once" behaviour, though I agree this is more informative. But it flashes a lot, less distractive than the "switch on key release only".. I wonder if it would be a bad idea if it would switch on keyrelease only if one presses shift modifier in addition to the switch-workspace shortcut?
After a few days this is still annoying me more and more :-( The problem is that it makes it very slow to flip from workspace 1 to workspace 12 (I have 16) - it flips quite nicely, but each flip adds its own small delay and they sum up making things feel laggy. Plus the biggest thing that I dislike is the flashing madness when I need to page through. It is funny since it was just like all other wm's do it, but after using the popup-pager-and-switch-on-keyrelease thing for a while I really like how clean it is to use. The flashing when you switch workspaces is very ugly - and it distracts me. When I want to switch from Gimp to email, I need to find the correct workspace from the pager of course. But the background keeps switching around thus making it harder to concentrate on the popup. So what to do? I would just revert the patch, but I do not know. I *definitely* think the default should be like things were before committing this - it is a lot cleaner and simpler to understand what the popup does when you dont have all the flashing. It is just less scary looking.
tigert: I disagree on this one, though I am seeing the same behaviour. I'm hoping that the slowness and flashing is an orthogonal issue with Metacity, as other window managers don't show the same performance problems. If it were faster and less flashy, would you like to keep it on? I sure would. :-)
I am not sure. I am disturbed by the flashing, it looks a lot cleaner and more polished if it does not do that. I mean, if we switch instantly, what point does the popup have then? Lets then go back to the very original behaviour instead, drawing the popup just slows down things anyway. But I like the popup, I always have felt the flashing thing is distracting.
As I stated originally, neither the popup or pager provide enough information. I am fine with removing the popup because the pager provides the exact same information and is redundant in my opinion. I am also fine with leaving it in. My main request was and is that we have instant change because I don't like having to release all the keys before switching to the next workspace when I want to see _more_ detail.
I agree with Tuomas on this issue. The flashiness is very disconcerting when switching to a workspace more than two or three keystrokes away. Making it faster might help a little, but in general, I am just not interested in knowing every last detail of every workspace in between my current workspace and my desired one. Plus, no matter how fast you make it, it will still flash when flipping through many workspaces. Perhaps there are better ways of addressing the lack of information perceived by others--possibly by displaying workspace names more prominently, or adding a longer (dynamically generated) explanation in the dialog[1], or even making the flashing optional[2]. Personally, I'd rather have only the pop-up dialog and nothing else. I rarely forget what a workspace contains, I just need some visual cues to tell me where I am. [1] Something like "This workspace contains: evolution, gnome-terminal, and gstreamer" at the bottom of the dialog. [2] Though I'd rather just agree on something..
To add another random voice ... I preferred the instant switching to the popup at first but after a while I got really used to using the popup as a visual queue when changing workspaces. The thing is, with the new behaviour, I'm still using the popup as a visual queue but the instant switching is very off putting in the background. I just can't get used to it ... I really think its an either/or thing. Either instant switching or the popup thingy ... And I'm sure on slower systems the popup would be much more preferable.
I don't know if this is possible, but perhaps what we should have is a (very) short delay before Metacity actually switches workspaces. So the popup dialogue comes up, and as long as you continue to press the arrow keys (say, every quarter second or so) it doesn't actually switch. As soon as you rest on a workspace for a quarter second it actually displays it. I'm also seeing problems with the switcher "window" moving around when you switch workspaces (all over the screen), which is interfering with my ability to assess how problematic the flashing is (obviously its pretty bad if there's not a "stable" point on the screen to look at). re: Tuomas' comment about 16 workspaces and flipping between them... This seems to be an extremely unusual use case based on the results of my workspaces poll; a poll sampled from what you'd expect to be a heavy Unix using population. I don't think we should be optimizing for the 16 workspace case, we should be optimizing primarily for about 4 workspaces.
the switcher window just jumps around randomly? I haven't heard that one before.
See #95351
Just re-reading this report again, I feel obliged to point out that the popup does also give you more information than the workspace switch alone-- it shows you the name of the workspace as well, which can be helpful if a lot of your workspaces look the same. :) I should also say we're getting a lot of complaints about workspace switching being unacceptably slow on some Sun machines... on my low-end but not-untypical Ultra 10, it can easily take 10 seconds for the new workspace to fully appear (once I've been logged in for a few days and the lack of memory is bringing my machine to a standstill)... :/
Given that we now have the popup, the performance issues (some of which I'm sure are just metacity, other window managers swap desktops much faster) and other cited issues are worth leaving in the dust. Whilst I would prefer both the dialogue and immediate switch, it just doesn't seem feasible right now. Let the fritter fry. :-)
Calum, I bet in a poll of real world use hardly anyone actually goes to the trouble of naming their workspaces.
I dare say you're right, although if you were faced with a situation where many of your workspaces looked the same (which is really the only time naming is terribly useful) you might consider it. Maybe we should work on a cool algorithm for allocating default workspace names based on their contents :)
Oh, and I would also say that just because people don't explictly rename their workspaces doesn't necessarily mean the information isn't useful. I know when I do use multiple workspaces I think in terms of "moving stuff to workspace 2" etc. rather than "moving stuff over to the right a bit"...
Another somewhat-related thing might be to allow different desktop backgrounds per workspace, and thumbnail the backgrounds in the pager. Just to break those SunRays a bit more ;-) Anyway that makes the spaces look more different. Of course it also slows down switching, so... We should try the suggestion someone else filed, to unmap windows from bottom to top and map them from top to bottom, thus reducing the number of expose events quite a bit when switching spaces. That might be a good speedup.
I find the immediate switch to be very disconcerting. Even with only a few workspaces (6 in my case), the delay imposed by having to redraw the intermediate workspace is very annoying to me. And with a cramped laptop keyboard and clumsy fingers (such as mine), I easily overshoot the workspace I want and have to backtrack. Please leave the popup in any case. I have my panel to autohide, so it is the only visual feedback I have regarding where I am on the desktop. In addition, sometimes I do a switch/switch back just to get the popup to see where I am - it's a lot faster than fiddling the pointer down to the screen edge to look at the panel, then going back again. This is incidentally another reason I prefer the old, switch-on-release behavior.
*** Bug 105649 has been marked as a duplicate of this bug. ***
I can see this debate going back and forth until the end of time ;-) Maybe we could play with the delay idea. I dunno. Someone run a user test or something...
Created attachment 21300 [details] [review] patch to implement a short delay on workspace switch
attached patch implements a short delay (1/4 sec) after pressing the workspace switch key before really switching. Pressing the key again cancels the timeout, so as long as you press the keys fairly quickly the workspace won't switch. Releasing the modifier switches the workspace instantly.
Havoc, when you get a chance could you take a look at this patch? I am personally ambivalent about it; not sure if this is really what we want to do. It does reduce flicker when switching over a number of workspaces though.
The delay should be just a touch longer than the keyboard repeat delay, so that you can smoothly move all the way from the leftmost to the rightmost workspace by holding down ctrl-alt-right, for instance, without switching to the second from the left momentarily.
Created attachment 22552 [details] [review] modified patch implementing above suggestion (only #ifdef HAVE_XKB though)
Given so much disagreement on what should actually be going on, I don't think this is actually high priority at this point- moving down a touch.
Comment on attachment 22552 [details] [review] modified patch implementing above suggestion (only #ifdef HAVE_XKB though) Perhaps not so surprisingly, this patch no longer applies cleanly. I'm guessing at this point that we just want to wait to see how fast things are with the composite/damage/fixes extensions stuff that Soeren is working on?
*** Bug 316181 has been marked as a duplicate of this bug. ***
I'm not sure if this is compositor related, but I'm taking a stab and guess that it is for now.
If it is compositor related (said Thomas from the distant future) I'm moving it to the new compositor. This actually does seem to be something we could usefully do with composited thumbnailing of workspaces.
Can someone explain to me what this has to do with the compositor?
Elijah assigned it to Søren's compositor in 2006, and when I was clearing out old bugs from there to yours this year I transferred it over. Sorry-- it should have gone into the general component.
$0.02 more for a 6 year old bug- I agree with the sentiment that instantaneous flashing is bad for slow systems, and even on my fast system as a visual nuisance if not potentially seizure inducing. That said, my brain actually handles and even likes the rapid information. However, I had this idea as a possible best of both worlds approach, if in fact it is possible- while the popup is visible, dim the non-popup part of the desktop by a factor of 50 or 75%. This would mitigate the visual nuisance while retaining the ability for the user to use the information to make their decision. Of course I'm a luddite who doesn't use a compositor, and really just wants to be amused looking at this comment when the bug is 20 years old. Of course, maybe I'm really just angling for someone to finally(??) implement a dimmer in Xorg. Why that is a backlight only feature of laptops and not a fundamental feature of the desktop I don't know.
bugzilla.gnome.org is being replaced by gitlab.gnome.org. We are closing all old feature requests in Bugzilla which have not seen updates for many years. If you still use metacity and if you are still requesting this feature in a currently supported version of GNOME (currently that would be 3.38), then please feel free to report it at https://gitlab.gnome.org/GNOME/metacity/-/issues/ Thank you for reporting this issue and we are sorry it could not be implemented.