I've noticed how the window-cycling is somehow more complex than it could ideally be (in my opinion).
It seems to me that having the cycling draw a frame around the window together with a list of applications' icons is redundant and unnecessary and should at best be made optional.
Instead, I propose a simple cycling which merely raises the next window and gives it focus. Invisible windows would be made visible again during cycling and return to invisible state after cycling. Optionally, compositing could be used to emphasise on the window on focus or to distinguish minimised windows from others, by using transparency.
I hope my proposition makes sense. I'd like to contribute, but I cannot do C, merely some Python.