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#define WLR_USE_UNSTABLE
27#include <wlr/backend.h>
28#include <wlr/render/allocator.h>
29#include <wlr/render/wlr_renderer.h>
30#include <wlr/types/wlr_compositor.h>
31#include <wlr/types/wlr_data_device.h>
32#include <wlr/types/wlr_output_layout.h>
33#include <wlr/types/wlr_scene.h>
34#include <wlr/types/wlr_seat.h>
35#include <wlr/types/wlr_subcompositor.h>
36#undef WLR_USE_UNSTABLE
37
40
41#include "cursor.h"
42#include "output.h"
43#include "keyboard.h"
44#include "layer_shell.h"
45#include "view.h"
46#include "subprocess_monitor.h"
47#include "icon_manager.h"
48#include "xdg_decoration.h"
49#include "xdg_shell.h"
50#include "xwl.h"
51#include "workspace.h"
52
53#include "toolkit/toolkit.h"
54
55#ifdef __cplusplus
56extern "C" {
57#endif // __cplusplus
58
62 struct wl_display *wl_display_ptr;
64 const char *wl_socket_name_ptr;
65
67 struct wlr_allocator *wlr_allocator_ptr;
69 struct wlr_backend *wlr_backend_ptr;
71 struct wlr_output_layout *wlr_output_layout_ptr;
73 struct wlr_renderer *wlr_renderer_ptr;
75 struct wlr_seat *wlr_seat_ptr;
77 struct wlr_scene *wlr_scene_ptr;
79 struct wlr_scene_output_layout *wlr_scene_output_layout_ptr;
88 struct wlr_scene *void_wlr_scene_ptr;
89
91 struct wl_listener backend_new_output_listener;
96
97 // From tinywl.c: A few hands-off wlroots interfaces.
98
100 struct wlr_compositor *wlr_compositor_ptr;
105 struct wlr_subcompositor *wlr_subcompositor_ptr;
107 struct wlr_data_device_manager *wlr_data_device_manager_ptr;
108
121
123 bs_dllist_t outputs;
125 bs_dllist_t input_devices;
126
129
133 bs_dllist_t workspaces;
138 struct wl_signal workspace_changed;
140 struct wl_signal task_list_enabled_event;
142 struct wl_signal task_list_disabled_event;
143
145 bs_dllist_t key_bindings;
146
148 bs_dllist_t clients;
149
152
153 // TODO(kaeser@gubbe.ch): Move these events into a 'registry' struct, so
154 // it can be more easily shared throughout the code.
156 struct wl_signal window_created_event;
158 struct wl_signal window_destroyed_event;
164 struct wl_signal window_mapped_event;
170 struct wl_signal window_unmapped_event;
171};
172
175 wlmaker_server_t *server_ptr,
176 void *callback_arg_ptr);
177
180
188
195
203 wlmaker_output_t *output_ptr);
204
212 wlmaker_output_t *output_ptr);
213
225 wlmaker_server_t *server_ptr,
226 xkb_keysym_t key_sym,
227 uint32_t modifiers,
229 void *callback_arg_ptr);
230
238 wlmaker_server_t *server_ptr,
239 wlmaker_server_key_binding_t *key_binding_ptr);
240
251 wlmaker_server_t *server_ptr,
252 xkb_keysym_t key_sym,
253 uint32_t modifiers);
254
263 wlmaker_server_t *server_ptr);
264
271
278
286struct wlr_output *wlmaker_server_get_output_at_cursor(
287 wlmaker_server_t *server_ptr);
288
289#ifdef __cplusplus
290} // extern "C"
291#endif // __cplusplus
292
293#endif /* __WLMAKER_SERVER_H__ */
294/* == End of server.h ================================================== */
void wlmaker_server_output_remove(wlmaker_server_t *server_ptr, wlmaker_output_t *output_ptr)
Definition server.c:449
wlmaker_server_key_binding_t * wlmaker_server_bind_key(wlmaker_server_t *server_ptr, xkb_keysym_t key_sym, uint32_t modifiers, wlmaker_server_bind_key_callback_t callback, void *callback_arg_ptr)
Definition server.c:458
void wlmaker_server_switch_to_previous_workspace(wlmaker_server_t *server_ptr)
Definition server.c:547
struct wlr_output * wlmaker_server_get_output_at_cursor(wlmaker_server_t *server_ptr)
Definition server.c:562
wlmaker_workspace_t * wlmaker_server_get_current_workspace(wlmaker_server_t *server_ptr)
Definition server.c:525
bool wlmaker_server_process_key(wlmaker_server_t *server_ptr, xkb_keysym_t key_sym, uint32_t modifiers)
Definition server.c:503
wlmaker_server_t * wlmaker_server_create(void)
Definition server.c:99
void wlmaker_server_destroy(wlmaker_server_t *server_ptr)
Definition server.c:336
void wlmaker_server_output_add(wlmaker_server_t *server_ptr, wlmaker_output_t *output_ptr)
Definition server.c:428
void wlmaker_server_switch_to_next_workspace(wlmaker_server_t *server_ptr)
Definition server.c:532
void(* wlmaker_server_bind_key_callback_t)(wlmaker_server_t *server_ptr, void *callback_arg_ptr)
Definition server.h:174
void wlmaker_server_unbind_key(wlmaker_server_t *server_ptr, wlmaker_server_key_binding_t *key_binding_ptr)
Definition server.c:494
Definition cursor.h:34
Definition icon_manager.c:35
Definition layer_shell.c:35
Definition output.h:41
Definition server.c:53
void * callback_arg_ptr
Definition server.c:66
uint32_t modifiers
Definition server.c:62
wlmaker_server_bind_key_callback_t callback
Definition server.c:64
Definition server.h:60
wlmtk_env_t * env_ptr
Definition server.h:128
wlmaker_xwl_t * xwl_ptr
Definition server.h:120
struct wlr_scene * wlr_scene_ptr
Definition server.h:77
struct wl_listener backend_new_output_listener
Definition server.h:91
struct wl_signal window_unmapped_event
Definition server.h:170
bs_dllist_t workspaces
Definition server.h:133
wlmaker_icon_manager_t * icon_manager_ptr
Definition server.h:118
wlmaker_xdg_shell_t * xdg_shell_ptr
Definition server.h:112
bs_dllist_t input_devices
Definition server.h:125
bs_dllist_t clients
Definition server.h:148
struct wlr_backend * wlr_backend_ptr
Definition server.h:69
struct wl_signal task_list_enabled_event
Definition server.h:140
struct wl_signal window_created_event
Definition server.h:156
bs_dllist_t key_bindings
Definition server.h:145
struct wlr_seat * wlr_seat_ptr
Definition server.h:75
struct wlr_renderer * wlr_renderer_ptr
Definition server.h:73
struct wl_listener backend_new_input_device_listener
Definition server.h:93
struct wl_signal task_list_disabled_event
Definition server.h:142
struct wlr_allocator * wlr_allocator_ptr
Definition server.h:67
wlmaker_subprocess_monitor_t * monitor_ptr
Definition server.h:151
struct wlr_scene * void_wlr_scene_ptr
Definition server.h:88
struct wl_signal workspace_changed
Definition server.h:138
const char * wl_socket_name_ptr
Definition server.h:64
struct wlr_output_layout * wlr_output_layout_ptr
Definition server.h:71
wlmaker_layer_shell_t * layer_shell_ptr
Definition server.h:116
struct wlr_subcompositor * wlr_subcompositor_ptr
Definition server.h:105
wlmaker_cursor_t * cursor_ptr
Definition server.h:110
struct wlr_scene_output_layout * wlr_scene_output_layout_ptr
Definition server.h:79
struct wl_signal window_destroyed_event
Definition server.h:158
bs_dllist_t outputs
Definition server.h:123
struct wl_display * wl_display_ptr
Definition server.h:62
wlmaker_xdg_decoration_manager_t * xdg_decoration_manager_ptr
Definition server.h:114
struct wlr_data_device_manager * wlr_data_device_manager_ptr
Definition server.h:107
wlmaker_workspace_t * current_workspace_ptr
Definition server.h:131
struct wlr_compositor * wlr_compositor_ptr
Definition server.h:100
struct wl_listener output_layout_change_listener
Definition server.h:95
struct wl_signal window_mapped_event
Definition server.h:164
Definition subprocess_monitor.c:31
Definition workspace.c:53
Definition xdg_decoration.c:35
Definition xdg_shell.h:41
Definition xwl.c:76
Definition env.c:32