mirror of
https://github.com/labwc/labwc.git
synced 2026-02-07 04:07:42 -05:00
Add xwayland-unmanaged.c
Handle xwayland override_direct surfaces separately from the view struct - in order to simplify code, particularly in view.c
This commit is contained in:
parent
d831743b25
commit
8e7f2e78cd
8 changed files with 162 additions and 24 deletions
|
|
@ -52,6 +52,7 @@ struct server {
|
|||
struct wlr_xwayland *xwayland;
|
||||
struct wl_listener new_xwayland_surface;
|
||||
struct wl_list views;
|
||||
struct wl_list unmanaged_surfaces;
|
||||
|
||||
struct wlr_cursor *cursor;
|
||||
struct wlr_xcursor_manager *cursor_mgr;
|
||||
|
|
@ -78,10 +79,12 @@ struct server {
|
|||
struct wl_list outputs;
|
||||
struct wl_listener new_output;
|
||||
|
||||
/* For use in cycle (alt-tab) mode */
|
||||
/* Set when in cycle (alt-tab) mode */
|
||||
struct view *cycle_view;
|
||||
};
|
||||
|
||||
extern struct server server;
|
||||
|
||||
struct output {
|
||||
struct wl_list link;
|
||||
struct server *server;
|
||||
|
|
@ -137,6 +140,18 @@ struct view {
|
|||
struct wl_listener request_configure;
|
||||
};
|
||||
|
||||
struct xwayland_unmanaged {
|
||||
struct wlr_xwayland_surface *xwayland_surface;
|
||||
struct wl_list link;
|
||||
int lx, ly;
|
||||
|
||||
struct wl_listener request_configure;
|
||||
struct wl_listener commit;
|
||||
struct wl_listener map;
|
||||
struct wl_listener unmap;
|
||||
struct wl_listener destroy;
|
||||
};
|
||||
|
||||
struct keyboard {
|
||||
struct wl_list link;
|
||||
struct server *server;
|
||||
|
|
@ -150,6 +165,7 @@ void xdg_toplevel_decoration(struct wl_listener *listener, void *data);
|
|||
void xdg_surface_new(struct wl_listener *listener, void *data);
|
||||
|
||||
void xwl_surface_new(struct wl_listener *listener, void *data);
|
||||
void xwayland_unmanaged_create(struct wlr_xwayland_surface *xsurface);
|
||||
|
||||
void view_init_position(struct view *view);
|
||||
/**
|
||||
|
|
@ -169,6 +185,8 @@ struct view *view_at(struct server *server, double lx, double ly,
|
|||
struct wlr_surface **surface, double *sx, double *sy,
|
||||
int *view_area);
|
||||
|
||||
void seat_focus_surface(struct wlr_surface *surface);
|
||||
|
||||
void interactive_begin(struct view *view, enum cursor_mode mode,
|
||||
uint32_t edges);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue