[compiz] [PATCH]Application-window switcher, and comments for switcher.c

Christopher Halse Rogers chalserogers at gmail.com
Thu Feb 15 01:37:52 PST 2007


As promised, here's a patch to switcher.c to add "Application window"
switching to the switcher, default keybinding Super+Tab (and
Shift+Super+Tab for reverse).  Works (and fails to work*) in the same
conditions Scale's "group" mode does.

Also, two patches for doxygen-compatible comments for some of
switcher, which I added while working out what was going on.  It
turned out to be *extremely* easy to follow the switcher.c code, so
I'm not sure quite how useful the comments are, but they're now
available.

I've only really looked at the switcher & scale code, but both of
those generate a window list filtered by a filter function, most of
the code of which is identical between the two plugins, and the
various modes each plugin supports.  Might it be worthwhile factoring
out a "createWindowList" and "createFIlteredWindowList" (and possibly
a "freeWindowList")?

Finally, now that I've touched switcher.c, there's a lot of
duplication in the setup of each of the modes (allwindows, normal,
no-popup, appswitch).  Would a patch that factors this code out be
smiled upon?

* The group code obviously relies on some form of application support.
 Gnome-terminals work, Epiphany works, emacs and texmacs don't.  This
is probably related to
https://bugs.launchpad.net/ubuntu/+source/gnome-terminal/+bug/72732


More information about the compiz mailing list