mirror of
https://github.com/labwc/labwc.git
synced 2025-10-29 05:40:24 -04:00
...to increase xwayland and xdg-shell encapsulation and to avoid passing a function pointer as an argument in `xwayland_move_sub_views_to_front()` which is inconsistent with labwc design patterns. Rename view-impl.c to view-impl-common.c Move function declarations that are common to view-implementations from view.h into view-impl-common.h
54 lines
1.5 KiB
C
54 lines
1.5 KiB
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
#ifndef __LABWC_XWAYLAND_H
|
|
#define __LABWC_XWAYLAND_H
|
|
#include "config.h"
|
|
#if HAVE_XWAYLAND
|
|
#include "view.h"
|
|
|
|
struct wlr_compositor;
|
|
|
|
struct xwayland_unmanaged {
|
|
struct server *server;
|
|
struct wlr_xwayland_surface *xwayland_surface;
|
|
struct wlr_scene_node *node;
|
|
struct wl_list link;
|
|
|
|
struct wl_listener request_activate;
|
|
struct wl_listener request_configure;
|
|
/* struct wl_listener request_fullscreen; */
|
|
struct wl_listener set_geometry;
|
|
struct wl_listener map;
|
|
struct wl_listener unmap;
|
|
struct wl_listener destroy;
|
|
struct wl_listener override_redirect;
|
|
};
|
|
|
|
struct xwayland_view {
|
|
struct view base;
|
|
struct wlr_xwayland_surface *xwayland_surface;
|
|
|
|
/* Events unique to XWayland views */
|
|
struct wl_listener request_configure;
|
|
struct wl_listener set_app_id; /* TODO: s/set_app_id/class/ */
|
|
struct wl_listener set_decorations;
|
|
struct wl_listener override_redirect;
|
|
|
|
/* Not (yet) implemented */
|
|
/* struct wl_listener set_role; */
|
|
/* struct wl_listener set_window_type; */
|
|
/* struct wl_listener set_hints; */
|
|
};
|
|
|
|
void xwayland_unmanaged_create(struct server *server,
|
|
struct wlr_xwayland_surface *xsurface, bool mapped);
|
|
|
|
struct wlr_xwayland_surface *xwayland_surface_from_view(struct view *view);
|
|
|
|
bool xwayland_apply_size_hints(struct view *view, int *w, int *h);
|
|
|
|
void xwayland_server_init(struct server *server,
|
|
struct wlr_compositor *compositor);
|
|
void xwayland_server_finish(struct server *server);
|
|
|
|
#endif /* HAVE_XWAYLAND */
|
|
#endif /* __LABWC_XWAYLAND_H */
|