rofi  1.5.4
xcb.c File Reference
#include <config.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <stdint.h>
#include <glib.h>
#include <cairo.h>
#include <cairo-xcb.h>
#include <librsvg/rsvg.h>
#include <xcb/xcb.h>
#include <xcb/xcb_aux.h>
#include <xcb/randr.h>
#include <xcb/xinerama.h>
#include <xcb/xcb_ewmh.h>
#include <xcb/xproto.h>
#include <xcb/xkb.h>
#include <xkbcommon/xkbcommon.h>
#include <xkbcommon/xkbcommon-x11.h>
#include "rofi-types.h"
#include <libsn/sn.h>
#include "display.h"
#include "xcb-internal.h"
#include "xcb.h"
#include "settings.h"
#include "helper.h"
#include "timings.h"
#include <rofi.h>
Include dependency graph for xcb.c:

Go to the source code of this file.

Macros

#define G_LOG_DOMAIN   "X11Helper"
 
#define SN_API_NOT_YET_FROZEN
 
#define sn_launcher_context_set_application_id   sn_launcher_set_application_id
 
#define RANDR_PREF_MAJOR_VERSION   1
 
#define RANDR_PREF_MINOR_VERSION   5
 
#define INTERSECT(x, y, x1, y1, w1, h1)   ( ( ( ( x ) >= ( x1 ) ) && ( ( x ) < ( x1 + w1 ) ) ) && ( ( ( y ) >= ( y1 ) ) && ( ( y ) < ( y1 + h1 ) ) ) )
 

Functions

cairo_surface_t * x11_helper_get_screenshot_surface (void)
 
static xcb_pixmap_t get_root_pixmap (xcb_connection_t *c, xcb_screen_t *screen, xcb_atom_t atom)
 
cairo_surface_t * x11_helper_get_bg_surface (void)
 
char * window_get_text_prop (xcb_window_t w, xcb_atom_t atom)
 
void window_set_atom_prop (xcb_window_t w, xcb_atom_t prop, xcb_atom_t *atoms, int count)
 
static void x11_monitor_free (workarea *m)
 
static void x11_monitors_free (void)
 
static workareax11_get_monitor_from_output (xcb_randr_output_t out)
 
static int x11_is_extension_present (const char *extension)
 
static void x11_build_monitor_layout_xinerama ()
 
static void x11_build_monitor_layout ()
 
void display_dump_monitor_layout (void)
 
void display_startup_notification (RofiHelperExecuteContext *context, GSpawnChildSetupFunc *child_setup, gpointer *user_data)
 
static int monitor_get_dimension (int monitor_id, workarea *mon)
 
static void monitor_dimensions (int x, int y, workarea *mon)
 
static int pointer_get (xcb_window_t root, int *x, int *y)
 
static int monitor_active_from_winid (xcb_drawable_t id, workarea *mon)
 
static int monitor_active_from_id_focused (int mon_id, workarea *mon)
 
static int monitor_active_from_id (int mon_id, workarea *mon)
 
int monitor_active (workarea *mon)
 
static void rofi_view_paste (RofiViewState *state, xcb_selection_notify_event_t *xse)
 
static gboolean x11_button_to_nk_bindings_button (guint32 x11_button, NkBindingsMouseButton *button)
 
static gboolean x11_button_to_nk_bindings_scroll (guint32 x11_button, NkBindingsScrollAxis *axis, gint32 *steps)
 
static void main_loop_x11_event_handler_view (xcb_generic_event_t *event)
 
static gboolean main_loop_x11_event_handler (xcb_generic_event_t *ev, G_GNUC_UNUSED gpointer user_data)
 
static int take_pointer (xcb_window_t w, int iters)
 
static int take_keyboard (xcb_window_t w, int iters)
 
static void release_keyboard (void)
 
static void release_pointer (void)
 
static void error_trap_push (G_GNUC_UNUSED SnDisplay *display, G_GNUC_UNUSED xcb_connection_t *xdisplay)
 
static void error_trap_pop (G_GNUC_UNUSED SnDisplay *display, xcb_connection_t *xdisplay)
 
static void x11_create_frequently_used_atoms (void)
 
static void x11_helper_discover_window_manager (void)
 
gboolean display_setup (GMainLoop *main_loop, NkBindings *bindings)
 
static void x11_create_visual_and_colormap (void)
 
