XUL

簡易テキストエディタ

XUL

先日のFileクラス等の定義をio.jsというファイルに保存。 それを利用したサンプルということで簡易テキストエディタを作ってみた。 <window title="editor" onload="init()" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <script src="io.js"/> <script></window>

ローカルファイルアクセス用Fileクラス

XUL

JavaScriptからローカルファイルにアクセスするためのXPCOM利用版のFileクラスを作ってみた。 使用例 d:\tmp\a.txtのFileオブジェクトをfに代入して読み書きする例。 readが読み出し。readしたあとはcharsetプロパティがセットされる。 writeが書き込み。現…

日本語文字コードの判別

XUL

文字コードの判別はバイナリデータの難しい処理というイメージがあったけど、そこそこの精度でいいなら意外と単純だった。 今回の方針は、半角カナは無視、UTF-8の優先度高め、という方針。 各ESC(0x1B〜)が出た場合はISO-2022-JP(確定) 第1バイトで指定され…

XULRunner版最小ブラウザ

XUL

とりあえずURL欄とコンテンツ表示欄だけの最小限の構成。 <browser>というタグがあるので簡単に作れる。 <window title="browser" width="800" height="600" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> </window>

XPCOM取得用ずぼら関数

XUL

欲しいXPCOMを得るのに長々と書くのがつらくなってきたので手抜きをする関数xpc()を作ってみた。 通常時 Components.classes['@mozilla.org/network/file-output-stream;1'].createInstance(Components.interfaces.nsIFileOutputStream);xpc()使用時 xpc('cr…

XULRunnerからFirefoxを起動

XUL

FirefoxでURLにchrome://browser/content/を入力すると内側にもう一つのFirefoxを起動出来る。 なので、これをXULRunnerから直接起動することを考える。 firefox/chrome/browser.manifest すでに以下の内容が記入されているのでそのまま利用 content browser…

Firefoxからの実行とXULRunnerからの実行の共存

XUL

単一のXULファイルをFirefoxとXULRunnerの両方から起動出来るようなファイル配置を考える。 firefox/がFirefoxというXULアプリケーションにとってのルートディレクトリで、 間借りしたfirefox/chrome//がというXULアプリケーションにとってのルートディレク…

編集可能なメニューリスト

XUL

XULならとすることで作れる XUL Tutorial:List Controls 編集可能なメニューリストを作成するには、次の例のように editable 属性を追加します。 ここで作成された URL 欄は、既定の選択肢 3 つがあるため、ユーザはこれらから選択することが出来ますが、自…