Page 1 sur 1

[Irssi] Notification de message (résolu)

Publié : mer. 15 juil. 2009, 11:25
par elfangor
Bonjour,

A peine inscrit me voila entrain d'appeler à l'aide :lol:

J'essaye d'utiliser le plus d'application possible en mode console et lorsque j'ai vu bitlbee je me suis dit que c'était exactement ce que je cherchais pour garder le contact avec les gens msn@windows :)

Cependant lorsque j'ai des contacts qui me parle je ne voie aucune notification m'indiquant que l'on m'a parler ( à noter que je ne suis pas scotcher a mon écran irc, je regarde de temps en temps donc peut être qu'un message de notification passe mais je ne le voie pas)

Sur http://scripts.irssi.org/ j'ai essayé active_notice.pl mais n'ai pas vu de différence :s

De plus un petit coup de :google: sur irssi+notification me parle uniquement de notification distante :?

A noter que je suis sur awesome 3

Merci de votre aide

Re: [Irssi(+bitlbee)] Notification de message

Publié : mer. 15 juil. 2009, 15:10
par elfangor
Pour ceux que ça interesse, j'ai trouvé par hasard une page sur le wiki:

http://awesome.naquadah.org/wiki/Irssi_tips

N'ayant pas ma archlinux (dit-on mon ou ma arch? avant je disais ma debian/ubuntu/gentoo, remarque on dit peux être ni l'un ni l'autre :D ) je testerai ce soir et vous dirais quoi ;)

Si vous avez d'autres idées n'hésitez pas ;)

Re: [Irssi(+bitlbee)] Notification de message

Publié : mer. 15 juil. 2009, 17:53
par elfangor
Hum le script n'a pas l'air fonctionnel?

Apparement il y a un problème avec les "", si quelqu'un peux l'essayer... :)

Re: [Irssi] Notification de message

Publié : jeu. 16 juil. 2009, 16:04
par elfangor
Je préfère poster des messages même si il n'y a pas de réponse entre temps, ça permet de suivre un peu mieux je trouve, si ce n'est pas la bonne façon de faire n'hésitez pas, je ne suis pas très habitué des forums
J'ai essayé de regarder un peu le fichier perl (je n'avais jamais fait de perl, ça à l'air sympa) et j'ai trouvé un petit trucs pour réussir à lancer le script:

Code : Tout sélectionner

##
## Put me in ~/.irssi/scripts/autorun
##

use Irssi;
use vars qw($VERSION %IRSSI);

$VERSION = "0.02";
%IRSSI = (
    authors     => 'Donald Ephraim Curtis',
    contact     => 'dcurtis@cs.uiowa.edu',
    name        => 'notify.pl',
    description => 'notify Awesome WM of irssi message',
    license     => 'GNU General Public License',
);

sub notify {
    my ($title, $text) = @_;

    my %replacements = (
        '<' => '<',
        '>' => '>',
        '&' => '&',
        '\"' => '"',
    );

    # lazy way of constructing the regexp - I've done enough typing already!
    my $replacement_string = join '', keys %replacements;


    $title =~ s/([\Q$replacement_string\E])/$replacements{$1}/g;
    $text =~ s/([\Q$replacement_string\E])/$replacements{$1}/g;

    system("notify-send -t 7500 \"<span color='#ffffff'>".$title."</span>\""." \"".$text."\"");
}


sub highlight {
    my ($dest, $msg, $stripped) = @_;

    my $window = Irssi::active_win();

    if (($dest->{level} & MSGLEVEL_HILIGHT) && ($dest->{level} & MSGLEVEL_PUBLIC)) {
        notify($dest->{target}, $stripped);
    }

}

sub query {
    my ($server, $msg, $nick, $addr) = @_;

    my $window = Irssi::active_win();

    my $itemwindow = $server->window_find_item($nick);
    if ($window->{refnum} != $itemwindow->{refnum}) {
        notify($nick, $msg);
    }
}

