wlmaker
Loading...
Searching...
No Matches
server.h
Go to the documentation of this file.
1/* ========================================================================= */
21#ifndef __WLMAKER_SERVER_H__
22#define __WLMAKER_SERVER_H__
23
24#include <libbase/libbase.h>
25#include <libbase/plist.h>
26#include <stdbool.h>
27#include <stdint.h>
28#include <wayland-server-core.h>
29#define WLR_USE_UNSTABLE
30#include <wlr/backend.h>
31#include <wlr/types/wlr_data_control_v1.h>
32#include <wlr/types/wlr_data_device.h>
33#include <wlr/types/wlr_primary_selection_v1.h>
34#include <wlr/types/wlr_seat.h>
35#undef WLR_USE_UNSTABLE
36
37#include "input/manager.h"
38
41
42#include "backend/backend.h"
43#include "config.h"
44#include "corner.h" // IWYU pragma: keep
45#include "cursor.h" // IWYU pragma: keep
46#include "icon_manager.h" // IWYU pragma: keep
47#include "idle.h" // IWYU pragma: keep
48#include "input_observation.h"
49#include "layer_shell.h" // IWYU pragma: keep
50#include "lock_mgr.h" // IWYU pragma: keep
51#include "root_menu.h" // IWYU pragma: keep
52#include "toolkit/toolkit.h"
53#include "util/files.h"
54#include "util/subprocess_monitor.h" // IWYU pragma: keep
55#include "xdg_decoration.h" // IWYU pragma: keep
56#include "xdg_shell.h" // IWYU pragma: keep
57#include "xwl.h" // IWYU pragma: keep
58
59#ifdef __cplusplus
60extern "C" {
61#endif // __cplusplus
62
64typedef struct {
68 uint32_t width;
70 uint32_t height;
74
80 bspl_dict_t *config_dict_ptr;
83
85 struct wl_display *wl_display_ptr;
87 const char *wl_socket_name_ptr;
88
93
95 struct wlr_viewporter *wlr_viewporter_ptr;
97 struct wlr_fractional_scale_manager_v1 *wlr_fractional_scale_manager_ptr;
99 struct wlr_seat *wlr_seat_ptr;
101 struct wlr_scene *wlr_scene_ptr;
103 struct wlr_output_layout *wlr_output_layout_ptr;
104
105 // Clipboard and selection support.
107 struct wlr_data_device_manager *wlr_data_device_manager_ptr;
111 struct wlr_primary_selection_v1_device_manager
116 struct wlr_data_control_manager_v1 *wlr_data_control_manager_v1_ptr;
117
129 struct wl_listener input_activity_listener;
142
145
153 struct wl_signal task_list_enabled_event;
155 struct wl_signal task_list_disabled_event;
156
158 struct wl_signal theme_changed_event;
159
161 bs_dllist_t clients;
162
165
168
169 // TODO(kaeser@gubbe.ch): Move these events into a 'registry' struct, so
170 // it can be more easily shared throughout the code.
172 struct wl_signal window_created_event;
174 struct wl_signal window_destroyed_event;
175
178
182 bspl_array_t *root_menu_array_ptr;
185
187 bs_dllist_t backgrounds;
188
191};
192
207 bspl_dict_t *config_dict_ptr,
208 wlm_util_files_t *files_ptr,
209 wlmaker_config_style_t *style_ptr,
210 const wlmaker_server_options_t *options_ptr);
211
218
225
233struct wlr_output *wlmaker_server_get_output_at_cursor(
234 wlmaker_server_t *server_ptr);
235
236#ifdef __cplusplus
237} // extern "C"
238#endif // __cplusplus
239
240#endif /* __WLMAKER_SERVER_H__ */
241/* == End of server.h ================================================== */
void wlmaker_server_activate_task_list(wlmaker_server_t *server_ptr)
Definition server.c:479
struct wlr_output * wlmaker_server_get_output_at_cursor(wlmaker_server_t *server_ptr)
Definition server.c:486
wlmaker_server_t * wlmaker_server_create(bspl_dict_t *config_dict_ptr, wlm_util_files_t *files_ptr, wlmaker_config_style_t *style_ptr, const wlmaker_server_options_t *options_ptr)
Definition server.c:73
void wlmaker_server_destroy(wlmaker_server_t *server_ptr)
Definition server.c:359
Definition files.c:33
Definition subprocess_monitor.c:36
Definition corner.c:55
Definition icon_manager.c:45
Definition idle.c:45
Definition input_observation.c:47
Definition layer_shell.c:38
Definition lock_mgr.c:53
Definition root_menu.c:54
Definition server.h:76
wlmaker_lock_mgr_t * lock_mgr_ptr
Definition server.h:90
wlm_util_subprocess_monitor_t * monitor_ptr
Definition server.h:164
wlm_util_files_t * files_ptr
Definition server.h:78
wlmaker_root_menu_t * root_menu_ptr
Definition server.h:180
wlmtk_desktop_t * desktop_ptr
Definition server.h:147
wlmaker_xwl_t * xwl_ptr
Definition server.h:141
struct wl_listener unclaimed_button_event_listener
Definition server.h:184
struct wlr_scene * wlr_scene_ptr
Definition server.h:101
wlmaker_icon_manager_t * icon_manager_ptr
Definition server.h:133
wlmaker_xdg_shell_t * xdg_shell_ptr
Definition server.h:119
bs_dllist_t clients
Definition server.h:161
struct wl_signal task_list_enabled_event
Definition server.h:153
struct wl_signal window_created_event
Definition server.h:172
wlmaker_idle_monitor_t * idle_monitor_ptr
Definition server.h:92
struct wlr_seat * wlr_seat_ptr
Definition server.h:99
struct wl_listener deactivate_task_list_listener
Definition server.h:131
bspl_dict_t * config_dict_ptr
Definition server.h:80
wlmaker_corner_t * corner_ptr
Definition server.h:167
wlmtk_dock_t * clip_dock_ptr
Definition server.h:177
struct wl_signal task_list_disabled_event
Definition server.h:155
wlmtk_root_t * root_ptr
Definition server.h:149
struct wlmaker_toplevel_tracker * toplevel_tracker_ptr
Definition server.h:144
bool task_list_enabled
Definition server.h:151
struct wl_listener request_set_selection_listener
Definition server.h:109
const char * wl_socket_name_ptr
Definition server.h:87
struct wlr_output_layout * wlr_output_layout_ptr
Definition server.h:103
struct wlr_primary_selection_v1_device_manager * wlr_primary_selection_v1_device_manager_ptr
Definition server.h:111
wlmaker_input_observation_manager_t * input_observation_manager_ptr
Definition server.h:135
wlmaker_layer_shell_t * layer_shell_ptr
Definition server.h:123
struct wl_signal theme_changed_event
Definition server.h:158
struct wlr_data_control_manager_v1 * wlr_data_control_manager_v1_ptr
Definition server.h:116
struct wl_signal window_destroyed_event
Definition server.h:174
struct wl_listener request_set_primary_selection_listener
Definition server.h:114
const wlmaker_server_options_t * options_ptr
Definition server.h:82
wlmim_t * input_manager_ptr
Definition server.h:127
struct wl_display * wl_display_ptr
Definition server.h:85
wlmaker_config_style_t * style_ptr
Definition server.h:190
struct wlr_viewporter * wlr_viewporter_ptr
Definition server.h:95
wlmaker_xdg_decoration_manager_t * xdg_decoration_manager_ptr
Definition server.h:121
struct wlr_data_device_manager * wlr_data_device_manager_ptr
Definition server.h:107
bs_dllist_t backgrounds
Definition server.h:187
wlmbe_backend_t * backend_ptr
Definition server.h:125
struct wlr_fractional_scale_manager_v1 * wlr_fractional_scale_manager_ptr
Definition server.h:97
struct wl_listener input_activity_listener
Definition server.h:129
bspl_array_t * root_menu_array_ptr
Definition server.h:182
Definition xdg_decoration.c:44
Definition xdg_shell.h:39
Definition xwl.c:89
Definition backend.c:55
Definition manager.c:45
Definition desktop.c:46
Definition dock.c:36
Definition root.c:46
Definition config.h:60
Definition server.h:64
uint32_t width
Definition server.h:68
bool start_xwayland
Definition server.h:66
uint32_t height
Definition server.h:70
bool bind_with_logo
Definition server.h:72
Definition toplevel_tracker.c:33