aboutsummaryrefslogtreecommitdiff
path: root/src/irc.c
diff options
context:
space:
mode:
authorB. Watson <urchlay@slackware.uk>2026-03-09 00:13:54 -0400
committerB. Watson <urchlay@slackware.uk>2026-03-09 00:13:54 -0400
commit632b484974d98742cf67274838fcc4bc2c078e6a (patch)
treee6008fda9043366238b851449ae53eda7482dd6f /src/irc.c
parent05c066e18ac9ad909379634089813350841ce70e (diff)
downloadfujinet-chat-632b484974d98742cf67274838fcc4bc2c078e6a.tar.gz
auto-away on ATRACT, auto-un-away on keystroke.
Diffstat (limited to 'src/irc.c')
-rw-r--r--src/irc.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/irc.c b/src/irc.c
index e0bf3b1..5035ace 100644
--- a/src/irc.c
+++ b/src/irc.c
@@ -19,6 +19,8 @@ char *msg_src, *msg_cmd, *msg_dest, *msg_text;
char *msg_args[MAX_MSG_ARGS];
int msg_argcount;
+char irc_away = 0;
+
static char msgbuf[MAX_MSG] = { 0 };
static char *msg; /* with source removed */
static int msgbuf_len = 0, msg_len = 0;
@@ -644,6 +646,10 @@ static void start_keystroke(void) {
static void keystroke(void) {
if(OS.ch == 0xff) return;
+ if(irc_away) {
+ txbuf_send_str("AWAY");
+ irc_away = 0;
+ }
if(GTIA_READ.consol == 6) { /* start pressed */
start_keystroke();
} else {
@@ -654,6 +660,10 @@ static void keystroke(void) {
/* only exits on error (e.g. connection closed, which might be via /QUIT). */
void irc_loop(void) {
while(1) {
+ if(!irc_away && (OS.atract & 0x80)) {
+ irc_away = 1;
+ txbuf_send_str("AWAY :ATRACT mode");
+ }
if(!irc_read()) return;
keystroke();
}