mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2025-11-24 06:59:45 -05:00
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
This commit is contained in:
parent
ea906ea3e2
commit
f912316d9b
2 changed files with 242 additions and 40 deletions
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue