From 8c68ec52419f3f965164cafcf589b87e8961348d Mon Sep 17 00:00:00 2001 From: Hiltjo Posthuma Date: Sat, 30 Mar 2024 12:30:49 +0100 Subject: Revert "Fix cursor move with wide glyphs" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 7473a8d1a57e5f9aba41b953f4e498c35e1c9dc5. This patch needs some more work. It caused regressions with programs that use GNU readline, etc. Original test-case example from Tim Culverhouse : printf " 😀" && sleep 2 && printf "\e[D" && sleep 2 && printf "\e[D" && sleep 2 After the patch it caused regressions, example test-case: printf "A歗\bB\n" --- st.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/st.c b/st.c index 683493d..b9f66e7 100644 --- a/st.c +++ b/st.c @@ -86,8 +86,8 @@ enum escape_state { typedef struct { Glyph attr; /* current char attributes */ - int x; /* terminal column */ - int y; /* terminal row */ + int x; + int y; char state; } TCursor; @@ -2175,16 +2175,12 @@ tstrsequence(uchar c) void tcontrolcode(uchar ascii) { - size_t i; - switch (ascii) { case '\t': /* HT */ tputtab(1); return; case '\b': /* BS */ - for (i = 1; term.c.x && term.line[term.c.y][term.c.x - i].u == 0; ++i) - ; - tmoveto(term.c.x - i, term.c.y); + tmoveto(term.c.x-1, term.c.y); return; case '\r': /* CR */ tmoveto(0, term.c.y); -- cgit v1.2.3 From 497a75638291454875ba1ec8d484c7f3d6f41d66 Mon Sep 17 00:00:00 2001 From: DOGMAN Date: Wed, 3 Apr 2024 19:48:11 +0200 Subject: 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; -- cgit v1.2.3 From d63b9eb90245926b531bd54b1d591adb96613e70 Mon Sep 17 00:00:00 2001 From: Hiltjo Posthuma Date: Fri, 5 Apr 2024 12:18:41 +0200 Subject: bump version to 0.9.2 --- config.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.mk b/config.mk index 7f35f71..fdc29a7 100644 --- a/config.mk +++ b/config.mk @@ -1,5 +1,5 @@ # st version -VERSION = 0.9.1 +VERSION = 0.9.2 # Customize below to fit your system -- cgit v1.2.3