diff --git a/clients/stacking.c b/clients/stacking.c index 347c598d..f51a476c 100644 --- a/clients/stacking.c +++ b/clients/stacking.c @@ -64,7 +64,7 @@ new_window(struct stacking *stacking, struct window *parent_window) struct widget *new_widget; new_window = window_create(stacking->display); - window_set_transient_for(new_window, parent_window); + window_set_parent(new_window, parent_window); new_widget = window_frame_create(new_window, new_window); @@ -230,7 +230,7 @@ draw_string(cairo_t *cr, static void set_window_background_colour(cairo_t *cr, struct window *window) { - if (window_get_transient_for(window)) + if (window_get_parent(window)) cairo_set_source_rgba(cr, 0.0, 1.0, 0.0, 0.4); else if (window_is_maximized(window)) cairo_set_source_rgba(cr, 1.0, 1.0, 0.0, 0.6); @@ -276,7 +276,7 @@ redraw_handler(struct widget *widget, void *data) " (n)ew window, (p)opup,\n" " (q)uit, (t)ransient window\n", window, window_is_fullscreen(window), - window_is_maximized(window), window_get_transient_for(window) ? 1 : 0); + window_is_maximized(window), window_get_parent(window) ? 1 : 0); cairo_destroy(cr); } diff --git a/clients/window.c b/clients/window.c index 4592ef96..9fe6cd79 100644 --- a/clients/window.c +++ b/clients/window.c @@ -244,7 +244,7 @@ struct window { struct xdg_surface *xdg_surface; struct xdg_popup *xdg_popup; - struct window *transient_for; + struct window *parent; struct window_frame *frame; @@ -3912,19 +3912,19 @@ static const struct xdg_surface_listener xdg_surface_listener = { }; static void -window_sync_transient_for(struct window *window) +window_sync_parent(struct window *window) { struct wl_surface *parent_surface; if (!window->xdg_surface) return; - if (window->transient_for) - parent_surface = window->transient_for->main_surface->surface; + if (window->parent) + parent_surface = window->parent->main_surface->surface; else parent_surface = NULL; - xdg_surface_set_transient_for(window->xdg_surface, parent_surface); + xdg_surface_set_parent(window->xdg_surface, parent_surface); } static void @@ -3955,7 +3955,7 @@ window_flush(struct window *window) if (!window->custom) { if (window->xdg_surface) { - window_sync_transient_for(window); + window_sync_parent(window); window_sync_margin(window); } } @@ -4428,17 +4428,17 @@ window_create_custom(struct display *display) } void -window_set_transient_for(struct window *window, - struct window *parent_window) +window_set_parent(struct window *window, + struct window *parent_window) { - window->transient_for = parent_window; - window_sync_transient_for(window); + window->parent = parent_window; + window_sync_parent(window); } struct window * -window_get_transient_for(struct window *window) +window_get_parent(struct window *window) { - return window->transient_for; + return window->parent; } static void diff --git a/clients/window.h b/clients/window.h index 4e4ccc1d..5cf6b3e3 100644 --- a/clients/window.h +++ b/clients/window.h @@ -275,9 +275,9 @@ struct window * window_create_custom(struct display *display); void -window_set_transient_for(struct window *window, struct window *parent_window); +window_set_parent(struct window *window, struct window *parent_window); struct window * -window_get_transient_for(struct window *window); +window_get_parent(struct window *window); int window_has_focus(struct window *window); diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c index 84f5c838..ea0e049d 100644 --- a/desktop-shell/shell.c +++ b/desktop-shell/shell.c @@ -3354,9 +3354,9 @@ xdg_surface_destroy(struct wl_client *client, } static void -xdg_surface_set_transient_for(struct wl_client *client, - struct wl_resource *resource, - struct wl_resource *parent_resource) +xdg_surface_set_parent(struct wl_client *client, + struct wl_resource *resource, + struct wl_resource *parent_resource) { struct shell_surface *shsurf = wl_resource_get_user_data(resource); struct weston_surface *parent; @@ -3515,7 +3515,7 @@ xdg_surface_set_minimized(struct wl_client *client, static const struct xdg_surface_interface xdg_surface_implementation = { xdg_surface_destroy, - xdg_surface_set_transient_for, + xdg_surface_set_parent, xdg_surface_set_margin, xdg_surface_set_title, xdg_surface_set_app_id, diff --git a/protocol/xdg-shell.xml b/protocol/xdg-shell.xml index 79a28317..78826934 100644 --- a/protocol/xdg-shell.xml +++ b/protocol/xdg-shell.xml @@ -137,11 +137,8 @@ - + - Setting a surface as transient of another means that it is child - of another surface. - Child surfaces are stacked above their parents, and will be unmapped if the parent is unmapped too. They should not appear on task bars and alt+tab.