rofi 2.0.0
view.c File Reference
#include <config.h>
#include <locale.h>
#include <signal.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <unistd.h>
#include <glib.h>
#include "rofi.h"
#include "settings.h"
#include "timings.h"
#include "display.h"
#include "helper-theme.h"
#include "helper.h"
#include "mode.h"
#include "view-internal.h"
#include "view.h"
#include "theme.h"
#include "xcb-dummy.h"
Include dependency graph for view.c:

Go to the source code of this file.

Data Structures

struct  _thread_state_view

Macros

#define G_LOG_DOMAIN   "View"

Typedefs

typedef struct _thread_state_view thread_state_view

Functions

void view_init (const view_proxy *view_in)
static char * get_matching_state (RofiViewState *state)
static int lev_sort (const void *p1, const void *p2, void *arg)
static void screenshot_taken_user_callback (const char *path)
void rofi_capture_screenshot (void)
static void rofi_view_update_prompt (RofiViewState *state)
static void rofi_view_reload_message_bar (RofiViewState *state)
static void rofi_view_take_action (const char *name)
static gboolean rofi_view_user_timeout (G_GNUC_UNUSED gpointer data)
static void rofi_view_set_user_timeout (G_GNUC_UNUSED gpointer data)
void rofi_view_restart (RofiViewState *state)
RofiViewStaterofi_view_get_active (void)
void rofi_view_remove_active (RofiViewState *state)
void rofi_view_set_active (RofiViewState *state)
void rofi_view_set_selected_line (RofiViewState *state, unsigned int selected_line)
void rofi_view_free (RofiViewState *state)
MenuReturn rofi_view_get_return_value (const RofiViewState *state)
unsigned int rofi_view_get_selected_line (const RofiViewState *state)
unsigned int rofi_view_get_next_position (const RofiViewState *state)
unsigned int rofi_view_get_completed (const RofiViewState *state)
const char * rofi_view_get_user_input (const RofiViewState *state)
static RofiViewState__rofi_view_state_create (void)
static void rofi_view_call_thread (gpointer data, gpointer user_data)
static void filter_elements (thread_state *ts, G_GNUC_UNUSED gpointer user_data)
void input_history_initialize (void)
void input_history_save (void)
static void rofi_view_nav_row_tab (RofiViewState *state)
static void rofi_view_nav_row_select (RofiViewState *state)
static void rofi_view_nav_first (RofiViewState *state)
static void rofi_view_nav_last (RofiViewState *state)
static void selection_changed_user_callback (unsigned int index, RofiViewState *state)
static void selection_changed_callback (G_GNUC_UNUSED listview *lv, unsigned int index, void *udata)
static void update_callback (textbox *t, icon *ico, unsigned int index, void *udata, TextBoxFontType *type, gboolean full)
static void page_changed_callback (void)
static void _rofi_view_reload_row (RofiViewState *state)
static gboolean rofi_view_refilter_real (RofiViewState *state)
void rofi_view_refilter (RofiViewState *state)
static void rofi_view_refilter_force (RofiViewState *state)
void process_result (RofiViewState *state)
void rofi_view_finalize (RofiViewState *state)
static void rofi_view_input_changed (void)
static void rofi_view_trigger_global_action (KeyBindingAction action)
gboolean rofi_view_check_action (RofiViewState *state, BindingsScope scope, guint action)
void rofi_view_trigger_action (RofiViewState *state, BindingsScope scope, guint action)
void rofi_view_handle_text (RofiViewState *state, char *text)
static RofiCursorType rofi_view_resolve_cursor (RofiViewState *state, gint x, gint y)
void rofi_view_handle_mouse_motion (RofiViewState *state, gint x, gint y, gboolean find_mouse_target)
static void rofi_quit_user_callback (RofiViewState *state)
void rofi_view_maybe_update (RofiViewState *state)
WidgetTriggerActionResult textbox_button_trigger_action (widget *wid, MouseBindingMouseDefaultAction action, G_GNUC_UNUSED gint x, G_GNUC_UNUSED gint y, G_GNUC_UNUSED void *user_data)
static WidgetTriggerActionResult textbox_sidebar_modes_trigger_action (widget *wid, MouseBindingMouseDefaultAction action, G_GNUC_UNUSED gint x, G_GNUC_UNUSED gint y, G_GNUC_UNUSED void *user_data)
static void rofi_view_listview_mouse_activated_cb (listview *lv, gboolean custom, void *udata)
static void rofi_view_add_widget (RofiViewState *state, widget *parent_widget, const char *name)
RofiViewStaterofi_view_create (Mode *sw, const char *input, MenuFlags menu_flags, void(*finalize)(RofiViewState *))
static void rofi_error_user_callback (const char *msg)
int rofi_view_error_dialog (const char *msg, int markup)
static int rofi_thread_workers_sort (gconstpointer a, gconstpointer b, gpointer data G_GNUC_UNUSED)
static void rofi_thread_pool_state_free (gpointer data)
void rofi_view_workers_initialize (void)
void rofi_view_workers_finalize (void)
Moderofi_view_get_mode (RofiViewState *state)
static gboolean rofi_view_overlay_timeout (G_GNUC_UNUSED gpointer user_data)
void rofi_view_set_overlay_timeout (RofiViewState *state, const char *text)
void rofi_view_set_overlay (RofiViewState *state, const char *text)
void rofi_view_clear_input (RofiViewState *state)
void rofi_view_ellipsize_listview (RofiViewState *state, PangoEllipsizeMode mode)
void rofi_view_switch_mode (RofiViewState *state, Mode *mode)
void rofi_view_update (RofiViewState *state, gboolean qr)
void rofi_view_temp_configure_notify (RofiViewState *state, xcb_configure_notify_event_t *xce)
void rofi_view_temp_click_to_exit (RofiViewState *state, xcb_window_t target)
void rofi_view_frame_callback (void)
void rofi_view_queue_redraw (void)
void rofi_view_set_window_title (const char *title)
void rofi_view_calculate_window_position (RofiViewState *state)
void rofi_view_calculate_window_width (struct RofiViewState *state)
int rofi_view_calculate_window_height (RofiViewState *state)
void rofi_view_window_update_size (RofiViewState *state)
void rofi_view_set_cursor (RofiCursorType type)
void rofi_view_cleanup (void)
void rofi_view_hide (void)
void rofi_view_reload (void)
void __create_window (MenuFlags menu_flags)
xcb_window_t rofi_view_get_window (void)
void rofi_view_get_current_monitor (int *width, int *height)
void rofi_view_set_size (RofiViewState *state, gint width, gint height)
void rofi_view_get_size (RofiViewState *state, gint *width, gint *height)
void rofi_view_ping_mouse (RofiViewState *state)
void rofi_view_pool_refresh (void)

