=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/screen.c,v retrieving revision 1.72 retrieving revision 1.73 diff -c -r1.72 -r1.73 *** src/usr.bin/tmux/screen.c 2021/06/10 07:36:47 1.72 --- src/usr.bin/tmux/screen.c 2021/06/10 07:43:44 1.73 *************** *** 1,4 **** ! /* $OpenBSD: screen.c,v 1.72 2021/06/10 07:36:47 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: screen.c,v 1.73 2021/06/10 07:43:44 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott *************** *** 156,163 **** void screen_set_cursor_style(struct screen *s, u_int style) { ! switch (style) ! { case 0: s->cstyle = SCREEN_CURSOR_DEFAULT; break; --- 156,163 ---- void screen_set_cursor_style(struct screen *s, u_int style) { ! log_debug("%s: new %u, was %u", __func__, style, s->cstyle); ! switch (style) { case 0: s->cstyle = SCREEN_CURSOR_DEFAULT; break; *************** *** 652,655 **** --- 652,703 ---- s->cx = screen_size_x(s) - 1; if (s->cy > screen_size_y(s) - 1) s->cy = screen_size_y(s) - 1; + } + + /* Get mode as a string. */ + const char * + screen_mode_to_string(int mode) + { + static char tmp[1024]; + + if (mode == 0) + return "NONE"; + if (mode == ALL_MODES) + return "ALL"; + + *tmp = '\0'; + if (mode & MODE_CURSOR) + strlcat(tmp, "CURSOR,", sizeof tmp); + if (mode & MODE_INSERT) + strlcat(tmp, "INSERT,", sizeof tmp); + if (mode & MODE_KCURSOR) + strlcat(tmp, "KCURSOR,", sizeof tmp); + if (mode & MODE_KKEYPAD) + strlcat(tmp, "KKEYPAD,", sizeof tmp); + if (mode & MODE_WRAP) + strlcat(tmp, "WRAP,", sizeof tmp); + if (mode & MODE_MOUSE_STANDARD) + strlcat(tmp, "STANDARD,", sizeof tmp); + if (mode & MODE_MOUSE_BUTTON) + strlcat(tmp, "BUTTON,", sizeof tmp); + if (mode & MODE_BLINKING) + strlcat(tmp, "BLINKING,", sizeof tmp); + if (mode & MODE_MOUSE_UTF8) + strlcat(tmp, "UTF8,", sizeof tmp); + if (mode & MODE_MOUSE_SGR) + strlcat(tmp, "SGR,", sizeof tmp); + if (mode & MODE_BRACKETPASTE) + strlcat(tmp, "BRACKETPASTE,", sizeof tmp); + if (mode & MODE_FOCUSON) + strlcat(tmp, "FOCUSON,", sizeof tmp); + if (mode & MODE_MOUSE_ALL) + strlcat(tmp, "ALL,", sizeof tmp); + if (mode & MODE_ORIGIN) + strlcat(tmp, "ORIGIN,", sizeof tmp); + if (mode & MODE_CRLF) + strlcat(tmp, "CRLF,", sizeof tmp); + if (mode & MODE_KEXTENDED) + strlcat(tmp, "KEXTENDED,", sizeof tmp); + tmp[strlen (tmp) - 1] = '\0'; + return (tmp); }