rofi 2.1.0
wayland-internal.h
Go to the documentation of this file.
1#ifndef ROFI_WAYLAND_INTERNAL_H
2#define ROFI_WAYLAND_INTERNAL_H
3
4#include <cairo.h>
5#include <glib.h>
6#include <libgwater-wayland.h>
7#include <nkutils-bindings.h>
8#include <wayland-client.h>
9#include <xkbcommon/xkbcommon.h>
10
11#include "wayland.h"
12
21
22typedef struct {
23 uint32_t button;
25 gint x, y;
26 gboolean pressed;
27 guint32 time;
29
30typedef struct {
31 gint x, y;
32 guint32 time;
34
41
43
44typedef struct {
45 void *offer;
47
48typedef struct {
49 GMainLoop *main_loop;
50 GWaterWaylandSource *main_loop_source;
51 struct wl_display *display;
52 struct wl_registry *registry;
54 struct wl_compositor *compositor;
55
56#ifdef HAVE_WAYLAND_CURSOR_SHAPE
57 struct wp_cursor_shape_manager_v1 *cursor_shape_manager;
58#endif
59
60 struct wl_data_device_manager *data_device_manager;
61 struct zwp_primary_selection_device_manager_v1
63
64 struct zwlr_layer_shell_v1 *layer_shell;
65
66 struct zwp_keyboard_shortcuts_inhibit_manager_v1 *kb_shortcuts_inhibit_manager;
67
68 struct wl_shm *shm;
70 struct {
73 struct wl_cursor_theme *theme;
74 struct wl_cursor *cursor;
75 struct wl_cursor_image *image;
76 struct wl_surface *surface;
77 struct wl_callback *frame_cb;
78 guint scale;
79 } cursor;
80 GHashTable *seats;
81 GHashTable *seats_by_name;
83 GHashTable *outputs;
84 struct wl_surface *surface;
85 struct zwlr_layer_surface_v1 *wlr_surface;
86 struct wl_callback *frame_cb;
87 size_t scales[3];
88 int32_t scale;
89 NkBindingsSeat *bindings_seat;
90
92
93 uint32_t layer_width;
94 uint32_t layer_height;
95
96 struct zwp_text_input_manager_v3 *text_input_manager;
98
101 uint32_t global_name;
102 struct wl_seat *seat;
103 gchar *name;
104 struct {
105 xkb_keycode_t key;
106 GSource *source;
107 int32_t rate;
108 int32_t delay;
110 uint32_t serial;
112 struct wl_keyboard *keyboard;
113 struct wl_pointer *pointer;
114 struct wl_touch *touch;
115 /* The finger that acts as the pointer, or -1. Its last position, the axis it
116 * scrolls once it leaves the tap slop, and the travel that is not yet a full
117 * scroll step */
118 int32_t touch_id;
123
124#ifdef HAVE_WAYLAND_CURSOR_SHAPE
125 struct wp_cursor_shape_device_v1 *cursor_shape_device;
126#endif
127 struct wl_data_device *data_device;
128 struct zwp_primary_selection_device_v1 *primary_selection_device;
129
130 enum wl_pointer_axis_source axis_source;
133 struct {
137 struct {
138 double vertical;
141
142 struct zwp_text_input_v3 *text_input;
143};
144
145/* Supported interface versions */
146#define WL_COMPOSITOR_INTERFACE_VERSION 3
147#define WL_SHM_INTERFACE_VERSION 1
148#define WL_SEAT_INTERFACE_MIN_VERSION 5
149#define WL_SEAT_INTERFACE_MAX_VERSION 8
150#define WL_OUTPUT_INTERFACE_MIN_VERSION 2
151#define WL_OUTPUT_INTERFACE_MAX_VERSION 4
152#define WL_LAYER_SHELL_INTERFACE_VERSION 1
153#define WL_KEYBOARD_SHORTCUTS_INHIBITOR_INTERFACE_VERSION 1
154
155extern wayland_stuff *wayland;
156
157#endif
RofiCursorType
Definition rofi-types.h:147
wayland_stuff * context
widget_motion_event motion
struct zwp_primary_selection_device_v1 * primary_selection_device
struct wl_data_device * data_device
uint32_t pointer_serial
enum wl_pointer_axis_source axis_source
xkb_keycode_t key
struct wl_pointer * pointer
struct _wayland_seat::@235041143265153055355113143117106150223001225232 wheel
wayland_touch_axis touch_axis
struct wl_keyboard * keyboard
struct zwp_text_input_v3 * text_input
struct _wayland_seat::@344154052066311033002267333364206171130317032013 wheel_continuous
struct _wayland_seat::@310131065064312041011230142331335370005076357136 repeat
widget_button_event button
struct wl_seat * seat
struct wl_touch * touch
RofiCursorType type
struct wl_cursor * cursor
GHashTable * seats
uint32_t layer_height
uint32_t global_names[_WAYLAND_GLOBAL_SIZE]
GMainLoop * main_loop
struct zwp_primary_selection_device_manager_v1 * primary_selection_device_manager
struct zwp_keyboard_shortcuts_inhibit_manager_v1 * kb_shortcuts_inhibit_manager
struct zwlr_layer_surface_v1 * wlr_surface
struct wl_display * display
struct zwlr_layer_shell_v1 * layer_shell
wayland_seat * last_seat
struct wl_compositor * compositor
struct wl_shm * shm
NkBindingsSeat * bindings_seat
struct wl_registry * registry
struct wl_callback * frame_cb
struct wl_data_device_manager * data_device_manager
struct wl_cursor_theme * theme
struct wl_cursor_image * image
GHashTable * outputs
clipboard_data clipboards[2]
struct wl_surface * surface
struct zwp_text_input_manager_v3 * text_input_manager
GWaterWaylandSource * main_loop_source
GHashTable * seats_by_name
struct _wayland_seat wayland_seat
wayland_global_name
@ WAYLAND_GLOBAL_CURSOR_SHAPE
@ WAYLAND_GLOBAL_LAYER_SHELL
@ WAYLAND_GLOBAL_KEYBOARD_SHORTCUTS_INHIBITOR
@ WAYLAND_GLOBAL_COMPOSITOR
@ WAYLAND_GLOBAL_SHM
@ _WAYLAND_GLOBAL_SIZE
wayland_touch_axis
@ WAYLAND_TOUCH_AXIS_VERTICAL
@ WAYLAND_TOUCH_AXIS_NONE
@ WAYLAND_TOUCH_AXIS_UNDECIDED
@ WAYLAND_TOUCH_AXIS_HORIZONTAL
wayland_stuff * wayland
Definition display.c:120