Variables

static const view_proxyproxy
GThreadPool * tpool = NULL
RofiViewStatecurrent_active_menu = NULL
struct _rofi_view_cache_state CacheState
GList * list_of_warning_msgs

Macro Definition Documentation

◆ G_LOG_DOMAIN

#define G_LOG_DOMAIN   "View"

The Rofi View log domain

Definition at line 29 of file view.c.

Typedef Documentation

◆ thread_state_view

Thread state for workers started for the view.

Function Documentation

◆ __rofi_view_state_create()

RofiViewState * __rofi_view_state_create ( void )
static

Create a new, 0 initialized RofiViewState structure.

Returns
a new 0 initialized RofiViewState

Definition at line 404 of file view.c.

Referenced by rofi_view_create(), and rofi_view_error_dialog().

Here is the caller graph for this function:

◆ _rofi_view_reload_row()

void _rofi_view_reload_row ( RofiViewState * state)
static

Definition at line 747 of file view.c.

References RofiViewState::distance, RofiViewState::line_map, RofiViewState::list_view, listview_set_max_lines(), mode_get_num_entries(), RofiViewState::num_lines, rofi_view_reload_message_bar(), and RofiViewState::sw.

Referenced by rofi_view_refilter_real().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ filter_elements()

◆ get_matching_state()

