Şu anda ev sunucumda bir tmux oturumunda mcber'i (ncurses kullanan) Jabber istemcim olarak çalıştırıyorum. Yerel olarak iTerm2'yi karakter kaçış dizileri aracılığıyla hırıltı bildirimlerinin tetiklenmesini destekleyen bir terminal emülatörü olarak çalıştırıyorum.
Not: echo
Bu sorudaki tüm gibi printf %b
veya echo -e
bash ve GNU'da çalışır echo
.
örneğin echo "\e]9;foobar\007"
iTerm2'nin "foobar" metniyle bir Growl mesajı göndermesini sağlar.
Bununla birlikte, bir tmux seansında, kaçış dizileri yenilir. Bu nedenle, tescilli karakter kaçış dizisinin \Ptmux
kullanılması şu şekilde kullanılabilir:
echo "\ePtmux;\e\e]9;foobar\007\e\\"
Bu, bir tmux oturumu içindeki bir hırıltı mesajını tetikler.
Ancak, yeni bir mesaj alındığında tetiklenen mcabber olay betiğimde bunu kullandığımda, yankı yanlış terminale gönderiliyormuş gibi hiçbir bildirim tetiklenmez.
Bu betiğin bir ncurses uygulaması tetikleyen mcabber ile yapmak zorundayım, bu yüzden normal bash betiğimin çıktısı kaybolur ve iTerm 2 asla görmez.
Ayrıca keşfettiğim bazı fikirlere cevap vermeden önce başarılı olmadan akıllı telefon aramayı denedim
tput smcup
echo "\ePtmux;\e\e]9;$FROM: $MSG\007\e\\"
tput rmcup
Sorun "gerçek terminal penceresine" geri dönmüyor, ancak daha ncurses penceresinde çıktıyı yönlendiriyor gibi bu işe yaramazsa varsayalım.
Bu konuda bir fikrin var mı?