rofi  1.5.1
view.c File Reference
#include <config.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <stdint.h>
#include <signal.h>
#include <errno.h>
#include <time.h>
#include <locale.h>
#include <xkbcommon/xkbcommon-x11.h>
#include <xcb/xkb.h>
#include <xcb/xcb_ewmh.h>
#include <xcb/xcb_icccm.h>
#include <cairo.h>
#include <cairo-xcb.h>
#include <libsn/sn.h>
#include "rofi.h"
#include "timings.h"
#include "settings.h"
#include "mode.h"
#include "display.h"
#include "xcb-internal.h"
#include "helper.h"
#include "helper-theme.h"
#include "xrmoptions.h"
#include "dialogs/dialogs.h"
#include "view.h"
#include "view-internal.h"
#include "theme.h"
#include "xcb.h"
Include dependency graph for view.c:

Go to the source code of this file.

Data Structures

struct  _thread_state
 

Macros

#define G_LOG_DOMAIN   "View"
 
#define SN_API_NOT_YET_FROZEN
 

Typedefs

typedef struct _thread_state thread_state
 

Functions

void rofi_view_update (RofiViewState *state, gboolean qr)
 
static int rofi_view_calculate_height (RofiViewState *state)
 
void rofi_view_get_current_monitor (int *width, int *height)
 
static char * get_matching_state (void)
 
static int lev_sort (const void *p1, const void *p2, void *arg)
 
void rofi_capture_screenshot (void)
 
static gboolean rofi_view_repaint (G_GNUC_UNUSED void *data)
 
static void rofi_view_update_prompt (RofiViewState *state)
 
static void rofi_view_calculate_window_position (RofiViewState *state)
 
static void rofi_view_window_update_size (RofiViewState *state)
 
static void rofi_view_reload_message_bar (RofiViewState *state)
 
static gboolean rofi_view_reload_idle (G_GNUC_UNUSED gpointer data)
 
void rofi_view_reload (void)
 
void rofi_view_queue_redraw (void)
 
void rofi_view_restart (RofiViewState *state)
 
RofiViewStaterofi_view_get_active (void)
 
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 *t, G_GNUC_UNUSED gpointer user_data)
 
static void rofi_view_setup_fake_transparency (const char *const fake_background)
 
void __create_window (MenuFlags menu_flags)
 
static void rofi_view_calculate_window_width (RofiViewState *state)
 
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 update_callback (textbox *t, unsigned int index, void *udata, TextBoxFontType type, gboolean full)
 
static void _rofi_view_reload_row (RofiViewState *state)
 
static void rofi_view_refilter (RofiViewState *state)
 
void process_result (RofiViewState *state)
 
void rofi_view_finalize (RofiViewState *state)
 
static void rofi_view_trigger_global_action (KeyBindingAction action)
 
gboolean rofi_view_trigger_action (RofiViewState *state, BindingsScope scope, guint action)
 
void rofi_view_handle_text (RofiViewState *state, char *text)
 
void rofi_view_handle_mouse_motion (RofiViewState *state, gint x, gint y)
 
void rofi_view_maybe_update (RofiViewState *state)
 
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)
 
static WidgetTriggerActionResult textbox_sidebar_modi_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 *))
 
int rofi_view_error_dialog (const char *msg, int markup)
 
void rofi_view_hide (void)
 
void rofi_view_cleanup ()
 
void rofi_view_workers_initialize (void)
 
void rofi_view_workers_finalize (void)
 
Moderofi_view_get_mode (RofiViewState *state)
 
void rofi_view_set_overlay (RofiViewState *state, const char *text)
 
void rofi_view_clear_input (RofiViewState *state)
 
void rofi_view_switch_mode (RofiViewState *state, Mode *mode)
 
xcb_window_t rofi_view_get_window (void)
 

Variables

GThreadPool * tpool = NULL
 
RofiViewStatecurrent_active_menu = NULL
 
struct {
   xcb_window_t   main_window
 
   cairo_surface_t *   fake_bg
 
   xcb_gcontext_t   gc
 
   xcb_pixmap_t   edit_pixmap
 
   cairo_surface_t *   edit_surf
 
   cairo_t *   edit_draw
 
   int   fake_bgrel
 
   MenuFlags   flags
 
   GQueue   views
 
   workarea   mon
 
   guint   idle_timeout
 
   unsigned long long   count
 
   guint   repaint_source
 
