Perl
Irssi 的 OSD 通知
每次收到 /query 消息或在頻道中突出顯示時,我都希望收到通知。此通知應採用氣泡 OSD 的形式(螢幕顯示)。
如果 Linux 無法使用 OSD,我將滿足於將包含
irssi
實例的終端視窗置於視窗堆棧的頂部,並在狀態欄中閃爍視窗的名稱。
這很容易使用fnotify 腳本進行設置。將其設置為自動載入,然後對其進行自定義以列印到您選擇的文件:
sub filewrite { my ($text) = @_; # FIXME: there is probably a better way to get the irssi-dir... open(FILE,">>$ENV{HOME}/path/to/your/fnotified"); print FILE $text . "\n"; close (FILE); }
然後,用於
inotifywait
監視該目錄或文件,並在向其中寫入新行時觸發一條消息:#!/usr/bin/env bash # script to push IRC highlight notifications dir="$HOME/path/to/your/" while inotifywait -qqre attrib "$dir" >/dev/null 2>&1; do echo "IRC:" "You have been pinged..." | notify-send IRC "You have been pinged…" \ -i /usr/share/icons/gnome/48x48/status/dialog-warning.png done
我
irssi
在無頭伺服器上執行,所以我將監視的目錄同步到我使用Pulse(以前稱為 Syncthing)的所有其他機器,然後inotify
在這些本地機器上執行腳本,這樣,無論我在哪裡登錄,我都會得到通知我是否被 ping…如果您使用或希望在登錄時啟動它,您可以從服務文件執行
inotify
腳本。systemd
如果您不想使用
notify-send
,dzen是不顯眼的通知應用程序的絕佳選擇。