Created
February 28, 2012 10:03
-
-
Save ndreas/1931684 to your computer and use it in GitHub Desktop.
Growling from irssi in iTerm2
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
use Irssi; | |
use Irssi::Irc; | |
use IO::Handle; | |
use Env qw(TMUX); | |
$VERSION = "0.1"; | |
%IRSSI = ( | |
authors => 'Andreas Johansson', | |
contact => '[email protected]', | |
name => 'iterm_growl', | |
description => 'Triggers a Growl escape sequence for iTerm 2 upon message and mention', | |
license => 'GNU GPLv2', | |
url => 'http://stdin.se/', | |
); | |
use strict; | |
sub private_message { | |
my ($server, $message, $nick, $address, $target) = @_; | |
growl($nick . ": " . $message); | |
} | |
sub highlight { | |
my($dest, $text, $stripped) = @_; | |
if ($dest->{level} & MSGLEVEL_HILIGHT) { | |
growl($dest->{target} . ": " . $stripped); | |
} | |
} | |
sub growl { | |
my ($text) = @_; | |
if (defined $TMUX) { | |
print STDERR "\ePtmux;\e\e]9;$text\007\e\\"; | |
} else { | |
print STDERR "\e]9;$text\007"; | |
} | |
} | |
Irssi::signal_add_last("message private", "private_message"); | |
Irssi::signal_add_last("print text", "highlight"); |
Screen, precis som tmux, äter upp escape-sekvensen (rad 35). Eftersom jag själv använder tmux så har jag ett specialcase för det, men det funkar inte för screen. Jag googlade lite och hittade att det ska vara följande för screen:
print STDERR "\eP\e]9;$text\007\e\\"
Du kan modda scriptet så att den kollar om irssi kör i en screen, och använder den printen istället. Vill du testa om det funkar utan att behöva ladda om skriptet, så öppna en terminal i screen och kör echo -ne "\eP\e]9;zomg\007\e\\"
så ska du få ett Growlmeddelande.
Du måste även konfigurera Growl att skriva ut meddelandena från iTerm. Customized Message
är notifikationstypen som måste vara aktiverad i Growls inställningar.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hej!
Provade att lägga in scriptet i ~/.irssi/scripts och sen ladda det i irssi, i screen, i iterm2. Får det inte att funka. Är det något mer man måste göra?
Mvh
Kiwi