   gboolean   fullscreen
 
CacheState
 
static const int loc_transtable [9]
 

Macro Definition Documentation

◆ G_LOG_DOMAIN

#define G_LOG_DOMAIN   "View"

The Rofi View log domain

Definition at line 29 of file view.c.

◆ SN_API_NOT_YET_FROZEN

#define SN_API_NOT_YET_FROZEN

Definition at line 49 of file view.c.

Typedef Documentation

◆ thread_state

typedef struct _thread_state thread_state

Structure with data to process by each worker thread.

Function Documentation

◆ __rofi_view_state_create()

static RofiViewState* __rofi_view_state_create ( void  )
static

Create a new, 0 initialized RofiViewState structure.

Returns
a new 0 initialized RofiViewState

Definition at line 550 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()

static void _rofi_view_reload_row ( RofiViewState state)
static

Definition at line 998 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(), _thread_state::state, and RofiViewState::sw.

Referenced by rofi_view_refilter().

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

◆ filter_elements()

static void filter_elements ( thread_state t,
G_GNUC_UNUSED gpointer  user_data 
)
static

◆ get_matching_state()

static char* get_matching_state ( void  )
static

Definition at line 143 of file view.c.

References Settings::case_sensitive, config, and Settings::sort.

Referenced by rofi_view_add_widget(), and rofi_view_trigger_global_action().

Here is the caller graph for this function:

◆ lev_sort()

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

Levenshtein Sorting.

Definition at line 164 of file view.c.

Referenced by rofi_view_refilter().

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 193 of file rofi.c.

References curr_switcher, MODE_EXIT, mode_result(), modi, NEXT_DIALOG, num_modi, PREVIOUS_DIALOG, RELOAD_DIALOG, RESET_DIALOG, rofi_view_clear_input(), rofi_view_free(), rofi_view_get_return_value(), rofi_view_get_selected_line(), rofi_view_get_user_input(), rofi_view_set_active(), rofi_view_switch_mode(), and RofiViewState::sw.

Referenced by rofi_view_error_dialog(), and run_switcher().

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

◆ rofi_capture_screenshot()

void rofi_capture_screenshot ( void  )

Stores a screenshot of Rofi at that point in time.

Definition at line 176 of file view.c.

References CacheState, color_green, and color_reset.

Referenced by record(), and rofi_view_trigger_global_action().

Here is the caller graph for this function:

◆ rofi_view_add_widget()

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

MAINBOX

INPUTBAR

PROMPT

CASE INDICATOR

ENTRY BOX

MESSAGE

LISTVIEW

SIDEBAR

Definition at line 1519 of file view.c.

References box_add(), box_create(), RofiViewState::case_indicator, config, container_add(), container_create(), Settings::element_height, get_matching_state(), HIGHLIGHT, RofiViewState::list_view, listview_create(), listview_set_max_lines(), listview_set_mouse_activated_cb(), listview_set_multi_select(), listview_set_num_lines(), listview_set_scroll_type(), RofiViewState::menu_flags, MENU_INDICATOR, Settings::menu_lines, MENU_PASSWORD, RofiViewState::mesg_box, RofiViewState::mesg_tb, mode_get_display_name(), RofiViewState::modi, NORMAL, RofiViewState::num_lines, RofiViewState::num_modi, RofiViewState::prompt, rofi_get_mode(), rofi_get_num_enabled_modi(), ROFI_ORIENTATION_HORIZONTAL, ROFI_ORIENTATION_VERTICAL, rofi_theme_get_integer(), rofi_theme_get_list(), rofi_view_listview_mouse_activated_cb(), rofi_view_reload_message_bar(), rofi_view_update_prompt(), Settings::scroll_method, RofiViewState::sidebar_bar, Settings::sidebar_mode, _thread_state::state, RofiViewState::sw, TB_AUTOHEIGHT, TB_AUTOWIDTH, TB_EDITABLE, TB_MARKUP, TB_PASSWORD, TB_WRAP, RofiViewState::text, textbox_create(), textbox_sidebar_modi_trigger_action(), textbox_text(), update_callback(), WIDGET, widget_set_trigger_action_handler(), WIDGET_TYPE_EDITBOX, WIDGET_TYPE_SIDEBAR_MODI, and WIDGET_TYPE_TEXTBOX_TEXT.

Referenced by rofi_view_create().

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

◆ rofi_view_calculate_height()

static int rofi_view_calculate_height ( RofiViewState state)
static

Definition at line 1460 of file view.c.

References CacheState, distance_get_pixel(), RofiViewState::main_window, main_window, ROFI_ORIENTATION_VERTICAL, rofi_theme_get_distance(), _thread_state::state, WIDGET, and widget_get_desired_height().

Referenced by rofi_view_create(), and rofi_view_refilter().

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

◆ rofi_view_calculate_window_position()

◆ rofi_view_calculate_window_width()

static void rofi_view_calculate_window_width ( RofiViewState state)
static
Parameters
stateInternal state of the menu.

Calculate the width of the window and the width of an element.

Definition at line 816 of file view.c.

References CacheState, config, distance_get_pixel(), RofiViewState::main_window, Settings::menu_width, ROFI_ORIENTATION_HORIZONTAL, rofi_theme_get_distance(), _thread_state::state, textbox_get_estimated_char_width(), WIDGET, widget_padding_get_padding_width(), and RofiViewState::width.

Referenced by rofi_view_create(), and rofi_view_error_dialog().

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

◆ rofi_view_call_thread()

static 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 577 of file view.c.

References _thread_state::acount, _thread_state::callback, _thread_state::cond, and _thread_state::mutex.

Referenced by rofi_view_refilter(), and rofi_view_workers_initialize().

Here is the caller graph for this function:

◆ rofi_view_get_current_monitor()

void rofi_view_get_current_monitor ( int *  width,
int *  height 
)

Return the current monitor workarea.

Returns
the current monitor workarea

Definition at line 134 of file view.c.

References CacheState.

Referenced by distance_get_pixel().

Here is the caller graph for this function:

◆ rofi_view_listview_mouse_activated_cb()

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

Definition at line 1506 of file view.c.

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

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()

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

Move the selection to first row.

Definition at line 891 of file view.c.

References RofiViewState::list_view, listview_set_selected(), and _thread_state::state.

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()

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

Move the selection to last row.

Definition at line 902 of file view.c.

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

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()

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

complete current row.

Definition at line 870 of file view.c.

References RofiViewState::line_map, RofiViewState::list_view, listview_get_selected(), mode_get_completion(), MOVE_END, RofiViewState::refilter, _thread_state::state, 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()

static 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 845 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, RofiViewState::selected_line, and _thread_state::state.

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_refilter()

static void rofi_view_refilter ( RofiViewState state)
static

◆ rofi_view_reload_idle()

static gboolean rofi_view_reload_idle ( G_GNUC_UNUSED gpointer  data)
static

Definition at line 413 of file view.c.

References CacheState, current_active_menu, RofiViewState::refilter, RofiViewState::reload, and rofi_view_queue_redraw().

Referenced by rofi_view_reload().

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

◆ rofi_view_reload_message_bar()

static void rofi_view_reload_message_bar ( RofiViewState state)
static

Definition at line 397 of file view.c.

References 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_repaint()

static gboolean rofi_view_repaint ( G_GNUC_UNUSED void *  data)
static

Definition at line 225 of file view.c.

References CacheState, _xcb_stuff::connection, current_active_menu, RofiViewState::height, rofi_view_update(), TICK_N, RofiViewState::width, and xcb.

Referenced by rofi_view_frame_callback(), and rofi_view_queue_redraw().

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

◆ rofi_view_setup_fake_transparency()

static void rofi_view_setup_fake_transparency ( const char *const  fake_background)
static

Select Background to use for fake transparency. Current options: 'real', 'screenshot','background'

Definition at line 610 of file view.c.

References CacheState, rofi_expand_path(), TICK_N, x11_helper_get_bg_surface(), and x11_helper_get_screenshot_surface().

Referenced by __create_window().

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

◆ rofi_view_trigger_global_action()

static void rofi_view_trigger_global_action ( KeyBindingAction  action)
static

Definition at line 1117 of file view.c.

References ACCEPT_ALT, ACCEPT_CUSTOM, ACCEPT_ENTRY, CacheState, CANCEL, RofiViewState::case_indicator, Settings::case_sensitive, CLEAR_LINE, config, _xcb_stuff::connection, 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, _xcb_stuff::ewmh, get_matching_state(), RofiViewState::line_map, RofiViewState::list_view, listview_get_selected(), listview_nav_down(), listview_nav_left(), listview_nav_page_next(), listview_nav_page_prev(), listview_nav_right(), listview_nav_up(), MENU_CANCEL, MENU_CUSTOM_ACTION, MENU_CUSTOM_INPUT, MENU_ENTRY_DELETE, MENU_LOWER_MASK, MENU_NEXT, MENU_OK, MENU_PREVIOUS, MENU_QUICK_SWITCH, 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_nav_first(), rofi_view_nav_last(), rofi_view_nav_row_select(), rofi_view_nav_row_tab(), 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, Settings::sort, _thread_state::state, RofiViewState::text, textbox_keybinding(), textbox_text(), TOGGLE_CASE_SENSITIVITY, TOGGLE_SORT, and xcb.

Referenced by rofi_view_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 
)
Parameters
stateThe handle to the view
qrIndicate if queue_redraw should be called on changes.

Update the state of the view. This involves filter state.

Definition at line 956 of file view.c.

References CacheState, RofiViewState::main_window, RofiViewState::overlay, rofi_view_queue_redraw(), _thread_state::state, TICK, TICK_N, WIDGET, widget_draw(), widget_need_redraw(), RofiViewState::x, and RofiViewState::y.

Referenced by rofi_view_create(), rofi_view_maybe_update(), rofi_view_repaint(), and rofi_view_switch_mode().

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

◆ rofi_view_update_prompt()

static void rofi_view_update_prompt ( RofiViewState state)
static

Definition at line 243 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_window_update_size()

static void rofi_view_window_update_size ( RofiViewState state)
static

Definition at line 374 of file view.c.

References CacheState, _xcb_stuff::connection, depth, RofiViewState::height, RofiViewState::main_window, visual, WIDGET, widget_resize(), RofiViewState::width, RofiViewState::x, xcb, and RofiViewState::y.

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

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

◆ rofi_view_workers_finalize()

void rofi_view_workers_finalize ( void  )

Stop all threads and free the resources used by the threadpool

Definition at line 1842 of file view.c.

References tpool.

Referenced by cleanup().

Here is the caller graph for this function:

◆ rofi_view_workers_initialize()

void rofi_view_workers_initialize ( void  )

