mirror of
https://github.com/labwc/labwc.git
synced 2026-04-07 08:21:20 -04:00
tree-wide: rename g_server to just server
This commit is contained in:
parent
0f319e9849
commit
b57161df96
61 changed files with 955 additions and 955 deletions
322
src/server.c
322
src/server.c
|
|
@ -86,8 +86,8 @@ reload_config_and_theme(void)
|
|||
scaled_buffer_invalidate_sharing();
|
||||
rcxml_finish();
|
||||
rcxml_read(rc.config_file);
|
||||
theme_finish(g_server.theme);
|
||||
theme_init(g_server.theme, rc.theme_name);
|
||||
theme_finish(server.theme);
|
||||
theme_init(server.theme, rc.theme_name);
|
||||
|
||||
#if HAVE_LIBSFDO
|
||||
desktop_entry_finish();
|
||||
|
|
@ -95,7 +95,7 @@ reload_config_and_theme(void)
|
|||
#endif
|
||||
|
||||
struct view *view;
|
||||
wl_list_for_each(view, &g_server.views, link) {
|
||||
wl_list_for_each(view, &server.views, link) {
|
||||
view_reload_ssd(view);
|
||||
}
|
||||
|
||||
|
|
@ -111,7 +111,7 @@ reload_config_and_theme(void)
|
|||
static int
|
||||
handle_sighup(int signal, void *data)
|
||||
{
|
||||
keyboard_cancel_all_keybind_repeats(&g_server.seat);
|
||||
keyboard_cancel_all_keybind_repeats(&server.seat);
|
||||
session_environment_init();
|
||||
reload_config_and_theme();
|
||||
output_virtual_update_fallback();
|
||||
|
|
@ -145,8 +145,8 @@ handle_sigchld(int signal, void *data)
|
|||
|
||||
#if HAVE_XWAYLAND
|
||||
/* Ensure that we do not break xwayland lazy initialization */
|
||||
if (g_server.xwayland && g_server.xwayland->server
|
||||
&& info.si_pid == g_server.xwayland->server->pid) {
|
||||
if (server.xwayland && server.xwayland->server
|
||||
&& info.si_pid == server.xwayland->server->pid) {
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
|
@ -184,9 +184,9 @@ handle_sigchld(int signal, void *data)
|
|||
" please report", (long)info.si_pid, info.si_code);
|
||||
}
|
||||
|
||||
if (info.si_pid == g_server.primary_client_pid) {
|
||||
if (info.si_pid == server.primary_client_pid) {
|
||||
wlr_log(WLR_INFO, "primary client %ld exited", (long)info.si_pid);
|
||||
wl_display_terminate(g_server.wl_display);
|
||||
wl_display_terminate(server.wl_display);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
@ -303,8 +303,8 @@ server_global_filter(const struct wl_client *client, const struct wl_global *glo
|
|||
(void)iface;
|
||||
|
||||
#if HAVE_XWAYLAND
|
||||
struct wl_client *xwayland_client = (g_server.xwayland && g_server.xwayland->server)
|
||||
? g_server.xwayland->server->client
|
||||
struct wl_client *xwayland_client = (server.xwayland && server.xwayland->server)
|
||||
? server.xwayland->server->client
|
||||
: NULL;
|
||||
|
||||
if (client != xwayland_client && !strcmp(iface->name, xwayland_shell_v1_interface.name)) {
|
||||
|
|
@ -316,8 +316,8 @@ server_global_filter(const struct wl_client *client, const struct wl_global *glo
|
|||
/* Do not allow security_context_manager_v1 to clients with a security context attached */
|
||||
const struct wlr_security_context_v1_state *security_context =
|
||||
wlr_security_context_manager_v1_lookup_client(
|
||||
g_server.security_context_manager_v1, (struct wl_client *)client);
|
||||
if (security_context && global == g_server.security_context_manager_v1->global) {
|
||||
server.security_context_manager_v1, (struct wl_client *)client);
|
||||
if (security_context && global == server.security_context_manager_v1->global) {
|
||||
return false;
|
||||
} else if (security_context) {
|
||||
/*
|
||||
|
|
@ -380,34 +380,34 @@ handle_renderer_lost(struct wl_listener *listener, void *data)
|
|||
{
|
||||
wlr_log(WLR_INFO, "Re-creating renderer after GPU reset");
|
||||
|
||||
struct wlr_renderer *renderer = wlr_renderer_autocreate(g_server.backend);
|
||||
struct wlr_renderer *renderer = wlr_renderer_autocreate(server.backend);
|
||||
if (!renderer) {
|
||||
wlr_log(WLR_ERROR, "Unable to create renderer");
|
||||
return;
|
||||
}
|
||||
|
||||
struct wlr_allocator *allocator =
|
||||
wlr_allocator_autocreate(g_server.backend, renderer);
|
||||
wlr_allocator_autocreate(server.backend, renderer);
|
||||
if (!allocator) {
|
||||
wlr_log(WLR_ERROR, "Unable to create allocator");
|
||||
wlr_renderer_destroy(renderer);
|
||||
return;
|
||||
}
|
||||
|
||||
struct wlr_renderer *old_renderer = g_server.renderer;
|
||||
struct wlr_allocator *old_allocator = g_server.allocator;
|
||||
g_server.renderer = renderer;
|
||||
g_server.allocator = allocator;
|
||||
struct wlr_renderer *old_renderer = server.renderer;
|
||||
struct wlr_allocator *old_allocator = server.allocator;
|
||||
server.renderer = renderer;
|
||||
server.allocator = allocator;
|
||||
|
||||
wl_list_remove(&g_server.renderer_lost.link);
|
||||
wl_signal_add(&g_server.renderer->events.lost, &g_server.renderer_lost);
|
||||
wl_list_remove(&server.renderer_lost.link);
|
||||
wl_signal_add(&server.renderer->events.lost, &server.renderer_lost);
|
||||
|
||||
wlr_compositor_set_renderer(g_server.compositor, renderer);
|
||||
wlr_compositor_set_renderer(server.compositor, renderer);
|
||||
|
||||
struct output *output;
|
||||
wl_list_for_each(output, &g_server.outputs, link) {
|
||||
wl_list_for_each(output, &server.outputs, link) {
|
||||
wlr_output_init_render(output->wlr_output,
|
||||
g_server.allocator, g_server.renderer);
|
||||
server.allocator, server.renderer);
|
||||
}
|
||||
|
||||
reload_config_and_theme();
|
||||
|
|
@ -421,27 +421,27 @@ handle_renderer_lost(struct wl_listener *listener, void *data)
|
|||
void
|
||||
server_init(void)
|
||||
{
|
||||
g_server.primary_client_pid = -1;
|
||||
g_server.wl_display = wl_display_create();
|
||||
if (!g_server.wl_display) {
|
||||
server.primary_client_pid = -1;
|
||||
server.wl_display = wl_display_create();
|
||||
if (!server.wl_display) {
|
||||
wlr_log(WLR_ERROR, "cannot allocate a wayland display");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
/* Increase max client buffer size to make slow clients less likely to terminate */
|
||||
wl_display_set_default_max_buffer_size(g_server.wl_display, 1024 * 1024);
|
||||
wl_display_set_default_max_buffer_size(server.wl_display, 1024 * 1024);
|
||||
|
||||
wl_display_set_global_filter(g_server.wl_display, server_global_filter, NULL);
|
||||
g_server.wl_event_loop = wl_display_get_event_loop(g_server.wl_display);
|
||||
wl_display_set_global_filter(server.wl_display, server_global_filter, NULL);
|
||||
server.wl_event_loop = wl_display_get_event_loop(server.wl_display);
|
||||
|
||||
/* Catch signals */
|
||||
g_server.sighup_source = wl_event_loop_add_signal(
|
||||
g_server.wl_event_loop, SIGHUP, handle_sighup, NULL);
|
||||
g_server.sigint_source = wl_event_loop_add_signal(
|
||||
g_server.wl_event_loop, SIGINT, handle_sigterm, g_server.wl_display);
|
||||
g_server.sigterm_source = wl_event_loop_add_signal(
|
||||
g_server.wl_event_loop, SIGTERM, handle_sigterm, g_server.wl_display);
|
||||
g_server.sigchld_source = wl_event_loop_add_signal(
|
||||
g_server.wl_event_loop, SIGCHLD, handle_sigchld, NULL);
|
||||
server.sighup_source = wl_event_loop_add_signal(
|
||||
server.wl_event_loop, SIGHUP, handle_sighup, NULL);
|
||||
server.sigint_source = wl_event_loop_add_signal(
|
||||
server.wl_event_loop, SIGINT, handle_sigterm, server.wl_display);
|
||||
server.sigterm_source = wl_event_loop_add_signal(
|
||||
server.wl_event_loop, SIGTERM, handle_sigterm, server.wl_display);
|
||||
server.sigchld_source = wl_event_loop_add_signal(
|
||||
server.wl_event_loop, SIGCHLD, handle_sigchld, NULL);
|
||||
|
||||
/*
|
||||
* Prevent wayland clients that request the X11 clipboard but closing
|
||||
|
|
@ -459,31 +459,31 @@ server_init(void)
|
|||
* backend based on the current environment, such as opening an x11
|
||||
* window if an x11 server is running.
|
||||
*/
|
||||
g_server.backend = wlr_backend_autocreate(
|
||||
g_server.wl_event_loop, &g_server.session);
|
||||
if (!g_server.backend) {
|
||||
server.backend = wlr_backend_autocreate(
|
||||
server.wl_event_loop, &server.session);
|
||||
if (!server.backend) {
|
||||
wlr_log(WLR_ERROR, "unable to create backend");
|
||||
fprintf(stderr, helpful_seat_error_message);
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
/* Create headless backend to enable adding virtual outputs later on */
|
||||
wlr_multi_for_each_backend(g_server.backend,
|
||||
get_headless_backend, &g_server.headless.backend);
|
||||
wlr_multi_for_each_backend(server.backend,
|
||||
get_headless_backend, &server.headless.backend);
|
||||
|
||||
if (!g_server.headless.backend) {
|
||||
if (!server.headless.backend) {
|
||||
wlr_log(WLR_DEBUG, "manually creating headless backend");
|
||||
g_server.headless.backend = wlr_headless_backend_create(
|
||||
g_server.wl_event_loop);
|
||||
server.headless.backend = wlr_headless_backend_create(
|
||||
server.wl_event_loop);
|
||||
} else {
|
||||
wlr_log(WLR_DEBUG, "headless backend already exists");
|
||||
}
|
||||
|
||||
if (!g_server.headless.backend) {
|
||||
if (!server.headless.backend) {
|
||||
wlr_log(WLR_ERROR, "unable to create headless backend");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
wlr_multi_backend_add(g_server.backend, g_server.headless.backend);
|
||||
wlr_multi_backend_add(server.backend, server.headless.backend);
|
||||
|
||||
/*
|
||||
* If we don't populate headless backend with a virtual output (that we
|
||||
|
|
@ -491,7 +491,7 @@ server_init(void)
|
|||
* later do not work properly when overlaid on real output. Content is
|
||||
* drawn on the virtual output, but not drawn on the real output.
|
||||
*/
|
||||
wlr_output_destroy(wlr_headless_add_output(g_server.headless.backend, 0, 0));
|
||||
wlr_output_destroy(wlr_headless_add_output(server.headless.backend, 0, 0));
|
||||
|
||||
/*
|
||||
* Autocreates a renderer, either Pixman, GLES2 or Vulkan for us. The
|
||||
|
|
@ -499,38 +499,38 @@ server_init(void)
|
|||
* The renderer is responsible for defining the various pixel formats it
|
||||
* supports for shared memory, this configures that for clients.
|
||||
*/
|
||||
g_server.renderer = wlr_renderer_autocreate(g_server.backend);
|
||||
if (!g_server.renderer) {
|
||||
server.renderer = wlr_renderer_autocreate(server.backend);
|
||||
if (!server.renderer) {
|
||||
wlr_log(WLR_ERROR, "unable to create renderer");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
g_server.renderer_lost.notify = handle_renderer_lost;
|
||||
wl_signal_add(&g_server.renderer->events.lost, &g_server.renderer_lost);
|
||||
server.renderer_lost.notify = handle_renderer_lost;
|
||||
wl_signal_add(&server.renderer->events.lost, &server.renderer_lost);
|
||||
|
||||
if (!wlr_renderer_init_wl_shm(g_server.renderer, g_server.wl_display)) {
|
||||
if (!wlr_renderer_init_wl_shm(server.renderer, server.wl_display)) {
|
||||
wlr_log(WLR_ERROR, "Failed to initialize shared memory pool");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
if (wlr_renderer_get_texture_formats(
|
||||
g_server.renderer, WLR_BUFFER_CAP_DMABUF)) {
|
||||
if (wlr_renderer_get_drm_fd(g_server.renderer) >= 0) {
|
||||
wlr_drm_create(g_server.wl_display, g_server.renderer);
|
||||
server.renderer, WLR_BUFFER_CAP_DMABUF)) {
|
||||
if (wlr_renderer_get_drm_fd(server.renderer) >= 0) {
|
||||
wlr_drm_create(server.wl_display, server.renderer);
|
||||
}
|
||||
g_server.linux_dmabuf = wlr_linux_dmabuf_v1_create_with_renderer(
|
||||
g_server.wl_display,
|
||||
server.linux_dmabuf = wlr_linux_dmabuf_v1_create_with_renderer(
|
||||
server.wl_display,
|
||||
LAB_WLR_LINUX_DMABUF_VERSION,
|
||||
g_server.renderer);
|
||||
server.renderer);
|
||||
} else {
|
||||
wlr_log(WLR_DEBUG, "unable to initialize dmabuf");
|
||||
}
|
||||
|
||||
if (wlr_renderer_get_drm_fd(g_server.renderer) >= 0 &&
|
||||
g_server.renderer->features.timeline &&
|
||||
g_server.backend->features.timeline) {
|
||||
wlr_linux_drm_syncobj_manager_v1_create(g_server.wl_display, 1,
|
||||
wlr_renderer_get_drm_fd(g_server.renderer));
|
||||
if (wlr_renderer_get_drm_fd(server.renderer) >= 0 &&
|
||||
server.renderer->features.timeline &&
|
||||
server.backend->features.timeline) {
|
||||
wlr_linux_drm_syncobj_manager_v1_create(server.wl_display, 1,
|
||||
wlr_renderer_get_drm_fd(server.renderer));
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
@ -538,22 +538,22 @@ server_init(void)
|
|||
* the renderer and the backend. It handles the buffer creation,
|
||||
* allowing wlroots to render onto the screen
|
||||
*/
|
||||
g_server.allocator = wlr_allocator_autocreate(
|
||||
g_server.backend, g_server.renderer);
|
||||
if (!g_server.allocator) {
|
||||
server.allocator = wlr_allocator_autocreate(
|
||||
server.backend, server.renderer);
|
||||
if (!server.allocator) {
|
||||
wlr_log(WLR_ERROR, "unable to create allocator");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
wl_list_init(&g_server.views);
|
||||
wl_list_init(&g_server.unmanaged_surfaces);
|
||||
wl_list_init(&g_server.cycle.views);
|
||||
wl_list_init(&g_server.cycle.osd_outputs);
|
||||
wl_list_init(&server.views);
|
||||
wl_list_init(&server.unmanaged_surfaces);
|
||||
wl_list_init(&server.cycle.views);
|
||||
wl_list_init(&server.cycle.osd_outputs);
|
||||
|
||||
g_server.scene = wlr_scene_create();
|
||||
die_if_null(g_server.scene);
|
||||
server.scene = wlr_scene_create();
|
||||
die_if_null(server.scene);
|
||||
|
||||
g_server.direct_scanout_enabled = g_server.scene->WLR_PRIVATE.direct_scanout;
|
||||
server.direct_scanout_enabled = server.scene->WLR_PRIVATE.direct_scanout;
|
||||
|
||||
/*
|
||||
* The order in which the scene-trees below are created determines the
|
||||
|
|
@ -564,14 +564,14 @@ server_init(void)
|
|||
* | ---------------------------------- | -------------------------------------
|
||||
* | output->session_lock_tree | session lock surfaces (e.g. swaylock)
|
||||
* | output->cycle_osd_tree | window switcher's on-screen display
|
||||
* | g_server.cycle_preview_tree | window switcher's previewed window
|
||||
* | g_server.menu_tree | labwc's server-side menus
|
||||
* | server.cycle_preview_tree | window switcher's previewed window
|
||||
* | server.menu_tree | labwc's server-side menus
|
||||
* | output->layer_popup_tree | xdg popups on layer surfaces
|
||||
* | output->layer_tree[3] | overlay layer surfaces (e.g. rofi)
|
||||
* | output->layer_tree[2] | top layer surfaces (e.g. waybar)
|
||||
* | g_server.unmanaged_tree | unmanaged X11 surfaces (e.g. dmenu)
|
||||
* | g_server.xdg_popup_tree | xdg popups on xdg windows
|
||||
* | g_server.workspace_tree |
|
||||
* | server.unmanaged_tree | unmanaged X11 surfaces (e.g. dmenu)
|
||||
* | server.xdg_popup_tree | xdg popups on xdg windows
|
||||
* | server.workspace_tree |
|
||||
* | + workspace->tree |
|
||||
* | + workspace->view_trees[1] | always-on-top xdg/X11 windows
|
||||
* | + workspace->view_trees[0] | normal xdg/X11 windows (e.g. firefox)
|
||||
|
|
@ -580,13 +580,13 @@ server_init(void)
|
|||
* | output->layer_tree[0] | background layer surfaces (e.g. swaybg)
|
||||
*/
|
||||
|
||||
g_server.workspace_tree = lab_wlr_scene_tree_create(&g_server.scene->tree);
|
||||
g_server.xdg_popup_tree = lab_wlr_scene_tree_create(&g_server.scene->tree);
|
||||
server.workspace_tree = lab_wlr_scene_tree_create(&server.scene->tree);
|
||||
server.xdg_popup_tree = lab_wlr_scene_tree_create(&server.scene->tree);
|
||||
#if HAVE_XWAYLAND
|
||||
g_server.unmanaged_tree = lab_wlr_scene_tree_create(&g_server.scene->tree);
|
||||
server.unmanaged_tree = lab_wlr_scene_tree_create(&server.scene->tree);
|
||||
#endif
|
||||
g_server.menu_tree = lab_wlr_scene_tree_create(&g_server.scene->tree);
|
||||
g_server.cycle_preview_tree = lab_wlr_scene_tree_create(&g_server.scene->tree);
|
||||
server.menu_tree = lab_wlr_scene_tree_create(&server.scene->tree);
|
||||
server.cycle_preview_tree = lab_wlr_scene_tree_create(&server.scene->tree);
|
||||
|
||||
workspaces_init();
|
||||
|
||||
|
|
@ -599,16 +599,16 @@ server_init(void)
|
|||
* room for you to dig your fingers in and play with their behavior if
|
||||
* you want.
|
||||
*/
|
||||
g_server.compositor = wlr_compositor_create(g_server.wl_display,
|
||||
LAB_WLR_COMPOSITOR_VERSION, g_server.renderer);
|
||||
if (!g_server.compositor) {
|
||||
server.compositor = wlr_compositor_create(server.wl_display,
|
||||
LAB_WLR_COMPOSITOR_VERSION, server.renderer);
|
||||
if (!server.compositor) {
|
||||
wlr_log(WLR_ERROR, "unable to create the wlroots compositor");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
wlr_subcompositor_create(g_server.wl_display);
|
||||
wlr_subcompositor_create(server.wl_display);
|
||||
|
||||
struct wlr_data_device_manager *device_manager = NULL;
|
||||
device_manager = wlr_data_device_manager_create(g_server.wl_display);
|
||||
device_manager = wlr_data_device_manager_create(server.wl_display);
|
||||
if (!device_manager) {
|
||||
wlr_log(WLR_ERROR, "unable to create data device manager");
|
||||
exit(EXIT_FAILURE);
|
||||
|
|
@ -625,103 +625,103 @@ server_init(void)
|
|||
* https://wayfire.org/2020/08/04/Wayfire-0-5.html
|
||||
*/
|
||||
if (rc.primary_selection) {
|
||||
wlr_primary_selection_v1_device_manager_create(g_server.wl_display);
|
||||
wlr_primary_selection_v1_device_manager_create(server.wl_display);
|
||||
}
|
||||
|
||||
g_server.input_method_manager = wlr_input_method_manager_v2_create(
|
||||
g_server.wl_display);
|
||||
g_server.text_input_manager = wlr_text_input_manager_v3_create(
|
||||
g_server.wl_display);
|
||||
server.input_method_manager = wlr_input_method_manager_v2_create(
|
||||
server.wl_display);
|
||||
server.text_input_manager = wlr_text_input_manager_v3_create(
|
||||
server.wl_display);
|
||||
seat_init();
|
||||
xdg_shell_init();
|
||||
kde_server_decoration_init();
|
||||
xdg_server_decoration_init();
|
||||
xdserver_decoration_init();
|
||||
|
||||
struct wlr_presentation *presentation = wlr_presentation_create(
|
||||
g_server.wl_display, g_server.backend,
|
||||
server.wl_display, server.backend,
|
||||
LAB_WLR_PRESENTATION_TIME_VERSION);
|
||||
if (!presentation) {
|
||||
wlr_log(WLR_ERROR, "unable to create presentation interface");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
if (g_server.linux_dmabuf) {
|
||||
wlr_scene_set_linux_dmabuf_v1(g_server.scene, g_server.linux_dmabuf);
|
||||
if (server.linux_dmabuf) {
|
||||
wlr_scene_set_linux_dmabuf_v1(server.scene, server.linux_dmabuf);
|
||||
}
|
||||
|
||||
wlr_export_dmabuf_manager_v1_create(g_server.wl_display);
|
||||
wlr_screencopy_manager_v1_create(g_server.wl_display);
|
||||
wlr_ext_image_copy_capture_manager_v1_create(g_server.wl_display, 1);
|
||||
wlr_ext_output_image_capture_source_manager_v1_create(g_server.wl_display, 1);
|
||||
wlr_data_control_manager_v1_create(g_server.wl_display);
|
||||
wlr_ext_data_control_manager_v1_create(g_server.wl_display,
|
||||
wlr_export_dmabuf_manager_v1_create(server.wl_display);
|
||||
wlr_screencopy_manager_v1_create(server.wl_display);
|
||||
wlr_ext_image_copy_capture_manager_v1_create(server.wl_display, 1);
|
||||
wlr_ext_output_image_capture_source_manager_v1_create(server.wl_display, 1);
|
||||
wlr_data_control_manager_v1_create(server.wl_display);
|
||||
wlr_ext_data_control_manager_v1_create(server.wl_display,
|
||||
LAB_EXT_DATA_CONTROL_VERSION);
|
||||
g_server.security_context_manager_v1 =
|
||||
wlr_security_context_manager_v1_create(g_server.wl_display);
|
||||
wlr_viewporter_create(g_server.wl_display);
|
||||
wlr_single_pixel_buffer_manager_v1_create(g_server.wl_display);
|
||||
wlr_fractional_scale_manager_v1_create(g_server.wl_display,
|
||||
server.security_context_manager_v1 =
|
||||
wlr_security_context_manager_v1_create(server.wl_display);
|
||||
wlr_viewporter_create(server.wl_display);
|
||||
wlr_single_pixel_buffer_manager_v1_create(server.wl_display);
|
||||
wlr_fractional_scale_manager_v1_create(server.wl_display,
|
||||
LAB_WLR_FRACTIONAL_SCALE_V1_VERSION);
|
||||
|
||||
idle_manager_create(g_server.wl_display);
|
||||
idle_manager_create(server.wl_display);
|
||||
|
||||
g_server.relative_pointer_manager = wlr_relative_pointer_manager_v1_create(
|
||||
g_server.wl_display);
|
||||
g_server.constraints = wlr_pointer_constraints_v1_create(
|
||||
g_server.wl_display);
|
||||
server.relative_pointer_manager = wlr_relative_pointer_manager_v1_create(
|
||||
server.wl_display);
|
||||
server.constraints = wlr_pointer_constraints_v1_create(
|
||||
server.wl_display);
|
||||
|
||||
g_server.new_constraint.notify = create_constraint;
|
||||
wl_signal_add(&g_server.constraints->events.new_constraint,
|
||||
&g_server.new_constraint);
|
||||
server.new_constraint.notify = create_constraint;
|
||||
wl_signal_add(&server.constraints->events.new_constraint,
|
||||
&server.new_constraint);
|
||||
|
||||
g_server.foreign_toplevel_manager =
|
||||
wlr_foreign_toplevel_manager_v1_create(g_server.wl_display);
|
||||
server.foreign_toplevel_manager =
|
||||
wlr_foreign_toplevel_manager_v1_create(server.wl_display);
|
||||
|
||||
g_server.foreign_toplevel_list =
|
||||
server.foreign_toplevel_list =
|
||||
wlr_ext_foreign_toplevel_list_v1_create(
|
||||
g_server.wl_display, LAB_EXT_FOREIGN_TOPLEVEL_LIST_VERSION);
|
||||
server.wl_display, LAB_EXT_FOREIGN_TOPLEVEL_LIST_VERSION);
|
||||
|
||||
wlr_alpha_modifier_v1_create(g_server.wl_display);
|
||||
wlr_alpha_modifier_v1_create(server.wl_display);
|
||||
|
||||
session_lock_init();
|
||||
|
||||
g_server.drm_lease_manager = wlr_drm_lease_v1_manager_create(
|
||||
g_server.wl_display, g_server.backend);
|
||||
if (g_server.drm_lease_manager) {
|
||||
g_server.drm_lease_request.notify = handle_drm_lease_request;
|
||||
wl_signal_add(&g_server.drm_lease_manager->events.request,
|
||||
&g_server.drm_lease_request);
|
||||
server.drm_lease_manager = wlr_drm_lease_v1_manager_create(
|
||||
server.wl_display, server.backend);
|
||||
if (server.drm_lease_manager) {
|
||||
server.drm_lease_request.notify = handle_drm_lease_request;
|
||||
wl_signal_add(&server.drm_lease_manager->events.request,
|
||||
&server.drm_lease_request);
|
||||
} else {
|
||||
wlr_log(WLR_DEBUG, "Failed to create wlr_drm_lease_device_v1");
|
||||
wlr_log(WLR_INFO, "VR will not be available");
|
||||
}
|
||||
|
||||
g_server.output_power_manager_v1 =
|
||||
wlr_output_power_manager_v1_create(g_server.wl_display);
|
||||
g_server.output_power_manager_set_mode.notify =
|
||||
server.output_power_manager_v1 =
|
||||
wlr_output_power_manager_v1_create(server.wl_display);
|
||||
server.output_power_manager_set_mode.notify =
|
||||
handle_output_power_manager_set_mode;
|
||||
wl_signal_add(&g_server.output_power_manager_v1->events.set_mode,
|
||||
&g_server.output_power_manager_set_mode);
|
||||
wl_signal_add(&server.output_power_manager_v1->events.set_mode,
|
||||
&server.output_power_manager_set_mode);
|
||||
|
||||
g_server.tearing_control = wlr_tearing_control_manager_v1_create(g_server.wl_display, 1);
|
||||
g_server.tearing_new_object.notify = handle_tearing_new_object;
|
||||
wl_signal_add(&g_server.tearing_control->events.new_object, &g_server.tearing_new_object);
|
||||
server.tearing_control = wlr_tearing_control_manager_v1_create(server.wl_display, 1);
|
||||
server.tearing_new_object.notify = handle_tearing_new_object;
|
||||
wl_signal_add(&server.tearing_control->events.new_object, &server.tearing_new_object);
|
||||
|
||||
g_server.tablet_manager = wlr_tablet_v2_create(g_server.wl_display);
|
||||
server.tablet_manager = wlr_tablet_v2_create(server.wl_display);
|
||||
|
||||
layers_init();
|
||||
|
||||
/* These get cleaned up automatically on display destroy */
|
||||
struct wlr_xdg_foreign_registry *registry =
|
||||
wlr_xdg_foreign_registry_create(g_server.wl_display);
|
||||
wlr_xdg_foreign_v1_create(g_server.wl_display, registry);
|
||||
wlr_xdg_foreign_v2_create(g_server.wl_display, registry);
|
||||
wlr_xdg_foreign_registry_create(server.wl_display);
|
||||
wlr_xdg_foreign_v1_create(server.wl_display, registry);
|
||||
wlr_xdg_foreign_v2_create(server.wl_display, registry);
|
||||
|
||||
#if HAVE_LIBSFDO
|
||||
desktop_entry_init();
|
||||
#endif
|
||||
|
||||
#if HAVE_XWAYLAND
|
||||
xwayland_server_init(g_server.compositor);
|
||||
xwayland_server_init(server.compositor);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
@ -729,7 +729,7 @@ void
|
|||
server_start(void)
|
||||
{
|
||||
/* Add a Unix socket to the Wayland display. */
|
||||
const char *socket = wl_display_add_socket_auto(g_server.wl_display);
|
||||
const char *socket = wl_display_add_socket_auto(server.wl_display);
|
||||
if (!socket) {
|
||||
wlr_log_errno(WLR_ERROR, "unable to open wayland socket");
|
||||
exit(EXIT_FAILURE);
|
||||
|
|
@ -739,7 +739,7 @@ server_start(void)
|
|||
* Start the backend. This will enumerate outputs and inputs, become
|
||||
* the DRM master, etc
|
||||
*/
|
||||
if (!wlr_backend_start(g_server.backend)) {
|
||||
if (!wlr_backend_start(server.backend)) {
|
||||
wlr_log(WLR_ERROR, "unable to start the wlroots backend");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
|
@ -763,35 +763,35 @@ server_finish(void)
|
|||
#if HAVE_LIBSFDO
|
||||
desktop_entry_finish();
|
||||
#endif
|
||||
wl_event_source_remove(g_server.sighup_source);
|
||||
wl_event_source_remove(g_server.sigint_source);
|
||||
wl_event_source_remove(g_server.sigterm_source);
|
||||
wl_event_source_remove(g_server.sigchld_source);
|
||||
wl_event_source_remove(server.sighup_source);
|
||||
wl_event_source_remove(server.sigint_source);
|
||||
wl_event_source_remove(server.sigterm_source);
|
||||
wl_event_source_remove(server.sigchld_source);
|
||||
|
||||
wl_display_destroy_clients(g_server.wl_display);
|
||||
wl_display_destroy_clients(server.wl_display);
|
||||
|
||||
seat_finish();
|
||||
output_finish();
|
||||
xdg_shell_finish();
|
||||
layers_finish();
|
||||
kde_server_decoration_finish();
|
||||
xdg_server_decoration_finish();
|
||||
wl_list_remove(&g_server.new_constraint.link);
|
||||
wl_list_remove(&g_server.output_power_manager_set_mode.link);
|
||||
wl_list_remove(&g_server.tearing_new_object.link);
|
||||
if (g_server.drm_lease_request.notify) {
|
||||
wl_list_remove(&g_server.drm_lease_request.link);
|
||||
g_server.drm_lease_request.notify = NULL;
|
||||
xdserver_decoration_finish();
|
||||
wl_list_remove(&server.new_constraint.link);
|
||||
wl_list_remove(&server.output_power_manager_set_mode.link);
|
||||
wl_list_remove(&server.tearing_new_object.link);
|
||||
if (server.drm_lease_request.notify) {
|
||||
wl_list_remove(&server.drm_lease_request.link);
|
||||
server.drm_lease_request.notify = NULL;
|
||||
}
|
||||
|
||||
wlr_backend_destroy(g_server.backend);
|
||||
wlr_allocator_destroy(g_server.allocator);
|
||||
wlr_backend_destroy(server.backend);
|
||||
wlr_allocator_destroy(server.allocator);
|
||||
|
||||
wl_list_remove(&g_server.renderer_lost.link);
|
||||
wlr_renderer_destroy(g_server.renderer);
|
||||
wl_list_remove(&server.renderer_lost.link);
|
||||
wlr_renderer_destroy(server.renderer);
|
||||
|
||||
workspaces_destroy();
|
||||
wlr_scene_node_destroy(&g_server.scene->tree.node);
|
||||
wlr_scene_node_destroy(&server.scene->tree.node);
|
||||
|
||||
wl_display_destroy(g_server.wl_display);
|
||||
wl_display_destroy(server.wl_display);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue