summaryrefslogtreecommitdiffstats
path: root/src/screen.c
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2017-01-25 22:27:17 -0500
committerJesse Luehrs <doy@tozt.net>2017-01-25 22:27:17 -0500
commitda065599801b35070a83217ab79d7c22a2b5024b (patch)
treed6abf65cb810fbf4f29414d9bb82ec3273c929c0 /src/screen.c
parent32f97d8385d591ec4026f3fb5a1ab8e34e12a06d (diff)
downloadlibvt100-da065599801b35070a83217ab79d7c22a2b5024b.tar.gz
libvt100-da065599801b35070a83217ab79d7c22a2b5024b.zip
allow specifying whether or not emoji are wide
vim says yes, weechat says no ¯\_(ツ)_/¯
Diffstat (limited to 'src/screen.c')
-rw-r--r--src/screen.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/screen.c b/src/screen.c
index b909cfb..dd1eccc 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -107,6 +107,11 @@ void vt100_screen_set_scrollback_length(VT100Screen *vt, int rows)
vt->custom_scrollback_length = 1;
}
+void vt100_screen_set_wide_emoji(VT100Screen *vt, int wide_emoji)
+{
+ vt->wide_emoji = wide_emoji;
+}
+
int vt100_screen_process_string(VT100Screen *vt, char *buf, size_t len)
{
struct vt100_parser_state *state = vt->parser_state;
@@ -204,7 +209,7 @@ void vt100_screen_show_string_utf8(VT100Screen *vt, char *buf, size_t len)
int width;
uc = g_utf8_get_char(c);
- width = vt100_char_width(uc);
+ width = vt100_char_width(uc, vt->wide_emoji);
if (width == 0) {
if (vt->grid->cur.col > 0) {