char * get_matching_state ( RofiViewState * state)
static

Definition at line 91 of file view.c.

References RofiViewState::case_sensitive, and config.

Referenced by rofi_view_add_widget(), rofi_view_refilter_real(), and rofi_view_trigger_global_action().

Here is the caller graph for this function:

◆ lev_sort()

int lev_sort ( const void * p1,
const void * p2,
void * arg )
static

Levenshtein Sorting.

Definition at line 109 of file view.c.

Referenced by rofi_view_refilter_real().

Here is the caller graph for this function:

◆ page_changed_callback()

void page_changed_callback ( void )
static

Definition at line 742 of file view.c.

References rofi_view_workers_finalize(), and rofi_view_workers_initialize().

Referenced by rofi_view_add_widget().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ process_result()

void process_result ( RofiViewState * state)
Parameters
stateThe Menu Handle

Check if a finalize function is set, and if sets executes it.

Load in the new mode.

Definition at line 238 of file rofi.c.

◆ rofi_error_user_callback()

void rofi_error_user_callback ( const char * msg)
static

Definition at line 1903 of file view.c.

References config, helper_execute(), and helper_parse_setup().

Referenced by rofi_view_error_dialog().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rofi_quit_user_callback()

void rofi_quit_user_callback ( RofiViewState * state)
static

◆ rofi_thread_pool_state_free()

void rofi_thread_pool_state_free ( gpointer data)
static

Definition at line 1974 of file view.c.

References _thread_state::free.

Referenced by rofi_view_workers_initialize().

Here is the caller graph for this function:

◆ rofi_thread_workers_sort()

int rofi_thread_workers_sort ( gconstpointer a,
gconstpointer b,
gpointer data G_GNUC_UNUSED )
static

Definition at line 1966 of file view.c.

References _thread_state::priority.

Referenced by rofi_view_workers_initialize().

Here is the caller graph for this function:

◆ rofi_view_add_widget()

void rofi_view_add_widget ( RofiViewState * state,
widget * parent_widget,
const char * name )
static

MAINBOX

INPUTBAR

PROMPT

CASE INDICATOR

ENTRY BOX

MESSAGE

LISTVIEW

MODE SWITCHER

Definition at line 1590 of file view.c.

References box_add(), box_create(), RofiViewState::case_indicator, config, container_add(), container_create(), get_matching_state(), HIGHLIGHT, icon_create(), RofiViewState::icon_current_entry, RofiViewState::list_view, listview_create(), listview_set_max_lines(), listview_set_mouse_activated_cb(), listview_set_scroll_type(), listview_set_selection_changed_callback(), RofiViewState::menu_flags, MENU_PASSWORD, RofiViewState::mesg_box, RofiViewState::mesg_tb, mode_get_display_name(), RofiViewState::modes, NORMAL, RofiViewState::num_modes, RofiViewState::overlay, page_changed_callback(), RofiViewState::prompt, rofi_get_mode(), rofi_get_num_enabled_modes(), ROFI_ORIENTATION_HORIZONTAL, ROFI_ORIENTATION_VERTICAL, rofi_theme_get_list_strings(), rofi_theme_get_string(), rofi_view_add_widget(), rofi_view_listview_mouse_activated_cb(), rofi_view_reload_message_bar(), rofi_view_update_prompt(), selection_changed_callback(), RofiViewState::sidebar_bar, RofiViewState::sw, TB_AUTOHEIGHT, TB_AUTOWIDTH, RofiViewState::tb_current_entry, TB_EDITABLE, RofiViewState::tb_filtered_rows, TB_MARKUP, TB_PASSWORD, RofiViewState::tb_total_rows, TB_WRAP, RofiViewState::text, textbox_button_trigger_action(), textbox_create(), textbox_sidebar_modes_trigger_action(), textbox_text(), update_callback(), URGENT, WIDGET, widget_disable(), widget_set_trigger_action_handler(), WIDGET_TYPE_EDITBOX, WIDGET_TYPE_MODE_SWITCHER, and WIDGET_TYPE_TEXTBOX_TEXT.

