wl-shell: render popups in the right place

This commit is contained in:
Tony Crisci 2017-10-08 16:49:37 -04:00
parent fbddc81b59
commit cd1204f71f
3 changed files with 84 additions and 9 deletions

View file

@ -18,7 +18,6 @@ struct wlr_wl_shell {
};
struct wlr_wl_shell_surface_transient_state {
struct wlr_wl_shell_surface *parent;
int32_t x;
int32_t y;
enum wl_shell_surface_transient flags;
@ -55,6 +54,10 @@ struct wlr_wl_shell_surface {
struct wl_listener surface_destroy_listener;
struct wlr_wl_shell_surface *parent;
struct wl_list child_link;
struct wl_list children; // transient and popups
struct {
struct wl_signal destroy;
struct wl_signal ping_timeout;
@ -108,5 +111,6 @@ void wlr_wl_shell_surface_ping(struct wlr_wl_shell_surface *surface);
void wlr_wl_shell_surface_configure(struct wlr_wl_shell_surface *surface,
enum wl_shell_surface_resize edges, int32_t width, int32_t height);
void wlr_wl_shell_surface_popup_done(struct wlr_wl_shell_surface *surface);
bool wlr_wl_shell_surface_is_transient(struct wlr_wl_shell_surface *surface);
#endif