mirror of
https://github.com/lbonn/rofi
synced 2024-11-26 22:00:20 +00:00
parent
1879361250
commit
47125daecf
5 changed files with 22 additions and 5 deletions
|
@ -26,7 +26,9 @@ typedef enum
|
||||||
/** Reload current DIALOG */
|
/** Reload current DIALOG */
|
||||||
RELOAD_DIALOG = 1002,
|
RELOAD_DIALOG = 1002,
|
||||||
/** Previous dialog */
|
/** Previous dialog */
|
||||||
PREVIOUS_DIALOG = 1003
|
PREVIOUS_DIALOG = 1003,
|
||||||
|
/** Reloads the dialog and unset user input */
|
||||||
|
RESET_DIALOG = 1004,
|
||||||
} ModeMode;
|
} ModeMode;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -215,6 +215,13 @@ void rofi_view_switch_mode ( RofiViewState *state, Mode *mode );
|
||||||
*/
|
*/
|
||||||
void rofi_view_set_overlay ( RofiViewState *state, const char *text );
|
void rofi_view_set_overlay ( RofiViewState *state, const char *text );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param state The handle to the view.
|
||||||
|
*
|
||||||
|
* Clears the user entry box, set selected to 0.
|
||||||
|
*/
|
||||||
|
void rofi_view_clear_input ( RofiViewState *state );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param menu_flags The state of the new window.
|
* @param menu_flags The state of the new window.
|
||||||
*
|
*
|
||||||
|
@ -247,6 +254,5 @@ void rofi_view_workers_finalize ( void );
|
||||||
* @returns the xcb_window_t for rofi's view or XCB_WINDOW_NONE.
|
* @returns the xcb_window_t for rofi's view or XCB_WINDOW_NONE.
|
||||||
*/
|
*/
|
||||||
xcb_window_t rofi_view_get_window ( void );
|
xcb_window_t rofi_view_get_window ( void );
|
||||||
|
|
||||||
/**@}*/
|
/**@}*/
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -146,9 +146,7 @@ static ModeMode script_mode_result ( Mode *sw, int mretv, char **input, unsigned
|
||||||
|
|
||||||
rmpd->cmd_list = new_list;
|
rmpd->cmd_list = new_list;
|
||||||
rmpd->cmd_list_length = new_length;
|
rmpd->cmd_list_length = new_length;
|
||||||
g_free ( *input );
|
retv = RESET_DIALOG;
|
||||||
*input = NULL;
|
|
||||||
retv = RELOAD_DIALOG;
|
|
||||||
}
|
}
|
||||||
return retv;
|
return retv;
|
||||||
}
|
}
|
||||||
|
|
|
@ -214,6 +214,9 @@ void process_result ( RofiViewState *state )
|
||||||
else if ( retv == RELOAD_DIALOG ) {
|
else if ( retv == RELOAD_DIALOG ) {
|
||||||
// do nothing.
|
// do nothing.
|
||||||
}
|
}
|
||||||
|
else if ( retv == RESET_DIALOG ) {
|
||||||
|
rofi_view_clear_input ( state );
|
||||||
|
}
|
||||||
else if ( retv < MODE_EXIT ) {
|
else if ( retv < MODE_EXIT ) {
|
||||||
mode = ( retv ) % num_modi;
|
mode = ( retv ) % num_modi;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1679,6 +1679,14 @@ void rofi_view_set_overlay ( RofiViewState *state, const char *text )
|
||||||
widget_move ( WIDGET ( state->overlay ), x_offset, state->border );
|
widget_move ( WIDGET ( state->overlay ), x_offset, state->border );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void rofi_view_clear_input ( RofiViewState *state )
|
||||||
|
{
|
||||||
|
if ( state->text ){
|
||||||
|
textbox_text ( state->text, "");
|
||||||
|
rofi_view_set_selected_line ( state, 0 );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void rofi_view_switch_mode ( RofiViewState *state, Mode *mode )
|
void rofi_view_switch_mode ( RofiViewState *state, Mode *mode )
|
||||||
{
|
{
|
||||||
state->sw = mode;
|
state->sw = mode;
|
||||||
|
|
Loading…
Reference in a new issue