Referenced by rofi_view_add_widget(), and rofi_view_create().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rofi_view_calculate_window_height()

int rofi_view_calculate_window_height ( RofiViewState * state)

Definition at line 2143 of file view.c.

References proxy.

Referenced by rofi_view_create(), rofi_view_error_dialog(), and rofi_view_refilter_real().

Here is the caller graph for this function:

◆ rofi_view_calculate_window_width()

void rofi_view_calculate_window_width ( struct RofiViewState * state)

Definition at line 2139 of file view.c.

References proxy.

Referenced by rofi_view_create(), and rofi_view_error_dialog().

Here is the caller graph for this function:

◆ rofi_view_call_thread()

void rofi_view_call_thread ( gpointer data,
gpointer user_data )
static
Parameters
dataA thread_state object.
user_dataUser data to pass to thread_state callback

Small wrapper function that is internally used to pass a job to a worker.

Definition at line 442 of file view.c.

References _thread_state::callback.

Referenced by rofi_view_refilter_real(), and rofi_view_workers_initialize().

Here is the caller graph for this function:

◆ rofi_view_input_changed()

void rofi_view_input_changed ( void )
static

This function should be called when the input of the entry is changed. TODO: Evaluate if this needs to be a 'signal' on textbox?

Definition at line 954 of file view.c.

References CacheState, current_active_menu, rofi_view_take_action(), RofiViewState::text, textbox_get_cursor(), and textbox_get_text().

Referenced by rofi_view_handle_text(), and rofi_view_trigger_global_action().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rofi_view_listview_mouse_activated_cb()

void rofi_view_listview_mouse_activated_cb ( listview * lv,
gboolean custom,
void * udata )
static

Definition at line 1577 of file view.c.

References RofiViewState::line_map, listview_get_selected(), MENU_CUSTOM_ACTION, MENU_OK, RofiViewState::quit, RofiViewState::retv, RofiViewState::selected_line, and RofiViewState::skip_absorb.

Referenced by rofi_view_add_widget().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rofi_view_nav_first()

void rofi_view_nav_first ( RofiViewState * state)
inlinestatic
Parameters
stateThe current RofiViewState

Move the selection to first row.

Definition at line 620 of file view.c.

References RofiViewState::list_view, and listview_set_selected().

Referenced by rofi_view_trigger_global_action().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rofi_view_nav_last()

void rofi_view_nav_last ( RofiViewState * state)
inlinestatic
Parameters
stateThe current RofiViewState

Move the selection to last row.

Definition at line 630 of file view.c.

References RofiViewState::filtered_lines, RofiViewState::list_view, and listview_set_selected().

Referenced by rofi_view_trigger_global_action().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rofi_view_nav_row_select()

void rofi_view_nav_row_select ( RofiViewState * state)
inlinestatic
Parameters
stateThe current RofiViewState

complete current row.

Definition at line 600 of file view.c.

References RofiViewState::line_map, RofiViewState::list_view, listview_get_selected(), mode_get_completion(), MOVE_END, RofiViewState::refilter, RofiViewState::sw, RofiViewState::text, textbox_keybinding(), and textbox_text().

Referenced by rofi_view_trigger_global_action().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rofi_view_nav_row_tab()

void rofi_view_nav_row_tab ( RofiViewState * state)
static

Nav helper functions, to avoid duplicate code.

Parameters
stateThe current RofiViewState

Tab handling.

Definition at line 576 of file view.c.

References RofiViewState::filtered_lines, RofiViewState::line_map, RofiViewState::list_view, listview_get_selected(), listview_nav_down(), MENU_NEXT, MENU_OK, RofiViewState::prev_action, RofiViewState::quit, RofiViewState::retv, ROW_TAB, and RofiViewState::selected_line.

Referenced by rofi_view_trigger_global_action().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rofi_view_overlay_timeout()

gboolean rofi_view_overlay_timeout ( G_GNUC_UNUSED gpointer user_data)
static

