We do need to inject our own handler to treat application-switch actions the same way as the corresponding window-switch ones; we can actually express exactly this without re-implementing the entire function, by calling the original handler with a tweaked action parameter - the resulting code is not only more concise, but should also be a bit more robust against changes in core. https://bugzilla.gnome.org/show_bug.cgi?id=737457