« [N810]Nokia N810のキーボードのShift、Fn、Ctrlを順次押しで機能させるカスタマイズ | Main | [NetWalker]バッテリー残量をほんのりマシに表示する battwalker.rb »

2009.09.23

[NetWalker]Twitpicに画像とコメントをアップロードするTwitpicUploader.rb

NetWalkerで使うために、Twitpicに画像とコメントをアップロードし、そしてTwitterにpostするアプリケーションをRuby/Gtkで書いてみました。

標準のファイルブラウザ、Nautilusや、画像ビュワーgThumbからクイックにTwitpicにアップロードができるようになって便利です。

インストール

無保証です。

野良リポジトリを作ったので、以下を「システム管理>ソフトウェア・ソース」で追加してください。

deb http://homepage3.nifty.com/moyashi/netwalker/ ./

Twitpicuploader01

Synapticにてtwitpicuploaderで出てくると思います。「クイック検索」では出てこないので、その横の「検索」ボタンで検索してください。

Twitpicuploader02

gpgを置いていないのでインストール時に「認証されていません」と出ますが、そのままインスコしてください。

このパッケージをインストールすることで、依存しているruby, libgtk2-ruby, rubygems、そしてpostinst内にてRubyGems経由でhttpclientが入ります。
rubygemsからのhttpclientインストールに結構時間がかかると思います。

$HOMEにファイルをコピーする方法が分からなかったので追加作業を要します。
(どなたかカレントユーザのディレクトリにファイルをpostinstの中からコピーする方法を教えてください)

ln -s /usr/local/bin/TwitpicUploader.rb ~/.gnome2/nautilus-scripts/
cp /usr/local/share/twitpicuploader/TwitpicUpLoader.yaml ~/

そして、~/TwitpicUploader.yamlを編集します。

username: Twitterのアカウントを入力
password: Twitterのパスワードを入力

Nautilusで何か画像を選択し、右クリックでポップアップメニューを開きます。
「スクリプト(S)」という項目が出来ているので、その下にあるTwitpicUploader.rbを選択します。
メニューの「ファイル(F)>スクリプト(S)」でも同じです。

Twitpicuploader03

すると、TwitpicUploaderが起動するので、コメントを入力してPost。

Twitpicuploader04

オプションを選択していれば、クリップボードにアップロード先のURLがコピーされていると思います。ブラウザで見ると、こんな感じ。

Twitpicuploader05

チェックボックス項目説明

「URL copy to the clipboard」
チェックボックスがONになっていると、投稿されたTwitpicのURLをクリップボードにコピーします。
「Alt+U」でON/OFFできます。

「URL post to your Twitter account」
チェックボックスがONになっていると、コメントと画像URLがTwitterにpostされます。
「Alt+T」でON/OFFできます。

「Append hashtag #netwalker」
チェックボックスがONになっていると、コメントに「#netwalker」というハッシュタグを追加します。
「Alt+A」でON/OFFできます。

画像ビュワーgThumbとの連携

gThumbは、デジカメとの連携に優れた人気のある画像ビュワーです。
gThumbとTwitpicUploader.rbとの連携も可能です。

「gThumb」と「libnotify-bin」をSynapticからインストールします。
libnotify-binにはnotify-sendという面白いコマンドが収録されています。後で使います。

gThumbは「ホット・キー」経由で外部コマンドとの連携が可能な作りになっていますが、残念ながらホットキーはテンキーの0から9に割り当ててあるため、NetWalkerではそのままではこの機能が利用できません。

「~/.Xmodmap」を編集します。

中身は以下のようにします。

keycode 19 = KP_0 KP_0

そして一度ログアウトします。
再度ログインする際に、「modmap ファイルの読み込み」というダイアログが開き、「.Xmodmap」を起動時に読み込むか確認されるので、読み込むように指定します。

Twitpicuploader06

ただし、「次回からこのメッセージを表示しない」のチェックボックスはOFFにします。
変な.Xmodmapを読み込ませると大変なことになるからです。

gThumbを起動し、「編集(E)>設定(P)」を起動。「ホット・キー」のタブの「0:」の項目を以下のように書き換えます。

notify-send "send to TwitpicUploader.rb.."; /usr/local/bin/TwitpicUploader.rb %f &

設定が完了したら、適当な画像を選択するか、画像を表示しているときに「0」を押します。選択した画像がTwitpicUploader.rbに渡ると思います。

Twitpicuploader07


コマンドラインからの利用

コマンドラインからも使えます。

$ TwitpicUploader.rb SOME.jpg

|

« [N810]Nokia N810のキーボードのShift、Fn、Ctrlを順次押しで機能させるカスタマイズ | Main | [NetWalker]バッテリー残量をほんのりマシに表示する battwalker.rb »

Comments

app storeからアプリを落としまくるのがマイブームなんですが、ひとつインストールするごとにアイコン画面に戻ってしまい、めんどくさいことこの上なしです。
省略できるアドオンをリクエストしたいのですが。

Posted by: kirth | 2009.10.31 at 08:45 PM

自分にはちょっと無理ですね。

Posted by: moyashi | 2009.11.09 at 11:57 AM

$HOMEにファイルをコピーする方法が分からなかったので追加作業を要します。
(どなたかカレントユーザのディレクトリにファイルをpostinstの中からコピーする方法を教えてください)

ln -s /usr/local/bin/TwitpicUploader.rb ~/.gnome2/nautilus-scripts/
cp /usr/local/share/twitpicuploader/TwitpicUpLoader.yaml ~/

初心者で申し訳ありませんが上記の部分が分かりません・・・$HOME(何処にあるのでしょう?)$HOMEに上記のコマンドをコピーするのでしょうか?

Posted by: egg | 2009.11.19 at 09:09 PM

ln -s /usr/local/bin/TwitpicUploader.rb ~/.gnome2/nautilus-scripts/
cp /usr/local/share/twitpicuploader/TwitpicUpLoader.yaml ~/

は、そのまま実行すればOKです。

$HOMEとはホームディレクトリのことです。

echo $HOME

とすると分かります。HOMEという環境変数を表示していることになります。通常、HOMEには、ログイン中のユーザのホームディレクトリが格納されます。

NetWalkerでは最初の起動時にユーザー名を入力しますが、入力したユーザー名に応じてホームディレクトリが変わります。人によって違うので直接的なパスの表現にしていないわけです。

Ubuntuでは、通常「/home/ユーザー名/」がホームディレクトリになります。

ホームディレクトリは「~/」とも表現できます。
例えばターミナルで「ls ~/」と入力してTabキーを押すと$HOMEに展開されると思います。Tabキーは「W」の二つ上にあります。

よって、前掲のコマンドはそのまま実行できます。

Posted by: moyashi | 2009.11.19 at 09:37 PM

了解しました。がんばってやってみます!
ありがとうございました。

Posted by: egg | 2009.11.20 at 04:59 PM

The comments to this entry are closed.

« [N810]Nokia N810のキーボードのShift、Fn、Ctrlを順次押しで機能させるカスタマイズ | Main | [NetWalker]バッテリー残量をほんのりマシに表示する battwalker.rb »