From 497a75638291454875ba1ec8d484c7f3d6f41d66 Mon Sep 17 00:00:00 2001
From: DOGMAN <dogman@aaathats3as.com>
Date: Wed, 3 Apr 2024 19:48:11 +0200
Subject: [PATCH] Reset title when an empty title string is given

With this patch, st will reset its window title when an empty string is
given as the terminal title. For example:
	printf "\033]0;\007"

Some applications, like termdown, expect this functionality. xterm
implements it, but it seems that most other terminal emulators don't.
In any case, I don't see why there should ever be a case where the st
window doesn't have a title property.
---
 x.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/x.c b/x.c
index b36fb8c..bd23686 100644
--- a/x.c
+++ b/x.c
@@ -1617,6 +1617,9 @@ xseticontitle(char *p)
 	XTextProperty prop;
 	DEFAULT(p, opt_title);
 
+	if (p[0] == '\0')
+		p = opt_title;
+
 	if (Xutf8TextListToTextProperty(xw.dpy, &p, 1, XUTF8StringStyle,
 	                                &prop) != Success)
 		return;
@@ -1631,6 +1634,9 @@ xsettitle(char *p)
 	XTextProperty prop;
 	DEFAULT(p, opt_title);
 
+	if (p[0] == '\0')
+		p = opt_title;
+
 	if (Xutf8TextListToTextProperty(xw.dpy, &p, 1, XUTF8StringStyle,
 	                                &prop) != Success)
 		return;