static gboolean lazy_grab_pointer (G_GNUC_UNUSED gpointer data)
 
static gboolean lazy_grab_keyboard (G_GNUC_UNUSED gpointer data)
 
gboolean display_late_setup (void)
 
xcb_window_t xcb_stuff_get_root_window (void)
 
void display_early_cleanup (void)
 
void display_cleanup (void)
 
void x11_disable_decoration (xcb_window_t window)
 

Variables

WindowManagerQuirk current_window_manager = WM_EWHM
 
struct _xcb_stuff xcb_int
 
xcb_stuffxcb = &xcb_int
 
xcb_depth_t * depth = NULL
 
xcb_visualtype_t * visual = NULL
 
xcb_colormap_t map = XCB_COLORMAP_NONE
 
static xcb_visualtype_t * root_visual = NULL
 
xcb_atom_t netatoms [NUM_NETATOMS]
 
const char * netatom_names [] = { EWMH_ATOMS ( ATOM_CHAR ) }
 
static int error_trap_depth = 0
 
unsigned int lazy_grab_retry_count_kb = 0
 
unsigned int lazy_grab_retry_count_pt = 0
 

Macro Definition Documentation

◆ G_LOG_DOMAIN

#define G_LOG_DOMAIN   "X11Helper"

Log domain for this module

Definition at line 31 of file xcb.c.

◆ INTERSECT

#define INTERSECT (   x,
  y,
  x1,
  y1,
  w1,
  h1 
)    ( ( ( ( x ) >= ( x1 ) ) && ( ( x ) < ( x1 + w1 ) ) ) && ( ( ( y ) >= ( y1 ) ) && ( ( y ) < ( y1 + h1 ) ) ) )

Checks if the if x and y is inside rectangle.

Definition at line 74 of file xcb.c.

◆ RANDR_PREF_MAJOR_VERSION

#define RANDR_PREF_MAJOR_VERSION   1

Minimal randr prefered for running rofi (1.5) (Major version number)

Definition at line 69 of file xcb.c.

◆ RANDR_PREF_MINOR_VERSION

#define RANDR_PREF_MINOR_VERSION   5

Minimal randr prefered for running rofi (1.5) (Minor version number)

Definition at line 71 of file xcb.c.

◆ SN_API_NOT_YET_FROZEN

#define SN_API_NOT_YET_FROZEN

Indicate that we know the startup notification api is not yet stable.

Definition at line 54 of file xcb.c.

◆ sn_launcher_context_set_application_id

#define sn_launcher_context_set_application_id   sn_launcher_set_application_id

This function is declared as sn_launcher_context_set_application_id but implemented as sn_launcher_set_application_id. Quick Fix.

Definition at line 56 of file xcb.c.

Function Documentation

◆ display_cleanup()

void display_cleanup ( void  )

Cleanup any remaining display related stuff

Definition at line 1334 of file xcb.c.

References _xcb_stuff::bindings_seat, _xcb_stuff::connection, _xcb_stuff::ewmh, _xcb_stuff::screen, _xcb_stuff::screen_nbr, _xcb_stuff::sncontext, _xcb_stuff::sndisplay, _xcb_stuff::source, x11_monitors_free(), and xcb.

Referenced by cleanup().

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

◆ display_dump_monitor_layout()

void display_dump_monitor_layout ( void  )

Dumps the display layout for -help output

Definition at line 426 of file xcb.c.

References color_bold, color_reset, _xcb_stuff::monitors, _workarea::next, and xcb.

Referenced by help().

Here is the caller graph for this function:

◆ display_early_cleanup()

void display_early_cleanup ( void  )

Do some early cleanup, like unmapping the surface

Definition at line 1327 of file xcb.c.

References _xcb_stuff::connection, release_keyboard(), release_pointer(), and xcb.

Referenced by rofi_view_hide(), and teardown().

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

◆ display_late_setup()

gboolean display_late_setup ( void  )

Do some late setup of the display backend

Returns
Whether the setup succeeded or not

Create window (without showing)

Definition at line 1289 of file xcb.c.

References find_arg(), lazy_grab_keyboard(), lazy_grab_pointer(), take_keyboard(), take_pointer(), x11_create_visual_and_colormap(), and xcb_stuff_get_root_window().

Referenced by main().

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

◆ display_setup()

gboolean display_setup ( GMainLoop *  main_loop,
NkBindings *  bindings 
)
Parameters
main_loopThe GMainLoop
bindingsThe bindings object

Setup the display backend

Returns
Whether the setup succeeded or not

Definition at line 1094 of file xcb.c.

References bindings, _xcb_stuff::bindings_seat, _xcb_stuff::connection, _xcb_stuff::device_id, error_trap_pop(), error_trap_push(), _xcb_stuff::ewmh, find_arg_str(), _xcb_stuff::first_event, _xcb_stuff::main_loop, main_loop, main_loop_x11_event_handler(), _xcb_stuff::screen, _xcb_stuff::screen_nbr, _xcb_stuff::sncontext, _xcb_stuff::sndisplay, _xcb_stuff::source, TICK_N, x11_build_monitor_layout(), x11_create_frequently_used_atoms(), x11_helper_discover_window_manager(), xcb, and _xcb_stuff::xkb.

Referenced by main().

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

◆ display_startup_notification()

void display_startup_notification ( RofiHelperExecuteContext context,
GSpawnChildSetupFunc *  child_setup,
gpointer *  user_data 
)
Parameters
contextThe startup notification context for the application to launch
child_setupA pointer to return the child setup function
user_dataA pointer to return the child setup function user_data

Provides the needed child setup function

Definition at line 453 of file xcb.c.

References RofiHelperExecuteContext::app_id, RofiHelperExecuteContext::binary, RofiHelperExecuteContext::command, RofiHelperExecuteContext::description, _xcb_stuff::ewmh, RofiHelperExecuteContext::icon, _xcb_stuff::last_timestamp, RofiHelperExecuteContext::name, _xcb_stuff::screen_nbr, sn_launcher_context_set_application_id, _xcb_stuff::sncontext, _xcb_stuff::sndisplay, RofiHelperExecuteContext::wmclass, and xcb.

Referenced by helper_execute().

Here is the caller graph for this function:

◆ error_trap_pop()

static void error_trap_pop ( G_GNUC_UNUSED SnDisplay *  display,
xcb_connection_t *  xdisplay 
)
static

Definition at line 1046 of file xcb.c.

References error_trap_depth.

Referenced by display_setup().

Here is the caller graph for this function:

◆ error_trap_push()

static void error_trap_push ( G_GNUC_UNUSED SnDisplay *  display,
G_GNUC_UNUSED xcb_connection_t *  xdisplay 
)
static

Definition at line 1041 of file xcb.c.

References error_trap_depth.

Referenced by display_setup().

Here is the caller graph for this function:

◆ get_root_pixmap()

static xcb_pixmap_t get_root_pixmap ( xcb_connection_t *  c,
xcb_screen_t *  screen,
xcb_atom_t  atom 
)
static

Definition at line 113 of file xcb.c.

References _xcb_stuff::screen.

Referenced by x11_helper_get_bg_surface().

Here is the caller graph for this function:

◆ lazy_grab_keyboard()

static gboolean lazy_grab_keyboard ( G_GNUC_UNUSED gpointer  data)
static

Definition at line 1274 of file xcb.c.

References lazy_grab_retry_count_kb, _xcb_stuff::main_loop, take_keyboard(), xcb, and xcb_stuff_get_root_window().

Referenced by display_late_setup().

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

◆ lazy_grab_pointer()

static gboolean lazy_grab_pointer ( G_GNUC_UNUSED gpointer  data)
static

Definition at line 1261 of file xcb.c.

References lazy_grab_retry_count_pt, take_pointer(), and xcb_stuff_get_root_window().

Referenced by display_late_setup().

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

◆ main_loop_x11_event_handler()

static gboolean main_loop_x11_event_handler ( xcb_generic_event_t *  ev,
G_GNUC_UNUSED gpointer  user_data 
)
static

Definition at line 919 of file xcb.c.

References _xcb_stuff::bindings_seat, _xcb_stuff::connection, _xcb_stuff::device_id, _xcb_stuff::first_event, _xcb_stuff::main_loop, main_loop_x11_event_handler_view(), rofi_view_get_active(), rofi_view_maybe_update(), _xcb_stuff::sndisplay, xcb, and _xcb_stuff::xkb.

Referenced by display_setup().

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

◆ main_loop_x11_event_handler_view()

static void main_loop_x11_event_handler_view ( xcb_generic_event_t *  event)
static

◆ monitor_active()

int monitor_active ( workarea mon)
Parameters
monworkarea to be filled in.

