aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Marriott <nicm@openbsd.org>2012-09-24 12:53:55 +0000
committerThomas Adam <thomas@xteddy.org>2012-09-24 17:53:10 +0100
commit69683ba7b453c8460c6cd6fbff1e4ef210d34ed1 (patch)
treef1a972548156fd34e1175c8a144858170fbb534c
parentdc3df931d74fb98146d3bc29ea3de22de4c04d40 (diff)
downloadrtmux-69683ba7b453c8460c6cd6fbff1e4ef210d34ed1.tar.gz
rtmux-69683ba7b453c8460c6cd6fbff1e4ef210d34ed1.tar.bz2
rtmux-69683ba7b453c8460c6cd6fbff1e4ef210d34ed1.zip
Use ACS characters for choose-tree arrows based on diff from Romain
Francoise.
-rw-r--r--cmd-choose-tree.c6
-rw-r--r--screen-write.c8
2 files changed, 10 insertions, 4 deletions
diff --git a/cmd-choose-tree.c b/cmd-choose-tree.c
index dd6dd3b3..e8da7a42 100644
--- a/cmd-choose-tree.c
+++ b/cmd-choose-tree.c
@@ -149,8 +149,10 @@ cmd_choose_tree_exec(struct cmd *self, struct cmd_ctx *ctx)
* without any padding.
*/
if (wflag && sflag) {
- xasprintf(&final_win_template_middle, " |-> %s", win_template);
- xasprintf(&final_win_template_last, " \\-> %s", win_template);
+ xasprintf(&final_win_template_middle,
+ " \001tq\001> %s", win_template);
+ xasprintf(&final_win_template_last,
+ " \001mq\001> %s", win_template);
} else if (wflag) {
final_win_template_middle = xstrdup(win_template);
final_win_template_last = xstrdup(win_template);
diff --git a/screen-write.c b/screen-write.c
index 2b373d77..66a62b3a 100644
--- a/screen-write.c
+++ b/screen-write.c
@@ -210,8 +210,12 @@ screen_write_vnputs(struct screen_write_ctx *ctx, ssize_t maxlen,
if (maxlen > 0 && size + 1 > (size_t) maxlen)
break;
- size++;
- screen_write_putc(ctx, gc, *ptr);
+ if (*ptr == '\001')
+ gc->attr ^= GRID_ATTR_CHARSET;
+ else {
+ size++;
+ screen_write_putc(ctx, gc, *ptr);
+ }
ptr++;
}
}