After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 95520 - workspace switch could be smoother
workspace switch could be smoother
Status: RESOLVED FIXED
Product: metacity
Classification: Other
Component: general
unspecified
Other All
: Normal minor
: GNOME2.x
Assigned To: Metacity maintainers list
Metacity maintainers list
Depends on:
Blocks:
 
 
Reported: 2002-10-11 15:55 UTC by Rich McAllister
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: ---
GNOME version: 2.0



Description Rich McAllister 2002-10-11 15:55:18 UTC
This is most visible on slower, memory-starved machines.  When switching
workspaces, the windows are mapped and unmapped in a seemingly random
order. This means the windows being mapped get multiple expose events, and
(probably worse) the windows being unmapped get expose events when windows
in front of them get unmapped and apps spend time repainting when they're
just going to get unmapped in a few more milliseconds. I believe if the
windows were unmapped in stacking order back-to-front and then the new
workspace windows mapped in stacking order front-to-back, the switch would
go more smoothly and more quickly.

(I admit I haven't read the code to find out if metacity even knows the
stacking order.)
Comment 1 Havoc Pennington 2002-10-18 22:49:29 UTC
Seems like a good idea. In idle_calc_showing, instead of 
just checking each window and doing the map/unmap, we should 
build a list of all windows to map, build a list of all windows
to unmap, sort by stacking (see sort function in stack.c), 
then actually do the maps/unmaps. Should be pretty easy.

Others have suggested grabbing the server while doing all this, but 
I bet with this change grabbing the server won't be needed 
(or won't help that much anymore).
Comment 2 Havoc Pennington 2002-11-03 20:28:37 UTC
Done