diff options
author | Dominique Martinet <asmadeus@codewreck.org> | 2017-08-20 13:43:04 +0200 |
---|---|---|
committer | Dominique Martinet <asmadeus@codewreck.org> | 2017-08-23 22:03:49 +0200 |
commit | f912316d9b1ed39352efb07e773128b6e4f554aa (patch) | |
tree | 696b206d4ef9f94efdfbf4b101a3a3507032862f /xwayland/xwm.h | |
parent | ea906ea3e217c578aca76825c1d24a542b487380 (diff) |
xwm: handle some more events
handle map/unmap_notify, property_notify (just logging for now), and
client_message for wl_surface_id.
We almost can display an X window now, just need the compositor to
iterate over them
Diffstat (limited to 'xwayland/xwm.h')
-rw-r--r-- | xwayland/xwm.h | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/xwayland/xwm.h b/xwayland/xwm.h index cfdd95f5..51d60395 100644 --- a/xwayland/xwm.h +++ b/xwayland/xwm.h @@ -65,16 +65,31 @@ static const char * const atom_map[ATOM_LAST] = { "_NET_WM_STATE", }; +struct wlr_x11_window { + xcb_window_t window_id; + uint32_t surface_id; + struct wl_list link; + + struct wl_resource *surface; + struct wl_listener surface_destroy_listener; + int16_t x, y; + uint16_t width, height; + bool override_redirect; +}; struct wlr_xwm { struct wlr_xwayland *xwayland; struct wl_event_source *event_source; - struct wl_listener surface_listener; + 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; + + struct wl_list new_windows; + struct wl_list unpaired_windows; + struct wl_list paired_windows; }; void xwm_destroy(struct wlr_xwm *xwm); |