From fbc4daa87b2a6aaf355e2d3270d1ff726ab0ddae Mon Sep 17 00:00:00 2001 From: "B. Watson" Date: Sun, 8 Mar 2026 06:22:39 -0400 Subject: No dup queries, add more start key combos, add /names command. --- src/cmd.c | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'src/cmd.c') diff --git a/src/cmd.c b/src/cmd.c index f4e94b6..bad5a28 100644 --- a/src/cmd.c +++ b/src/cmd.c @@ -19,6 +19,7 @@ static void do_j1(void); static void do_list(void); static void do_me(void); static void do_msg(void); +static void do_names(void); static void do_part(void); static void do_ping(void); static void do_query(void); @@ -34,7 +35,7 @@ typedef struct { } cmd_t; /* future commands: - OP DEOP VOICE DEVOICE KICK BAN KB IGNORE UNIGNORE MODE + AWAY OP DEOP VOICE DEVOICE KICK BAN KB IGNORE UNIGNORE MODE */ cmd_t command_defs[] = { { "COLOR", do_color, 1 }, @@ -47,6 +48,7 @@ cmd_t command_defs[] = { { "M", do_msg, 1 }, { "ME", do_me, 1 }, { "MSG", do_msg, 1 }, + { "NAMES", do_names, 0 }, { "PART", do_part, 0 }, { "PING", do_ping, 0 }, { "Q", do_query, 1 }, @@ -191,6 +193,22 @@ static void do_topic(void) { txbuf_send(); } +static void do_names(void) { + if(arg1[0] == '#') { + target = arg1; + arg2 = nextarg(arg1); + } else { + arg2 = arg1; + } + + if(!target) { + err_target_req(); + return; + } + txbuf_set_str2("NAMES ", target); + txbuf_send(); +} + static void do_server_info(void) { txbuf_send_str("INFO"); } @@ -272,6 +290,10 @@ static void do_color(void) { } static void do_query(void) { + /* don't create a query if we already got one! */ + if(scr_getbyname(arg1)) + return; + if(scr_create(arg1, 1) == 0xff) { err_marker(); scr_print_current("Can't create query, all screens in use\n"); -- cgit v1.2.3