Irssi::signal_add('print text', 'highlight');
Irssi::signal_add('message private', 'query');
C.F: la fonction my %replacements.( à noter que je n'ai plus la modif sous la main, je verifie ce soir:) )

Je n'ai cependant pas encore put tester le code je posterai quand je connaitrai le résultat.

P.S: Si quelqu'un utilise Irssi sous un autre WM je serai interessé de savoir si il a les notifications de nouveaux messages privés directement dans le WM, et comment si possible ;)

Merci à vous

Re: [Irssi] Notification de message

Publié : jeu. 16 juil. 2009, 16:41
par tuxce
elfangor a écrit :Je préfère poster des messages même si il n'y a pas de réponse entre temps, ça permet de suivre un peu mieux je trouve, si ce n'est pas la bonne façon de faire n'hésitez pas, je ne suis pas très habitué des forums
t'en fais pas, on suit, même s'il n' y a pas de messages :)
j'ai pas encore eu le temps de tester, mais je regarderai à l'occasion

Re: [Irssi] Notification de message

Publié : jeu. 16 juil. 2009, 20:26
par elfangor
@tuxce: j'en doutais pas ;)

Voila donc après test le script fonctionne parfaitement :)

C'est exactement ce que je rechercher je passe donc en résolu.

Si ça intéresse, j'ai donné la modif du script plus haut :)
Il est par contre indispensable d'avoir naughty dans son rc.lua et d'installer notify-send.

Re: [Irssi] Notification de message (résolu)

Publié : sam. 05 déc. 2009, 17:11
par RaK
J'ai le même problème, et manifestement elfangor est inactif.
J'ai lancé le script avec irssi, mais rien ne se passe.
J'ai bien libnotify et notify-send d'installés. Quelqu'un pourrait m'aider ?

Re: [Irssi] Notification de message (résolu)

Publié : lun. 14 déc. 2009, 15:48
par elfangor
Desolé en ce moment je ne passe plus vraiment(faute de temps), même si je lit encore le forum mais sans m'authentifier ;)

As-tu testé la commande :

Code : Tout sélectionner

notify-send -t 7500 test
pour savoir si notify-send fonctionne bien?

Re: [Irssi] Notification de message (résolu)

Publié : dim. 07 févr. 2010, 18:37
par RaK
Chez moi, le script fonctionne sous awesome, mais pas sous KDE4.

J'ai modifié le script pour qu'il utilise kdialog, si ça intéresse quelqu'un :

Code : Tout sélectionner

##
## Put me in ~/.irssi/scripts/autorun
##

use Irssi;
use vars qw($VERSION %IRSSI);

$VERSION = "0.02";
%IRSSI = (
    authors     => 'Donald Ephraim Curtis',
    contact     => 'dcurtis@cs.uiowa.edu',
    name        => 'notify.pl',
    description => 'notify Awesome WM of irssi message',
    license     => 'GNU General Public License',
);

sub notify {
    my ($title, $text) = @_;

    my %replacements = (
        '<' => '<',
        '>' => '>',
        '&' => '&',
        '\"' => '"',
        '`' => '', # added for security purposes
    );

    # lazy way of constructing the regexp - I've done enough typing already!
    my $replacement_string = join '', keys %replacements;


    $title =~ s/([\Q$replacement_string\E])/$replacements{$1}/g;
    $text =~ s/([\Q$replacement_string\E])/$replacements{$1}/g;

    system("kdialog --passivepopup '$text' --title '$title' 7500");
}


sub highlight {
    my ($dest, $msg, $stripped) = @_;

    my $window = Irssi::active_win();

    if (($dest->{level} & MSGLEVEL_HILIGHT) && ($dest->{level} & MSGLEVEL_PUBLIC)) {
        notify($dest->{target}, $stripped);
    }

}

sub query {
    my ($server, $msg, $nick, $addr) = @_;

    my $window = Irssi::active_win();

    my $itemwindow = $server->window_find_item($nick);
    if ($window->{refnum} != $itemwindow->{refnum}) {
        notify($nick, $msg);
    }
}

Irssi::signal_add('print text', 'highlight');
Irssi::signal_add('message private', 'query');