2008年11月19日水曜日

QSTwitterの設定



TwitterPodのQuickPost(F7でポスト用ウィンドウを表示)はえらく便利だったんだけど、Twootに移行したので代替案を探してみた。調べてみたところ、QuickSilverからTwitterに投稿できるようにするQSTwitterとやらが良さげだったので設定してみた。


が、mootoh.log - QSTwitter 1.4を読んでて一つだけわからなかったのが「ターゲットをブランクにする」というもの。


Triggerを設定しようとすると、Actionにreply that...を設定した時点でTargetが勝手にテキストモードになってしまう。結局使えねーじゃねーかって感じだったのだが、QSTwitterの英語版ページ(改めて探そうとしたら見つからない…)にその方法が書かれてた。「ターゲットを選択した状態でコマンド + X」。これで、ターゲット部分がブランクになる。テキストを入力する状態だとコマンド + Xが効かないので、一旦アクションを選択してから改めてターゲットを選択するとうまくいく、はず。





2008年11月17日月曜日

TwootとGrowlの連携



元々TwitterPodを使ってた身としては、Growl通知はどうしても欲しい。


ということで、TwootをGrowl対応させることにした。


で、ググってみた結果以下の事がわかった。



  • Growlには各種プログラミング言語用のバインディングが存在している

  • Growlはネットワーク経由での連携が可能

  • JavaScript -> CGI -> Growl とすることでJavaScriptからでもGrowlを呼び出せる


というわけで、TwootをGrowl対応させることは可能。


まずは以下の記事を参考にしてGrowlを呼び出すCGIを書いてみた。


Big Sky :: Growl for Windowsを試してみた


Growl用WebAPI提供サーバ - Okiraku Programming



#!/opt/local/bin/perl
use lib '/opt/local/lib/perl5/5.8.8';
use lib '/opt/local/lib/perl5/vendor_perl/5.8.8';
use strict;
use warnings;
use Net::Growl;
use utf8;
use CGI;
use Encode;
my $q = new CGI;

my $name = "Message via Web API";
my $title = $q->param("title");
my $msg = $q->param("msg");

register(host => 'localhost',
application =>"Twoot",
password=>"sm05ofgd", );

notify(
application => "Twoot",
title => decode_utf8($title),
description => decode_utf8($msg),
priority => 2,
sticky => 'True',
password => "growl's password",
);

print "Content-type: text/javascript\n\n\"OK\";";


これを/Users/username/Sites 辺りに保存しておく。


もちろんapacheの設定等も必要だけどそこら辺は割愛。


で、次にTwootからこのCGIを呼び出す部分。


twoot.jsの20行目あたりに以下の記述を追加



if($("#msg-" + item.id).length == 0) { // <- fix for twitter caching which sometimes have problems with the "since" parameter
$.get("http://localhost/~username/growl.cgi", { title: item.user.name, msg: item.text}); // <- これを追加
list.prepend('<li id="msg-' + item.id + '"><img class="profile_image" src="' + item.user.profile_image_url + '" alt="' + item.user.name + '" /><span class="time" title="' + item.created_at + '">' + relative_time(item.created_at) + '</span> <a class="user" href="javascript:addAddress(\'' + item.user.screen_name + '\')">' + item.user.screen_name + '</a><div class="tweet_text">' + item.text.replace(/(\w+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+)/g, '<a href="$1">$1</a>').replace(/[\@]+([A-Za-z0-9-_]+)/g, '<a href="http://twitter.com/$1">@$1</a>').replace(/[&#60;]+[3]/g, "<tt class='heart'>&#x2665;</tt>") + '</div></li>');


最後にGrowl自体の設定。


システム環境設定 -> Growl -> ネットワークと進んで、「受信される通知を聞く」と「リモートアプリケーション登録を許可」にチェックを入れてパスワードを入力。さっきのPerlのソースコード中の「growl's password」はこれと対応している。


これでTwootとGrowlの連携は完了。


























で、ここまで書き終わってTwootの最新版をチェックしてみたところ、なんとGrowl対応がされていた…。まあ、いいや。





2008年11月15日土曜日

Twootを使ってみた



これまではTwitterクライアントとしてTwitterPodを使ってたけど、特定の人のアイコンが表示されなかったりたまに暴走したりするのでTwootというクライアントを使うことにした。


Building your own Twitter client with Fluid and jQuery - Peter Krantz


Twootは純粋なデスクトップアプリじゃなくて、Fluidというアプリを利用してTwitterのクライアントを簡単に作ってしまおう、というもの。Fluid自体はGMailとかのWebアプリをデスクトップアプリのような感覚で使えるようにしてくれるアプリ。


というわけで、Twootのインストール方法を以下に書いておく。単なるリンク先の訳ですよ。



  1. Fluidをインストールする
  2. twootというディレクトリをどっかに作る。ホームディレクトリとか?
  3. twoot用のファイルをダウンロードしてさっき作ったtwootディレクトリに保存。
  4. Fluidを起動する。すると「URLを入力して」みたいなウィンドウが出てくるのでさっき保存したtwoot.htmを指定する。
    ホームディレクトリにtwootディレクトリを作った場合だとfile:///Users/user/twoot/twoot.htmみたいな。
  5. 設定を保存する。


これでTwootがアプリケーションとして保存されてるはず。後はCSSを書き換えたりして自分好みに修正していけばok。


自分の場合はこれをGrowlと連携させたりしてるのだけど、それについては次書くことにする。