[PATCH] shell: position input panel layer above fullscreen layer
Kristian Høgsberg
hoegsberg at gmail.com
Wed Apr 2 10:36:58 PDT 2014
On Wed, Mar 05, 2014 at 12:21:34PM +0100, Manuel Bachmann wrote:
> 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 at open.eurogiciel.org>
> ---
Makes sense, applied.
Kristian
> desktop-shell/input-panel.c | 2 +-
> desktop-shell/shell.c | 17 +++++++++--------
> 2 files changed, 10 insertions(+), 9 deletions(-)
>
> diff --git a/desktop-shell/input-panel.c b/desktop-shell/input-panel.c
> index c08a403..12fe686 100644
> --- a/desktop-shell/input-panel.c
> +++ b/desktop-shell/input-panel.c
> @@ -63,7 +63,7 @@ show_input_panels(struct wl_listener *listener, void *data)
> shell->showing_input_panels = true;
>
> if (!shell->locked)
> - wl_list_insert(&shell->panel_layer.link,
> + wl_list_insert(&shell->compositor->cursor_layer.link,
> &shell->input_panel_layer.link);
>
> wl_list_for_each_safe(ipsurf, next,
> diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c
> index fd9ead0..09d1914 100644
> --- a/desktop-shell/shell.c
> +++ b/desktop-shell/shell.c
> @@ -72,9 +72,9 @@ enum shell_surface_type {
> * in the following order (top-most first):
> * • Lock layer (only ever displayed on its own)
> * • Cursor layer
> + * • Input panel layer
> * • Fullscreen layer
> * • Panel layer
> - * • Input panel layer
> * • Workspace layers
> * • Background layer
> *
> @@ -3794,18 +3794,19 @@ resume_desktop(struct desktop_shell *shell)
> terminate_screensaver(shell);
>
> 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) {
> - wl_list_insert(&shell->panel_layer.link,
> + wl_list_insert(&shell->compositor->cursor_layer.link,
> &shell->input_panel_layer.link);
> wl_list_insert(&shell->input_panel_layer.link,
> - &ws->layer.link);
> + &shell->fullscreen_layer.link);
> } 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));
>
> --
> 1.7.10.4
>
> _______________________________________________
> wayland-devel mailing list
> wayland-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/wayland-devel
More information about the wayland-devel
mailing list