From 014f0f7a918db62ad9fa75b4e2f8e32a208dc55c Mon Sep 17 00:00:00 2001 From: James Booth Date: Sat, 18 Oct 2014 00:40:44 +0100 Subject: [PATCH] Don't show join messages on subsequent /join commands --- src/command/commands.c | 2 +- src/ui/core.c | 10 ++++++++++ src/ui/ui.h | 1 + 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/command/commands.c b/src/command/commands.c index 60e07835..ecd8a7de 100644 --- a/src/command/commands.c +++ b/src/command/commands.c @@ -1728,7 +1728,7 @@ cmd_join(gchar **args, struct cmd_help_t help) presence_join_room(room, nick, passwd); muc_join(room, nick, passwd, FALSE); } else if (muc_roster_complete(room)) { - ui_room_join(room, TRUE); + ui_switch_to_room(room); } jid_destroy(room_arg); diff --git a/src/ui/core.c b/src/ui/core.c index 0ab87f13..67a8f1a1 100644 --- a/src/ui/core.c +++ b/src/ui/core.c @@ -1328,6 +1328,15 @@ _ui_room_join(const char * const room, gboolean focus) } } +static void +_ui_switch_to_room(const char * const room) +{ + ProfWin *window = wins_get_by_recipient(room); + int num = wins_get_num(window); + num = wins_get_num(window); + ui_switch_win(num); +} + static void _ui_room_role_change(const char * const room, const char * const role) { @@ -3059,5 +3068,6 @@ ui_init_module(void) ui_room_hide_occupants = _ui_room_hide_occupants; ui_room_role_change = _ui_room_role_change; ui_room_affiliation_change = _ui_room_affiliation_change; + ui_switch_to_room = _ui_switch_to_room; } diff --git a/src/ui/ui.h b/src/ui/ui.h index 9c1888f6..add0a3d2 100644 --- a/src/ui/ui.h +++ b/src/ui/ui.h @@ -130,6 +130,7 @@ void (*ui_recipient_gone)(const char * const barejid); void (*ui_outgoing_msg)(const char * const from, const char * const to, const char * const message); void (*ui_room_join)(const char * const room, gboolean focus); +void (*ui_switch_to_room)(const char * const room); void (*ui_room_role_change)(const char * const room, const char * const role); void (*ui_room_affiliation_change)(const char * const room, const char * const affiliation); void (*ui_room_roster)(const char * const room, GList *roster, const char * const presence);