sway

i3-compatible Wayland compositor
git clone https://git.awy.one/sway
Log | Files | Refs | README | LICENSE

commit 5f8676f21478a05c349f0222755e999e2f457acc
parent 8dacd0639cb68675f7fd6fb762a0f71dc6148cb7
Author: Drew DeVault <sir@cmpwn.com>
Date:   Mon, 30 Jul 2018 08:05:14 -0400

Merge pull request #2383 from RedSoxFan/fix-title-scale

Fix title textures on scale change
Diffstat:
Minclude/sway/tree/container.h | 2++
Msway/desktop/output.c | 6+-----
Msway/tree/container.c | 6+++++-
3 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/include/sway/tree/container.h b/include/sway/tree/container.h @@ -270,6 +270,8 @@ int container_count_descendants_of_type(struct sway_container *con, void container_create_notify(struct sway_container *container); +void container_update_textures_recursive(struct sway_container *con); + void container_damage_whole(struct sway_container *container); bool container_reap_empty(struct sway_container *con); diff --git a/sway/desktop/output.c b/sway/desktop/output.c @@ -506,14 +506,10 @@ static void handle_transform(struct wl_listener *listener, void *data) { transaction_commit_dirty(); } -static void handle_scale_iterator(struct sway_container *view, void *data) { - view_update_marks_textures(view->sway_view); -} - static void handle_scale(struct wl_listener *listener, void *data) { struct sway_output *output = wl_container_of(listener, output, scale); arrange_layers(output); - container_descendants(output->swayc, C_VIEW, handle_scale_iterator, NULL); + container_update_textures_recursive(output->swayc); arrange_windows(output->swayc); transaction_commit_dirty(); } diff --git a/sway/tree/container.c b/sway/tree/container.c @@ -67,7 +67,7 @@ void container_create_notify(struct sway_container *container) { } } -static void container_update_textures_recursive(struct sway_container *con) { +void container_update_textures_recursive(struct sway_container *con) { if (con->type == C_CONTAINER || con->type == C_VIEW) { container_update_title_textures(con); } @@ -79,6 +79,10 @@ static void container_update_textures_recursive(struct sway_container *con) { struct sway_container *child = con->children->items[i]; container_update_textures_recursive(child); } + + if (con->type == C_WORKSPACE) { + container_update_textures_recursive(con->sway_workspace->floating); + } } }