Y901x 0.0.5

公開しました。

多重起動防止は可能になったけどまだチト変。
URI 送信した後に 10 秒程度実効されたまんまなんだが。

API Documentation

セッションバスの切断処理みたいなのがいるのかな?
と思って close() を呼ぶとバス自体が閉じてしまうみたいだし…ワカラン。
wnck を使ってアクティブにする処理も入れたいけどココが解決せねば…
てゆーか解決しないと覚書ページに追加ができん!

もう少し追いかけたいけど更新が滞るほうが嫌だからバックアップを兼ねて公開。
どうせ開発途中版だし、まあいいや。

きっと通信に詳しい人が突然現れて…
そんな人はこんなしょーもないブログを見るはずがない。

ところで

http://palepoli.skr.jp/wp/2009/01/08/可変幅サイト/favicon.gif

なんて存在しないモンに毎日アクセスしてくる IE があるんだが…
多分 IE 系の RSS リーダーだと思うけどいいかげんに気がついてくれよ。
だから IE は糞だと。

通信

PyGtk アプリで多重起動防止をやりたい。
それには引数を既に起動している自分自身に送信する必要がある。
いわゆるプロセス間通信というやつです。

Windows なら WM_COPYDATA という単純な方法が使える。
デスクトップ内での通信ならソレで十分なので他の通信を勉強していない。
そのツケで今苦しんでいる。

第10章 2重起動を防ぐ

を見つけて Python に書き直しテストとかやってみた。
PyGtk 2.13.0 の gtk.SelectionData では get_length() メソッドが使えなかった…

gtk.SelectionData

てかこの方法って selection_convert を実効しないとサーバーは取得しないってことかな?
なんか私のやりたい通信とは違うみたい、まだよく理解していないが早く気がつけ俺。

次に Plug と Socket を使ってみようと考えた。

10.13. Plugs and Sockets

うん、これなら PyGtk の範囲で使えるから楽そうだ。
ダウンロードしたサンプルをそのまんま試して動いたし理解しやすい。
しかしこの Socket ってつまりコンテナとして実装する必要があるってことみたい…
ということはどう実装…なんかコレも違う。

そういえば gEdit のソースを落としたんだっけ、見てみよう。
Bacon なんちゃらという関数が見つかったけど…何がどうだかまったく解らんぞ!
Linux での C 開発は私のレベルではまだ無理だと実感。
だってどのヘッダがどの役割とか全然知らないもん。

色々探すと Gnome は Bonobo という通信手段を用意しているらしい。
これがもう更に何がなんだか解らない。

あぁ、通信についてもっと勉強しておくべきだった。

D-BUSを使用してデスクトップ・アプリケーションを接続

こんなのまで見つけてしまった、もうドツボか。
と思ったけど D-BUS って Bonobo から置き換えられるそうだ。
ならばコッチを勉強したほうがよさそう。
しかし Python のコードをコピペしてみたけど動かないぞ!

Linux 日記 2005

そうか仕様変更されまくっているのか、やっぱり動かない。
どこかに現行版の解りやすいサンプルコードは無いのだろうか。
というか私はアプリ間で文字列の送信受信さえできれば十分なんですけど。

Message from D-BUS

うん、HelloWorld は上手く通信できた。
やっと先が見えてきた、以上 URL 覚書だけで終わった日記でした。

はぢめてのネットカフェ

何を今頃だが 15 日夜から今月末まで諸事情で夜勤である。
やっと休みが取れたので久々に blog の更新、来月はどうなるやら。

先日真夜中に三時間程時間つぶしをしなければいけなくなった。
知らない街でいったい何を、こんな時に UMPC があると便利だと感じる。

プラプラしているとネットカフェ発見。

ネットカフェといえば住居とネット環境を持つ人間には無縁の場所。
というイメージが私にはあったので一度も入店したことがなかった。
まあコミックもあるし時間つぶしには最高の場所だろうと冒険してみる。

「こういうトコは始めてなんですけどぉ…」

とカウンターのオバチャンに恐る恐る聞いてみる。
オバチャンは嫌な顔一つせずに丁寧に説明してくれた。
けど正直全然解らなかった、何で料金が発生するのかイマイチ不明。
とにかくネットが使えることを指定して渡された番号の個室に入ってみる。

ドスパラの Prime だ…
俺のパソコンと同じ…

それはどうでもよくて、店内をぐるり。
フリードリンクってつまり自分で好きな飲み物を入れて勝手に飲めということか。
コミックは昔ながらの漫画喫茶と同じってことでいいみたい。
とりあえずホットコーヒーを自分で入れて戻ってみる。

