diff options
| author | B. Watson <urchlay@slackware.uk> | 2026-04-24 03:54:01 -0400 |
|---|---|---|
| committer | B. Watson <urchlay@slackware.uk> | 2026-04-24 03:54:01 -0400 |
| commit | 715964c0b5ab8a2bc2b8ae8b7935e9ea0088e332 (patch) | |
| tree | 8d61003fadc3d3c7761394c517c4488c2b63743d /src/irc.c | |
| parent | 2ce1d0d8a2e7f79e1bb008836a4dca48adba867e (diff) | |
| download | fujinet-chat-715964c0b5ab8a2bc2b8ae8b7935e9ea0088e332.tar.gz | |
Dynamic screens. Still a bit flaky, but actually does work to some degree.
Diffstat (limited to 'src/irc.c')
| -rw-r--r-- | src/irc.c | 32 |
1 files changed, 16 insertions, 16 deletions
@@ -361,7 +361,7 @@ static void do_forward_chan(void) { if(msg_argcount > 2 && msg_args[1][0] == '#' && msg_args[2][0] == '#') { s = scr_getbyname(msg_args[1]); if(s) - strncpy(scr_names[s], msg_args[2], 31); + strncpy(screens[s].title, msg_args[2], 31); } do_catchall(1); } @@ -423,7 +423,7 @@ static void do_numeric(void) { hide_motd = 0; if(need_rejoin) { cmd_rejoin_chans(); - if(scr_names[2][0] == '#') + if(screens[2].title[0] == '#') scr_display(2); need_rejoin = 0; } @@ -551,8 +551,8 @@ static void dispatch_msg(void) { } if(scr_active != scr_current) { - if(scr_status[scr_active] < new_scr_status) { - scr_status[scr_active] = new_scr_status; + if(screens[scr_active].status < new_scr_status) { + screens[scr_active].status = new_scr_status; scr_show_status(scr_current); } } @@ -760,11 +760,11 @@ static void scrollback() { while(!keypress()) irc_read(); c = kgetc(); - if(c == '-') { - scr_scrollback_bonus(); + while(c == '-') { + scr_scrollback(); while(!keypress()) irc_read(); - kgetc(); + c = kgetc(); } scr_end_scrollback(); } @@ -778,14 +778,14 @@ static void hunt_screen(signed char dir) { s = MAX_SCREENS - 1; if(s == MAX_SCREENS) s = 0; - } while(scr_status[s] == SCR_UNUSED); + } while(screens[s].status == SCR_UNUSED); scr_display(s); } static char *get_cur(void) { - if((scr_current > 1) && (scr_names[scr_current][0] == '#')) - return scr_names[scr_current]; + if((scr_current > 1) && (screens[scr_current].title[0] == '#')) + return screens[scr_current].title; else return 0; } @@ -841,7 +841,7 @@ char find_scr_with_status(char status) { signed char i; for(i = MAX_SCREENS - 1; i != -1; i--) { - if(scr_status[i] == status) { + if(screens[i].status == status) { return i; } } @@ -872,10 +872,10 @@ void list_screens(void) { scr_putc_active(i + '1'); bold(); scr_putc_active(':'); - if(scr_status[i] == SCR_UNUSED) + if(screens[i].status == SCR_UNUSED) scr_print_active("<unused>"); else - scr_print_active(scr_names[i]); + scr_print_active(screens[i].title); scr_eol_active(); } } @@ -909,7 +909,7 @@ void start_keystroke(char c) { if(c >= '1' && c <= '7') { s = c - '1'; if(s != scr_current) { - if(scr_status[s] != SCR_UNUSED) { + if(screens[s].status != SCR_UNUSED) { scr_prev = scr_current; scr_display(s); } @@ -947,11 +947,11 @@ void start_keystroke(char c) { case 'q': if(scr_current == SCR_PRIV && *last_pm_nick) { scr_prev = scr_current; - scr_create(last_pm_nick, 1); + scr_create(last_pm_nick); *last_pm_nick = 0; } else if(scr_current == SCR_SERVER && *last_chan) { scr_prev = scr_current; - scr_create(last_chan, 1); + scr_create(last_chan); *last_chan = 0; } return; |
