Introduction
Introduction Statistics Contact Development Disclaimer Help
Fix wide glyphs breaking "nowrap" mode - st - simple terminal
git clone git://git.suckless.org/st
Log
Files
Refs
README
LICENSE
---
commit 8abe4bcb41aa7fda0ae00823f6a20271124150db
parent 2fc7e532b23e2f820c6b73d352ec7c41fefa45b5
Author: Peter Hofmann <[email protected]>
Date: Sat, 7 Oct 2023 07:40:39 +0200
Fix wide glyphs breaking "nowrap" mode
Consider the following example:
printf '\e[?7l';\
for i in $(seq $(($(tput cols) - 1))); do printf a; done;\
printf '🙈\n';\
printf '\e[?7h'
Even though MODE_WRAP has been disabled, the emoji appeared on the next
line. This patch keeps wide glyphs on the same line and moves them to
the right-most possible position.
Diffstat:
M st.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
---
diff --git a/st.c b/st.c
@@ -2477,7 +2477,10 @@ check_control_code:
}
if (term.c.x+width > term.col) {
- tnewline(1);
+ if (IS_SET(MODE_WRAP))
+ tnewline(1);
+ else
+ tmoveto(term.col - width, term.c.y);
gp = &term.line[term.c.y][term.c.x];
}
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.