mirror of
https://gitlab.freedesktop.org/wayland/weston
synced 2024-07-21 02:25:36 +00:00
shell: position input panel layer above fullscreen layer
When a client calls the input panel (weston-keyboard e.g.) and then goes fullscreen, the panel will not be hidden anymore. Signed-off-by: Manuel Bachmann <manuel.bachmann@open.eurogiciel.org>
This commit is contained in:
parent
c1ae2e817e
commit
805d2f536a
|
@ -63,7 +63,7 @@ show_input_panels(struct wl_listener *listener, void *data)
|
||||||
shell->showing_input_panels = true;
|
shell->showing_input_panels = true;
|
||||||
|
|
||||||
if (!shell->locked)
|
if (!shell->locked)
|
||||||
wl_list_insert(&shell->panel_layer.link,
|
wl_list_insert(&shell->compositor->cursor_layer.link,
|
||||||
&shell->input_panel_layer.link);
|
&shell->input_panel_layer.link);
|
||||||
|
|
||||||
wl_list_for_each_safe(ipsurf, next,
|
wl_list_for_each_safe(ipsurf, next,
|
||||||
|
|
|
@ -72,9 +72,9 @@ enum shell_surface_type {
|
||||||
* in the following order (top-most first):
|
* in the following order (top-most first):
|
||||||
* • Lock layer (only ever displayed on its own)
|
* • Lock layer (only ever displayed on its own)
|
||||||
* • Cursor layer
|
* • Cursor layer
|
||||||
|
* • Input panel layer
|
||||||
* • Fullscreen layer
|
* • Fullscreen layer
|
||||||
* • Panel layer
|
* • Panel layer
|
||||||
* • Input panel layer
|
|
||||||
* • Workspace layers
|
* • Workspace layers
|
||||||
* • Background layer
|
* • Background layer
|
||||||
*
|
*
|
||||||
|
@ -3886,18 +3886,19 @@ resume_desktop(struct desktop_shell *shell)
|
||||||
terminate_screensaver(shell);
|
terminate_screensaver(shell);
|
||||||
|
|
||||||
wl_list_remove(&shell->lock_layer.link);
|
wl_list_remove(&shell->lock_layer.link);
|
||||||
wl_list_insert(&shell->compositor->cursor_layer.link,
|
|
||||||
&shell->fullscreen_layer.link);
|
|
||||||
wl_list_insert(&shell->fullscreen_layer.link,
|
|
||||||
&shell->panel_layer.link);
|
|
||||||
if (shell->showing_input_panels) {
|
if (shell->showing_input_panels) {
|
||||||
wl_list_insert(&shell->panel_layer.link,
|
wl_list_insert(&shell->compositor->cursor_layer.link,
|
||||||
&shell->input_panel_layer.link);
|
&shell->input_panel_layer.link);
|
||||||
wl_list_insert(&shell->input_panel_layer.link,
|
wl_list_insert(&shell->input_panel_layer.link,
|
||||||
&ws->layer.link);
|
&shell->fullscreen_layer.link);
|
||||||
} else {
|
} else {
|
||||||
wl_list_insert(&shell->panel_layer.link, &ws->layer.link);
|
wl_list_insert(&shell->compositor->cursor_layer.link,
|
||||||
|
&shell->fullscreen_layer.link);
|
||||||
}
|
}
|
||||||
|
wl_list_insert(&shell->fullscreen_layer.link,
|
||||||
|
&shell->panel_layer.link);
|
||||||
|
wl_list_insert(&shell->panel_layer.link,
|
||||||
|
&ws->layer.link),
|
||||||
|
|
||||||
restore_focus_state(shell, get_current_workspace(shell));
|
restore_focus_state(shell, get_current_workspace(shell));
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue