summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--openbox/keyboard.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/openbox/keyboard.c b/openbox/keyboard.c
index cf56ad8f..f3400fca 100644
--- a/openbox/keyboard.c
+++ b/openbox/keyboard.c
@@ -78,9 +78,11 @@ static gboolean chain_timeout(gpointer data)
static void set_curpos(KeyBindingTree *newpos)
{
- grab_keys(FALSE);
- curpos = newpos;
- grab_keys(TRUE);
+ if (curpose != newpos) {
+ grab_keys(FALSE);
+ curpos = newpos;
+ grab_keys(TRUE);
+ }
if (curpos != NULL) {
gchar *text = NULL;