aboutsummaryrefslogtreecommitdiff
path: root/src/screen.h
diff options
context:
space:
mode:
authorB. Watson <urchlay@slackware.uk>2026-03-01 02:00:23 -0500
committerB. Watson <urchlay@slackware.uk>2026-03-01 02:00:23 -0500
commit6521e971cdb772c53256d84a54c8d7b2d1ffa632 (patch)
tree28af564e7a12dd629d791e815834b3782177ec0c /src/screen.h
parentd3a19b319e8ecdf111de44ffa9847474301edcbb (diff)
downloadfujinet-chat-6521e971cdb772c53256d84a54c8d7b2d1ffa632.tar.gz
Scrollback!
Diffstat (limited to 'src/screen.h')
-rw-r--r--src/screen.h16
1 files changed, 13 insertions, 3 deletions
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;