diff options
Diffstat (limited to 'sway/tree/view.c')
-rw-r--r-- | sway/tree/view.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sway/tree/view.c b/sway/tree/view.c index 1c94de4c..9ffcf206 100644 --- a/sway/tree/view.c +++ b/sway/tree/view.c | |||
@@ -309,6 +309,7 @@ void view_request_activate(struct sway_view *view) { | |||
309 | } | 309 | } |
310 | 310 | ||
311 | void view_set_csd_from_server(struct sway_view *view, bool enabled) { | 311 | void view_set_csd_from_server(struct sway_view *view, bool enabled) { |
312 | wlr_log(WLR_DEBUG, "Telling view %p to set CSD to %i", view, enabled); | ||
312 | if (view->xdg_decoration) { | 313 | if (view->xdg_decoration) { |
313 | uint32_t mode = enabled ? | 314 | uint32_t mode = enabled ? |
314 | WLR_XDG_TOPLEVEL_DECORATION_V1_MODE_CLIENT_SIDE : | 315 | WLR_XDG_TOPLEVEL_DECORATION_V1_MODE_CLIENT_SIDE : |
@@ -316,15 +317,20 @@ void view_set_csd_from_server(struct sway_view *view, bool enabled) { | |||
316 | wlr_xdg_toplevel_decoration_v1_set_mode( | 317 | wlr_xdg_toplevel_decoration_v1_set_mode( |
317 | view->xdg_decoration->wlr_xdg_decoration, mode); | 318 | view->xdg_decoration->wlr_xdg_decoration, mode); |
318 | } | 319 | } |
320 | view->using_csd = enabled; | ||
319 | } | 321 | } |
320 | 322 | ||
321 | void view_update_csd_from_client(struct sway_view *view, bool enabled) { | 323 | void view_update_csd_from_client(struct sway_view *view, bool enabled) { |
324 | wlr_log(WLR_DEBUG, "View %p updated CSD to %i", view, enabled); | ||
322 | if (enabled && view->border != B_CSD) { | 325 | if (enabled && view->border != B_CSD) { |
323 | view->saved_border = view->border; | 326 | view->saved_border = view->border; |
324 | view->border = B_CSD; | 327 | if (container_is_floating(view->container)) { |
328 | view->border = B_CSD; | ||
329 | } | ||
325 | } else if (!enabled && view->border == B_CSD) { | 330 | } else if (!enabled && view->border == B_CSD) { |
326 | view->border = view->saved_border; | 331 | view->border = view->saved_border; |
327 | } | 332 | } |
333 | view->using_csd = enabled; | ||
328 | } | 334 | } |
329 | 335 | ||
330 | void view_set_tiled(struct sway_view *view, bool tiled) { | 336 | void view_set_tiled(struct sway_view *view, bool tiled) { |