TTYtter を利用する
Twitter で CLI のクライアントも良いかなと思いました。TTYtter は Perl で作成 されたソフトウェアなので Perl が実効出来るようにしておいて下さい。TTYtter をカスタマイズ
TTYtter はそのままでも充分使えるのですが、プラグインを追加して機能というか見 た目を変更しました。以下が設定ファイルです。.ttytterrc
#====================================================================== # TTYTTER Settings YYYY-MM-DD (gotta code that for ruby 1.9) #====================================================================== simplestart=1 hold=1 ssl=1 ansi=1 vcheck=1 verify=1 dostream=1 mentions=1 searchhits=32 autosplit=1 timestamp=0 timestamp=%a %b %d %T %Z %Y #shorturl=http://is.gd/api.php?longurl= #====================================================== Interface urlopen=open -a chromium %U avatar=feh %U newline=1 notifytype= notifies=dm,me,reply,search,default #notifies=dm,reply colourdefault=CYAN colourdm=MAGENTA colourlist=BLUE colourme=GREEN colourprompt=OFF colourreply=YELLOW coloursearch=OFF colourwarn=MAGENTA #=================================================== Plugins #exts=/home/kn0wledge/.ttytter-extensions/PrettyTweets.pl exts=/home/kn0wledge/.ttytter-extensions/oxhak_ttytter_output.pl #exts=/home/kn0wledge/.ttytter-extensions/time.pl #exts=/home/kn0wledge/.ttytter-extensions/timestamp.pl #================================================== Friends/readline readline="@kn0wledge" #================================================== |
TTYtter の拡張は手を加えています。
そのままだと日本語のツイートが長い場合折り返されないので Text::LineFold を利 用して折り返しするようにしています。ちなみに Perl は分かってないので、試行錯 誤した結果なので変な部分もあると思います。.ttytter-extensions/oxhak_ttytter_output.pl
# oxhak tytter output extension # https://github.com/oxhak/ttytter-extension # https://plus.google.com/101484008937520775428/posts?hl=fr # https://twitter.com/OxHaK use utf8; use Text::LineFold; $lf = Text::LineFold->new( OutputCharset => '_UNICODE_' ); $handle = sub { my $ref = shift; # this is a hashref to the tweet structure my ($time, $ts) = &$wraptime($ref->{'created_at'}) if &getvariable('timestamp'); my $timestamp = defined($ts)?'['.$ts.'] ':''; my $sn = &descape($ref->{'user'}->{'name'}); my $txt = &descape($ref->{'text'}) ; (my $txtfinal = $txt) =~ s/\n//g; (my $wrapped = $txtfinal); (my $folded = $lf->fold($wrapped, 'PLAIN')); (my $wrappedfinal = $folded); my $menu_select = $ref->{'menu_select'}; my $string = "\e[38;5;160m\e[48;5;15m\e[1m" ${menu_select} . ''. "\e[38;5;255m\e[48;5;8m\e[1m ". ${sn} . ''. "\033[m\e[49m\n". ${wrappedfinal} . ''. "\n \n"; print $streamout $string; return 1; # one logical tweet accepted }; |
0 件のコメント:
コメントを投稿