aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Baltazár Radics <baltazar.radics@gmail.com>2022-07-25 12:32:50 +0200
committerLibravatar Simon Ser <contact@emersion.fr>2022-07-26 12:06:10 +0200
commita5a44ba95bdcc3adfe88e282fd206181528e60f6 (patch)
tree1ddd9000b8e509a7722224da1b65abcdbf8d8ea0
parentswaymsg: fix floating_nodes being ignored (diff)
downloadsway-a5a44ba95bdcc3adfe88e282fd206181528e60f6.tar.gz
sway-a5a44ba95bdcc3adfe88e282fd206181528e60f6.tar.zst
sway-a5a44ba95bdcc3adfe88e282fd206181528e60f6.zip
ipc: make get_deco_rect check config->hide_lone_tab
Without this, the `IPC_GET_TREE` ipc call would return false information about the container's `deco_rect` and `rect` properties if `hide_edge_borders --i3` was in effect.
-rw-r--r--sway/ipc-json.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sway/ipc-json.c b/sway/ipc-json.c
index 287c158d..e422b24d 100644
--- a/sway/ipc-json.c
+++ b/sway/ipc-json.c
@@ -458,7 +458,9 @@ static void ipc_json_describe_workspace(struct sway_workspace *workspace,
458 458
459static void get_deco_rect(struct sway_container *c, struct wlr_box *deco_rect) { 459static void get_deco_rect(struct sway_container *c, struct wlr_box *deco_rect) {
460 enum sway_container_layout parent_layout = container_parent_layout(c); 460 enum sway_container_layout parent_layout = container_parent_layout(c);
461 bool tab_or_stack = parent_layout == L_TABBED || parent_layout == L_STACKED; 461 list_t *siblings = container_get_siblings(c);
462 bool tab_or_stack = (parent_layout == L_TABBED || parent_layout == L_STACKED)
463 && ((siblings && siblings->length > 1) || !config->hide_lone_tab);
462 if (((!tab_or_stack || container_is_floating(c)) && 464 if (((!tab_or_stack || container_is_floating(c)) &&
463 c->current.border != B_NORMAL) || 465 c->current.border != B_NORMAL) ||
464 c->pending.fullscreen_mode != FULLSCREEN_NONE || 466 c->pending.fullscreen_mode != FULLSCREEN_NONE ||