diff options
Diffstat (limited to 'xwayland/xwm.h')
-rw-r--r-- | xwayland/xwm.h | 64 |
1 files changed, 18 insertions, 46 deletions
diff --git a/xwayland/xwm.h b/xwayland/xwm.h index a04b1065..7d30d278 100644 --- a/xwayland/xwm.h +++ b/xwayland/xwm.h @@ -3,48 +3,6 @@ #include <wayland-server-core.h> #include <wlr/xwayland.h> -/* wlc's atom list: - WL_SURFACE_ID, - WM_DELETE_WINDOW, - WM_TAKE_FOCUS, - WM_PROTOCOLS, - WM_NORMAL_HINTS, - MOTIF_WM_HINTS, - TEXT, - UTF8_STRING, - CLIPBOARD, - CLIPBOARD_MANAGER, - TARGETS, - PRIMARY, - WM_S0, - STRING, - WLC_SELECTION, - NET_WM_S0, - NET_WM_PID, - NET_WM_NAME, - NET_WM_STATE, - NET_WM_STATE_FULLSCREEN, - NET_WM_STATE_MODAL, - NET_WM_STATE_ABOVE, - NET_SUPPORTED, - NET_SUPPORTING_WM_CHECK, - NET_WM_WINDOW_TYPE, - NET_WM_WINDOW_TYPE_DESKTOP, - NET_WM_WINDOW_TYPE_DOCK, - NET_WM_WINDOW_TYPE_TOOLBAR, - NET_WM_WINDOW_TYPE_MENU, - NET_WM_WINDOW_TYPE_UTILITY, - NET_WM_WINDOW_TYPE_SPLASH, - NET_WM_WINDOW_TYPE_DIALOG, - NET_WM_WINDOW_TYPE_DROPDOWN_MENU, - NET_WM_WINDOW_TYPE_POPUP_MENU, - NET_WM_WINDOW_TYPE_TOOLTIP, - NET_WM_WINDOW_TYPE_NOTIFICATION, - NET_WM_WINDOW_TYPE_COMBO, - NET_WM_WINDOW_TYPE_DND, - NET_WM_WINDOW_TYPE_NORMAL, - */ - enum atom_name { WL_SURFACE_ID, WM_DELETE_WINDOW, @@ -62,6 +20,14 @@ enum atom_name { NET_WM_STATE, NET_WM_WINDOW_TYPE, WM_TAKE_FOCUS, + WINDOW, + _NET_ACTIVE_WINDOW, + _NET_WM_MOVERESIZE, + _NET_WM_NAME, + _NET_SUPPORTING_WM_CHECK, + _NET_WM_STATE_FULLSCREEN, + _NET_WM_STATE_MAXIMIZED_VERT, + _NET_WM_STATE_MAXIMIZED_HORZ, ATOM_LAST, }; @@ -69,27 +35,33 @@ extern const char *atom_map[ATOM_LAST]; enum net_wm_state_action { NET_WM_STATE_REMOVE = 0, - NET_WM_STATE_ADD = 1, + NET_WM_STATE_ADD = 1, NET_WM_STATE_TOGGLE = 2, }; struct wlr_xwm { struct wlr_xwayland *xwayland; struct wl_event_source *event_source; - struct wl_listener surface_create_listener; xcb_atom_t atoms[ATOM_LAST]; xcb_connection_t *xcb_conn; xcb_screen_t *screen; xcb_window_t window; + xcb_visualid_t visual_id; + xcb_colormap_t colormap; + + struct wlr_xwayland_surface *focus_surface; - struct wl_list new_surfaces; - struct wl_list unpaired_surfaces; + struct wl_list surfaces; // wlr_xwayland_surface::link + struct wl_list unpaired_surfaces; // wlr_xwayland_surface::unpaired_link const xcb_query_extension_reply_t *xfixes; + + struct wl_listener compositor_surface_create; }; void xwm_destroy(struct wlr_xwm *xwm); + struct wlr_xwm *xwm_create(struct wlr_xwayland *wlr_xwayland); #endif |