Fills in mon with the information about the monitor rofi should show on.

Returns
TRUE if monitor is found, FALSE if no monitor could be detected.

Definition at line 681 of file xcb.c.

References config, mon, Settings::monitor, monitor_active_from_id(), monitor_active_from_winid(), monitor_dimensions(), monitor_get_dimension(), _xcb_stuff::monitors, _workarea::next, and xcb.

Referenced by __create_window(), and config_sanity_check().

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

◆ monitor_active_from_id()

static int monitor_active_from_id ( int  mon_id,
workarea mon 
)
static

Definition at line 620 of file xcb.c.

References _xcb_stuff::ewmh, mon, monitor_active_from_id_focused(), monitor_dimensions(), pointer_get(), _xcb_stuff::screen, _xcb_stuff::screen_nbr, _workarea::x, xcb, and _workarea::y.

Referenced by monitor_active().

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

◆ monitor_active_from_id_focused()

static int monitor_active_from_id_focused ( int  mon_id,
workarea mon 
)
static

Definition at line 570 of file xcb.c.

References _xcb_stuff::connection, _xcb_stuff::ewmh, _workarea::h, mon, monitor_dimensions(), _xcb_stuff::screen_nbr, _workarea::w, _workarea::x, xcb, and _workarea::y.

Referenced by monitor_active_from_id().

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

◆ monitor_active_from_winid()

static int monitor_active_from_winid ( xcb_drawable_t  id,
workarea mon 
)
static

Definition at line 546 of file xcb.c.

References _xcb_stuff::connection, _workarea::h, mon, _xcb_stuff::screen, _workarea::w, _workarea::x, xcb, and _workarea::y.

Referenced by monitor_active().

Here is the caller graph for this function:

◆ monitor_dimensions()

static void monitor_dimensions ( int  x,
int  y,
workarea mon 
)
static

Definition at line 508 of file xcb.c.

References _workarea::h, INTERSECT, mon, _xcb_stuff::monitors, _workarea::next, _xcb_stuff::screen, _workarea::w, and xcb.

Referenced by monitor_active(), monitor_active_from_id(), and monitor_active_from_id_focused().

Here is the caller graph for this function:

◆ monitor_get_dimension()

static int monitor_get_dimension ( int  monitor_id,
workarea mon 
)
static

Definition at line 492 of file xcb.c.

References _workarea::h, mon, _workarea::monitor_id, _xcb_stuff::monitors, _workarea::next, _xcb_stuff::screen, _workarea::w, and xcb.

Referenced by monitor_active().

Here is the caller graph for this function:

◆ pointer_get()

static int pointer_get ( xcb_window_t  root,
int *  x,
int *  y 
)
static
Parameters
rootThe X11 window used to find the pointer position. Usually the root window.
xThe x position of the mouse [out]
yThe y position of the mouse [out]

find mouse pointer location

Returns
TRUE when found, FALSE otherwise

Definition at line 531 of file xcb.c.

References _xcb_stuff::connection, and xcb.

Referenced by monitor_active_from_id().

Here is the caller graph for this function:

◆ release_keyboard()

static void release_keyboard ( void  )
static

Definition at line 1030 of file xcb.c.

References _xcb_stuff::connection, and xcb.

Referenced by display_early_cleanup().

Here is the caller graph for this function:

◆ release_pointer()

static void release_pointer ( void  )
static

Definition at line 1034 of file xcb.c.

References _xcb_stuff::connection, and xcb.

Referenced by display_early_cleanup().

Here is the caller graph for this function:

◆ rofi_view_paste()

static void rofi_view_paste ( RofiViewState state,
xcb_selection_notify_event_t *  xse 
)
static
Parameters
stateInternal state of the menu.
xseX selection event.

Handle paste event.

Definition at line 736 of file xcb.c.

References _xcb_stuff::ewmh, rofi_view_handle_text(), window_get_text_prop(), and xcb.

Referenced by main_loop_x11_event_handler_view().

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

◆ take_keyboard()

static int take_keyboard ( xcb_window_t  w,
int  iters 
)
static

Definition at line 999 of file xcb.c.

References _xcb_stuff::connection, and xcb.

Referenced by display_late_setup(), and lazy_grab_keyboard().

Here is the caller graph for this function:

◆ take_pointer()

static int take_pointer ( xcb_window_t  w,
int  iters 
)
static

Definition at line 969 of file xcb.c.

