aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Orzechowski <alex@ozal.ski>2024-09-06 19:09:41 -0400
committerSimon Ser <contact@emersion.fr>2024-09-20 19:46:27 +0200
commit31ce4ea53d5a61f8b85f683fdf71caad007debff (patch)
treee707f21f6ab32c5851278e0e2da0ee0318e67a51
parent7246bf909c12e7ec973a0e18ecb08254929c6a2c (diff)
container: Skip % char if it doesn't match a view property
The else condition was missed here and we would never skip the % char if it didn't end up matching with any property. Since we fail to skip we would re-evaluate the % in an infinite loop never achieving any forward-progress. Fixes: https://github.com/swaywm/sway/issues/8333 (cherry picked from commit fc6b8d6af2a8b5c68bbf49753b0e560ad2cff208)
-rw-r--r--sway/tree/container.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sway/tree/container.c b/sway/tree/container.c
index 188d3223..f482b06b 100644
--- a/sway/tree/container.c
+++ b/sway/tree/container.c
@@ -714,6 +714,10 @@ size_t parse_title_format(struct sway_container *container, char *buffer) {
} else if (strncmp(next, "%shell", 6) == 0) {
len += append_prop(buffer, view_get_shell(container->view));
format += 6;
+ } else {
+ lenient_strcat(buffer, "%");
+ ++format;
+ ++len;
}
} else {
lenient_strcat(buffer, "%");