aboutsummaryrefslogtreecommitdiffstats
path: root/kbfunc.c
diff options
context:
space:
mode:
authoroga2008-05-19 15:17:50 +0000
committeroga2008-05-19 15:17:50 +0000
commita47b4ccaab4803eba1fb0774e26abd3ed06f9fd4 (patch)
treed464c9dc57d07c9f8085f6e6aa2865ba49f13fcb /kbfunc.c
parent281da1fba3c4cf7c09351c088ec4f5793f9ce96e (diff)
downloadcwm-a47b4ccaab4803eba1fb0774e26abd3ed06f9fd4.tar.gz
Use the XGrabKeyboard hack in for alt-tabbing as well. This stops the
mru getting the order messed up when gvim/xpdf et all steal key events. While i'm here, change the logic in client_cyclenext() to use break instead of goto, it's nicer that way. Thirdly, instead of two different kbfuncs, just use the one and a flag. "put your cycle diff in so I can pkg_delete gvim" okan@
Diffstat (limited to 'kbfunc.c')
-rw-r--r--kbfunc.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/kbfunc.c b/kbfunc.c
index ef5d0da..7c98c37 100644
--- a/kbfunc.c
+++ b/kbfunc.c
@@ -15,7 +15,7 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
- * $Id: kbfunc.c,v 1.23 2008/05/19 12:56:58 okan Exp $
+ * $Id: kbfunc.c,v 1.24 2008/05/19 15:17:50 oga Exp $
*/
#include <paths.h>
@@ -176,13 +176,13 @@ kbfunc_menu_search(struct client_ctx *scratch, void *arg)
void
kbfunc_client_cycle(struct client_ctx *scratch, void *arg)
{
- client_cyclenext(0);
-}
+ struct screen_ctx *sc = screen_current();
-void
-kbfunc_client_rcycle(struct client_ctx *scratch, void *arg)
-{
- client_cyclenext(1);
+ /* XXX for X apps that ignore events */
+ XGrabKeyboard(X_Dpy, sc->rootwin, True,
+ GrabModeAsync, GrabModeAsync, CurrentTime);
+
+ client_cyclenext((int)arg);
}
void