References _xcb_stuff::connection, and xcb.

Referenced by display_late_setup(), and lazy_grab_pointer().

Here is the caller graph for this function:

◆ window_get_text_prop()

char* window_get_text_prop ( xcb_window_t  w,
xcb_atom_t  atom 
)
Parameters
wThe xcb_window_t to read property from.
atomThe property identifier

Get text property defined by atom from window. Support utf8.

Returns
a newly allocated string with the result or NULL

Definition at line 153 of file xcb.c.

References _xcb_stuff::connection, netatoms, rofi_latin_to_utf8_strdup(), and xcb.

Referenced by rofi_view_paste().

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

◆ window_set_atom_prop()

void window_set_atom_prop ( xcb_window_t  w,
xcb_atom_t  prop,
xcb_atom_t *  atoms,
int  count 
)
Parameters
wThe xcb_window_t to set property on
propAtom of the property to change
atomsList of atoms to change the property too
countThe length of the atoms list.

Set property on window.

Definition at line 178 of file xcb.c.

References _xcb_stuff::connection, count, and xcb.

Referenced by __create_window().

Here is the caller graph for this function:

◆ x11_build_monitor_layout()

static void x11_build_monitor_layout ( )
static

◆ x11_build_monitor_layout_xinerama()

static void x11_build_monitor_layout_xinerama ( )
static

Definition at line 302 of file xcb.c.

References _xcb_stuff::connection, _workarea::h, _workarea::monitor_id, _xcb_stuff::monitors, _workarea::next, _workarea::w, _workarea::x, xcb, and _workarea::y.

Referenced by x11_build_monitor_layout().

Here is the caller graph for this function:

◆ x11_button_to_nk_bindings_button()

static gboolean x11_button_to_nk_bindings_button ( guint32  x11_button,
NkBindingsMouseButton *  button 
)
static

Definition at line 760 of file xcb.c.

Referenced by main_loop_x11_event_handler_view().

Here is the caller graph for this function:

◆ x11_button_to_nk_bindings_scroll()

static gboolean x11_button_to_nk_bindings_scroll ( guint32  x11_button,
NkBindingsScrollAxis *  axis,
gint32 *  steps 
)
static

Definition at line 790 of file xcb.c.

Referenced by main_loop_x11_event_handler_view().

Here is the caller graph for this function:

◆ x11_create_frequently_used_atoms()

static void x11_create_frequently_used_atoms ( void  )
static

Fill in the list of frequently used X11 Atoms.

Definition at line 1060 of file xcb.c.

References _xcb_stuff::connection, netatom_names, netatoms, NUM_NETATOMS, and xcb.

Referenced by display_setup().

Here is the caller graph for this function:

◆ x11_create_visual_and_colormap()

static void x11_create_visual_and_colormap ( void  )
static

Definition at line 1217 of file xcb.c.

References _xcb_stuff::connection, depth, map, root_visual, _xcb_stuff::screen, visual, and xcb.

Referenced by display_late_setup().

Here is the caller graph for this function:

◆ x11_disable_decoration()

void x11_disable_decoration ( xcb_window_t  window)
Parameters
windowThe X11 window to modify

Set the right hints to disable the window decoration. (Set MOTIF_WM_HINTS, decoration field)

Definition at line 1362 of file xcb.c.

References _xcb_stuff::connection, flags, netatoms, and xcb.

Referenced by __create_window().

Here is the caller graph for this function:

◆ x11_get_monitor_from_output()

static workarea* x11_get_monitor_from_output ( xcb_randr_output_t  out)
static

Create monitor based on output id

Definition at line 208 of file xcb.c.

References _xcb_stuff::connection, _workarea::h, _workarea::mh, _workarea::mw, _workarea::name, _workarea::w, _workarea::x, xcb, and _workarea::y.

Referenced by x11_build_monitor_layout().

Here is the caller graph for this function:

◆ x11_helper_discover_window_manager()

static void x11_helper_discover_window_manager ( void  )
static

Definition at line 1073 of file xcb.c.

References current_window_manager, _xcb_stuff::ewmh, WM_DO_NOT_CHANGE_CURRENT_DESKTOP, WM_PANGO_WORKSPACE_NAMES, xcb, and xcb_stuff_get_root_window().

Referenced by display_setup().

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

◆ x11_helper_get_bg_surface()

cairo_surface_t* x11_helper_get_bg_surface ( void  )