Definition at line 2030 of file view.c.

References CacheState, RofiViewState::overlay, rofi_view_get_active(), rofi_view_queue_redraw(), WIDGET, and widget_disable().

Referenced by rofi_view_set_overlay_timeout().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rofi_view_refilter()

void rofi_view_refilter ( RofiViewState * state)

Definition at line 899 of file view.c.

References CacheState, config, rofi_view_refilter_real(), RofiViewState::text, and textbox::text.

Referenced by rofi_view_create(), rofi_view_maybe_update(), and rofi_view_trigger_global_action().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rofi_view_refilter_force()

void rofi_view_refilter_force ( RofiViewState * state)
static

Definition at line 929 of file view.c.

References CacheState, RofiViewState::refilter, and rofi_view_refilter_real().

Referenced by rofi_view_switch_mode(), and rofi_view_trigger_global_action().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rofi_view_refilter_real()

gboolean rofi_view_refilter_real ( RofiViewState * state)
static

On long lists it can be beneficial to parallelize. If number of threads is 1, no thread is spawn. If number of threads > 1 and there are enough (> 1000) items, spawn jobs for the thread pool. For large lists with 8 threads I see a factor three speedup of the whole function.

Definition at line 757 of file view.c.

References _rofi_view_reload_row(), _thread_state_view::acount, CacheState, _thread_state::callback, RofiViewState::case_indicator, RofiViewState::case_sensitive, _thread_state_view::cond, config, _thread_state_view::count, count, RofiViewState::distance, filter_elements(), RofiViewState::filtered_lines, _thread_state::free, get_matching_state(), RofiViewState::height, helper_tokenize(), helper_tokenize_free(), lev_sort(), RofiViewState::line_map, RofiViewState::list_view, listview_get_selected(), listview_set_filtered(), listview_set_num_elements(), MENU_OK, mode_preprocess_input(), _thread_state_view::mutex, RofiViewState::num_lines, parse_case_sensitivity(), _thread_state_view::pattern, _thread_state_view::plen, _thread_state::priority, RofiViewState::quit, RofiViewState::refilter, RofiViewState::reload, RofiViewState::retv, rofi_view_calculate_window_height(), rofi_view_calculate_window_position(), rofi_view_call_thread(), rofi_view_update(), rofi_view_window_update_size(), RofiViewState::selected_line, _thread_state_view::st, _thread_state_view::start, _thread_state_view::state, _thread_state_view::stop, RofiViewState::sw, RofiViewState::tb_filtered_rows, RofiViewState::tb_total_rows, RofiViewState::text, textbox::text, textbox_text(), TICK_N, RofiViewState::tokens, and tpool.

Referenced by rofi_view_refilter(), and rofi_view_refilter_force().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rofi_view_reload_message_bar()

void rofi_view_reload_message_bar ( RofiViewState * state)
static

we want to popin warning here.

Definition at line 208 of file view.c.

References list_of_warning_msgs, RofiViewState::mesg_box, RofiViewState::mesg_tb, mode_get_message(), RofiViewState::sw, textbox_text(), WIDGET, widget_disable(), and widget_enable().

Referenced by _rofi_view_reload_row(), and rofi_view_add_widget().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rofi_view_resolve_cursor()

RofiCursorType rofi_view_resolve_cursor ( RofiViewState * state,
gint x,
gint y )
static

Definition at line 1427 of file view.c.

References _widget::cursor_type, RofiViewState::main_window, ROFI_CURSOR_DEFAULT, WIDGET, widget_find_mouse_target(), and WIDGET_TYPE_UNKNOWN.

Referenced by rofi_view_handle_mouse_motion().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rofi_view_set_user_timeout()

void rofi_view_set_user_timeout ( G_GNUC_UNUSED gpointer data)
static

Find the widget

Check string property

Definition at line 267 of file view.c.

References CacheState, _PropertyValue::f, _PropertyValue::i, P_DOUBLE, P_INTEGER, rofi_config_find_widget(), rofi_theme_find_property(), rofi_view_user_timeout(), Property::type, and Property::value.

