Skip to content

Instantly share code, notes, and snippets.

@mattn
Created March 18, 2011 05:01
Show Gist options
  • Save mattn/875644 to your computer and use it in GitHub Desktop.
Save mattn/875644 to your computer and use it in GitHub Desktop.
#!perl
use strict;
use warnings;
use Growl::Any;
my $growl = Growl::Any->new( appname => 'foo', events => ['bar'] );
$growl->notify( 'bar', 'baz', '...' );
warn $growl->backend;
@withgod
Copy link

withgod commented Mar 18, 2011

MacRoman試してみました。

~/Documents/code/mac-growl% cat ./testja_enc.pl
#!/usr/bin/perl

use Mac::Growl ':all';
use Encode;
sub _e {
    my $a = $_[0];
    Encode::from_to($a, 'MacRoman', 'utf8');
    return $a;
}
RegisterNotifications(_e("さんぽー"), [_e('れべるいち'), _e('れべるに')], [_e('れべるいち')]);
PostNotification(_e("さんぽー"), _e("れべるいち"), "y", "x");

~/Documents/code/mac-growl% perl ./testja_enc.pl
**** ERROR **** PerlObjCBridge:: convertPerlToObjC(): Referenced thingy not blessed
**** ERROR **** PerlObjCBridge:: convertArg() for index 2: convertPerlToObjC() failed
**** ERROR **** PerlObjCBridge:: sendObjcMessage: Error converting argument 1 for message "setObject:forKey:"
**** ERROR **** PerlObjCBridge: error [1] sending message [NSCFDictionary setObject:forKey:] at /System/Library/Perl/Extras/5.10.0/darwin-thread-multi-2level/PerlObjCBridge.pm line 248.

一点追加の現象で、日本語アプリ名をMac::Growl経由でレジストすると(Encodeは何も弄ってない)文字化けした状態で登録されているのを確認しました(通知は出てない)

@mattn
Copy link
Author

mattn commented Mar 18, 2011

先頭に use utf8 しても駄目でしょうか?

@withgod
Copy link

withgod commented Mar 18, 2011

use utf8したら xs?部分のエラーは出なくなりましたけど次のエラー(cpanからの最新)

Wide character in subroutine entry at /System/Library/Perl/5.10.0/darwin-thread-multi-2level/Encode.pm line 182.

p5-Growl-Anyをgithubから取ってuse lib '../lib'したsampleは同じエラーっぽいです(行数違うけど)

Modification of a read-only value attempted at /System/Library/Perl/5.10.0/darwin-thread-multi-2level/Encode.pm line 183.

@mattn
Copy link
Author

mattn commented Mar 18, 2011

うむ...ちょっと考えてきます。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment