From 6521e971cdb772c53256d84a54c8d7b2d1ffa632 Mon Sep 17 00:00:00 2001 From: "B. Watson" Date: Sun, 1 Mar 2026 02:00:23 -0500 Subject: Scrollback! --- src/screen.h | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'src/screen.h') diff --git a/src/screen.h b/src/screen.h index fe8c928..bb70999 100644 --- a/src/screen.h +++ b/src/screen.h @@ -33,9 +33,9 @@ extern char scr_status[MAX_SCREENS]; void scr_init(void); /* creates a screen, if possible. we only get 7; attempts to create - more that that will return -1. on success, returns the screen - number (0-6). the name gets copied to the 1st line of the screen's - status box. + more that that will return 0 (aka the server screen). on success, + returns the screen number (2-6). the name gets copied to the 1st + line of the screen's status box. if display is true, the new screen displays. otherwise it's created "in the background". */ @@ -54,6 +54,14 @@ void scr_set_topic(char s, const char *topic); s's active flag. calls scr_show_status(). */ void scr_display(char s); +/* display the backscroll (top 25 lines) of the current screen. + note that it's a bad idea to write to the screen while it's + scrolled back! */ +void scr_scrollback(void); + +/* end scrollback mode (display the bottom 23 lines + status) */ +void scr_end_scrollback(void); + /* XXX: does this need to be public? */ void scr_show_status(char s); @@ -71,6 +79,8 @@ void scr_activate_name(const char *name); /* print one character to a screen. handles scrolling. will not print an EOL at column 0 (just ignores it). */ void scr_putc(char s, char c); +void scr_putc_active(char c); +void scr_eol_active(void); /* print text to a screen. handles scrolling. this doesn't have to be the screen being displayed, of course; -- cgit v1.2.3