diff options
author | Dave Davenport <qball@gmpclient.org> | 2016-02-09 07:37:48 +0100 |
---|---|---|
committer | Dave Davenport <qball@gmpclient.org> | 2016-02-09 07:37:48 +0100 |
commit | e7b18d3a88ba754738919883cf70f498654432ee (patch) | |
tree | 444c22e8a6e7ce376927728ff048a8be3e471306 /source | |
parent | 0a8148a95a95b45cc17e4617fb209d8a99172ea0 (diff) |
Issue: #334: Only allow markup-rows to be set on cmdline
This should avoid people setting this in XResrouces and breaking random dmenu scripts.
Diffstat (limited to 'source')
-rw-r--r-- | source/dialogs/dmenu.c | 8 | ||||
-rw-r--r-- | source/rofi.c | 12 | ||||
-rw-r--r-- | source/textbox.c | 2 | ||||
-rw-r--r-- | source/xrmoptions.c | 1 |
4 files changed, 11 insertions, 12 deletions
diff --git a/source/dialogs/dmenu.c b/source/dialogs/dmenu.c index 9d6cdc3e..523ba0cb 100644 --- a/source/dialogs/dmenu.c +++ b/source/dialogs/dmenu.c @@ -64,6 +64,7 @@ typedef struct _DmenuModePrivateData unsigned int num_active_list; struct range_pair * selected_list; unsigned int num_selected_list; + unsigned int do_markup; // List with entries. char **cmd_list; unsigned int cmd_list_length; @@ -171,6 +172,9 @@ static char *get_display_data ( const Mode *data, unsigned int index, int *state *state |= SELECTED; } } + if ( pd->do_markup ) { + *state |= MARKUP; + } return get_entry ? g_strdup ( retv[index] ) : NULL; } @@ -361,6 +365,9 @@ int dmenu_switcher_dialog ( void ) char **cmd_list = pd->cmd_list; int only_selected = FALSE; + if ( find_arg ( "-markup-rows" ) >= 0 ) { + pd->do_markup = TRUE; + } if ( find_arg ( "-only-match" ) >= 0 || find_arg ( "-no-custom" ) >= 0 ) { only_selected = TRUE; if ( cmd_list_length == 0 ) { @@ -519,4 +526,5 @@ void print_dmenu_options ( void ) print_help_msg ( "-no-custom", "", "Don't accept custom entry", NULL, is_term ); print_help_msg ( "-select", "[string]", "Select the first row that matches", NULL, is_term ); print_help_msg ( "-password", "", "Do not show what the user inputs. Show '*' instead.", NULL, is_term ); + print_help_msg ( "-markup-rows", "", "Allow and render pango markup as input data.", NULL, is_term ); } diff --git a/source/rofi.c b/source/rofi.c index 45389f0a..0a1f0d13 100644 --- a/source/rofi.c +++ b/source/rofi.c @@ -1217,13 +1217,9 @@ static void menu_resize ( MenuState *state ) int y_offset = state->top_offset; int x_offset = state->border; - int rstate = 0; - if ( config.markup_rows ) { - rstate = TB_MARKUP; - } // Add newly added boxes. for ( unsigned int i = last_length; i < state->max_elements; i++ ) { - state->boxes[i] = textbox_create ( rstate, x_offset, y_offset, + state->boxes[i] = textbox_create ( 0, x_offset, y_offset, state->element_width, element_height, NORMAL, "" ); } scrollbar_resize ( state->scrollbar, -1, ( state->max_rows ) * ( element_height ) - config.line_margin ); @@ -1591,12 +1587,8 @@ MenuState *menu ( Mode *sw, int y_offset = state->top_offset; int x_offset = state->border; - int rstate = 0; - if ( config.markup_rows ) { - rstate = TB_MARKUP; - } for ( unsigned int i = 0; i < state->max_elements; i++ ) { - state->boxes[i] = textbox_create ( rstate, x_offset, y_offset, + state->boxes[i] = textbox_create ( 0, x_offset, y_offset, state->element_width, element_height, NORMAL, "" ); } if ( !config.hide_scrollbar ) { diff --git a/source/textbox.c b/source/textbox.c index 6a2ee40e..73cbfea8 100644 --- a/source/textbox.c +++ b/source/textbox.c @@ -140,7 +140,7 @@ static void __textbox_update_pango_text ( textbox *tb ) pango_layout_set_attributes ( tb->layout, NULL ); pango_layout_set_text ( tb->layout, string, l ); } - else if ( tb->flags & TB_MARKUP || tb->tbft & MARKUP ) { + else if ( tb->tbft & MARKUP ) { pango_layout_set_markup ( tb->layout, tb->text, -1 ); } else { diff --git a/source/xrmoptions.c b/source/xrmoptions.c index 193a8e4a..e02ed530 100644 --- a/source/xrmoptions.c +++ b/source/xrmoptions.c @@ -134,7 +134,6 @@ static XrmOption xrmOptions[] = { { xrm_String, "filter", { .str = &config.filter }, NULL, "Pre-set filter" }, { xrm_String, "separator-style", { .str = &config.separator_style }, NULL, "Separator style (none, dash, solid)" }, { xrm_Boolean, "hide-scrollbar", { .num = &config.hide_scrollbar }, NULL, "Hide scroll-bar" }, - { xrm_Boolean, "markup-rows", { .num = &config.markup_rows }, NULL, "Show markup" }, { xrm_Boolean, "fullscreen", { .num = &config.fullscreen }, NULL, "Fullscreen" }, { xrm_Boolean, "fake-transparency", { .num = &config.fake_transparency }, NULL, "Fake transparency" }, { xrm_SNumber, "dpi", { .snum = &config.dpi }, NULL, "DPI" }, |