ViewSourceWith を使ってフォームを xyzzy で編集
2005-09-14
Firefox 用の拡張で ViewSourceWith というのがあって、これを使うとページのソースを外部エディタに渡して表示させることが出来るんですが、他にもフォームの編集を外部エディタで行うなんていうことも出来たりします。ということで愛用の xyzzy でフォームを編集できるようにしてみました。
ViewSourceWith はエディタに文字コード utf-8 でテキストエリアの文字列を渡すようですが、xyzzy はもちろん utf-8 を扱うことが出来ますのでこの点は心配ありません。特に wiki などのように既にある程度の内容が書き込まれているフォームのテキストエリアの内容を引っ張ってくる場合は文字コードの判定を誤ることもほとんどないでしょう。しかし、問題はテキストエリアにまったく何も書かれていない場合です。もちろん xyzzy の設定にもよるでしょうが、普通はデフォルトの Shift-JIS で開かれてしまい、フォームに書き戻したときに文字化けしてしまうことになります。そこで、ViewSourceWith からフォームのテキストエリアを受けとるときは utf-8 決めうちで開きたいわけです。
同様のことを行う mozex という拡張と xyzzy とを連携させる渦さんの研究によれば、utf-8 で開く関数を .xyzzy とかに定義しておいて、それをコマンドラインオプションで指定してやればよさげです。こんな感じ。
;;; utf8n で開く用
(defun utf8n ()
(revert-buffer *encoding-utf8n*))
これで xyzzy を呼ぶときにこの関数をコマンドラインオプションで呼べばいいはずです。が、残念なことに、ViewSourceWith にはオプション付きで起動させるすべが用意されていないようなのです。そこでもうひとひねり。
utf-8 決めうちで起動する xyzzy を仕立てることにします。まず、xyzzy がインストールされているディレクトリにある、xyzzycli.exe を utf-8.exe とか適当な名前でリネームして同じ場所に配置します。余談ですが、xyzzy のファイラーからだと、xyzzycli.exe にファイラーカーソルがある状態で、@キーを押すと、別名でコピーというのが出来るので便利です。
リネームされた xyzzycli.exe は自分と同じ名前の ini ファイルを読むように出来ているので、utf-8.ini というファイルを同じ場所に作ります。utf-8.ini の内容は以下の通り。
[xyzzy]
precedingOptions="-m utf8n"
これで、ViewSourceWith から呼び出すエディタに、utf-8.exe を指定しておけば utf-8 決めうちで受けることが出来るはずです。なお、普通にソースを xyzzy で開くにはこれを指定する必要はないので、デフォルトで、xyzzycli.exe もしくは、xyzzy.exe を登録しておいて、サブにこの utf-8.exe を登録しておくといいでしょう。
Firefox 1.5 Beta 1 を試してみる
2005-09-10
Firefox 1.5 Beta 1 がいよいよリリースされました。普段は Firefox 1.0.6 を使っているけどちょっと試してみたいとお考えの方も結構いらっしゃることでしょう。ということで、1.0.6 常用の前提でお試しに、1.5 Beta 1 を使ってみる方法を書いてみましょう。私は Windows 環境しかないのでその他のプラットフォームではあてはまらないかもしれないことをあらかじめ断っておきます。
まず、インストールですが、上書きインストールすると当然 1.0.6 はなくなってしまうので、1.0.6 とは違う場所にインストールする必要があります。したがって、カスタムインストールを選択する必要があります。で、インストール過程の最後で、Firefox を起動するかどうかのチェックボックスがありますが、これを外しておきます。
これをしないと、常用している 1.0.6 用のプロファイルで起動してしまい、インストールしている拡張がすべて無効にされてあとで大変なことになると思われます。恐ろしいので私は試していません。:p)
次に、Firefox 1.5 Beta 1 用のプロファイルを新規作成します。インストールした 1.5 Beta 1 を -p オプション付きで起動します。するとプロファイルマネージャが起動するはずです。例えば、c:\Program Files\firefox15 以下にインストールしたとすると、コマンドプロンプトで以下を実行することになります。
"c:\Program Files\firefox15\firefox.exe" -p
プロファイルマネージャが起動したら Creat Profile... を選択して適当な名前でプロファイルを作ります。例えば、0910beta という名前で作ったことにしましょう。このプロファイルを 1.5b1 用に使うことにします。
プロファイルマネージャの Don't ask at startup のチェックを外して毎回起動時にプロファイルを選択してもいいのですが、それは面倒なので、バッチファイルを作ってプロファイル指定付きで起動するといいでしょう。以下のような内容で作ると、1.0.6 と同時起動できるようになるので便利です。
@echo off
SET MOZ_NO_REMOTE=1
cd "c:\Program Files\firefox15"
start firefox.exe -p 0910beta
どこか適当な場所に、FxBeta.bat とか適当な名前を付けて保存して、その後、ショートカットをデスクトップにでも置いておけば起動しやすくて便利でしょう。アイコンはショートカットのプロパティから変更することも出来ます。Firefox のものにでもしておけばかわいいかも。:p)
さて、あとは Firefox 1.5 Beta 1 用のプロファイルを常用のものに近づけるべく拡張をインストールすれば完成です。が、1.5 Beta では内部バージョンが 1.4 に上がっているのでほとんどの拡張はまだ対応していないために、インストールすることすらできないでしょう。実際はだいたいの拡張が対応しているにも関わらずです。本当に対応していないものももちろん、たくさんありますが。
拡張無しで Firefox を使うのは至極不便ですので、なんとか拡張もインストールしたいものです。拡張をばらして、内部の install.rdf の em:maxVersion を書き換えてやるとインストールできたりするのですが、結構面倒です。そこで便利な拡張を導入しましょう。
Nightly Tester Tools がそれです。元々は Firefox のビルド ID を表示したり、コピーしたりする拡張なのですが、version 0.7.5 以降から、拡張の em:maxVersion を使っている Firefox の内部バージョンに合わせて書き換えてインストールする機能が追加されています。この拡張を導入すると、拡張のインストール時の確認ダイアログに、Install using Nightly Tester Tools to override compatibility というチェックボックスが付加されます。これにチェックをつけることで、em:maxVersion が不適合な拡張であっても無理やりインストールすることが可能になります。
あとは好みでアレコレすればいいでしょう。
最後に一応。プロファイルの取り扱いを間違えると、自分の常用プロファイルを壊したり、なくしたりすることもあるのでくれぐれも気を付けてどうぞ。また、言うまでもありませんが、もし何か事故がおきても私にはどうしようもないので、試してみられる方は自己責任で。
では、お楽しみください。
この記事へのツッコミ
- 1: ロッキー (2005-09-17T04:15:51+09:00)
- 初めまして。
fairy taleのロッキーと申します。
いつも拝見させて頂いております。
この記事で勉強させて頂きまして、今となればFirefox1.0.6、1.5 Beta 1、1.6a1と3つを使い分けれるようになりました。
これからもFirefox関連の素晴らしい記事を楽しみにしております。
- 2: test (2005-11-30T07:19:45+09:00) urn:ietf:rfc:3986
- urn:ietf:rfc:3986
トラックバック
- 1: Pop or Die/Firefox のプロファイル壊した (2005-09-11T22:03:09+09:00)
- Firefox 入れ直しを繰り返した週末。
- この記事の永続的 URI ならびに トラックバック ping URI
- http://diary.noasobi.net/2005/09/diary_050910a.html
SVG Zoom and Pan
2005-09-06
adobe SVG Viewer もありますし、Opera もネイティブで SVG に対応していますし、Firefox も 1.5 で正式に SVG をサポートしますので、SVG もだいぶ実用的に使える環境が整ってきたと思われる昨今です。SVG はベクター画像なので拡大縮小してもビットマップ画像のように表示が汚くならないという利点があります。
ところで、Firefox 1.5 でサポートされる SVG ですが、残念なことに現状では拡大縮小や画面上でのパンが出来ません。Bug 163068 - Implement pan and zoom controls ですね。しかし、そこはよくしたもので SVG の ズームやパンを出来るようにしてくれる拡張があります。ということで、the firefox zoom and pan extension のご紹介。
この拡張を導入すると、SVG Zoom and Pan というツールバーが追加されます。以下スクリーンショット。
ツールバー左端の虫眼鏡アイコンを選択するか、Ctrlキーを押すことで、ズームモードになります。ズームモードになると、マウスホイールや、キーボードから + や - を入力することで画像の拡大縮小ができるようになります。
次の十文字アイコンをクリックするか、alt キーを押すことで、パンモードになります。パンモードになると画像をクリックアンドドラグすることで、自在に位置を変更することが可能になります。
その他のアイコンはオリジナルの見え方に復帰させたり、画像をウィンドウに合わせたり、ウィンドウに合わせて画像を変えたりといった機能を実現します。
また馬鹿でかいツールバーを表示しなくとも、キーボードからズームモードやパンモードに切り替えることができるので、ズームやパンの機能は使えますのでそこらあたりもよくできています。
ちなみに、この拡張、em:minVersion が 1.0+ で、em:maxVersion が 1.6a1 ですので、Firefox 1.0.6 ではインストールできません。まぁ、1.0.6 は SVG 表示出来ないので当然といえば当然ですが。
私製 Firefox 1.5 ロードマップ 1.1.2
2005-09-06
私製 Firefox 1.5 ロードマップ 1.1.1 の Deer Park Alpha1 と Alpha2 を逆に記述するというひどいバグがあったので、フィックスしました。>かめぞうさん、ありがとうございます。
さらに、SVG 版の 1.1.1 だと Opera で真っ黒に塗りつぶされてしまっていたのですが、これは、スタイル要素 による css の指定を Opera がうまく解釈できないために起こるらしく、style 属性を使って指定してやればちょっとは改善されるぽいという情報を temp_h さんから頂いたのでそのようにしてみました。もっとも、Opera のサポートする SVG 1.1 Tiny では、tspan 要素をサポートしないので肝心なところは描画されないのですが。まぁ、何も見えないよりはよかろうということで。情報ありがとうございます。>temp_h さん
私製 Firefox 1.5 ロードマップ 1.1.1 もしくは svg の練習(何)
2005-09-05
私製 Firefox 1.5 ロードマップ その2 へのもとひこさんのツッコミを受けてちょっと書き換えてみました。んで、最初のを 1.0、前回のを 1.1 ということにして、今回のを 私製ロードマップ 1.1.1 ということにします。バージョンのつけ方はテキトーです。:p)
Deer Park の辺りの括弧内の表記は Firefox の内部バージョンではなく、milestone 表記なのでお間違えのなきよう。ちなみに、Deer Park の内部バージョンは 1、2ともに、1.0+ です。
さらに、試しに SVG 版も作ってみましたが、仕様とか読んでいないので、これでいいのか何なのかのサパーリですが、見られる環境の方はどうぞ。基本的には Illustrator で出力した SVG をチョロッといじっています。見られる環境だけどうまく見られない方は原因を究明して教えていただけるとありがたいです。:p)
なお、Firefox で SVG を閲覧する際のアレコレについてはSVG - Firefox まとめサイト に情報がよく集積されているようですし、IE などでは、Scalable Vector Graphics から辿れる Adobe SVG Viewer を導入することで閲覧可能になるようです。
object 要素とかも使ってみたかったんですが、あきらめました。(謎)
1.1.2 にバージョンアップしました。
この記事へのツッコミ
- 1: level (2005-09-05T21:05:08+09:00)
- せっかくだからCanvas版も:-)
- 2: かめぞう (2005-09-06T01:42:28+09:00)
- Deer Park Alpha1とAlpha2って、逆ではないですか?
- 3: のり (2005-09-06T02:32:22+09:00)
- canvas ってどうやったら描けるのか全然知らないんですが…。>levelさん
げげ、前の書き方の並び順(何)と勘違いしてました。直さねば。ご指摘感謝。>かめぞうさん
- この記事の永続的 URI ならびに トラックバック ping URI
- http://diary.noasobi.net/2005/09/diary_050905a.html