summaryrefslogtreecommitdiff
path: root/openbox
diff options
context:
space:
mode:
authorMikael Magnusson <mikachu@gmail.com>2009-07-05 15:53:29 +0200
committerMikael Magnusson <mikachu@gmail.com>2009-07-05 15:55:17 +0200
commitfa4e09dd7e8b65234e833444f418e890a9185898 (patch)
treeb45bf507db208c488fbc9adb265813c7ead0efa5 /openbox
parent7351d86443539fd60267baed129601d923e88269 (diff)
Allow escaping _ in menu labels by putting __
Currently you can't mark anything that comes after the __ with _ to make that a shortcut.
Diffstat (limited to 'openbox')
-rw-r--r--openbox/menu.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/openbox/menu.c b/openbox/menu.c
index 23a0527a..58b6280e 100644
--- a/openbox/menu.c
+++ b/openbox/menu.c
@@ -232,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)