summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSven Wegener <sven.wegener@stealer.net>2018-01-01 01:38:59 +0100
committerSven Wegener <sven.wegener@stealer.net>2023-03-06 13:36:57 +0100
commit6cf385cc5435a7386e5bb8beceff31cdaff823fe (patch)
treef324694b8de347a5ab2d7acf9f6d8bf4cc4fd81c
parent6df4a48ff6b31bedc2d0216b84dbe66cf9ca5e23 (diff)
Allow specifying rendition for vertical split barvsplit-rendition
Signed-off-by: Sven Wegener <sven.wegener@stealer.net>
-rw-r--r--src/ansi.c1
-rw-r--r--src/ansi.h1
-rw-r--r--src/display.c2
-rw-r--r--src/process.c5
4 files changed, 8 insertions, 1 deletions
diff --git a/src/ansi.c b/src/ansi.c
index 9ee4ffa..49f5722 100644
--- a/src/ansi.c
+++ b/src/ansi.c
@@ -66,6 +66,7 @@ struct mline mline_null;
struct mchar mchar_null;
struct mchar mchar_blank = { ' ', 0, 0, 0, 0, 0 };
struct mchar mchar_so = { ' ', A_RV, 0, 0, 0, 0};
+struct mchar mchar_vsplit = { ' ', A_RV, 0, 0, 0, 0};
uint64_t renditions[NUM_RENDS] = { 65529 /* =ub */ , 65531 /* =b */ , 65533 /* =u */ };
diff --git a/src/ansi.h b/src/ansi.h
index 018959a..2a7e68c 100644
--- a/src/ansi.h
+++ b/src/ansi.h
@@ -183,6 +183,7 @@ extern struct mline mline_null;
extern struct mline mline_old;
extern struct mchar mchar_so;
+extern struct mchar mchar_vsplit;
extern struct mchar mchar_blank;
extern struct mchar mchar_null;
diff --git a/src/display.c b/src/display.c
index 0ec6c33..d5b5883 100644
--- a/src/display.c
+++ b/src/display.c
@@ -1790,7 +1790,7 @@ void RefreshLine(int y, int from, int to, int isblank)
}
if (from == cv->c_xe + 1 && (y >= cv->c_ys - captiontop) && (y <= cv->c_ye + !captiontop)) {
GotoPos(from, y);
- SetRendition(&mchar_so);
+ SetRendition(&mchar_vsplit);
PUTCHARLP(' ');
from++;
break;
diff --git a/src/process.c b/src/process.c
index c3dcdfc..dd7c88f 100644
--- a/src/process.c
+++ b/src/process.c
@@ -4093,6 +4093,11 @@ static void DoCommandRendition(struct action *act)
i = REND_MONITOR;
} else if (strcmp(args[0], "silence") == 0) {
i = REND_SILENCE;
+ } else if (strcmp(args[0], "vsplit") == 0) {
+ i = ParseAttrColor(args[1], 1);
+ if (i != 0)
+ ApplyAttrColor(i, &mchar_vsplit);
+ return;
} else if (strcmp(args[0], "so") != 0) {
OutputMsg(0, "Invalid option '%s' for rendition", args[0]);
return;