$ git clone http://tcclient.ion.nu/tc_client.git
commit 2cdc21727d072cea50c843960e4500fafb0d2a3b
Author: Alicia <...>
Date:   Sun Sep 18 14:27:35 2016 +0200

    tc_client-gtk: print the topic and /whois responses to the GUI.

diff --git a/ChangeLog b/ChangeLog
index 1fb8655..fd71dcc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -28,6 +28,7 @@ tc_client-gtk: if the server disconnects, print the notification and stop any ou
 tc_client-gtk: optimized incoming audio/video by checking for "Video:" and "Audio:" first when handling lines from the tc_client core.
 tc_client-gtk: added a placeholder animation for cameras, shown for audio-only streams and streams that haven't sent any video data yet.
 tc_client-gtk: added GTK+2 compatibility code for the incompatibilities that have been introduced over time.
+tc_client-gtk: print the topic and /whois responses to the GUI.
 tc_client-gtk and camviewer: fixed compatibility with newer libavutil.
 tc_client-gtk and camviewer: added compatibility fallbacks for av_image_get_buffer_size() and av_packet_unref()
 tc_client-gtk and camviewer: specify a scaling algorithm for libswscale (mandatory for older versions of libswscale)
diff --git a/utilities/gtk/camviewer.c b/utilities/gtk/camviewer.c
index bd806ae..18f8e56 100644
--- a/utilities/gtk/camviewer.c
+++ b/utilities/gtk/camviewer.c
@@ -556,6 +556,12 @@ gboolean handledata(GIOChannel* iochannel, GIOCondition condition, gpointer data
     camera_remove(&buf[10]);
     return 1;
   }
+  if(!strncmp(buf, "Room topic: ", 12) ||
+     (space && (!strcmp(space, " is not logged in") || !strncmp(space, " is logged in as ", 17))))
+  {
+    printchat(buf, 0);
+    return 1;
+  }
   if(!strcmp(buf, "Server disconnected"))
   {
     printchat(buf, 0);