mirror of
https://github.com/davatorium/rofi.git
synced 2024-11-25 13:55:34 -05:00
Add double tab mode switching.
If no hit is found, and you press tab twice in a row, switch to next modi.
This commit is contained in:
parent
46728d9030
commit
34aca6a140
1 changed files with 9 additions and 0 deletions
|
@ -1245,6 +1245,7 @@ MenuReturn menu ( char **lines, char **input, char *prompt, Time *time, int *shi
|
||||||
// if grabbing keyboard failed, fall through
|
// if grabbing keyboard failed, fall through
|
||||||
if(take_keyboard ( box ))
|
if(take_keyboard ( box ))
|
||||||
{
|
{
|
||||||
|
KeySym prev_key = 0;
|
||||||
unsigned int selected = 0;
|
unsigned int selected = 0;
|
||||||
for (;; )
|
for (;; )
|
||||||
{
|
{
|
||||||
|
@ -1464,6 +1465,13 @@ MenuReturn menu ( char **lines, char **input, char *prompt, Time *time, int *shi
|
||||||
textbox_cursor_end ( text );
|
textbox_cursor_end ( text );
|
||||||
free ( str );
|
free ( str );
|
||||||
}
|
}
|
||||||
|
// Double tab!
|
||||||
|
else if (filtered_lines == 0 && key == prev_key )
|
||||||
|
{
|
||||||
|
retv = MENU_NEXT;
|
||||||
|
*selected_line = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
selected = selected < filtered_lines - 1 ? MIN ( filtered_lines - 1, selected + 1 ) : 0;
|
selected = selected < filtered_lines - 1 ? MIN ( filtered_lines - 1, selected + 1 ) : 0;
|
||||||
|
@ -1478,6 +1486,7 @@ MenuReturn menu ( char **lines, char **input, char *prompt, Time *time, int *shi
|
||||||
menu_set_arrow_text(filtered_lines, selected,
|
menu_set_arrow_text(filtered_lines, selected,
|
||||||
max_lines, arrowbox_top,
|
max_lines, arrowbox_top,
|
||||||
arrowbox_bottom);
|
arrowbox_bottom);
|
||||||
|
prev_key = key;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue