mirror of
https://github.com/mintycube/st.git
synced 2024-10-22 14:05:49 +02:00
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. Ref. https://git.suckless.org/st/commit/497a75638291454875ba1ec8d484c7f3d6f41d66.html
This commit is contained in:
parent
9b463ac36d
commit
dd8675943d
@ -1,4 +1,4 @@
|
|||||||
Similar to [dwm-flexipatch](https://github.com/bakkeby/dwm-flexipatch) this st 0.9.1 (5ce9716, 2024-03-19) project has a different take on st patching. It uses preprocessor directives to decide whether or not to include a patch during build time. Essentially this means that this build, for better or worse, contains both the patched _and_ the original code. The aim being that you can select which patches to include and the build will contain that code and nothing more.
|
Similar to [dwm-flexipatch](https://github.com/bakkeby/dwm-flexipatch) this st 0.9.1 (497a756, 2024-04-03) project has a different take on st patching. It uses preprocessor directives to decide whether or not to include a patch during build time. Essentially this means that this build, for better or worse, contains both the patched _and_ the original code. The aim being that you can select which patches to include and the build will contain that code and nothing more.
|
||||||
|
|
||||||
For example to include the `alpha` patch then you would only need to flip this setting from 0 to 1 in [patches.h](https://github.com/bakkeby/st-flexipatch/blob/master/patches.def.h):
|
For example to include the `alpha` patch then you would only need to flip this setting from 0 to 1 in [patches.h](https://github.com/bakkeby/st-flexipatch/blob/master/patches.def.h):
|
||||||
```c
|
```c
|
||||||
|
8
x.c
8
x.c
@ -2860,6 +2860,9 @@ xseticontitle(char *p)
|
|||||||
XTextProperty prop;
|
XTextProperty prop;
|
||||||
DEFAULT(p, opt_title);
|
DEFAULT(p, opt_title);
|
||||||
|
|
||||||
|
if (p[0] == '\0')
|
||||||
|
p = opt_title;
|
||||||
|
|
||||||
if (Xutf8TextListToTextProperty(xw.dpy, &p, 1, XUTF8StringStyle,
|
if (Xutf8TextListToTextProperty(xw.dpy, &p, 1, XUTF8StringStyle,
|
||||||
&prop) != Success)
|
&prop) != Success)
|
||||||
return;
|
return;
|
||||||
@ -2879,7 +2882,7 @@ xsettitle(char *p, int pop)
|
|||||||
titlestack[tstki] = NULL;
|
titlestack[tstki] = NULL;
|
||||||
tstki = (tstki - 1 + TITLESTACKSIZE) % TITLESTACKSIZE;
|
tstki = (tstki - 1 + TITLESTACKSIZE) % TITLESTACKSIZE;
|
||||||
p = titlestack[tstki] ? titlestack[tstki] : opt_title;
|
p = titlestack[tstki] ? titlestack[tstki] : opt_title;
|
||||||
} else if (p) {
|
} else if (p && p[0] != '\0') {
|
||||||
titlestack[tstki] = xstrdup(p);
|
titlestack[tstki] = xstrdup(p);
|
||||||
} else {
|
} else {
|
||||||
titlestack[tstki] = NULL;
|
titlestack[tstki] = NULL;
|
||||||
@ -2919,6 +2922,9 @@ xsettitle(char *p)
|
|||||||
XTextProperty prop;
|
XTextProperty prop;
|
||||||
DEFAULT(p, opt_title);
|
DEFAULT(p, opt_title);
|
||||||
|
|
||||||
|
if (p[0] == '\0')
|
||||||
|
p = opt_title;
|
||||||
|
|
||||||
if (Xutf8TextListToTextProperty(xw.dpy, &p, 1, XUTF8StringStyle,
|
if (Xutf8TextListToTextProperty(xw.dpy, &p, 1, XUTF8StringStyle,
|
||||||
&prop) != Success)
|
&prop) != Success)
|
||||||
return;
|
return;
|
||||||
|
Loading…
Reference in New Issue
Block a user