ふにゃるんv2

もとは、http://d.hatena.ne.jp/Wacky/

Sleipnirの環境改善

ユーザサイドスクリプトってんで、最近GreaseMonkeyが流行りだ。
ただ、いつも使っているブラウザがSleipnirなんで、この為だけにFireFoxを導入するのも何だよなぁ。と思って、TrixieSleipnirで使えないか、ぐぐるって見る。

…う〜ん、とりあえず情報少ないなぁ。と思いつつ、眺めていて、そもそもユーザーサイドスクリプトって、Sleipnirで使えなかったっけ?と思い出し、オフィシャルサイトに行ってみた。

プラグイン - タブブラウザ Sleipnir
http://www3.sppd.ne.jp/bugtracker/wiki/index.php?%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3#content_1_1
スクリプト - タブブラウザ Sleipnir
http://www3.sppd.ne.jp/bugtracker/wiki/index.php?%5B%5B%A5%B9%A5%AF%A5%EA%A5%D7%A5%C8%5D%5D
Sleipnir オプション - タブブラウザ Sleipnir(拡張機能スクリプト→読み込み完了時スクリプトを有効にする)
http://www3.sppd.ne.jp/bugtracker/wiki/index.php?Sleipnir%20%A5%AA%A5%D7%A5%B7%A5%E7%A5%F3#content_1_40
何だ、GreaseMonkeyが(日本で)流行る前から、そういう仕組み用意してたんじゃん。
と、わかったので、一転 Sleipnir の強化を行う事にした。

まず、ユーザーサイドスクリプト機能を有効にして…と設定した所で、何を使うかという所で、今の所 はてなブックマークRSSへの投稿機能ぐらいしか要らないなぁと思った。
で、最初 そういったユーザーサイドスクリプトを突っ込んでいたんだが、色々回っていると、そういったものすら要らない事に気付いた。

Sleipnirはてなブックマークを使う | alectrope
http://alectrope.ddo.jp/mt/archives/2005/02/19/sleipnir_hatena_bookmark
SleipnirはてなRSS を使う | alectrope
http://alectrope.ddo.jp/mt/archives/2005/05/10/sleipnir_hatena_rss
Sleipnir のアドレス拡張メニューに"はてなアンテナに追加"を追加 | alectrope
http://alectrope.ddo.jp/mt/archives/2004/06/17/sleipnir_hatena_antenna_add

まぁ、こんな具合にアドレスバー拡張メニューに、URL突っ込む程度で済む。
セキュリティの関係上、いつもスクリプトはOFFにしているので、逆にこっちの方が都合がいい。
(そんな訳で、一旦有効にしたユーザーサイドスクリプトを、無効に戻した)


後は、前からブラウザのTEXTAREAへの文字列編集が面倒だったので、AreaEditorを導入した。

AreaEditor - 特徴 - IburiWorks
http://www.iburiworks.com/products/areaeditor/features.html

エディタは、いつも使っているSakuraEditorに設定しておいた。
う〜ん、便利。何で これ導入しておかなかったんだろう?

wxGlade

会社で頼まれていた、あるテキストツールのGUIラッパを作っていた。
勉強がてら、wxGladeでも使ってみようかと使ってみたが、…使いにくい。

たかだかパネルにボタンやエディットボックスを配置したいがだけなのに、何でSizerとかを配置して色々やらんにゃならんねん。
暫く使って、思い通りにならんので、おもむろにDelphi立ち上げて、そっちで作ってしまった。

VisualWxを試す

上で作った後、諦めきれずに適当なGUIビルダーを探していたら、VisualWxってのに突き当たった。
試しにインストール。


何これ!むっちゃいいじゃん。
コントロールをポトポト落として、適当に ぐる〜っと 置けるじゃん。
くそっ、これに先に出会っていればなぁ…。

VisualWxで作ったPythonコードをEXE形式に変換する

ってな訳で、VisualWxで作ったPythonコードを、py2exeを使ってEXE形式に変換してみる。

まず、以下を入れる。

  • py2exe

http://www.python.jp/Zope/articles/tips/py2exe

んで、setup.pyってスクリプトを書く。
デフォルトでは、VisualWxは、App.py ってメインコードを吐き出しているので、これを呼び出すように ちょっと書き換えるね。

# setup.py
from distutils.core import setup
import py2exe

setup(console=["App.py"])

んで、コマンドラインからpy2exeを呼び出す訳だ。

python setup.py py2exe
...

そうすると、distフォルダとbuildフォルダが出来上がっており、distフォルダに、変換されたファイルがある。

F:\Wacky\Test\VisualWx>dir dist

 F:\Wacky\Test\VisualWx\dist のディレクトリ

2005/06/26  20:24    <DIR>          .
2005/06/26  20:24    <DIR>          ..
2005/06/26  20:24            20,480 App.exe
2005/06/26  20:24         2,314,652 library.zip
2004/09/20  11:44           974,928 python23.dll
2004/05/25  21:18            16,384 w9xpopen.exe
2005/06/04  13:49         5,287,936 wxmsw26uh_vc.dll
2005/06/04  13:56           634,880 _controls_.pyd
2005/06/04  13:55           700,416 _core_.pyd
2005/06/04  13:55           352,256 _gdi_.pyd
2005/06/04  13:56           479,232 _misc_.pyd
2004/05/25  21:18            57,401 _sre.pyd
2005/06/04  13:55           544,768 _windows_.pyd

App.exe以外に、幾つかファイルがあるが、単独動作の為には一応全てカレントにあった方が良いようだ。
試しに Dependency Walkerに喰わせてみたら、*.pyd ファイルまでロードしていた。

Sleipnirの環境改善(2) : MM/Memo対応

先の Sleipnirの環境改善 では、アドレス拡張メニューに追加で、はてな対応を行った。
で、ついでなんで、MM/Memoにも対応してみた。

まぁ、alectrope(http://alectrope.ddo.jp/mt/)さんの例を見れば、対応は簡単で、以下のように アドレス拡張メニュー(AddrMenu.ini)に追加すればいい。

MM/Memoに追加|http://1470.net/mm/memo_form.html?url={URL}

んで、Sleipnirを再起動し、登録したいページで、アドレスバーの矢印を押せばいいだけ。

ほらね。簡単だ。
JavaScriptを動かさないから、セキュリティ面でもいいんじゃないかと思う。
(後は、五月蝿いウィルスチェッカー対策とかな)