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);
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);
" (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);
}
struct xdg_surface *xdg_surface;
struct xdg_popup *xdg_popup;
- struct window *transient_for;
+ struct window *parent;
struct window_frame *frame;
};
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
if (!window->custom) {
if (window->xdg_surface) {
- window_sync_transient_for(window);
+ window_sync_parent(window);
window_sync_margin(window);
}
}
}
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
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);
}
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;
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,
</description>
</request>
- <request name="set_transient_for">
+ <request name="set_parent">
<description summary="surface is a child of another surface">
- 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.