aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorS. Christoffer Eliesen <christoffer@eliesen.no>2015-12-20 12:49:11 +0100
committerS. Christoffer Eliesen <christoffer@eliesen.no>2015-12-20 12:54:34 +0100
commite45fd9b6c5dfb858c6f86277351bc216574d8200 (patch)
tree8d70e85b1e1f1dcca401429c95b9b8ee9bde8890 /include
parent6db0f6f80f75f7e141e3a8b0c19fa317354bf5cc (diff)
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.
Diffstat (limited to 'include')
-rw-r--r--include/extensions.h4
1 files changed, 3 insertions, 1 deletions
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;
};