मैं ऐसी ही स्थिति में हूं, सिवाय इसके कि मैं irssi के बजाय mcabber का उपयोग करता हूं। चूँकि आप tmux-powerline का उपयोग करते हैं, आप ऐसा कुछ करने में सक्षम हो सकते हैं।
मैंने आने वाले संदेशों को ~ / tmp / mcabber.out पर लिखने के लिए mcabber को अनुकूलित किया और फिर मैंने ~ / etc / tmux-powerline / section / mcabber में एक mcabber खंड बनाया
#!/usr/bin/env bash
segment_path=$(dirname $0)
source "$segment_path/../lib.sh"
echo $(roll_stuff "$(cat ~/tmp/mcabber.out)" 100 1)
exit 0
बेशक मैंने अपने स्टेटस में एक एंट्री बनाई-लेफ्ट:
declare -A mcabber
mcabber+=(["script"]="${segments_path}/mcabber")
mcabber+=(["foreground"]="colour1")
mcabber+=(["background"]="colour0")
mcabber+=(["separator"]="${default}")
register_segment "mcabber"
मैं उस विंडो को नाम देता हूं जिसमें 'चैट' करने के लिए mcabber है। एक संदेश को पढ़ने के रूप में चिह्नित करने के लिए मैं $ (आउटपुट-विंडोज़) के आउटपुट को देखता हूं और देखता हूं कि क्या चैट विंडो ~ / बिन / mcabber_mark_read में सक्रिय है:
#!/usr/bin/env bash
sleep 5
# check to see that among the tmux windows, the active one is called 'chat'
tmux list-windows | grep chat | grep -q '(active)$'
if [[ $? -eq 0 ]]; then
rm ~/tmp/mcabber.out
fi
मेरे .tmux.conf में मैं स्टेटस बार का उपयोग ~ ~ बिन / mcabber_mark_read के लिए करता हूँ जब भी हम इसे बदलते हैं:
set-window-option -g window-status-current-format '[#(~/bin/mcabber_mark_read)#I:#W#F]'
मैं पर्ल में प्रोग्राम नहीं करता हूं और न ही मैं irssi का उपयोग करता हूं, लेकिन कुछ मिनटों के साथ मैन पेजों को पढ़ने और googles का उपयोग करने के बाद, मेरे पास एक समाधान हो सकता है जो irssi के लिए काम करेगा; NB कि यह अप्रयुक्त है :
$ mkdir -p ~/.irssi/scripts/autorun
$ cp /usr/share/irssi/scripts/msg-event.pl ~/.irssi/scripts/autorun/msg-event.pl
और फिर मैंने इस तरह दिखने के लिए msg-evnt.pl को संपादित किया:
use Irssi;
use strict;
use vars qw($VERSION %IRSSI);
sub event_msg {
my ($server, $data, $nick, $host) = @_;
open(MYFILE, '>', '~/tmp/mcabber.out');
print MYFILE $text;
close(MYFILE)
}
#Irssi::signal_add('event privmsg', 'event_msg');
Irssi::signal_add('event pubmsg', 'event_msg');
मुझे यकीन नहीं है कि आप सभी या सिर्फ निजी संदेशों के बारे में सूचित करना चाहते हैं, इसलिए उचित रूप से चुना गया है।
notify
उप एक tmux अधिसूचना भेजें।