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.
This commit is contained in:
Baltazár Radics 2022-07-25 12:32:50 +02:00 committed by Simon Ser
parent e98b97a45b
commit a5a44ba95b

View file

@ -458,7 +458,9 @@ static void ipc_json_describe_workspace(struct sway_workspace *workspace,
static void get_deco_rect(struct sway_container *c, struct wlr_box *deco_rect) { static void get_deco_rect(struct sway_container *c, struct wlr_box *deco_rect) {
enum sway_container_layout parent_layout = container_parent_layout(c); enum sway_container_layout parent_layout = container_parent_layout(c);
bool tab_or_stack = parent_layout == L_TABBED || parent_layout == L_STACKED; list_t *siblings = container_get_siblings(c);
bool tab_or_stack = (parent_layout == L_TABBED || parent_layout == L_STACKED)
&& ((siblings && siblings->length > 1) || !config->hide_lone_tab);
if (((!tab_or_stack || container_is_floating(c)) && if (((!tab_or_stack || container_is_floating(c)) &&
c->current.border != B_NORMAL) || c->current.border != B_NORMAL) ||
c->pending.fullscreen_mode != FULLSCREEN_NONE || c->pending.fullscreen_mode != FULLSCREEN_NONE ||