Currently wnck-applet gets woken up for every keypress when workspace-switcher
is running. This means we're taking 6 context switches per keypress, and (at
least) 3 tasks are being woken up. That's bad.
The problem here is that
a) libwnck listens for property changes on all toplevel windows, to catch
icon changes, name changes, etc
b) GTK+ updates _NET_WM_USER_TIME property for every user interaction for
focus stealing stuff
about the only fix I can see would be to add an indirection to the user time
property, by not storing it on the toplevel, but on a separate, dedicated window,
and only put the id of that window in a property on the toplevel.
This also affects metacity, btw
...and Owen pointed this problem out back in May 2003:
I proposed an EWMH change to fix this issue:
To fix this we need to add a patch to metacity to support the new spec. This
will cause gtk+ to put the updates on a separate window, which libwnck then
won't listen to.
Moving to metacity and putting on f7 target.
The EWMH addition is in the spec now, the metacity/gtk+ patches are being
developed here: http://bugzilla.gnome.org/show_bug.cgi?id=354213
No need to keep this bug open; the gtk and metacity changes have been committed
upstream and will find its way into F8 with gnome 2.20