shell: Put popups and transients on top of their parent
In other words, don't map the panel menu under the panel.
This commit is contained in:
@@ -1489,6 +1489,7 @@ map(struct weston_shell *base, struct weston_surface *surface,
|
|||||||
struct weston_compositor *compositor = shell->compositor;
|
struct weston_compositor *compositor = shell->compositor;
|
||||||
struct shell_surface *shsurf;
|
struct shell_surface *shsurf;
|
||||||
enum shell_surface_type surface_type = SHELL_SURFACE_NONE;
|
enum shell_surface_type surface_type = SHELL_SURFACE_NONE;
|
||||||
|
struct weston_surface *parent;
|
||||||
int panel_height = 0;
|
int panel_height = 0;
|
||||||
|
|
||||||
shsurf = get_shell_surface(surface);
|
shsurf = get_shell_surface(surface);
|
||||||
@@ -1561,6 +1562,11 @@ map(struct weston_shell *base, struct weston_surface *surface,
|
|||||||
compositor->state = WESTON_COMPOSITOR_IDLE;
|
compositor->state = WESTON_COMPOSITOR_IDLE;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case SHELL_SURFACE_POPUP:
|
||||||
|
case SHELL_SURFACE_TRANSIENT:
|
||||||
|
parent = shsurf->parent->surface;
|
||||||
|
wl_list_insert(parent->layer_link.prev, &surface->layer_link);
|
||||||
|
break;
|
||||||
case SHELL_SURFACE_FULLSCREEN:
|
case SHELL_SURFACE_FULLSCREEN:
|
||||||
case SHELL_SURFACE_NONE:
|
case SHELL_SURFACE_NONE:
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user