Added SILC Thread Queue API
[crypto.git] / apps / irssi / src / perl / ui / Window.xs
index d6183789158f9a25c1297f2a9ad8832d44947a17..ab52c910913a90f643db63d47b7ef4486922800b 100644 (file)
@@ -1,5 +1,7 @@
 #include "module.h"
 
+#include "window-activity.h"
+
 MODULE = Irssi::UI::Window  PACKAGE = Irssi
 PROTOTYPES: ENABLE
 
@@ -158,7 +160,9 @@ CODE:
        old = active_win;
        active_win = window;
        perl_command(cmd, window->active_server, window->active);
-        active_win = old;
+       if (active_win == window &&
+           g_slist_find(windows, old) != NULL)
+               active_win = old;
 
 void
 window_item_add(window, item, automatic)
@@ -215,9 +219,19 @@ window_set_level(window, level)
        Irssi::UI::Window window
        int level
 
+void
+window_activity(window, data_level, hilight_color=NULL)
+       Irssi::UI::Window window
+       int data_level
+       char *hilight_color
+
 char *
 window_get_active_name(window)
        Irssi::UI::Window window
+CODE:
+       RETVAL = (char *) window_get_active_name(window);
+OUTPUT:
+       RETVAL
 
 Irssi::Windowitem
 window_item_find(window, server, name)
@@ -239,7 +253,7 @@ print(item, str, level=MSGLEVEL_CLIENTNOTICE)
        int level
        char *str
 CODE:
-       printtext_string(item->server, item->name, level, str);
+       printtext_string(item->server, item->visible_name, level, str);
 
 Irssi::UI::Window
 window_create(item, automatic)
@@ -268,3 +282,10 @@ window_item_set_active(item)
        Irssi::Windowitem item
 CODE:
        window_item_set_active(window_item_window(item), item);
+
+void
+window_item_activity(item, data_level, hilight_color=NULL)
+       Irssi::Windowitem item
+       int data_level
+       char *hilight_color
+