リクライニング椅子と足置きがありゴロリとはできないまでも寝ることはできる。
パソコンを置いてある机で書類を書くスペースもある、ついでだが灰皿も中にあった。
パソコンにヘッドフォンが付いてあり音楽を聞けたりとか。
この超狭いスペースでたしかに最低限の生活はできるな、ふむふむ。

いよいよパソコンのスイッチを入れる、あぁ Windows XP だ。
ネトゲらしきアプリが沢山プリインストールされている。
なるほど、そういうことなのかと少し納得。

Opera がインストールされているはずもなく IE を立ち上げる。

はて?いったい何をすりゃいいんだ。
何かデータを弄くろうにも何もないぞ。
エロサイト…なんてこんな場所で見たいとは全然思わないし。

知ってのとおり私のパソコン OS は現在 Ubuntu Linux である。
Windows は Virtual Box OSE 上にインストールしてたまに使っているだけ。
それも Visual Studio と UniteMovie だけしか使っていない。

てゆーか素の Windows って本当に何もできない。
ネトゲなんてやるつもりもない、ネット観覧だけならケータイで十分だよ。
今時の Linux なら必ず初めから Python が入っているので遊べるのに。

ということは YouTube くらいしか…今は得に見たいモンがないや。
とっとと電源を落として漫画に没頭、あー意味ネェ。

今度こういうトコに来る時は USB メモリに何かデータを入れて…
時間つぶし目的での入店時に都合良く持ち歩いているとは思えないし…
それだったらネットストレージにマメにアップロードでもしたほうが…
いやいや、Windows の時点で私はソレも終わっている…
せっかくこういう場所があるんだから何か良い使い道は…

二時間ちょっと潰して 840 円、思っていたよりは安くあがった。
個室付きセルフサービス漫画喫茶として利用しても十分だわ。

生活リズムが急激に変わるとこんなネタくらいしかないや。

アクティブ以外全部閉じる

gEdit のタブ右クリックメニューの name 属性名が知りたい。
いやぁ gEdit のソースコードを見たけど全然解らないや!

gedit

ココの GNOME ftp site って所から ftp で落とせる。
想像していたより小さくて驚いた、まぁ Gtk+ 自体が部品のようなアプリだが。
しかし C でよくぞここまで綺麗に、Windows では考えられない。

でも結局タブの name 属性は解らないまま。
日本語版じゃどうせ解らないから最初からメリケンの Google で探しまくる。
それでもやはり解らない、みんなこういうカスタマイズに興味はないのか?

てゆーか他人が書いたコードをそのまんま貼っている人って以外に多いんだなぁ。
一部日本人だけの特徴だとずっと思っていたよ。

ふと思いついてキーワードから gEdit を外して探してみた。

http://www.tortall.net/mu/wiki/EpiphanyExtensions/tab-menu-close.py?raw

なんか全然関係なさそうだけどコレってもしかして…

ui_str = """<ui>
    <popup name="NotebookPopup">
        <separator/>
        <menuitem name="but_active" action="but_active"/>
    </popup>
</ui>
"""

で gEdit のタブ右クリックメニューに追加できた!
コレさえ解れば簡単だ、ということで [アクティブ以外全部閉じる] 完成。
本サイトにて公開中、以上自己宣伝検索の技でした。

しかしプラグインはたったの百行以下でも成立するからイイね。
これなら結構頻繁に本サイトも更新できるようになりそうだ。

ui_manager

EyeOfGnome – SunagaLab

Gnome 標準の「画像ビューア」も Python でプラグイン拡張ができるんだ。
知らなかった、しかし需要が恐ろしく微妙だ…
何か作ってみようと思ったけど今は全然思いつかない。

しかし同じように get_ui_manager メソッドでわりと楽に UI の取得ができるようで。
調べてみると Totem も当然のように、いや俺はコレについて書くわけには…
よく解らないんだが GtkBuilder は関係あるのかな?

GtkBuilderとGladeについてと、PyGTK上での使用について(概要) – 試験運用中なLinux備忘録

今唐突に思いついたが gEdit のタブ右メニューに「このタブ以外を閉じる」が欲しいぞ。
タブ右メニューの name は…ソースを見るしかない臭いんだが、あまりやりたくないけど。

ところで Gnome 標準なら全部こうなのかな?と思って検索したけどそうでもないや。
まあそりゃ Tomboy なんかは mono だし当然 C# になるわな。
mono やりたい人はこんなのから始めるといいかもよ。

Tomboy/HowToCreateAddins – GNOME Live!

私は Tomboy は使っていないけど…