From e45fd9b6c5dfb858c6f86277351bc216574d8200 Mon Sep 17 00:00:00 2001 From: "S. Christoffer Eliesen" Date: Sun, 20 Dec 2015 12:49:11 +0100 Subject: extensions: Track panels by wl_resource, position per panel. Track each panel separately via its wl_resource. `set_panel_position` might be called before `set_panel`, so reuse panel config. Place the position in panel_config so that each panel has its own position. --- include/extensions.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'include/extensions.h') diff --git a/include/extensions.h b/include/extensions.h index 67c7d5fe..164688ee 100644 --- a/include/extensions.h +++ b/include/extensions.h @@ -14,10 +14,13 @@ struct background_config { }; struct panel_config { + // wayland resource used in callbacks, is used to track this panel + struct wl_resource *wl_resource; wlc_handle output; wlc_resource surface; // we need the wl_resource of the surface in the destructor struct wl_resource *wl_surface_res; + enum desktop_shell_panel_position panel_position; }; struct desktop_shell_state { @@ -25,7 +28,6 @@ struct desktop_shell_state { list_t *panels; list_t *lock_surfaces; bool is_locked; - enum desktop_shell_panel_position panel_position; struct wlc_size panel_size; }; -- cgit v1.2.3-54-g00ecf