mirror of
https://github.com/davatorium/rofi.git
synced 2024-11-18 13:54:36 -05:00
Move indicator to end of entry box.
This commit is contained in:
parent
08485c0cfc
commit
e166fa3d8e
2 changed files with 18 additions and 14 deletions
|
@ -124,7 +124,8 @@ char *token_collate_key ( const char *token, int case_sensitive )
|
||||||
|
|
||||||
if ( case_sensitive ) {
|
if ( case_sensitive ) {
|
||||||
tmp = g_strdup ( token );
|
tmp = g_strdup ( token );
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
tmp = g_utf8_casefold ( token, -1 );
|
tmp = g_utf8_casefold ( token, -1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -273,7 +274,7 @@ int token_match ( char **tokens, const char *input, int case_sensitive,
|
||||||
__attribute__( ( unused ) ) int index,
|
__attribute__( ( unused ) ) int index,
|
||||||
__attribute__( ( unused ) ) void *data )
|
__attribute__( ( unused ) ) void *data )
|
||||||
{
|
{
|
||||||
int match = 1;
|
int match = 1;
|
||||||
char *compk = token_collate_key ( input, case_sensitive );
|
char *compk = token_collate_key ( input, case_sensitive );
|
||||||
|
|
||||||
// Do a tokenized match.
|
// Do a tokenized match.
|
||||||
|
|
|
@ -1200,7 +1200,7 @@ static void menu_mouse_navigation ( MenuState *state, XButtonEvent *xbe )
|
||||||
}
|
}
|
||||||
|
|
||||||
static void menu_refilter ( MenuState *state, char **lines, menu_match_cb mmc, void *mmc_data,
|
static void menu_refilter ( MenuState *state, char **lines, menu_match_cb mmc, void *mmc_data,
|
||||||
int sorting, int case_sensitive )
|
int sorting, int case_sensitive )
|
||||||
{
|
{
|
||||||
unsigned int i, j = 0;
|
unsigned int i, j = 0;
|
||||||
if ( strlen ( state->text->text ) > 0 ) {
|
if ( strlen ( state->text->text ) > 0 ) {
|
||||||
|
@ -1419,21 +1419,23 @@ MenuReturn menu ( char **lines, unsigned int num_lines, char **input, char *prom
|
||||||
NORMAL, "*" );
|
NORMAL, "*" );
|
||||||
|
|
||||||
state.prompt_tb = textbox_create ( main_window, TB_AUTOHEIGHT | TB_AUTOWIDTH,
|
state.prompt_tb = textbox_create ( main_window, TB_AUTOHEIGHT | TB_AUTOWIDTH,
|
||||||
( config.padding ) + textbox_get_width ( state.case_indicator ),
|
( config.padding ),
|
||||||
( config.padding ),
|
( config.padding ),
|
||||||
0, 0, NORMAL, prompt );
|
0, 0, NORMAL, prompt );
|
||||||
|
|
||||||
state.text = textbox_create ( main_window, TB_AUTOHEIGHT | TB_EDITABLE,
|
state.text = textbox_create ( main_window, TB_AUTOHEIGHT | TB_EDITABLE,
|
||||||
( config.padding ) + textbox_get_width ( state.prompt_tb )
|
( config.padding ) + textbox_get_width ( state.prompt_tb ),
|
||||||
+ textbox_get_width ( state.case_indicator ),
|
|
||||||
( config.padding ),
|
( config.padding ),
|
||||||
( ( config.hmode == TRUE ) ?
|
( ( config.hmode == TRUE ) ?
|
||||||
state.element_width : ( state.w - ( 2 * ( config.padding ) ) ) )
|
state.element_width : ( state.w - ( 2 * ( config.padding ) ) ) )
|
||||||
- textbox_get_width ( state.prompt_tb )
|
- textbox_get_width ( state.prompt_tb )
|
||||||
- textbox_get_width ( state.case_indicator ), 1,
|
- textbox_get_width ( state.case_indicator ), 0,
|
||||||
NORMAL,
|
NORMAL,
|
||||||
( input != NULL ) ? *input : "" );
|
( input != NULL ) ? *input : "" );
|
||||||
|
// Move indicator to end.
|
||||||
|
textbox_move ( state.case_indicator,
|
||||||
|
state.w - ( 2 * ( config.padding ) ) - textbox_get_width ( state.case_indicator ),
|
||||||
|
0 );
|
||||||
|
|
||||||
textbox_show ( state.text );
|
textbox_show ( state.text );
|
||||||
textbox_show ( state.prompt_tb );
|
textbox_show ( state.prompt_tb );
|
||||||
|
@ -1635,14 +1637,15 @@ MenuReturn menu ( char **lines, unsigned int num_lines, char **input, char *prom
|
||||||
}
|
}
|
||||||
// Toggle case sensitivity.
|
// Toggle case sensitivity.
|
||||||
else if ( key == XK_grave ) {
|
else if ( key == XK_grave ) {
|
||||||
config.case_sensitive = !config.case_sensitive;
|
config.case_sensitive = !config.case_sensitive;
|
||||||
*( state.selected_line ) = 0;
|
*( state.selected_line ) = 0;
|
||||||
state.refilter = TRUE;
|
state.refilter = TRUE;
|
||||||
state.update = TRUE;
|
state.update = TRUE;
|
||||||
if ( config.case_sensitive ) {
|
if ( config.case_sensitive ) {
|
||||||
textbox_show ( state.case_indicator );
|
textbox_show ( state.case_indicator );
|
||||||
} else {
|
}
|
||||||
textbox_hide ( state.case_indicator );
|
else {
|
||||||
|
textbox_hide ( state.case_indicator );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Switcher short-cut
|
// Switcher short-cut
|
||||||
|
|
Loading…
Reference in a new issue