Initialize the threadpool

Definition at line 1815 of file view.c.

References config, rofi_view_call_thread(), Settings::threads, TICK_N, and tpool.

Referenced by main().

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

◆ textbox_sidebar_modi_trigger_action()

static WidgetTriggerActionResult textbox_sidebar_modi_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()

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

Variable Documentation

◆ CacheState

◆ count

unsigned long long count

debug counter for redraws

Definition at line 115 of file view.c.

Referenced by helper_token_match_get_pango_attr(), rofi_view_refilter(), and window_set_atom_prop().

◆ current_active_menu

RofiViewState* current_active_menu = NULL

Global pointer to the currently active RofiViewState

Definition at line 85 of file view.c.

Referenced by rofi_view_get_active(), rofi_view_queue_redraw(), rofi_view_reload_idle(), rofi_view_repaint(), and rofi_view_set_active().

◆ edit_draw

cairo_t* edit_draw

Drawable context for edit_surf

Definition at line 103 of file view.c.

◆ edit_pixmap

xcb_pixmap_t edit_pixmap

Main X11 side pixmap to draw on.

Definition at line 99 of file view.c.

◆ edit_surf

cairo_surface_t* edit_surf

Cairo Surface for edit_pixmap

Definition at line 101 of file view.c.

◆ fake_bg

cairo_surface_t* fake_bg

surface containing the fake background.

Definition at line 95 of file view.c.

◆ fake_bgrel

int fake_bgrel

Indicate that fake background should be drawn relative to the window

Definition at line 105 of file view.c.

◆ flags

MenuFlags flags

Main flags

Definition at line 107 of file view.c.

Referenced by create_pid_file(), listview_recompute_elements(), textbox_create(), and x11_disable_decoration().

◆ fullscreen

gboolean fullscreen

Window fullscreen

Definition at line 119 of file view.c.

◆ gc

xcb_gcontext_t gc

Draw context for main window

Definition at line 97 of file view.c.

◆ idle_timeout

guint idle_timeout

timeout for reloading

Definition at line 113 of file view.c.

◆ loc_transtable

const int loc_transtable[9]
static
Initial value:

Calculates the window position Convert the old location to the new location type. 123 804 765

nw n ne w c e sw s se

Definition at line 263 of file view.c.

Referenced by rofi_view_calculate_window_position().

◆ main_window

xcb_window_t main_window

main x11 windows

Definition at line 93 of file view.c.

Referenced by rofi_view_calculate_height().

◆ mon

◆ repaint_source

guint repaint_source

redraw idle time.

Definition at line 117 of file view.c.

◆ tpool

GThreadPool* tpool = NULL

Thread pool used for filtering

Definition at line 82 of file view.c.

Referenced by rofi_view_refilter(), rofi_view_workers_finalize(), and rofi_view_workers_initialize().

◆ views

GQueue views

List of stacked views

Definition at line 109 of file view.c.