iptux来新消息时托盘图标会闪烁,一般情况下都能注意到。但是,当处在一个全屏了的虚拟机里面时,托盘自然就看不到了。
当收到新信息的时候,用 notify-send
命令发一个基于 X 的通知。就算在全屏的虚拟机里面,也能收到这个基于 X 的通知。ppa
--- iptux-0.5.3.orig/src/StatusIcon.cpp 2012-11-04 19:02:40.000000000 +0800
+++ iptux-0.5.3/src/StatusIcon.cpp 2012-11-04 19:04:12.000000000 +0800
@@ -98,6 +98,7 @@
/* 获取消息串 */
pthread_mutex_lock(cthrd.GetMutex());
if ( (len = cthrd.GetMsglineItems())) {
+ system("/usr/bin/notify-send -u low -c im -t 500 'Instant Message'");
gtk_status_icon_set_blinking(sicon->statusicon, TRUE);
msgstr = g_strdup_printf(_("To be read: %u messages"), len);
} else {
@@ -116,10 +117,13 @@
g_free(msgstr);
#else
pthread_mutex_lock(cthrd.GetMutex());
- if (cthrd.GetMsglineHeadItem())
+ if (cthrd.GetMsglineHeadItem()) {
+ system("/usr/bin/notify-send -u low -c im -t 500 'Instant Message'");
gtk_status_icon_set_blinking(sicon->statusicon, TRUE);
- else
+ }
+ else {
gtk_status_icon_set_blinking(sicon->statusicon, FALSE);
+ }
pthread_mutex_unlock(cthrd.GetMutex());
#endif