]> git.sur5r.net Git - i3/i3/commitdiff
config-wizard: correctly handle shift-only bindings
authorMichael Stapelberg <michael@stapelberg.de>
Mon, 11 Jul 2011 17:41:15 +0000 (19:41 +0200)
committerMichael Stapelberg <michael@stapelberg.de>
Mon, 11 Jul 2011 17:41:15 +0000 (19:41 +0200)
i3-config-wizard/cfgparse.y

index f2e4a05466497a57471a51ad1e477c50773a786f..018b37b2220682efdcd712c4b66d0bdc32eb53d4 100644 (file)
@@ -86,14 +86,16 @@ char *rewrite_binding(const char *bindingline) {
 static char *modifier_to_string(int modifiers) {
     //printf("should convert %d to string\n", modifiers);
     if (modifiers == (1 << 3))
-        return strdup("Mod1");
+        return strdup("$mod+");
     else if (modifiers == ((1 << 3) | (1 << 0)))
-        return strdup("Mod1+shift");
+        return strdup("$mod+Shift+");
     else if (modifiers == (1 << 9))
-        return strdup("$mod");
+        return strdup("$mod+");
     else if (modifiers == ((1 << 9) | (1 << 0)))
-        return strdup("$mod+shift");
-    else return strdup("UNKNOWN");
+        return strdup("$mod+Shift+");
+    else if (modifiers == (1 << 0))
+        return strdup("Shift+");
+    else return strdup("");
 }
 
 %}
@@ -139,7 +141,7 @@ bindcode:
         char *str = XKeysymToString(sym);
         char *modifiers = modifier_to_string($<number>3);
         // TODO: modifier to string
-        asprintf(&(context->result), "bindsym %s+%s %s\n", modifiers, str, $<string>6);
+        asprintf(&(context->result), "bindsym %s%s %s\n", modifiers, str, $<string>6);
         free(modifiers);
     }
     ;