読者です 読者をやめる 読者になる 読者になる

初代Masteries

きっとモヒカンにもなれないお前たちに告げる!!!

Growlで応援してくれる君を作った

というわけで作りました.

#!/usr/bin/env perl
use strict;
use warnings;
use utf8;

use Config::PL;
use Encode;
use File::Spec::Functions qw/catfile rel2abs/;
use Growl::Any;

my $config = config_do catfile($ENV{HOME}, '.cheerrc');
my $person = decode_utf8($config->{person}) || '';
my $photo  = $config->{photo}               || '';

my @message = $config->{message}
    ? map {decode_utf8($_)} @{$config->{message}}
    : die 'Missing mandatory parameter: message';

my $growl = Growl::Any->new(appname => 'cheer', events => ['message']);
my $index = int rand(@message);
print "$index\n";
$growl->notify('message', $person, $message[$index], $ENV{HOME} . "/.cheer/$photo");

exit;

'.cheerrc'という設定ファイルを置いて...

{
    person => 'エイラ・イルマタル・ユーティライネン',
    photo => 'eila.jpg',
    message => [
        '夜間哨戒で魔力を使い果たしている. ムリダナ.',
        'ちぇっ, 今日だけだかんナー',
        'サーニャをそんな目でミンナー!',
    ],
};

'.cheer'ディレクトリに画像(この場合, 'eila.jpg')を置いて, 実行すると...

f:id:papix:20130518155259p:plain

こんな感じで, 応援してくれます!
研究でデータがうまく出ない時, 大学から帰れない時, 論文を書けと催促される時などに, 若干の癒しとして使って頂ければ幸いです.

まとめ

これを高性能にしていくと伺かになるなあ, と思いました.

ちなみに, UbuntuでGrowl::Anyを使おうとすると, Desktop::Notifyに問題(?)があり, うまくアイコンが出てきてくれません.
詳しくはこちらの記事をご覧頂ければと思います.