wlmaker
Loading...
Searching...
No Matches
server.h
Go to the documentation of this file.
1/* ========================================================================= */
20#ifndef __WLMAKER_SERVER_H__
21#define __WLMAKER_SERVER_H__
22
23#include <libbase/libbase.h>
24#include <wayland-server-core.h>
25
26#include "toolkit/toolkit.h"
27
28#define WLR_USE_UNSTABLE
29#include <wlr/backend.h>
30#include <wlr/render/allocator.h>
31#include <wlr/render/wlr_renderer.h>
32#include <wlr/types/wlr_compositor.h>
33#include <wlr/types/wlr_data_device.h>
34#include <wlr/types/wlr_output_layout.h>
35#include <wlr/types/wlr_scene.h>
36#include <wlr/types/wlr_seat.h>
37#include <wlr/types/wlr_subcompositor.h>
38#undef WLR_USE_UNSTABLE
39
42
47
56
57#include "config.h"
58#include "corner.h"
59#include "cursor.h"
60#include "idle.h"
61#include "output.h"
62#include "keyboard.h"
63#include "layer_shell.h"
64#include "lock_mgr.h"
65#include "subprocess_monitor.h"
66#include "icon_manager.h"
67#include "xdg_decoration.h"
68#include "xdg_shell.h"
69#include "xwl.h"
70
71#include "conf/model.h"
72#include "toolkit/toolkit.h"
73
74#ifdef __cplusplus
75extern "C" {
76#endif // __cplusplus
77
79typedef struct {
83 uint32_t height;
85 uint32_t width;
87
94
96 struct wl_display *wl_display_ptr;
98 const char *wl_socket_name_ptr;
99
104
106 struct wlr_allocator *wlr_allocator_ptr;
108 struct wlr_backend *wlr_backend_ptr;
110 struct wlr_session *wlr_session_ptr;
112 struct wlr_output_layout *wlr_output_layout_ptr;
114 struct wlr_renderer *wlr_renderer_ptr;
116 struct wlr_seat *wlr_seat_ptr;
118 struct wlr_scene *wlr_scene_ptr;
120 struct wlr_scene_output_layout *wlr_scene_output_layout_ptr;
121
123 struct wl_listener backend_new_output_listener;
128
129 // From tinywl.c: A few hands-off wlroots interfaces.
130
132 struct wlr_compositor *wlr_compositor_ptr;
137 struct wlr_subcompositor *wlr_subcompositor_ptr;
139 struct wlr_data_device_manager *wlr_data_device_manager_ptr;
140
157
159 bs_dllist_t outputs;
161 bs_dllist_t input_devices;
162
165
171 struct wl_signal task_list_enabled_event;
173 struct wl_signal task_list_disabled_event;
174
176 bs_dllist_t bindings;
177
179 bs_dllist_t clients;
180
183
186
187 // TODO(kaeser@gubbe.ch): Move these events into a 'registry' struct, so
188 // it can be more easily shared throughout the code.
190 struct wl_signal window_created_event;
192 struct wl_signal window_destroyed_event;
193
196
199
202};
203
207 uint32_t modifiers;
211 xkb_keysym_t keysym;
214};
215
228 wlmcfg_dict_t *config_dict_ptr,
229 const wlmaker_server_options_t *options_ptr);
230
237
245 wlmaker_output_t *output_ptr);
246
254 wlmaker_output_t *output_ptr);
255
266 wlmaker_server_t *server_ptr,
267 const wlmaker_key_combo_t *key_combo_ptr,
269
277 wlmaker_server_t *server_ptr,
278 wlmaker_key_binding_t *key_binding_ptr);
279
290 wlmaker_server_t *server_ptr,
291 xkb_keysym_t keysym,
292 uint32_t modifiers);
293
300
307
315struct wlr_output *wlmaker_server_get_output_at_cursor(
316 wlmaker_server_t *server_ptr);
317
319extern const uint32_t wlmaker_modifier_default_mask;
320
322extern const bs_test_case_t wlmaker_server_test_cases[];
323
324#ifdef __cplusplus
325} // extern "C"
326#endif // __cplusplus
327
328#endif /* __WLMAKER_SERVER_H__ */
329/* == End of server.h ================================================== */
void wlmaker_server_deactivate_task_list(wlmaker_server_t *server_ptr)
Definition server.c:501
const bs_test_case_t wlmaker_server_test_cases[]
Definition server.c:774
void wlmaker_server_output_remove(wlmaker_server_t *server_ptr, wlmaker_output_t *output_ptr)
Definition server.c:485
void wlmaker_server_unbind_key(wlmaker_server_t *server_ptr, wlmaker_key_binding_t *key_binding_ptr)
Definition server.c:544
void wlmaker_server_activate_task_list(wlmaker_server_t *server_ptr)
Definition server.c:494
bool wlmaker_keyboard_process_bindings(wlmaker_server_t *server_ptr, xkb_keysym_t keysym, uint32_t modifiers)
Definition server.c:553
const uint32_t wlmaker_modifier_default_mask
Definition server.c:83
bool(* wlmaker_keybinding_callback_t)(const wlmaker_key_combo_t *kc)
Definition server.h:55
struct wlr_output * wlmaker_server_get_output_at_cursor(wlmaker_server_t *server_ptr)
Definition server.c:518
wlmaker_server_t * wlmaker_server_create(wlmcfg_dict_t *config_dict_ptr, const wlmaker_server_options_t *options_ptr)
Definition server.c:96
wlmaker_key_binding_t * wlmaker_server_bind_key(wlmaker_server_t *server_ptr, const wlmaker_key_combo_t *key_combo_ptr, wlmaker_keybinding_callback_t callback)
Definition server.c:528
void wlmaker_server_destroy(wlmaker_server_t *server_ptr)
Definition server.c:351
void wlmaker_server_output_add(wlmaker_server_t *server_ptr, wlmaker_output_t *output_ptr)
Definition server.c:464
Definition corner.c:44
Definition cursor.h:33
Definition icon_manager.c:35
Definition idle.c:35
Definition server.c:54
Definition server.h:205
uint32_t modifiers
Definition server.h:207
uint32_t modifiers_mask
Definition server.h:209
xkb_keysym_t keysym
Definition server.h:211
bool ignore_case
Definition server.h:213
Definition layer_shell.c:35
Definition lock_mgr.c:32
Definition output.h:41
Definition server.h:89
wlmaker_lock_mgr_t * lock_mgr_ptr
Definition server.h:101
wlmtk_env_t * env_ptr
Definition server.h:164
struct wl_signal output_layout_changed_event
Definition server.h:195
wlmaker_config_style_t style
Definition server.h:201
wlmaker_xwl_t * xwl_ptr
Definition server.h:156
struct wlr_session * wlr_session_ptr
Definition server.h:110
struct wlr_scene * wlr_scene_ptr
Definition server.h:118
struct wl_listener backend_new_output_listener
Definition server.h:123
wlmaker_icon_manager_t * icon_manager_ptr
Definition server.h:150
wlmaker_xdg_shell_t * xdg_shell_ptr
Definition server.h:144
bs_dllist_t input_devices
Definition server.h:161
bs_dllist_t clients
Definition server.h:179
struct wlr_backend * wlr_backend_ptr
Definition server.h:108
struct wl_signal task_list_enabled_event
Definition server.h:171
struct wl_signal window_created_event
Definition server.h:190
wlmaker_idle_monitor_t * idle_monitor_ptr
Definition server.h:103
struct wlr_seat * wlr_seat_ptr
Definition server.h:116
wlmaker_corner_t * corner_ptr
Definition server.h:185
struct wlr_renderer * wlr_renderer_ptr
Definition server.h:114
wlmtk_dock_t * clip_dock_ptr
Definition server.h:198
struct wl_listener backend_new_input_device_listener
Definition server.h:125
struct wl_signal task_list_disabled_event
Definition server.h:173
wlmtk_root_t * root_ptr
Definition server.h:167
wlmcfg_dict_t * config_dict_ptr
Definition server.h:91
struct wlr_allocator * wlr_allocator_ptr
Definition server.h:106
wlmaker_subprocess_monitor_t * monitor_ptr
Definition server.h:182
bool task_list_enabled
Definition server.h:169
const char * wl_socket_name_ptr
Definition server.h:98
struct wlr_output_layout * wlr_output_layout_ptr
Definition server.h:112
wlmaker_layer_shell_t * layer_shell_ptr
Definition server.h:148
struct wlr_subcompositor * wlr_subcompositor_ptr
Definition server.h:137
wlmaker_cursor_t * cursor_ptr
Definition server.h:142
struct wlr_scene_output_layout * wlr_scene_output_layout_ptr
Definition server.h:120
struct wl_signal window_destroyed_event
Definition server.h:192
const wlmaker_server_options_t * options_ptr
Definition server.h:93
bs_dllist_t outputs
Definition server.h:159
bs_dllist_t bindings
Definition server.h:176
struct wl_display * wl_display_ptr
Definition server.h:96
wlmaker_xdg_decoration_manager_t * xdg_decoration_manager_ptr
Definition server.h:146
struct wlr_data_device_manager * wlr_data_device_manager_ptr
Definition server.h:139
struct wlr_compositor * wlr_compositor_ptr
Definition server.h:132
struct wl_listener output_layout_change_listener
Definition server.h:127
Definition subprocess_monitor.c:31
Definition xdg_decoration.c:35
Definition xdg_shell.h:37
Definition xwl.c:80
Definition model.c:46
Definition dock.c:28
Definition env.c:32
Definition root.c:32
Definition config.h:73
Definition server.h:79
uint32_t width
Definition server.h:85
bool start_xwayland
Definition server.h:81
uint32_t height
Definition server.h:83