]> Dogcows Code - chaz/openbox/blobdiff - openbox/menu.c
Fix client_activate() to work for internal Openbox menus
[chaz/openbox] / openbox / menu.c
index 0c10b757e5ce95b9ff0d56da0d8ca6961568c775..58b6280e5d6c4939a775d6bfcc08bb39d806c176 100644 (file)
@@ -62,7 +62,6 @@ static gunichar parse_shortcut(const gchar *label, gboolean allow_shortcut,
                                gchar **strippedlabel, guint *position,
                                gboolean *always_show);
 
-
 static void client_dest(ObClient *client, gpointer data)
 {
     /* menus can be associated with a client, so close any that are since
@@ -233,10 +232,13 @@ static gunichar parse_shortcut(const gchar *label, gboolean allow_shortcut,
             /* you have to use a printable ascii character for shortcuts
                don't allow space either, so you can have like "a _ b"
             */
-            if (VALID_SHORTCUT(*(i+1))) {
-                shortcut = g_unichar_tolower(g_utf8_get_char(i+1));
-                *position = i - *strippedlabel;
-                *always_show = TRUE;
+            if (VALID_SHORTCUT(*(i+1)) || *(i+1) == '_') {
+                /* Allow you to escape the first _ by putting __ */
+                if (*(i+1) != '_') {
+                    shortcut = g_unichar_tolower(g_utf8_get_char(i+1));
+                    *position = i - *strippedlabel;
+                    *always_show = TRUE;
+                }
 
                 /* remove the '_' from the string */
                 for (; *i != '\0'; ++i)
This page took 0.023821 seconds and 4 git commands to generate.