Gets a surface containing the background image of the desktop.

Returns
a cairo surface with the background image of the desktop.

Definition at line 141 of file xcb.c.

References _xcb_stuff::connection, get_root_pixmap(), netatoms, root_visual, _xcb_stuff::screen, and xcb.

Referenced by rofi_view_setup_fake_transparency().

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

◆ x11_helper_get_screenshot_surface()

cairo_surface_t* x11_helper_get_screenshot_surface ( void  )

Holds for each supported modifier the possible modifier mask. Check x11_mod_masks[MODIFIER]&mask != 0 to see if MODIFIER is activated.

Definition at line 106 of file xcb.c.

References _xcb_stuff::connection, root_visual, _xcb_stuff::screen, xcb, and xcb_stuff_get_root_window().

Referenced by rofi_view_setup_fake_transparency().

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

◆ x11_is_extension_present()

static int x11_is_extension_present ( const char *  extension)
static

Definition at line 289 of file xcb.c.

References _xcb_stuff::connection, and xcb.

Referenced by x11_build_monitor_layout().

Here is the caller graph for this function:

◆ x11_monitor_free()

static void x11_monitor_free ( workarea m)
static

Free monitor structure.

Definition at line 190 of file xcb.c.

References _workarea::name.

Referenced by x11_monitors_free().

Here is the caller graph for this function:

◆ x11_monitors_free()

static void x11_monitors_free ( void  )
static

Definition at line 196 of file xcb.c.

References _xcb_stuff::monitors, _workarea::next, x11_monitor_free(), and xcb.

Referenced by display_cleanup().

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

◆ xcb_stuff_get_root_window()

xcb_window_t xcb_stuff_get_root_window ( void  )

Get the root window.

Returns
the root window.

Definition at line 1322 of file xcb.c.

References _xcb_stuff::screen, and xcb.

Referenced by __create_window(), display_late_setup(), lazy_grab_keyboard(), lazy_grab_pointer(), x11_helper_discover_window_manager(), and x11_helper_get_screenshot_surface().

Here is the caller graph for this function:

Variable Documentation

◆ current_window_manager

WindowManagerQuirk current_window_manager = WM_EWHM

Indicates the current window manager. This is used for work-arounds.

Definition at line 74 of file xcb.c.

Referenced by x11_helper_discover_window_manager().

◆ depth

◆ error_trap_depth

int error_trap_depth = 0
static

X server error depth. to handle nested errors.

Definition at line 1040 of file xcb.c.

Referenced by error_trap_pop(), and error_trap_push().

◆ lazy_grab_retry_count_kb

unsigned int lazy_grab_retry_count_kb = 0

Retry count of grabbing keyboard.

Definition at line 1258 of file xcb.c.

Referenced by lazy_grab_keyboard().

◆ lazy_grab_retry_count_pt

unsigned int lazy_grab_retry_count_pt = 0

Retry count of grabbing pointer.

Definition at line 1260 of file xcb.c.

Referenced by lazy_grab_pointer().

◆ map

xcb_colormap_t map = XCB_COLORMAP_NONE

Color map to use for creating window

Definition at line 94 of file xcb.c.

Referenced by __create_window(), rofi_view_cleanup(), and x11_create_visual_and_colormap().

◆ netatom_names

const char* netatom_names[] = { EWMH_ATOMS ( ATOM_CHAR ) }

atoms as string

Definition at line 100 of file xcb.c.

Referenced by x11_create_frequently_used_atoms().

◆ netatoms

◆ root_visual

xcb_visualtype_t* root_visual = NULL
static

Visual of the root window.

Definition at line 98 of file xcb.c.

Referenced by x11_create_visual_and_colormap(), x11_helper_get_bg_surface(), and x11_helper_get_screenshot_surface().

◆ visual

xcb_visualtype_t* visual = NULL

Visual to use for creating window

Definition at line 93 of file xcb.c.

Referenced by __create_window(), rofi_view_temp_configure_notify(), rofi_view_window_update_size(), and x11_create_visual_and_colormap().

◆ xcb

◆ xcb_int

struct _xcb_stuff xcb_int
Initial value:
= {
.connection = NULL,
.screen = NULL,
.screen_nbr = -1,
.sndisplay = NULL,
.sncontext = NULL,
.monitors = NULL
}

Structure holding xcb objects needed to function.

Definition at line 74 of file xcb.c.