aboutsummaryrefslogtreecommitdiffstats
path: root/sway/tree/view.c
diff options
context:
space:
mode:
authorLibravatar Puck Meerburg <puck@puckipedia.com>2022-08-07 10:12:05 +0000
committerLibravatar Simon Ser <contact@emersion.fr>2022-10-30 10:57:19 +0100
commit0fdeb4ca843c847abc3c089dd9ab80f1e285497f (patch)
treefe821265d298eec9b14a2f3d3083bc65ea1b8f94 /sway/tree/view.c
parentSupport libinput's 1.21 new dwtp option (diff)
downloadsway-0fdeb4ca843c847abc3c089dd9ab80f1e285497f.tar.gz
sway-0fdeb4ca843c847abc3c089dd9ab80f1e285497f.tar.zst
sway-0fdeb4ca843c847abc3c089dd9ab80f1e285497f.zip
tree: support formatting null titles
Any windows that have never had a title set visually behave closer to that of an empty title, but are unformattable, as the code bails out early on a NULL title.
Diffstat (limited to 'sway/tree/view.c')
-rw-r--r--sway/tree/view.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/sway/tree/view.c b/sway/tree/view.c
index 7d9e038d..0004ed14 100644
--- a/sway/tree/view.c
+++ b/sway/tree/view.c
@@ -1282,21 +1282,23 @@ void view_update_title(struct sway_view *view, bool force) {
1282 1282
1283 free(view->container->title); 1283 free(view->container->title);
1284 free(view->container->formatted_title); 1284 free(view->container->formatted_title);
1285 if (title) { 1285
1286 size_t len = parse_title_format(view, NULL); 1286 size_t len = parse_title_format(view, NULL);
1287
1288 if (len) {
1287 char *buffer = calloc(len + 1, sizeof(char)); 1289 char *buffer = calloc(len + 1, sizeof(char));
1288 if (!sway_assert(buffer, "Unable to allocate title string")) { 1290 if (!sway_assert(buffer, "Unable to allocate title string")) {
1289 return; 1291 return;
1290 } 1292 }
1291 parse_title_format(view, buffer);
1292 1293
1293 view->container->title = strdup(title); 1294 parse_title_format(view, buffer);
1294 view->container->formatted_title = buffer; 1295 view->container->formatted_title = buffer;
1295 } else { 1296 } else {
1296 view->container->title = NULL;
1297 view->container->formatted_title = NULL; 1297 view->container->formatted_title = NULL;
1298 } 1298 }
1299 1299
1300 view->container->title = title ? strdup(title) : NULL;
1301
1300 // Update title after the global font height is updated 1302 // Update title after the global font height is updated
1301 container_update_title_textures(view->container); 1303 container_update_title_textures(view->container);
1302 1304