X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fmenu.c;h=3e45fb93ca9961a7e253f41af995507155783161;hb=2f09e0ce388f63c341cb328d795766e2bd0dc24b;hp=768630bd2939a9b80c35a0492c0380cd96b71ef3;hpb=20b8fcfa33feeade5946bc7f3046705da5d164fe;p=chaz%2Fopenbox diff --git a/openbox/menu.c b/openbox/menu.c index 768630bd..3e45fb93 100644 --- a/openbox/menu.c +++ b/openbox/menu.c @@ -58,7 +58,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 @@ -98,7 +97,7 @@ void menu_startup(gboolean reconfig) obt_parse_tree_from_root(menu_parse_inst); obt_parse_close(menu_parse_inst); } else - g_message(_("Unable to find a valid menu file '%s'"), + g_message(_("Unable to find a valid menu file \"%s\""), (const gchar*)it->data); } if (!loaded) { @@ -110,7 +109,7 @@ void menu_startup(gboolean reconfig) obt_parse_tree_from_root(menu_parse_inst); obt_parse_close(menu_parse_inst); } else - g_message(_("Unable to find a valid menu file '%s'"), + g_message(_("Unable to find a valid menu file \"%s\""), "menu.xml"); } @@ -168,7 +167,7 @@ void menu_pipe_execute(ObMenu *self) return; if (!g_spawn_command_line_sync(self->execute, &output, NULL, NULL, &err)) { - g_message(_("Failed to execute command for pipe-menu '%s': %s"), + g_message(_("Failed to execute command for pipe-menu \"%s\": %s"), self->execute, err->message); g_error_free(err); return; @@ -182,7 +181,7 @@ void menu_pipe_execute(ObMenu *self) obt_parse_tree_from_root(menu_parse_inst); obt_parse_close(menu_parse_inst); } else { - g_message(_("Invalid output from pipe-menu '%s'"), self->execute); + g_message(_("Invalid output from pipe-menu \"%s\""), self->execute); } g_free(output); @@ -195,7 +194,7 @@ static ObMenu* menu_from_name(gchar *name) g_assert(name != NULL); if (!(self = g_hash_table_lookup(menu_hash, name))) - g_message(_("Attempted to access menu '%s' but it does not exist"), + g_message(_("Attempted to access menu \"%s\" but it does not exist"), name); return self; } @@ -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) @@ -500,6 +502,7 @@ void menu_entry_unref(ObMenuEntry *self) if (self && --self->ref == 0) { switch (self->type) { case OB_MENU_ENTRY_TYPE_NORMAL: + RrImageUnref(self->data.normal.icon); g_free(self->data.normal.label); while (self->data.normal.actions) { actions_act_unref(self->data.normal.actions->data);