Add xdg-shell stable support

This commit is contained in:
emersion 2018-05-13 16:38:56 +01:00
parent 0c96d757d0
commit 88d9d43b36
No known key found for this signature in database
GPG key ID: 0FDE7BE0E88F5E48
8 changed files with 331 additions and 1 deletions

View file

@ -12,6 +12,7 @@ struct sway_container;
enum sway_view_type {
SWAY_VIEW_WL_SHELL,
SWAY_VIEW_XDG_SHELL_V6,
SWAY_VIEW_XDG_SHELL,
SWAY_VIEW_XWAYLAND,
};
@ -54,6 +55,7 @@ struct sway_view {
union {
struct wlr_xdg_surface_v6 *wlr_xdg_surface_v6;
struct wlr_xdg_surface *wlr_xdg_surface;
struct wlr_xwayland_surface *wlr_xwayland_surface;
struct wlr_wl_shell_surface *wlr_wl_shell_surface;
};
@ -82,6 +84,22 @@ struct sway_xdg_shell_v6_view {
int pending_width, pending_height;
};
struct sway_xdg_shell_view {
struct sway_view view;
struct wl_listener commit;
struct wl_listener request_move;
struct wl_listener request_resize;
struct wl_listener request_maximize;
struct wl_listener request_fullscreen;
struct wl_listener new_popup;
struct wl_listener map;
struct wl_listener unmap;
struct wl_listener destroy;
int pending_width, pending_height;
};
struct sway_xwayland_view {
struct sway_view view;
@ -156,6 +174,15 @@ struct sway_xdg_popup_v6 {
struct wl_listener destroy;
};
struct sway_xdg_popup {
struct sway_view_child child;
struct wlr_xdg_surface *wlr_xdg_surface;
struct wl_listener new_popup;
struct wl_listener destroy;
};
const char *view_get_title(struct sway_view *view);
const char *view_get_app_id(struct sway_view *view);