Referenced by rofi_view_create(), and rofi_view_trigger_action().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rofi_view_take_action()

void rofi_view_take_action ( const char * name)
static

Check string property

Definition at line 245 of file view.c.

References key_binding_get_action_from_name(), P_STRING, rofi_config_find_widget(), rofi_theme_find_property(), rofi_view_get_active(), rofi_view_trigger_action(), _PropertyValue::s, SCOPE_GLOBAL, Property::type, and Property::value.

Referenced by rofi_view_input_changed(), and rofi_view_user_timeout().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rofi_view_trigger_global_action()

void rofi_view_trigger_global_action ( KeyBindingAction action)
static

Definition at line 982 of file view.c.

References ACCEPT_ALT, ACCEPT_CUSTOM, ACCEPT_CUSTOM_ALT, ACCEPT_ENTRY, CacheState, CANCEL, RofiViewState::case_indicator, CHANGE_ELLIPSIZE, CLEAR_LINE, CLIPBOARD_DEFAULT, CLIPBOARD_PRIMARY, config, COPY_SECONDARY, CUSTOM_1, CUSTOM_10, CUSTOM_11, CUSTOM_12, CUSTOM_13, CUSTOM_14, CUSTOM_15, CUSTOM_16, CUSTOM_17, CUSTOM_18, CUSTOM_19, CUSTOM_2, CUSTOM_3, CUSTOM_4, CUSTOM_5, CUSTOM_6, CUSTOM_7, CUSTOM_8, CUSTOM_9, DELETE_ENTRY, display_get_clipboard_data(), DISPLAY_WAYLAND, DISPLAY_XCB, ELEMENT_NEXT, ELEMENT_PREV, ENTRY_HISTORY_DOWN, ENTRY_HISTORY_UP, get_matching_state(), helper_get_matching_mode_str(), helper_select_next_matching_mode(), helper_select_previous_matching_mode(), RofiViewState::line_map, RofiViewState::list_view, listview_get_selected(), listview_nav_down(), listview_nav_left(), listview_nav_next(), listview_nav_page_next(), listview_nav_page_prev(), listview_nav_prev(), listview_nav_right(), listview_nav_up(), listview_toggle_ellipsizing(), MATCHER_DOWN, MATCHER_UP, MENU_CANCEL, MENU_COMPLETE, MENU_CUSTOM_ACTION, MENU_CUSTOM_COMMAND, MENU_CUSTOM_INPUT, MENU_ENTRY_DELETE, MENU_LOWER_MASK, MENU_NEXT, MENU_OK, MENU_PREVIOUS, MODE_COMPLETE, mode_get_completion(), MODE_NEXT, MODE_PREVIOUS, MOVE_CHAR_BACK, MOVE_CHAR_FORWARD, MOVE_END, MOVE_FRONT, MOVE_WORD_BACK, MOVE_WORD_FORWARD, netatoms, PAGE_NEXT, PAGE_PREV, PASTE_PRIMARY, PASTE_SECONDARY, RofiViewState::quit, RofiViewState::refilter, REMOVE_CHAR_BACK, REMOVE_CHAR_FORWARD, REMOVE_TO_EOL, REMOVE_TO_SOL, REMOVE_WORD_BACK, REMOVE_WORD_FORWARD, RofiViewState::retv, rofi_capture_screenshot(), rofi_view_get_active(), rofi_view_input_changed(), rofi_view_nav_first(), rofi_view_nav_last(), rofi_view_nav_row_select(), rofi_view_nav_row_tab(), rofi_view_refilter(), rofi_view_refilter_force(), rofi_view_set_overlay_timeout(), ROW_DOWN, ROW_FIRST, ROW_LAST, ROW_LEFT, ROW_RIGHT, ROW_SELECT, ROW_TAB, ROW_UP, SCREENSHOT, SELECT_ELEMENT_1, SELECT_ELEMENT_10, SELECT_ELEMENT_2, SELECT_ELEMENT_3, SELECT_ELEMENT_4, SELECT_ELEMENT_5, SELECT_ELEMENT_6, SELECT_ELEMENT_7, SELECT_ELEMENT_8, SELECT_ELEMENT_9, RofiViewState::selected_line, RofiViewState::sw, RofiViewState::text, textbox::text, textbox_cursor(), textbox_get_cursor(), textbox_get_text(), textbox_keybinding(), textbox_text(), TOGGLE_CASE_SENSITIVITY, TOGGLE_SORT, xcb, and xcb_stuff_set_clipboard().

Referenced by rofi_view_trigger_action(), and textbox_button_trigger_action().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rofi_view_update()

void rofi_view_update ( RofiViewState * state,
gboolean qr )

Definition at line 2114 of file view.c.

References proxy.

Referenced by rofi_view_create(), rofi_view_maybe_update(), rofi_view_refilter_real(), rofi_view_switch_mode(), and xcb_rofi_view_repaint().

Here is the caller graph for this function:

◆ rofi_view_update_prompt()

void rofi_view_update_prompt ( RofiViewState * state)
static

Definition at line 200 of file view.c.

References mode_get_display_name(), RofiViewState::prompt, RofiViewState::sw, and textbox_text().

Referenced by rofi_view_add_widget(), and rofi_view_switch_mode().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rofi_view_user_timeout()

gboolean rofi_view_user_timeout ( G_GNUC_UNUSED gpointer data)
static

Definition at line 261 of file view.c.

References CacheState, and rofi_view_take_action().

Referenced by rofi_view_set_user_timeout().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rofi_view_window_update_size()

void rofi_view_window_update_size ( RofiViewState * state)

Definition at line 2147 of file view.c.

References proxy.

Referenced by rofi_view_create(), rofi_view_error_dialog(), rofi_view_refilter_real(), and rofi_view_set_active().

Here is the caller graph for this function:

◆ screenshot_taken_user_callback()

void screenshot_taken_user_callback ( const char * path)
static

Definition at line 117 of file view.c.

References config, helper_execute(), and helper_parse_setup().

Referenced by rofi_capture_screenshot().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ selection_changed_callback()

void selection_changed_callback ( G_GNUC_UNUSED listview * lv,
unsigned int index,
void * udata )
static

◆ selection_changed_user_callback()

void selection_changed_user_callback ( unsigned int index,
RofiViewState * state )
static

Definition at line 638 of file view.c.

References config, helper_execute(), helper_parse_setup(), RofiViewState::line_map, mode_get_display_value(), and RofiViewState::sw.

Referenced by selection_changed_callback().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ textbox_sidebar_modes_trigger_action()

WidgetTriggerActionResult textbox_sidebar_modes_trigger_action ( widget * wid,
MouseBindingMouseDefaultAction action,
G_GNUC_UNUSED gint x,
G_GNUC_UNUSED gint y,
G_GNUC_UNUSED void * user_data )
static

◆ update_callback()

void update_callback ( textbox * t,
icon * ico,
unsigned int index,
void * udata,
TextBoxFontType * type,
gboolean full )
static

◆ view_init()

void view_init ( const view_proxy * view_in)

Definition at line 67 of file view.c.

References proxy.

Referenced by display_init().

Here is the caller graph for this function:

Variable Documentation

◆ CacheState

◆ current_active_menu

RofiViewState* current_active_menu = NULL

Global pointer to the currently active RofiViewState

Definition at line 73 of file view.c.

Referenced by rofi_capture_screenshot(), rofi_view_get_active(), rofi_view_input_changed(), rofi_view_remove_active(), and rofi_view_set_active().

◆ list_of_warning_msgs

GList* list_of_warning_msgs
extern

List of warning messages for the user.

Definition at line 90 of file rofi.c.

Referenced by rofi_add_warning_message(), rofi_clear_warning_messages(), rofi_theme_rasi_validate(), rofi_view_reload_message_bar(), and startup().

◆ proxy

const view_proxy* proxy
static

Definition at line 65 of file view.c.

◆ tpool

GThreadPool* tpool = NULL