From b150e11cd3a910676b8588fbba24e25dd51d858b Mon Sep 17 00:00:00 2001 From: John Lindgren Date: Sat, 26 Nov 2022 02:00:38 -0500 Subject: [PATCH] view: Enable/disable decorations explicitly `view_set_decorations()` now calls `ssd_create()` and `ssd_destroy()` explicitly to enable/disable decorations. As a result, the implicit enable/disable logic in `ssd_update_geometry()` is no longer needed. --- src/ssd/ssd.c | 17 +---------------- src/view.c | 6 +++++- 2 files changed, 6 insertions(+), 17 deletions(-) diff --git a/src/ssd/ssd.c b/src/ssd/ssd.c index 71865eee..2b2feccd 100644 --- a/src/ssd/ssd.c +++ b/src/ssd/ssd.c @@ -150,8 +150,6 @@ ssd_create(struct view *view) bool is_active = view->server->focused_view == view; if (view->ssd.tree) { - /* SSD was hidden. Just enable it */ - wlr_scene_node_set_enabled(&view->ssd.tree->node, true); ssd_set_active(view, is_active); return; } @@ -168,21 +166,8 @@ ssd_create(struct view *view) void ssd_update_geometry(struct view *view) { - if (!view->scene_node) { - return; - } - - if (!view->ssd_enabled) { - if (view->ssd.tree && view->ssd.tree->node.enabled) { - wlr_scene_node_set_enabled(&view->ssd.tree->node, false); - view->ssd.margin = ssd_thickness(view); - } + if (!view->ssd.tree) { return; - } else if (!view->ssd.tree) { - ssd_create(view); - } else if (!view->ssd.tree->node.enabled) { - wlr_scene_node_set_enabled(&view->ssd.tree->node, true); - view->ssd.margin = ssd_thickness(view); } int width = view->w; diff --git a/src/view.c b/src/view.c index f13203a8..221c54c4 100644 --- a/src/view.c +++ b/src/view.c @@ -556,8 +556,12 @@ view_set_decorations(struct view *view, bool decorations) { assert(view); if (view->ssd_enabled != decorations && !view->fullscreen) { + if (decorations) { + ssd_create(view); + } else { + ssd_destroy(view); + } view->ssd_enabled = decorations; - ssd_update_geometry(view); if (view->maximized) { view_apply_maximized_geometry(view); } else if (view->tiled) { -- 2.52.0