Notificação OSD para Irssi

0

Eu quero receber uma notificação sempre que receber uma mensagem / query ou for destacado em um canal. esta notificação deve ser na forma de bolha OSD (na exibição da tela).

Se o OSD não for possível para o Linux, vou me contentar em trazer a janela do terminal contendo a instância irssi para o topo da pilha da janela e o nome da janela piscando na barra de status.

    
por r004 17.10.2014 / 06:35

1 resposta

1

Isso é fácil de configurar usando o script de fnotificação . Defina-o como autoload e personalize-o para imprimir em um arquivo de sua escolha:

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);
}

Em seguida, use inotifywait para assistir a esse diretório ou arquivo e acionar uma mensagem quando novas linhas forem escrito para ele:

#!/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

Eu corro irssi em um servidor sem cabeçalho, então eu sincronizo o diretório vigiado com todas as outras máquinas que eu uso com Pulse, (anteriormente Syncthing ) e, em seguida, execute o script inotify nessas máquinas locais para que, onde quer que eu esteja conectado, serei notificado se tiver pingado ...

Você pode executar o script inotify de um arquivo de serviço se usar systemd ou como deseja iniciá-lo no login.

Se você não quiser usar notify-send , dzen é uma excelente opção para um aplicativo de notificação discreto.     

por 17.10.2014 / 08:29