Mozillaでプログラミング(XUL)at TECH
Mozillaでプログラミング(XUL) - 暇つぶし2ch191: ◆Z80FPU5k
02/06/30 00:34
UIかけるようになりますたw
まだ中身なんもないですw
URLリンク(baniisan.s12.xrea.com)
どんなUIにするか考えるのめんどかったんで、FFFTPzillaに
してみますたw
この程度のUI作るだけで約4時間半。。。こんなペースで
勉強してたら、完成するのは半年ぐらいかかるヨカン。。。鬱

192:デフォルトの名無しさん
02/06/30 01:19
>>191
かこいいすね……
ただ、こういうのって、スキンをつけたらどうなるの?
今、PinBall使ってるんだけど、それなりに変更とかされるのかな?

193: ◆Z80FPU5k
02/06/30 01:30
>>192
スキンどころか、ロケールすら無視してゴリゴリですw
今んとこおいらのスキルが見かけとか気にする段階じゃ
ないもんで、とりあえずどこクリックしても無反応なこのUIに
機能を実装するのが最優先なのれすw

194:厨房もじらー ◆3mOz2Ch.
02/06/30 01:52
>>191
見てみた。カコ(・∀・)イイ!!ね。
とりあえず勉強しながらの開発は、段々と要領を得ていくものなので
基本的には開発の速度は加速していくものだから
そんなに心配しないことです。

>>192
見たところテーマに依存しない風なつくりなので
あらゆるテーマでそれなりに表示されると思われ。
Moz2chは、いらないところに凝ってるから
各種テーマに対応する差分テーマ作らなきゃなんだけど。。。(鬱

195:デフォルトの名無しさん
02/06/30 02:17
ユーザープロファイルが入ってるフォルダのパスってどうやって取得するんでしょう?
そこに設定ファイルや個人のtempファイルを置こうかなーと思ってるのですが。


196:デフォルトの名無しさん
02/06/30 02:38
>>195
Piroさんのウェブページで解説されてたと思うよ。

197:デフォルトの名無しさん
02/06/30 02:46
>>196
おぉ!本当だ!すんばらしい!

198:デフォルトの名無しさん
02/07/01 00:12
2ch用ブラウザを使っていないので2ch用の各ブラウザが
どうやってるのかは知らないのですが、例えば取得したdatファイルを
HTML化して表示するには、一度ローカルに書き出してからそのローカルファイルを
ロードするという方法が常道なのでしょうか?
Moz2chもそうしてるようですし。

199:デフォルトの名無しさん
02/07/01 00:17
普通はそんなことしないよ
必要以上にディスクIO増えて遅くなるだけ

200:デフォルトの名無しさん
02/07/01 00:19
先に保存しておけば、保存し忘れるということはない。
例えクラッシュした場合でさえ。

201:デフォルトの名無しさん
02/07/01 00:19
普通はどうやるんでしょうか?

202:厨房もじらー ◆3mOz2Ch.
02/07/01 00:32
>>198
2ちゃんねる→Moz2ch→ログを保存
        ↓
       データを処理
と並行してやってる。
Moz2chは、一応データを処理してからログに吐き出すようにしてるから
ローカルに書き出してからロードするというようにはしてないよ。
2回目以降はログ読み優先にしてあるから、ログ読みに逝くけど。

203:厨房もじらー ◆3mOz2Ch.
02/07/01 00:34
ちなみに、漏れの記憶が正しければMonazillaスレの初期のものは
一旦ローカルにデータを落としてから、
いろいろ弄るような形式になってたと思われ。
当時はDAT直読みができなかったから、データ解析が大きな処理で
データのダウンロード、保存とは分けて考えたかったからだと思う。
違ったらスマソ。ツッコミよろしく。

204:201
02/07/01 01:16
>>202
んー、すいません。どこでデータ処理してるかわかりません。
教えていただけないでしょうか。
moz2chSure.writeEnd()でHTMLソースの作成が完了して、
f.write(this.html);でmoz2ch.htmlというローカルファイルに
書き出して、
document.getElementById("sureBrowser").loadURI(f.URL,
 Components.interfaces.nsIWebNavigation.LOAD_FLOAGS_NONE);
でそのmoz2ch.htmlをロードしている、と思っていたのですが、
データを処理(変数内のHTMLソースを直接表示)するのはどこで
やっているのでしょうか?

205:199
02/07/01 01:21
あーごめんちょっと勘違いした。

ローカルに保存した.datをHTMLとして出力する時に、テンポラリファイルとして
.htmlを作るようなことは普通しない、という意味で書いた>199

206:厨房もじらー ◆3mOz2Ch.
02/07/01 01:29
>>205
読み違えてた。スマソ。。。
普通は.htmlを作ることはないと思いますが、
Moz2chでそうしているのは
JavaScriptにはスレッドがないので(多分)
document.write()などJavaScriptのメソッドで
連続して大量のデータについて重い処理をすると、
固まったようになっちゃうので、
暫定的にファイル書き出し、読み込みするようにしています。

データを溜め込むバッファみたいなのを用意しておいて
setTimeoutなどで定期的にバッファを処理するようにしてやれば
うまくいくような気はしてるんですが、今はネットワーク周りと
基本的な設計とか構造に関することが気にかかってるので
そのあたりは後回しです(汗

207:厨房もじらー ◆3mOz2Ch.
02/07/01 01:31
ちなみに、差分getをサポートしたら、
逐次レンダリングをしようと考えてるんだけど
そのときにもう少し効率のよい描画方法として
上の方法を試そうと予定しています。

208:厨房もじらー ◆3mOz2Ch.
02/07/01 01:33
話の流れ上ここで話しちゃったけど
>>179

209:201
02/07/01 01:54
Moz2chでは一時的に.htmlを書き出してからそれをロードしてるということで
いいのでしょうか?そして、普通は(他の言語で作られている2chブラウザでは)
そのようなことはせずに変数内のHTMLソースを直接表示させてると
いうことでしょうか?

それでこれに関連してもう一つ。
IEコンポでは自分で作ったHTMLを表示させるにはinnerHTMLを使ったり、
ちょっとかっこ悪いですがabout:<html>....</html>をNavigate2に
渡せば表示できますが、XULではどうやるのでしょうか。
.htmlに書き出して表示させる方法しか思いつかなかったので先のような質問を
させていただきました。

210:厨房もじらー ◆3mOz2Ch.
02/07/01 02:11
たとえば<browser>エレメントをdocument.getElementByIdなどで取得して
var browser = document.getElementById("myBrowser");
var doc = browser.contentDocument;
doc.writeln("<html>…</html>");
とやればいけると思われ。
doc.innerHTMLでもいけるかも。


211:デフォルトの名無しさん
02/07/01 03:22
ユーザースタイルシートのON/OFFを切り替えたり、
適用するユーザースタイルをいくつも登録しておけるようなアプリを作ってください。

212:23
02/07/01 14:09
をぉ、>>211 のような小物は漏れ向きかも(藁 ちょいと調べてみようかな。
# 暇があれば・・・


213:厨房もじらー ◆3mOz2Ch.
02/07/01 23:11
漏れの意見としては、Piroさんのコンテキストメニュー拡張に
そういう機能があったような気がするので
あっちを使うか、機能不足ならパッチ送って追加してもらうとか
そういう方向のほうがよさげかと。
似たようなアプリが乱立すると(それ自体は悪いことではないと思うけど)
干渉するというか、そういうことがままあるので。

214: ◆S0qIRC9I
02/07/02 00:24
userContent.cssで定義されるユーザースタイルは、XPCOMから操作できるんでしょうか?
自分は方法を見つけられなかったんですが……


215:デフォルトの名無しさん
02/07/02 12:54
>>241

xpcom からと言ってよいのかわからんすけど
userContent.css のスタイルは DOM Inspector から
参照できるです。 その辺りは参考にならんすか?



216:215
02/07/02 12:54
>>241宛じゃなくて >>214宛す。

217:デフォルトの名無しさん
02/07/03 21:23
XUL で遊んでいるんだけど、Javascript がいまいちわかりません。
みなさんは、何を参考にしているんですか?


218: ◆S0qIRC9I
02/07/03 23:39
>>215
ありがとうございます。確かにそれっぽい処理が行われてますね。
しかしどこがその部分なのかソースを見てもさっぱりわからないという自分の低レベルっぷりが涙を誘います。


219:厨房もじらー ◆3mOz2Ch.
02/07/04 11:59
>>217
漏れは手元にあるJavaScript本(古くてちゃちいやつ)と
URLリンク(developer.netscape.com)
あたりを参照しつついろいろやってるよ。

220:デフォルトの名無しさん
02/07/06 09:09
217です。

>> 219
厨房もじらーさんありがとうございます。
参考にします。



221:デフォルトの名無しさん
02/07/06 09:58
XUL 初心者ですが、練習をかねて作成してみました。
カスタムメニューバー
URLリンク(member.nifty.ne.jp)

人柱になっても良いという方、テストしてくれませんか?
Nifty が(今の所) .xpi の mime を追加してくれないので、
自動インストールできません。あしからず。

222:厨房もじらー ◆3mOz2Ch.
02/07/06 10:19
>>221
インストールしようとしてみたのですが、インストール中にこけます。
以下はログです。ファイルの場所以外はそのまま載せます。

-------------------------------------------------------------------------------
file:///*****/custommenubar-092.xpi -- 07/06/2002 10:12:33
-------------------------------------------------------------------------------

Custom Menubar (version )
--------------

** initInstall: 0
** ィ鵈 (-214): ウn{2:

Install completed successfully -- 07/06/2002 10:12:33


223:厨房もじらー ◆3mOz2Ch.
02/07/06 10:22
>>222 を見てもわかるように、ファイルがコピーされてないようです。
install.jsの中を見てみたのですが、
おそらくperformInstall()する前にエラーチェックをしてないので、
インストールは成功とでます。

#たいていperformInstall()の前でこういう感じでエラーチェックします。
err = getLastError();
if (err == SUCCESS)
performInstall();
else
cancelInstall(err);


224:厨房もじらー ◆3mOz2Ch.
02/07/06 10:31
改めて見てみたら、addDirectoryしているのに
custombar.xpiの中に入ってるのはcustomebar.jarでした。。。
それでファイルが見つからない(-214)のエラーがでてるようです。
修正したものを一応
URLリンク(xul-app.hoops.jp)
にageておきますた。

225:厨房もじらー ◆3mOz2Ch.
02/07/06 10:43
で、ちょっと使ってみましたが、メニューから辿る動作がない分
ラクといえばラクですね。ただ、冗長だと思わないでもないです。。。
個人的な希望としてはアイコンが入って、アイコンのみ、
アイコンとテキスト、テキストのみを切り替えられると(・∀・)イイ!!
と思うです。

ところで、ツールバーの区切りは
<label value="|"/>で実現してると思うのですが、
<toolbarseparator/>をなぜ使わないのかが気になる気になる。。。


226:厨房もじらー ◆3mOz2Ch.
02/07/06 10:51
印刷プレビューは、print(印刷ボタン)のポップアップから使えるので
要らないような気がしますが、どうでしょうか?

227:221
02/07/06 11:17
厨房もじらー さん。素早いコメント感謝です。
どうやら前のバージョンをアップしていたようです。失礼しました。
差し替えた(つもり)です。
最新版では
<toolbarseparator minheight="16px"/>
で処理してます。

アイコン入れるのは考えたのですが(そのためのツールチップ)、
テーマとの整合性を考えて保留にしてます。

228:221
02/07/06 11:29
印刷プレビューの件ですが;
ブックマーク系もパーソナルツールバーやサイドバーに表示できるのに、
付けて欲しい、という人がいたので追加した、という経緯があり、
とりあえず入れてあります。
デフォルトから外しているのはそのためです。


229:厨房もじらー ◆3mOz2Ch.
02/07/06 13:25
>>227
最新版はまだ試してないのですが、
漏れがいろんなXULアプリを見てきた中で<toolbarseparator/>は
<toolbar tbalign="stretch">
<toolbarseparator label="LABEL"/>
</toolbar>
のように使われてたので、そうすると意図した表示になると思われます。

230:221
02/07/07 09:02
>>229
最初は <toolbarseparator/> だけでやってみたのですが、
なぜか空白だけで区切り線が表示されない。
(<menuseparator/> では表示されるのに)
悩んだあげく <label value="|"/> で強引に表示させていました。
同等の表現は、お教えいただいた、
<toolbarseparator label="|"/> でできるかと思いますが、
これまた、他の人に教えていただいた、
<toolbarseparator minheight="16px"/> の方が他の UI と同じ
区切り線がでるので、これで行こうと思います。

231: ◆3mOz2Ch.
02/07/07 17:10
>>230
>>229 は間違ってました。
重要なのは、<toolbar tbalign="stretch">の部分で、
<toolbarseparator/>
にはlabelは要りませんでした。
Mozilla Messenger(メーラ)のコードはこういう風にしてあったので。

<toolbar tbalign="stretch">
<toolbarbutton label="Button1"/>
<toolbarseparator/>
<toolbarbutton label="Button2"/>
</toolbar>

のようにします。スマソ

232:221
02/07/08 10:49
>>231
確認しました。
tbalign="stretch" 入れると、 <toolbarseparator/> だけで
区切り線が表示されました。
次期バージョンに取り入れたいと思います。
いろいろなご助言、ありがとうございます。

ダウンロードページの Contributors に記載してもよろしいでしょうか?
「厨房もじらー さん@Mozillaでプログラミング(XUL) 」とか。
匿名希望も受け付けますが(w

233: ◆3mOz2Ch.
02/07/09 10:35
>>232
いえいえ、XULプログラミングの発展を願ってます。
Contributorの扱いはそちらにお任せします。
Contributeというほどのことはしてないと思いますけどね(藁

234:デフォルトの名無しさん
02/07/09 15:44
ネットランナーに、PiroさんのXULアプリ多分全部と、PROXYBARも入ってた...

235: ◆3mOz2Ch.
02/07/10 00:34
proxybar、さりげに有名に(藁

236:デフォルトの名無しさん
02/07/12 05:23
>>235
×「さりげに有名」
○「なにげに有名」or「さりげなく有名」

237:≠235
02/07/13 03:58
>>236
非常に申し上げ難いのですが
「さりげに」は若者言葉として
既に定着した感のある
形容表現で御座いますが...

238:デフォルトの名無しさん
02/07/13 04:52
素直に受け止めろ。仲間内だけで使え。

239:厨房もじらー
02/07/13 14:42
>>236 >>237 >>238
さりげにって普段使うけど
意味は「なにげに」の場合が多いな漏れ。
と、反省させられたので
仲間内だけで使うことにするYo!
ありが㌧。

そんなことより>>1よ…じゃなくて
そんなことより、このスレでこういう話題しか書き込まれないのがサミスィ
漏れもそうだけど、XULプログラミング一般ってネタ少ないねやっぱり。

240: ◆sX5Fl3bU
02/07/13 18:14
>漏れもそうだけど、XULプログラミング一般ってネタ少ないねやっぱり。

XUL 一般となるとまだ少ないけど、
スレリンク(mac板:879-886番)n
の bookmarklet なネタとかも合わせれば地道に増えてる気もする。
ちなみに bookmarklet については
URLリンク(www.squarefree.com)
とか。

直接は関係ないけど XUL 開発に使えるかもしれない Tips をばひとつ。

● Chatzilla を JavaScript のちょっとしたテスト実行に使う。
・Chatzilla は *Client* タブの画面でコンソールに JS 式を書くと
直接実行される。
・コンソールで Ctrl + ↑ を押すと複数行入力が出来る。
送信は Ctrl + Enter。
・display() が組み込まれてるので、表示画面に返り値など表示できる。
これらを利用して…
-------------------------------------------
function setLoadImage(value)
{
var prefkey = 'network.image.imageBehavior';
var pref = Components.classes['@mozilla.org/preferences;1']
.getService(Components.interfaces.nsIPrefBranch);
pref.setIntPref(prefkey, value);
display("load Image mode: " + pref.getIntPref(prefkey));
}
setLoadImage(2);
-----------------------------------
とか入力すると、画像表示可・不可の切替が出来る。

現在のブラウザウィンドウを参照するときは
--------------------------------------------
const WINMAN = Components.classes['@mozilla.org/appshell/window-mediator;1']
.getService(Components.interfaces.nsIWindowMediator);
function getWin() { return WINMAN.getMostRecentWindow('navigator:browser'); }
// 上2行ブラウザウィンドウを取得するのに必要。
getWin().getBrowser().contentDocument.location.href = 'URLリンク(www.mozilla.org)';
-----------------------------------------------------
こんなかんじ。もっと楽したければ Contextmenu-Extension の
JavaScript TestRun や Custom Script つかうべし。

考えてみると、これ利用すればマクロ実行とかできそうな予感。

241:厨房もじらー
02/07/13 23:27
>>240
おお、スゴッ
感動した!
複数行表示とか全然知らなかったよ。
JSLibにはスクリプトを読み込むinclude()関数っていうのがあるんだけど
これも使えば、外部JSファイルを追加読みこみしたりできるし
マクロ実行とかできそう。

bookmarkletネタだと漏れは
javascript:resizeTo(640,460);
javascript:resizeTo(808,680);
javascript:resizeTo(1024,748);
とかやって、ウェブページ作成のときに
画面サイズの目安にしたりしてるくらい。。。

全然フツーだな、スマソ逝ってくる。。。

242: ◆sX5Fl3bU
02/07/14 00:46
>>241
include()関数?と思って JSLib 見てみたら…
---------------------------------
const PROG_ID = "@mozilla.org/moz/jssubscript-loader;1";
const INTERFACE = "mozIJSSubScriptLoader";
const Inc = new Compornents.Constructor(PROG_ID, INTERFACE);
(new Inc()).loadSubScript(aScriptPath);
---------------------------------------
及び
URLリンク(lxr.mozilla.org)
こんなもん用意されてたとはっ(当然?)

243: ◆S0qIRC9I
02/07/14 01:29
>>242
おぉ、そんな機能があったとは。
CustomScriptにも取り込もう……


244:厨房もじらー
02/07/14 02:15
ファイル読み込みができるんだから(XPCOM使って)
読み込んだファイルの内容を
eval()してやっても同じことができる?とか妄想した漏れはアレゲですか?

245: ◆S0qIRC9I
02/07/14 03:30
>>244
げふ。もう短縮構文作っちゃいました。後の祭り。


246:厨房もじらー
02/07/15 00:11
>>245
いや、>>244はネタですた(藁
普通に>>242のほうが早いと思うし、
逝ってみただけです。。。

247: ◆q78mh/0k
02/07/15 04:42
Deskmod.com に、XUL アプリを置けるカテゴリが作られてるので、
ご報告。カテゴリ名は変わるかもです。(今は mozilla plugin)
URLリンク(www.deskmod.com)

# 暑い・・・。

248:厨房もじらー
02/07/16 03:54
>>247
情報マリガトー
Piro氏のFloating Sidebarが入ってるNe!
mozdev.orgはなんかパンク状態みたいだし
もっとリソースがいろんなところに分散されるといいんだけどね
そういう意味では
DeskModはテーマだけ配ってりゃいいって思ったの漏れだけ?

249: ◆sX5Fl3bU
02/07/16 14:28
>>248
descmod の Floating Sidebar は Piro さんのとは別物よん。

Chatzilla の components/chatzilla-service.js みたいな
コマンドラインに -sidebar オプションつけたり
Mozilla 起動時の初期化とかしてるみたいなんだけどわけわかめ。
使いこなせれば Moz2ch にも利用できるんだろなーと思うんだが…

250: ◆q78mh/0k
02/07/16 19:48
ツールバーに Home ボタンを追加するアドオン。
ここの方々はアンインストール方法分かると思うけど、
一応、そのページにも書いています。
(overlay 、chrome.rdf 削除と、installed-chrome 編集)
URLリンク(home.no.net)

Deskmod は、以前から Mozilla 以外のものを配布していたらしく、
何でもあれのような感じもします。
mozdev はどうにかならないものかと思いつつ。
一応、ヨーロッパと米国のミラーがふたつくらい名乗り出てくれたところが
あるらしいので、どうやってミラーリングするシステム組むか、とか
あるのかも知れないです。同時分散できない部分もあるし。

251:厨房もじらー ◆Moz2cH0k
02/07/17 02:04
>>249 >>250
Piroさんのとは別物でしたか。。。確かめずに書いてスマソ

起動時の初期化はJSComponentとしてどうこうで必要だった様な。
JSComponent関連は全然わからぬのですが(苦笑

Homeボタン、アイコンはよくできてると思うんだけど
ボタンは四つがまとまりがいいなあ。。。
どうせやるなら、ツールバーボタンの編集機能をつけるとか
もっと斬新なことをやってほしい感じ。

DeskModは、帯域に余裕があるなら何したってかまわないんだけどね。。。
っていうか、Mozdevはいろんなサービス提供しまくってるわりに
リソース不足だから、Webホスティング機能がパンク状態みたいな。。。
うーん。。。XULアプリ開発の中心的存在としては
もっとなんとかなってほしいですね。。。


252:221
02/07/18 14:57
カスタムメニューバー、ver 0.93 にしました。
URLリンク(member.nifty.ne.jp)
(URL の誤字を修正)

フルスクリーンモードに対応、ですが、内部的には、
fullscreentoolbar="true" を足しただけです。(w

253:厨房もじらー ◆Moz2cH0k
02/07/18 17:05
>>232
入れてみました。普段は使わないんですけどね(藁
前もあったのかも知れませんが、ツールバーボタンのツールチップに
どのメニューのアイテムか(表示 | 大きくみたいに)
出るようになってるのが(・∀・)イイ!!と思いますた。
フルスクリーンモードは普段使わないので特に感想なし!

Mozilla 1.0.1では新タブボタンがタブバーに付くようなので
Navigator タブはいらなくなるかな。
で、やっぱりアイコンがホスィ。。。
XULアプリはテーマとの兼ね合いが難しいと思った今日この頃。。。

254:デフォルトの名無しさん
02/07/19 00:33
>>251
Homeボタンは、レディーメイドで、ヘルプ用に用意されているものですね。
ちなみに、それが既定の Toolbar 用アイコンで、ナビゲータの方は
small ツールバーモードになります。たしか。

>>252
テキストの Larger/Smaller がとても便利です。Navigator Tab ボタンは、
1.0.1 自体に組み込まれそうなので不要になってしまいそうです。と、253 と同じことを感じました、、。
1.0 の API の固定化というのは、ベースの部分なので、
フロントエンドは 1.0.x でも結構変わるのではないかなあ、と予想してます。
(でも、1.0.1 以降は大幅には変わらないような予感です)

Show/Hide の縦表示が長いので、これは Scroll ボタンを付けたほうが良いかな、
と思いました(XGA だと全部見えない)。

個人的には、ブックマークは、ContextMenu Extentions のコンテクストメニューからがベストかな。フルスクリーンはたまに使うほうなので、良いです。リストアするときも同じボタンでできるのですね。

ワンクリックアクセスで制御できる部分に絞ると他と棲み分けできて良いかも、とか、ツールバーではなくて、フロートにしてしまったほうが面白いかも、と勝手なことを考えました。

255: ◆q78mh/0k
02/07/19 00:38
>>253
テーマとの兼ね合いが難しいところってどういう点でしょう?
自前で用意することもできますよね?

256: ◆q78mh/0k
02/07/19 00:50
>>254 への追記(was >> 252 )
[Print Preview] にワンクリックで行けるのも結構便利です。

257: ◆q78mh/0k
02/07/19 00:56
>> 254 へのさらに追記
思ったのですが、[back][forward][reload][stop] も組み込んで、
[open URL] も一応組み込むと、テキストオンリー的な使い方も出来て良いかも知れないです(メインのツールバーが無くても、ナビゲーション出来るようにしてしまう形)。
連続書き込み失礼。

258: ◆q78mh/0k
02/07/19 01:01
> Show/Hide の縦表示が長いので、これは Scroll ボタンを付けたほうが良いかな、
と思いました(XGA だと全部見えない)。

すいません、Moz を再起動したらちゃんと出てきました。
自前で適当に弄ったもので少し実験していたからかも知れないです。

259:252
02/07/19 09:16
>>253
ども。
ツールチップの大項目は、
単品ではわかりにくそうなメニュー項目だけに付けてます。
「Navigator タブ」は、次期バージョンでデフォルトから外します。

アイコンが課題ですね。少し遊んでみます。

260:252
02/07/19 09:18
>>254-258
好意的な評価とコメント、ありがとうございます。

> フロートにしてしまったほうが...
いや、確かに面白いのですが、力量が伴いません。(藁
Piro さんのフローティングサイドバーを研究してみます。

> テーマとの兼ね合いが難しいところ...
アドオン作者側としては、ユーザーがどんなテーマを使用しているか
がわからないので、
自前のアイコンとユーザーが使用しているテーマとが
ミスマッチするとイヤ、という点があります。
全てのテーマに、メニュー項目に対応したアイコンセットが準備されている、
と言うのが理想なのですが。

> テキストオンリー的な使い方も出来て...
冗長度120%アップ(当社比)ですね。
これは比較的簡単なので、要望が多いようなら追加します。

Bugzilla に乱入する勇気がわいてきました。
これから逝ってきます。

261: ◆S0qIRC9I
02/07/20 03:29
>>260
不要なアドバイスかも知れませんが……

関数で最近アクティブだったNavigatorウィンドウを取得するようにして、
oncommand="navWindow().addBookmarkAs();"
とかすれば、フロート化したウィンドウからそれぞれの機能が使えます。

あとは、別ウィンドウ時はノッチを隠すとか、そんな感じでどうでしょう。


262:260
02/07/22 12:08
>>261
コメントありがとうございます。

> 不要なアドバイスかも知れませんが……
XUL 初心者に不要なアドバイスは存在しません。(藁

厨な質問で恐縮ですが、

> 関数で最近アクティブだったNavigatorウィンドウを取得する...
URLリンク(www.cc-net.or.jp)
で良いのでしょうか?

> 別ウィンドウ時はノッチを隠す
「ノッチ」って何でしょう? タイトルバー?

263: ◆S0qIRC9I
02/07/22 15:05
>>262
>URLリンク(www.cc-net.or.jp)
なんか……今見たら、途中でドキュメントが混ざっちゃってますね(汗)
まあともかく、nsIWindowMediatorを使ってnavigatorのウィンドウを取得するという話です。
ただ、Moz1.0からはクラスの登録名が変わったのか何なのか、1.1くらいになるとこれだとエラーになります。

if (Components.classes['@mozilla.org/appshell/window-mediator;1'])
var WINMAN = Components.classes['@mozilla.org/appshell/window-mediator;1'].getService(Components.interfaces.nsIWindowMediator);
else
var WINMAN = Components.classes['@mozilla.org/rdf/datasource;1?name=window-mediator'].getService(Components.interfaces.nsIWindowMediator);

Moz1.0以降でしか動作させないなら、条件分岐させずに前者で決め打ちしちゃってOKではないかと。

あと、ノッチじゃなくて、グリッピーでした。ツールバー左端にあるアレです。


264: ◆S0qIRC9I
02/07/22 23:39
当該部分の記述を分離しました。
URLリンク(www.cc-net.or.jp)

265:超ぉ~Anne
02/07/24 03:20
うぇー、なんか皆たのしそうぢゃぁー。
ワシ忙しくてなんもできん・・・

とりあえずネタフリでもしておきますと、誰か script debugger の
使い方分かる人いらはりませんかね?

#次ここを見られるのは何日後だろう・・・

266: ◆sX5Fl3bU
02/07/24 11:53
>>265
Venkman のこと? < script debugger

URLリンク(www.mozilla.org)
の Venkman Test Drive 以下見たりしてやったこと

1. mozilla -venkman で起動する。(こうしないとデバッガモジュールがロードされない)
2. メニューの [Window] - [Moz2ch] とかで XUL App 起動
(contextmenu extention なら [Window]-[Navigator] とか)
3. 左上から二番目のソースリストからデバッグしたい js ファイルを選ぶ
4. 右上のソース表示画面で[-]をクリックするとブレークポイントが設定される。
5. いっぺん Moz2ch ウィンドウを閉じて[Window] から再度起動すると
ブレークポイントで止まる。
6. Step 実行させて prop this とか 右下のプロパティツリーで変数など
確認する。

これで Moz2ch とか Contextmenu-Extension の処理の流れを見たりしたんだけど…

・プロパティツリーの見方とかわしもよくわからん。
・App ウィンドウ何度も開いたり閉じたりしてるとばんばん落ちる(ぉ
・Mozilla 1.0 だと[Window] メニューがない。
open-dialog コマンドで chrome://... 指定すればいけそう。
・Mozilla 1.1b で 1.(mozilla -venkman) しなくてもよくなったのかな?
URLリンク(www.hacksrus.com)
見てくれ。

こんなんでどぉ?

267:デフォルトの名無しさん
02/07/25 19:41
"Creating Applications with Mozilla"買う人いる?

268:厨房もじらー ◆Moz2cH0k
02/07/25 23:21
内容を見てみないことには。。。
漏れが知ってることしか書いてなければ必要ないし(藁
書籍というのは、得てして「最新」でありにくい、というのもあるしね。。。
XULプログラミングは動きが激しいから。


269:デフォルトの名無しさん
02/07/25 23:39
Utility Panelsはもう開発されないのですか?

270:厨房もじらー ◆Moz2cH0k
02/07/26 01:06
>>269
作者さんが今忙しいみたいなんで(>>265参照(藁
今は動きがないですが
時間ができたらまた弄るんじゃないですかね
漏れにはわからないけど。。。

271:デフォルトの名無しさん
02/07/31 07:16
下がりすりぎ
一度上げておきましょう

272:デフォルトの名無しさん
02/08/22 22:08
age

273:今日 XUL の存在を知った奴
02/08/31 02:16
Hello World を打ち込んで動かす事は出来たのだが、Mozilla 1.1 で
再起動せずに制作中の XUL を更新する方法が分からない。「chrome の
キャッシュを無効にしろ」という記述があったが設定が見つからない。
良い方法を教えて下さい(毎回再起動じゃ実験にならん)

あと、XUL を使って、どのページ閲覧中でも強制的に最上位に描画を
するような物は作れるんでしょうか。具体的に言えば「ブラウザ内に
常駐デスクトップアクセサリ(マウスカーソルを追いかけるやつとか)
を作ることが出来るのか?」ということなのだが


274: ◆S0qIRC9I
02/08/31 05:24
>>273
Preferences > Debug > Events
Mozilla1.1などのマイルストーンビルドでは項目が隠されているので要注意。
prefs.jsを直接いじるなら、 "nglayout.debug.disable_xul_cache" を有効にして下さい。

ウィンドウの最前面表示は、window.openDialogでフラグに ",alwaysRaised"を加えれば可能です。動的な変更はできませんが。
作れるウィンドウの形は矩形に限られるので、アクセサリの作成には向いてないと思います。
一つのウィンドウ内で動作させるだけで良ければ、<image>をCSSのポジショニングを使って配置するとかすれば実現可能かと。


275:273
02/09/01 00:28
>マイルストーンビルドでは項目が隠されているので要注意。
なるほど、だから無いんですね

>prefs.jsを直接いじるなら
このファイル自体ありませんね(Mozilla1.1)。grep しましたが
nglayout.debug.disable_xul_cache の設定をしている js ファイル自体
見つかりませんでした。そこで

default/pref/all.ja の最後に
pref("nglayout.debug.disable_xul_cache", true); という記述を追加

してみたところ、キャッシュが無効になりました。これで色々実験が
出来ます

>動的な変更はできませんが
うーん、残念

>ウィンドウ内で動作させるだけで良ければ
それは作ってあるので、これが Mozilla に常駐出来たら面白いかなと
思ったんですけどね

276:デフォルトの名無しさん
02/09/02 21:18
prefs.jsがファイル自体存在しない、ってどういうこと?
誰か理由が推測できる人、解説キボン

277:デフォルトの名無しさん
02/09/02 21:23
>>273
あー、なんとなくわかった
prefs.jsはもじらのインストールディレクトリ下ではなく、
プロファイル関係のディレクトリに入ってるんだが。

278:デフォルトの名無しさん
02/09/05 02:23
>>276
親ディレクトリ等が隠されている場合、prefs.jsなどの中身のファイルも見えなくなるようです。


279:273
02/09/08 01:14
>276,277,278

再度探したところ、
C:\WINDOWS\Application Data\Mozilla\Profiles

の下のユーザー名の下の zlbi7tjz.slt というディレクトリ
(なんじゃ、この名前は)にありました。Mozilla は D ドライブに
インストールしてたので気づかなかった。ってゆーか、勝手にこんな
所にデータ作ってるとは...

# ってゆーか、その前に Windows 版だって書いてませんでしたね。失礼
# しました。

ちなみにここの pref.js にも xul cache の設定は無かった。自分で
書く必要がありそうです。試してませんが。

280:デフォルトの名無しさん
02/09/08 01:22
>>279
変な名前のディレクトリを作るのは、セキュリティのためだそうです。
隠し設定は元々の設定ファイルには記述されていないので、大概は自分で書く必要があります。


281:デフォルトの名無しさん
02/09/08 09:58
勝手に、っていうけど、これが一番MSの意図に沿った管理方法だが。
IEやOEなどもこの方法をとってる。さらに言えばdoc/viewモデル。
シリアライズされたデータは実行ファイルとは分けて考える。
pref.jsにない項目をいじる場合、user.jsファイルを追加して
そこに書きこむと反映される(pref.jsにコピーされる)、だったかな。

282:デフォルトの名無しさん
02/09/08 13:25
findbar(・∀・)イイ!!
xpfe/components/find/resources/finddialog.jsも書き換えたいな…

283:デフォルトの名無しさん
02/09/08 16:39
URLリンク(www4.tkcity.net)
に行けないよぉ。鯖落ちしてるだけならいんだけど。

284:超ぉ~Anne
02/09/09 00:07
>>283
鯖落ちですスマソ。ここ数日ずっと落ちてるみたいです。
ただ、当方現在(って何箇月前からだよ(涙))多忙につき、引越し先を
探してる暇がないんです・・・
# 「そのくらいあるだろ」と言われそうですが、なかなか・・・

>>282
勉強不足で申し分けないんですが、それ何ですか?
ちょいとディレクトリ掘ってみたけど見当たらず・・・

ついでにphoenixでproxy設定が出来ないんでproxybarを付けようと思ったら
何故かOverlayを読み込んでくれない模様。何か変わったんですかねぇ?
誰か何か知ってたら情報キボンヌ。proxyさえクリアできればphoenix常用なんですが・・・
# 当方ノートで場所毎にproxyが違うんでpref.jsいじるのはちょっと勘弁

285:283
02/09/09 00:50
鯖落ちでよかった。findbar 手に入れたかったんだけどちょっと待ちます。

phoenix は変わったっつーか、navigator.jar がなくなって browser.jar に、
toolkit.jar 内が大幅に変更されてる様子。navigatorOverlay.xul もなくて
browser.jar!/browser.{xul.js} に全部書いてあるっぽいんでそっちに
Overlay すればいいのかな?全部書き換えないと無理っぽい肝

286:デフォルトの名無しさん
02/09/09 01:57
>>285
隊長、findbar発見しました!
URLリンク(rh.vinelinux.org)

287:超ぉ~Anne
02/09/09 03:15
>>283
まさか利用者がいるとは思っていなかったっす(w
どうもご利用ありがとうございます。ヘタレなブツでスマソ
なんでしたらテンポラリなメアドでも教えて頂ければお送り致しますが・・・

navigatorOverlay.xul は overlayinfo にも書いてあるし、comm.jar にも入ってる
んですが、もしかして使われてないんですか!?
それならproxybarも呼ばれないの納得ですわ・・・
さてどーすべぇか・・・

>>286
そんなのもあるんですね。
名前が被るとどーなるか分からないんで恐くてインストールしてないんですが、
ソース見た感じではツールバーで同じ事してるっぽいですね。
個人的にはステータスバー派なのですけど、>>283 氏も別にステータスバーに
こだわらなければこちらでもよろしいのではないかと。



288:超ぉ~Anne
02/09/09 03:57
URLリンク(www26.tok2.com)
昔取ったまま何も使ってなかった垢発見しますた(藁
とりあえず再利用ってことでここに置いておきます。
よろしければどーぞ。

289:デフォルトの名無しさん
02/09/09 04:27
>>287
まぁ、Phoenixはnavigatorのコードを全部捨てて(XULレイヤで)ゼロから作り直してるわけですから、navigator用のアドオンは全滅と考えておいた方がいいかもしれません。


290:デフォルトの名無しさん
02/09/10 13:47
XUL Planet リニューアル sage!
URLリンク(www.xulplanet.com)
Preferences Toolbar も大幅アップデート!
URLリンク(www.xulplanet.com)

・・・でも、腰を据えて弄りまわす時間的余裕が無い・・・。

291:超ぉ~Anne
02/09/11 00:36
ちょちょいとbrowser.xul@phoenix見てみたんだけどどーもoverlayさせない勢
いのコードっぽいですなぁ。しょーがないから自分用browser.xulに書き変えてちまったぃ。
これで快適じゃ…ってアップデートするたんびにこんなことするのメンドクセェな…

292:デフォルトの名無しさん
02/09/11 10:52
>>284
> ちょいとディレクトリ掘ってみたけど見当たらず・・・

間違えて、1.0rc1のsource読んでた…
見つからなかった時のdialog windowがウザイので、
./xpfe/communicator/resources/content/findUtils.jsの
> gPromptService.alert(window, gFindBundle.getString("notFoundTitle"), gFindBundle.getString("notFoundWarning"));
を何とかしようと思っている。

293:デフォルトの名無しさん
02/09/11 11:25
aa.poromeria@docomo.ne.jp
メールボムかも~ん

294:デフォルトの名無しさん
02/09/11 18:28
>>293
通報しました

295:デフォルトの名無しさん
02/09/13 00:58
MozDev のダウンロードミラー
URLリンク(downloads.mozdev.org)

296:デフォルトの名無しさん
02/09/13 03:16
               「 ̄ ̄了 ハイハイ!
              l h「¬| どいてどいてぇ~。
       / ̄ ̄\__,ト、々/____
     /   /-∧i. /  jテ、      f ̄ヨ
    /   ./293) /  / /.il iー―‐u' ̄
   ./   /ー'' / /  / / l l
   i'  /   l ヽ../  レ'  l l
.  /  _/ \  !、 lヽ____」 l
.  !、/ \. \ \lN =口= ト./
   ト、__\/ト、/ト、  y   l
   l    ̄(  )y )  /l   i
   l   l   Y''/ー'  / .l   l
   !、  l  l./   /  l   l
   /  /  l/   ,/  i'    l
  /_  ./l   l`ー‐〈   ト.__」
  L_``^yト._」、ー"   `ヽ_」
   `ー' `ヽ_」


297:デフォルトの名無しさん
02/09/21 19:06
Mozilla雑誌の掲載されていたね~

298: ◆Moz2cH0k
02/09/22 03:02
Creating Applications with Mozilla
がOpen Public Licenseで読めるようになってるみたいなので
参考にするひとはどぞー

URLリンク(books.mozdev.org)

299:デフォルトの名無しさん
02/10/06 02:13
Phoenixスレより転載。

Mozilla の アドオンを Phoenix でも動作させる
URLリンク(ryuzi.dyndns.org)
URLリンク(www.mozillazine.org)

非常にあっさり。


300:デフォルトの名無しさん
02/10/13 01:09
ミ・д・ミ

301:デフォルトの名無しさん
02/10/14 08:45
Mozillaに関係ない自アプリから複数URLをNavigatorに送って、
それらを全て(将来的にはボタン押下毎にURLを上から5つ程度)
新規タブで開くという機能を追加したいのだけれど
実現方法に悩んでいます。できればアドバイスください。

XULを使用してMozillaと関係ないアプリと通信する方法はあるでしょか。
あるいは他の選択肢を選んだ方がいいでしょか。思い付いたのは↓3つ
・DDEのWWW_OpenURL→既存ウィンドウの選択中タブに表示される
・XUL→XPCOMはMSのCOMとはどうも別物っぽい(?)
・SideBar→実態はHTMLらしいので自分で更新して実現できる、か?

#スレ違いだったらスンマセン

302:デフォルトの名無しさん
02/10/14 17:18
>>301
window.argumentsで引数が取得できますから、
navigatorではない別のダミーの(ウィンドウを生成しないような)XULアプリを経由してメッセージを送るとか、そんなのは駄目でしょうか。駄目ですね。


303:301
02/10/14 23:48
>>302
引数が読めますか。URLを列挙したファイル名あたりを送れば
実現できそうな気配。チョイ探ってみます サンクス

304:デフォルトの名無しさん
02/10/15 02:50
>>303
実際やるなら、流れとしてはこんな感じでしょうか。
NativeApps > "mozilla.exe -chrome chrome://receiver/content/ %1" で、
receiver.xulの中で

var windowManager = Components.classes["@mozilla.org/appshell/window-mediator;1"].getService(Components.interfaces.nsIWindowMediator);
var nav = windowManager.getMostRecentWindow("navigator:browser");
if (nav) nav.getBrowser.addTab(window.arguments[0]);
else window.open(window.arguments[0]);
window.close();

みたいな。

ちなみに、最近のNavigatorは'\n'区切りのURLのリストを渡すと全てタブで開くようになってます。


305:訂正
02/10/15 02:51
getBrowser > getBrowser()

306:301
02/10/20 12:56
>>304 「'\n'区切りのURLのリストを渡すと~」
なんと!!多謝。試してみま。
つか、XUL結構勝手が違うんで難儀してたあるよ。

307:デフォルトの名無しさん
02/10/20 14:11
>>306
念のため書いとくと、Navigator起動時の引数の話ね。

308:デフォルトの名無しさん
02/10/21 14:37
応用したら開いてるURLをGETしてIEで開くボタンとか作れそうですねえ。
マルチプラットフォームには難しいか。
あ、最初に他のブラウザを登録させればいいのかな。
このくらいならステータスバーでも邪魔にならないでよさそう。
問題は作り方がぜんぜんわかんないことなんだけどね。

|_・) 物欲しげな目でちらっ

309:デフォルトの名無しさん
02/10/21 16:57
xulやjsでetagsが使えれば・・・

310:デフォルトの名無しさん
02/10/21 17:09
>>308
ContextMenu-Extensionsからパクればよいのでは


311:デフォルトの名無しさん
02/10/22 19:20
>>310
その手が、って開いてみたけど・・・。
チュートリアルからやり直してみる。

312:デフォルトの名無しさん
02/10/26 11:22
ちょっとしたツールならXUL使った方が簡単かもしれませんが、
2chブラウザを作るとなると全部JavaScriptってのは逆にしんどくありませんか?

313:301
02/10/26 11:34
>>304 「'\n'区切りのURLのリストを渡すと~」
1つのURLを開く事はできるんだけど、肝心の2つ以上がちと。
\nという文字列で区切ったりキャラクタコードの10,13,13+10で
区切ったり色々試したけどなんか駄目ですた。
Netscape/7.0@Gecko/20020823 使ってるんですが…
ひょっとして、最新Mozillaじゃないと駄目すか?

314:デフォルトの名無しさん
02/10/26 12:05
>>313
その通りです。
Mozilla1.2b以降の機能です。

315:301
02/10/26 13:44
>>314 センキュす。Mozilla取ってきま。

316:デフォルトの名無しさん
02/11/08 09:29
prefbarにページのソースを表示させるボタンを付けたいのですが
onclickはなんと書けば良いのでしょうか。全然わからない。。。

317:デフォルトの名無しさん
02/11/08 21:58
>>316
getBrowser().addTab("view-source:" + getBrowser().contentDocument.location.href)
こんなんかな

318:デフォルトの名無しさん
02/11/08 23:39
>>317
location.hrefよりgetBrowser().currentURI.specの方がいくない?
気分的にだけど。

319:316
02/11/09 09:21
>>317-318
両方ともいけました!大感謝です。
ありがとうございました〜。

320:デフォルトの名無しさん
02/11/09 16:50
XUL チュートリアル和訳:URLリンク(www.janit.com)

を読もうと思ったら404なんですけど、うちだけでしょうか?
他にチュートリアルの邦訳を提供しているサイトってありますか?

321:デフォルトの名無しさん
02/11/09 17:40
>>320
URLリンク(xul-app.hp.infoseek.co.jp)
ここが、「やろうとしている」のは知ってる。

322:320
02/11/09 20:26
>>321
レス有難うございました。404の連続だったので、
例のサイトをWebArchiveで見ることにします。

323:デフォルトの名無しさん
02/11/22 23:39
xulやjsでetagsが使えれば・・・

324:デフォルトの名無しさん
02/11/26 22:48
>>320
URLリンク(xul-app.hp.infoseek.co.jp)
もしかしたらどこか欠けてるかも知れないけど
例のサイトを保存しておいてます。どうぞ

325:デフォルトの名無しさん
02/12/08 02:41


326:デフォルトの名無しさん
02/12/08 02:41


327:デフォルトの名無しさん
02/12/08 02:41


328:デフォルトの名無しさん
02/12/08 22:38
みんなで
URLリンク(books.mozdev.org)
を訳しませんか?

329:デフォルトの名無しさん
02/12/08 23:09
Chapter 2
さぁ、はじめよう

君ができるだけ早くアプリを作れるよう、このチャプターでは2つの
"Hello World" の例を示そう。

最初の例はブラウザウィンドウにロードされるシンプルな XUL
ファイルだ。この例はスタイルシートや Java スクリプトの関数を
XUL ファイルに追加することで拡張することができる。
第二の "hello World" の例はどうやってこれらのファイルをパッケ
ージにするかを教えてくれる。これらはモジュールになっていて
Mozilla アプリケーションや新しい Mozilla モジュール
を作るのにぴったりだ。

これらの例は Mozilla アプリの開発について検討するための背景
を提供してくれる.
最初の例は基本的なファイルの作成と編集に焦点をおいている。
第二の例はMozillaアプリの構成と配布に焦点をおいている。


330:デフォルトの名無しさん
02/12/08 23:10
全ての "Hello World" アプリケーションのように、Example 2-1
に XUL の簡単な例を示す。
この小さな例は イベントハンドラの利用やウィンドウ内のレイアウト
のためのボックスなど XUL プログラミングにおけるいくつかの重要
な面を示している。また、この例はファイルフォーマット、ネームス
ペース、XULプログラミングにおける習慣などの言語についての一
般的な。。。を教えてくれる。

エディタを使って Example 2-1 を hello.xul という名前で保存し、
Mozilla で開いてみよう。ブラウザウィンドウの左上角にボタンが
見えるだろう。ボタンをクリックするとアラートボックスが表示される
はずだ
Figure 2-1 に表示されるアラートポップアップウィンドウを示す。

次のいつくかのセクションでこの例について詳細に説明しよう。
ファイルそのものやマークアアプの文法、XUL のネームスペース、
XUL ファイルの基本的なレイアウトについて解説する。

331:デフォルトの名無しさん
02/12/08 23:15
かなり適当&間違いあると思うけど、こんな感じでどうかな?

別スレ立てるかサイト作りたいけど一人で続けるだけの体力がない。

332:デフォルトの名無しさん
02/12/08 23:32
例を和訳してみますた♥

Example 2-1: Hello xFly
<?xml version="1.0"?>
<!-- Sample XUL file -->
<window xmlns="URLリンク(www.mozilla.org)">
<box align="center">
<button label="hello xFly" onclick="alert('Hello World');" />
</box>
</window>

333:デフォルトの名無しさん
02/12/08 23:34
間違えた。これじゃぁネタにならねぇぢゃん。鬱氏♥

Example 2-1: Hello xFly
<?xml version="1.0"?>
<!-- Sample XUL file -->
<window xmlns="URLリンク(www.mozilla.org)">
<box align="center">
<button label="hello xFly" onclick="alert('コンニチハ セカイ');" />
</box>
</window>

334:デフォルトの名無しさん
02/12/08 23:36
これが正解か。ってスレ汚しとるだけやがな ♥
例 2-1: コンニチハ xFly
<?xml version="1.0"?>
<!-- Sample XUL file -->
<window xmlns="URLリンク(www.mozilla.org)">
<box align="center">
<button label="コンニチハ xFly" onclick="alert('コンニチハ セカイ');" />
</box>
</window>

335:もくじ
02/12/08 23:40
Mozillaで作るアプリケーション

目次
[chapter 00]: はじめに
[chapter 01]: プラットフォームとしてのMozilla
[chapter 02]: Getting Started
[chapter 03]: XUL要素とその機能
[chapter 04]: MozillaアプリケーションのCSS
[chapter 05]: Mozillaのスクリプト
[chapter 06]: パッケージングとアプリケーションのインストール
[chapter 07]: XBLによるUIの拡張
[chapter 08]: XPCOM
[chapter 09]: XULテンプレート
[chapter 10]: RDF, RDFツール, 内容モデル
[chapter 11]: ローカライズ
[chapter 12]: リモートアプリケーション

[Appendix:A]: Mozillaのソースの入手とビルド
[Appendix:B]: 開発ツール
[Appendix:C]: プログラマのためのリファレンス

[resources] : リソース
[corrections]: 訂正


336:0章
02/12/08 23:42
Mozillaで作るアプリケーション

[PREV][TOC][NEXT]
はじめに

MozillaはただのWebブラウザではありません。Cascading Style Sheets (CSS),
XML-based User-interface Language (XUL) や eXtensible Binding Language
(XBL)、Resource Description Framework (RDF)などのXMLアプリケーションなど
の標準技術を用いてクロスプラットフォームなアプリケーションを作成するため
のフレームワークでもあるのです。

MozillaのレンダリングエンジンのGeckoは、XPConnectやXPCOM、Mozillaのコン
ポーネントモデルなどの他の技術とともに、このフレームワークの一つとして働
きます。また、Mozillaの開発環境はJavaScript, C++, C, Python, IDLなどのプ
ログラミング言語も使用します。

Mozillaのフレームワークは、MozillaをベースとするNetscapeのブラウザ
(Netscape 6.xや7.x)、GaleonやChimeraなどの他のブラウザ、ChatZillaや
JabberZillaなどのチャットクライアントにも使われます。また、アプリケーショ
ンの開発者は、Mozillaを開発ツールやブラウザ自体の拡張機能、ゲーム、その
他のアドオンを作るのにも使います。

この本は、Mozillaでどのようにしてアプリケーションを作るのかを説明し、
Mozillaの強力なクロスプラットフォームの開発環境を使ってあなたがプログラム
を作るための手順をステップアップ形式で提供します。また、他の既存のアプリ
をMozillaによる開発の可能性のデモンストレーションのために例として含んでい
ます。

337:0章
02/12/08 23:44
Mozillaの背景

Netscape Communications社(以下Netscape社)が設立された時、Netscape社は、
当時インターネットへのアクセス用に一番普及していたNCSA Mosaicよりも、優れ
たブラウザを作ることを計画しました。この新しいアプリは「Mosaicキラー」とな
るものでした。そうこうするうち、このフレーズは「Mozilla」と略されるように
なり、Netscapeのブラウザのコードネームとなりました。

MozillaはNetscapeの製品一つの代名詞となりました。そして1998年3月31日、
URLリンク(www.mozilla.org)はNetscapeの次世代のCommunicator 5.0ブラウザ環境を
開発するためのサイトとして発足しました。この時点で、Mozillaはオープンソー
スのプロジェクトとなり、Netscapeでの起源を越え、独立した存在となりました。

NetscapeがCommunicatorのソースコードをオープンソースのコミュニティへ公開し
た時、それは前例のない行為でした。有名なソフトウェア企業で自社の商品のソー
スコードを公開したところは、それまでまったくありませんでした。この時、この
ことは、多くのソフトウェア業界の人々や報道関係者の間で議論を呼びました。

多くの企業が、Netscapeに続いて、彼らの製品をオープンソースコミュニティへ公
開しだしました。サン・マイクロシステムズはURLリンク(www.openoffice.org)
URLリンク(www.netbeans.org)などを含むいくつかのプロジェクトに資金援助をしまし
た。アップル社も、新しいOSの核となる部分を、Darwinと呼ばれたオープンソース
のプロジェクト(URLリンク(developer.apple.com))を元に開発しました。


338:0章
02/12/08 23:44

Mozillaのソースコードが公開されて1年後、Netscapeの古参の経営者の一人である
Mike Homerはこんな風にコメントしました。「MozillaはNetscapeよりも大きく、
そしてそれがMozillaの意義です。Mozillaは本質的に、ある一つの商業的な存在に
よって後援される共同のプロジェクトです。mozilla.orgのスタッフの中には
Netscapeの社員の人もいますし、提供されたソースコードは以前はNetscapeが所有
していました。しかし、そのソースコードがいつかそれ自身独り歩きするようにな
るだろうというのは真実です。」

このプロジェクトが始まってから、多くのNetscape(今ではAOL)の社員がその進
歩に協力したのは事実ですが、多くのNetscape社外の人々もこのコミュニティに参
加しました。Mozillaコミュニティは元々のmozilla.orgを超えるものに成長しつつ
あります。また、Mozillaの支持するニュースサイトのURLリンク(www.mozillazine.org)
や、Mozillaのアプリケーションのプロジェクトを擁するURLリンク(www.mozdev.org)
など、他の有用な情報を提供するコミュニティも生まれました。

IBM, Red Hat, AcitveState, サン・マイクロシステムズなどの企業もMozillaのコ
ミュニティに協力しています。例えばRed Hatは、それまで彼らのLinuxディストリ
ビューションに含まれていたクローズドソースのNetscape 4.xブラウザ環境に対し
て、オープンソースのソフトウェアの選択肢を与えるために、Mozillaのサポート
を提供しています。AOLも、最新のコンピュサーブのクライアントやAOLのクライア
ントでのMozillaの利用を研究しています。

Mozillaの全ソースコードは、興味を持っている人なら誰でも入手することができ、
それ故にMozillaコミュニティは、バグ報告や修正パッチ、新しい開発者の増加な
どの利益を得ています。Mozillaがオープンソースのソフトウェアとして最初に公
開された時からプロジェクトに関係していた人々とともに、コミュニティに参加し
た新しい人たちや企業が、Mozillaプロジェクトの方向性や成果を形成するのに協力
しました。

339:0章
02/12/08 23:45
Mozillaの現状

オープンソースのプロジェクトが発足してから4年後の2002年6月5日、Mozilla
1.0はリリースされました。この本の中の例は、このMozilla 1.0や1.0.x系列の
全てのメンテナンスリリースで動作するように書かれています。

1.0のリリースの後、Mozillaには二つの主な開発系統が作られました。安定して
いて息の長い1.0ブランチは、1.0リリースのコードのバグを修正することを目的
としています。このブランチから定期的に、「バージョン1.0.x」と名付けられた
メンテナンスリリースがリリースされます。全ての1.0.xリリースは元々の1.0リ
リースと完全に互換性があるように(もちろんそれよりもバグは少なく)設計さ
れています。

もう一つの開発のブランチは、Mozilla CVS trunkから作られます。この開発の努
力からの新しいリリースは「1.x」と名付けられ、新機能やアーキテクチャの変更、
あるいは他の付加的なプロジェクトによる発展などを含んでいます。

これらの新しい1.xリリースは、Mozilla 1.0や1.0.xリリース向けに作られたアプ
リケーションと完全な互換性はないかもしれません。しかしmozilla.orgは、将来
の2.0のリリースまでの間、1.xシリーズを通じて、API(XULやXBLの文法も含めて)
をフリーズして互換性を維持することを約束しました。詳しいことは
URLリンク(www.mozilla.org)を見て下さい。

Mozilla自身流動的な開発のもとにあるため、Mozillaの新バージョンがリリースさ
れた時、このフレームワークに基づいたアプリケーションは何らかの影響を受ける
かもしれません。私達は、みなさんがMozillaの状態についての最新の情報を得ら
れるよう、ロードマップ(URLリンク(www.mozilla.org))を見ることを
お勧めします。

私達はまた、同様に、この本の例を動作させる時にはMozilla 1.0.xを使うことを
お勧めします。そして、Mozillaが期待に応えられるように、最新の1.xリリースを
使うことも推奨します。

340:デフォルトの名無しさん
02/12/08 23:46
以前、ヒマだったので全訳してみるかーなんて思ってやり始めて挫折した、その残骸です。
0章途中までだし。技術情報含まれてないし。役に立ちませんね。


341:デフォルトの名無しさん
02/12/09 00:01
おお、すげぇ。

342:デフォルトの名無しさん
02/12/09 00:18
>>331
に続いてChapter2訳してるけど他にやってるひといるかな?

343:0章続き ◆YNS0qIRC9I
02/12/09 01:42
この本が対象とする読者

この本は主に、全く新しいプラットフォームである、Mozillaの提供するフレーム
ワークの探求に興味を持っているプログラマ(と、プログラマを目指す人たち)を
対象にしたものです。しかし、Mozillaベースのクロスプラットフォームのアプリ
ケーションを作る上で、あなたがプロのプログラマである必要はありません。

以降の章で示されるように、Mozillaベースのアプリケーションを作り始める上で
あなたに必要な技術は、CSS, XML, JavaScript といった既に大抵のWebデベロッ
パーによく知られているいくつかの技術の基礎知識だけです。実際、これはMozilla
ベースのアプリケーション開発の大きな利点です。開発における学習曲線はC, C++,
あるいはJavaのような他の選択肢に比べて緩やかです。

あなたのアプリケーションは自動的にクロスプラットフォームなものになるでしょ
う(もちろん、特定のプラットフォーム向けのアプリケーションを作ることもでき
ます)。また、Mozillaを自分のコンピュータで利用しているユーザにとって、イン
ターネット上で簡単にインストールすることができるものになるでしょう。他にこ
んな事のできる開発プラットフォームがあったでしょうか?



344:0章続き ◆YNS0qIRC9I
02/12/09 01:43
あなたに必要な技術は > あなたに必要なのは
の方が良かったですね。

345:0章続き ◆YNS0qIRC9I
02/12/09 01:58
この本は、読者がJavaScript, CSS, HTML, XMLをある程度のレベルまで身につけて
いるものと想定して書かれています。もしこれらの技術についてまだあまり熟達し
ていないなら、この本を読む上で、それらの技術について専門的に扱っている他の
本を併せて読むといいでしょう。オライリー&アソシエイツの有用な本の中には、
「JavaScript:決定版ガイド」「Cascading Style Sheets:決定版ガイド」「HTML&
DHTML:決定版ガイド」「ラーニングXML」「簡単なXML(第2版)」などがあります。
Mozillaで、あるいはMozillaと一緒に新しい方法で使われる概念と新しい技術が、
それらの本の中で詳細に説明されています。

この本はまた、読者がMozilla 1.0以降をコンピュータにインストールしていて、
テキストエディタあるいはワードプロセッサとともに利用できる状態を想定してい
ます。Mozillaは今やほとんどのパーソナルコンピュータ上で動くので、互換性の
ある(Mozillaが動く)プラットフォームを探すことはそう難しくありません。
Mozillaの詳細なシステム要件については、mozilla.orgのサイトで見つけることが
できます。

346:デフォルトの名無しさん
02/12/09 02:49
よく考えたらそのうちオライリーから日本語訳でそうだ。。。

347: ◆YNS0qIRC9I
02/12/09 03:00
>>346
あんまりアテにできないと思いますよ。
海の向こうは、よっぽどの売り上げが見込めるようでないと日本語訳出さないって言ってるみたいですし。


348:デフォルトの名無しさん
02/12/09 09:15
技術書によっぽどの売り上げを見込まれてもな~

349:デフォルトの名無しさん
02/12/09 09:54
赤字が出ない程度の売り上げは必要ですよ。

350:デフォルトの名無しさん
02/12/09 13:41
最初は自分がわかればいいやって感じで
超適当に訳してたけど、◆YNS0qIRC9Iみたいに
ちゃんと訳してみようかな?

ちゃんと訳すとなると自分の語彙力のなさが
露呈するなぁ。。。

351: ◆YNS0qIRC9I
02/12/09 16:13
>>350
読んで意味が分かればそれでいいんじゃないでしょうか。実際、自分も所々意訳気味ですし。
うまく訳せる人が取り組んでくれていないのだから、うまく訳せなくても自分たちでやるほかないです。残念ですが。


352:デフォルトの名無しさん
02/12/09 16:15
sourceforgeに登録してCVSで管理とか。

353:デフォルトの名無しさん
02/12/09 18:18
まとめサイトは必要かと。

354:352
02/12/09 18:23
帰ってきたけど誰もやってないみたいなので
やってみる。

プロジェクト名は何にしよう?

355:デフォルトの名無しさん
02/12/09 20:03
ズルズル翻訳 XUL document(プ

なんてのどーよ?(w

356:デフォルトの名無しさん
02/12/09 20:06
襟巻蜥蜴邦訳計画



357:デフォルトの名無しさん
02/12/09 20:46
URLリンク(sourceforge.jp)

358:358
02/12/09 21:14
第3章
XulエレメントとXULの特徴
XML-based User interface Language(XUL)はアプリケーションのUIをつくるのに必要な部品(widget)
を全て備えている。タブ、入力フィールド(textarea)、ボタン、メニューなどがそうで、
中には、普段は必要性をほとんど感じないようなもの(例えば<stack>や<colorpicker>など)もある。

第2章ではウィンドウや基本的なアプリケーションを作るのに必要なXULエレメントのいくつかを紹介した。
本章は、XULの概観、振るまい、そして一般的な用法を説明する。
包括的な内容ではないが、本性を読めば、独自のXULアプリケーションを
作り始めるための情報としては十分だと言える。
特に、付録CのXULリファレンスと併せ読めば、いっそう理解が深まる。

本章で説明するXULエレメント(メニュー、ボタン、ボックス、ツリーなど)はほとんどのアプリケーションで
で必要である。そして、本章ので使っている例は汎用的である。だから、自分の用途に合わせて、
その例を組み込んだり、カスタマイズしたりできるだろう。この章には多くの情報を詰め込んだから、
アプリケーションを作る際は役に立つ事請け合いである。

359:358
02/12/09 21:25
XULドキュメントオブジェクト

XULファイルで最も重要な部分はドキュメントオブジェクトである。
HTMLと同様に、documentはXULドキュメントそのものの中身を指すオブジェクトであり、
外側を指すウィンドウオブジェクトと対を成すものである。
そしてドキュメントにはメソッドが用意されている。
メソッドは個々のエレメントを取得したり、ドキュメントの構造を操作したり、
スタイルのルールを変更(updating)したりするのに使われる。

360:デフォルトの名無しさん
02/12/09 22:22
翻訳中に水をさすようですまんが

URLリンク(66.160.114.10)
Building and Using XPCOM Components in XUL

XPCOM モジュール作成の説明もある XUL アプリ製作のレシピみたい。
XUL 本の付録にちょうどいいようなドキュメントだなぁ。

361:デフォルトの名無しさん
02/12/10 01:45
sourceforgeの使い方がいまいち分かってないけど、
sourceforgeのアカウント晒してもらえればxuldoc-jaの
プロジェクトに追加しますよ。

362:デフォルトの名無しさん
02/12/10 01:55
CVSより、Wikiの方がみんなで編集できていいかなぁ。。。

363:Name_Not_Found
02/12/10 10:21
Wiki 微妙に浸透しつつあるな…

364:358
02/12/10 17:40
(訳注:要素や属性という言葉を使わずに、カタカナ語で統一)
ドキュメントオブジェクトにはgetElementById, getElementsByTagName, createElement, createTextNode
といったメソッドが用意されている。これらは、DOMや実ドキュメント(訳注:actual document domは実体がなくても良いので…)
を扱うためのメソッドである。DOMについては第五章においてさらに詳しく取り上げる。

ドキュメントオブジェクトはこれらのメソッドの他にも、ウィンドウのwidthとheight、ポップアップノードのプロパティ、ツールチップノードのプロパティ、ドキュメントエレメント(documentElement)
などを備えている。
なお、ポップアップノードのプロパティは、ポップアップ表示しているエレメント(何がしかの内容(content)を他のものの上に表示するXUL widget)にアクセスするためのものであり、
ツールチップノードのプロパティもツールチップを表示するエレメントにアクセスするためのものである。
そして、ドキュメントエレメント(documentElement)はドキュメント本体にアクセスするためのものである。

365:358
02/12/10 17:41
var docEl = document.documentElement;
var secondLevelNodes = new Array( );
for (var I=0; I<docEl.childNodes.length;I++) {
secondLevelNodes[I] = docEl.childNodes[i];
}

366:358
02/12/10 18:17
あ、まちがえてタブごと消してしまった。

367:デフォルトの名無しさん
02/12/10 21:23
昔読んだ本だとelement=要素、attribute=属性だったけど
最近じゃカタカナ語なのかな?
well-formed、validity とかはどうなんだろ?

368: ◆YNS0qIRC9I
02/12/10 23:46
content=内容 とするなら、
element=要素
attribute=属性
でいいと思うけど。

369:デフォルトの名無しさん
02/12/11 02:38
ふーむ、例えば、getElementByIDとかみたいな関数はアルファベット表記だから、
テクニカルタームはなるべくカタカナ語の方がいいかな、と。
contentはコンテント(コンテンツ)でもいいと思うけど、
コンテントを表示するって書くのはなんか抵抗がある。
コンテントについての説明がない、ってことは、
テクニカルタームじゃなくて、日常的な意味なのかな、とも思ったりして。
もちろんすぱっと割りきれる問題じゃないとは思うが。

例えば、documentを文書と訳すと致命的に意味不明になる。
As in HTML, document is an object that represents the XUL document itself-the content as opposed to the
window that surrounds it.

ここのcontentは明らかにテクニカルタームじゃないでしょ?
contentをコンテントと訳してしまうと、なぜ、ウィンドウオブジェクトの
surround itが対になっているかが不明瞭になってしまう。

370:デフォルトの名無しさん
02/12/11 04:03
自分はエレメントだったり要素だったりしてる。
あとで統一的な書き方がきまったら直します。

ところでこのドキュメント、function っていってる
けど、メソッドの方が正しいんかな?


371:デフォルトの名無しさん
02/12/11 19:42
このExampleはドキュメントに対するセカンドレベルノードの配列を
作る。そして、このExampleはツリー全体にまで応用できる。
ドキュメントの構造的な表現がこのようになっているので、Exampleのように
あるノードを使って他ノードを取得する手法を使えば、ドキュメントのどの部分にも
、スクリプトで素早くアクセスしたり変更を加えたりできる。

372:358
02/12/11 19:54
ドキュメントオブジェクトは現在作業している特定のスコープでのみグローバルであるので、
ウィンドウ(window),ダイアログ(dialog),ページ(page)、はそれぞれ、
独自にドキュメントオブジェクトを持つ事になる。
使い方はアクセスしたいプロパティの前に"document."という部分をくっつけるだけでよい。

var title = document.getElementById("bookTitle");

今使っているスコープの外からアクセスする事も可能である。
例えば、window.openerをつかって他のウィンドウを開いた場合、次のようにする。

var title = window.opener.document.getElementById("bookTitle");

373:デフォルトの名無しさん
02/12/17 05:14
ch02訳してるけど薀蓄が多いなぁ。
受験英語しか知らん俺には辛い。

374:デフォルトの名無しさん
02/12/21 12:07
すまないけれど質問させてくれ。
XULってのは、Mozillaだけにしか使えない物なのか?
IEでも使えるのか?

で、インターフェイスを作ってそこから何が出来るのか?

面白そうな技術なら俺も調べてみたいのだが

375:デフォルトの名無しさん
02/12/21 14:09
スクリプト言語を扱えて、XBLが使えて、XML文書インスタンスに直接CSSを適用できるなら、Mozilla以外でもXULは利用できると思います。
ただ、現在それができてXULパーサとして使えるのはGeckoくらいのものでしょうね。


376:デフォルトの名無しさん
02/12/21 15:45
>>375
詳しく有難う。XBLっていうのが何かわからないけれど、
IEにそれを対応させられればIE上でも動くかもしれない、と。
#XMLにCSSってのもよくわからないですが、XSLTの書き間違いでしょうか?

調べてみます。

377:デフォルトの名無しさん
02/12/21 18:20
自己レス。CSSからダイレクトにXMLを参照するんですね。
結構違和感あるけど、興味がすごい湧きました。
ちょっとずつ調べてみます。

とりあえずは、XULを使うと、どのような状況で何が出来るのかを知りたいです(w

378:デフォルトの名無しさん
02/12/21 18:31
XULをIEで使うのは無理。

XULってのはインターフェイス言語。
ただ、XUL自体はXMLが元になっている。
例えば、<html:input type="button" value="MyLabel" onclick=";"/>
みたいなものを
<xul:button label="Mylabel" oncommand=";"/>
のように使いやすく再定義してある。
その定義ファイルがXBL。
conditionやactionが羅列してある。

379:デフォルトの名無しさん
02/12/21 18:51
>>378
レスサンクスです。ということは、
HTMLを使ってインターフェイスを作成するのが最終目標で、
それをXULで定義する。XBLが定義言語(xml-html binding)
という認識でよろしいでしょうか?

今までJavaScriptなどで出来ていた事が、簡潔に書けるようになるということですね

380:375
02/12/21 19:02
XBLは、XMLでDOM要素ノードとしての振る舞い(メソッドやプロパティ)を定義する仕組みです。
例:URLリンク(lxr.mozilla.org)
パーサに変更を加えずに要素の振る舞いを定義できるからか、MozillaではXUL要素の振る舞いのほとんどはこうして定義されています。
IEの場合は"binding"で同じようなことができるかもしれませんが、僕はよく知りません。

XULはプラットフォームごとに異なる解釈をされます。
例えばMacOSであれば、menubar要素はGeckoではなくMacOSの機能でレンダリングされていると思います。
ということは、MacIEではMacIEのエンジンがXULに対応しないとどうにもなりません。
Windowsなら一つのウィンドウの中に全部の要素が収まるはずなので、CSSの問題とバインディングのことさえ解決できれば、WinIEでもXULを使えるかもしれません。
……ということを>>375で言いたかった、と。

ちなみに、XMLに直接CSSを適用させるという使い方は、XHTML2.0やSVGなどではごく当たり前にされています。


381:375
02/12/21 19:03
訂正。
IEの場合は"binding"で → IEの場合は"behavior"で

382:375
02/12/21 19:12
XULの目的は、今までHTMLで提供されていたような貧弱なフォームコントロールに止まらないもっとリッチなインターフェースをXMLで記述することです。
また、XUL自体はプラットフォーム非依存なので、Web上のサービスなどのクロスプラットフォームなインターフェースを記述するにはうってつけです。
「HTMLを使ってインターフェイスを作成する」というより、
「HTMLのようにクロスプラットフォームな技術でインターフェースを作成する」と考えて下さい。
XULの仕様(明確なものはまだありませんが……)に乗っ取った動作ができるなら、必ずしもXBLで要素の振る舞いを定義している必要はないでしょう。

URLリンク(slashdot.jp)
XULの用途についてはこの辺の記事でも色々述べられています。


383:375
02/12/21 19:12
乗っ取った→則った
誤字が多いなあ。

384:デフォルトの名無しさん
02/12/21 19:22
なぜsage進行なのか疑問を感じながらresです。

>375氏 >>380
解りやすいサンプル有難うございます。
Mozillaの基礎的な理解(NGLayoutとか)が必要みたいですね
NGLayoutを調べるに従ってちょっとずつわかってきた感じです。
上記のサンプルは、NGLayoutをタブブラウザ化するためのxulですよね?

385:デフォルトの名無しさん
02/12/21 19:26
>>382
例えば、amazon.comとかのソースを書くほどの根性もなく、
htmlの限界にげんなりしている人が、もっと手軽にインターフェイスを実装するための
言語ということでしょうか?

IEのBehaviorとかを使うのはクロスプラットフォームの観点から外れている、と言うことかな?

386:378
02/12/21 21:10
XULはamazone.comというよりむしろ、javaappletのようなものを
思い浮かべた方が当たっていると思います。IEだと、activeXですね。

387:デフォルトの名無しさん
02/12/21 21:26
URLリンク(luxor-xul.sourceforge.net)
こーゆーのもあるし。XBL まで使えるのかわからんけど。

mozillaZine に出てた、
URLリンク(www.oreillynet.com)
も面白いね。mozdb が使えるようになると使われやすくなるかも。
URLリンク(www.melez.com)
が XBL の簡単なサンプルでわかりやすかった。

388:デフォルトの名無しさん
02/12/21 23:07
オススメサイト/本はありますか?
腰を落ち着けて正月にでも学んでみようかと…

389:デフォルトの名無しさん
02/12/21 23:44
お勧めの本は日本では出版されていません。
このスレでマターリ翻訳して行く予定です。詳しくは50レスぐらい遡ってみれ。
お勧めのサイトはこのスレのテンプレにはなかったかな?
漏れのブックマークを晒すと

Outsider Reflex (日本で一番たくさんXulアプリを作ってる人のTips)URLリンク(white.sakura.ne.jp)
Xul Planet com (英語のリファレンスとチュートリアル)URLリンク(www.xulplanet.com)
Xul アプリケーション作成入門(もじら組のデッドリンク)URLリンク(www.mozilla.gr.jp)
mozilla.orgのXul文書の邦訳 URLリンク(jt.mozilla.gr.jp)

全く見た事も聞いたこともない人は、ちょっと古いけど作成入門がオススメ。
昔はてんでだめだったが、近頃はmozilla.orgの奴も結構いい感じ。

390:デフォルトの名無しさん
02/12/22 00:04
XUL系譜:   XUL は XML にどう関係するのか?
URLリンク(jt.mozilla.gr.jp)

>XMLを知らなくてもXULを記述できる、
ってのが最大のポイントかな。
いくつかのXULwidgetに関しては、ちゃんと定義してやれば、
そのままのIEでもレンダリングできる気がしてきた。
まあ、メリットはほとんどないと思うけど。
ちなみに、読み方は「ズール」

391:デフォルトの名無しさん
02/12/22 00:34
XUL全然しらないけど、シェアno1のIEで対応出来ない以上、
玄人のおもちゃになって意義無く終わってしまう…と思うのは間違い?

392:デフォルトの名無しさん
02/12/22 00:38
次世代Windows「Longhorn」の真実
URLリンク(pcweb.mycom.co.jp)

・その3 ユーザーインタフェースの刷新

Longhornでは、デスクトップを含むユーザーインタフェースがXMLベースとなる。
なかでも、従来のスタートメニューは、コードネームで「Sidebar」と呼ばれるコンポーネントに置き換わる。
スタートメニューの機能以外に、デスクトップマネージャー、検索機能、スライドショーなど、
XMLベースのモジュールを組み込んで自由にカスタマイズできるようになる。



パクられたw

393:デフォルトの名無しさん
02/12/22 00:39
>>392
それを言うならXULの概念はアクティブ・デスクトップのパクリでは?

394:デフォルトの名無しさん
02/12/22 01:11
>>391
終わるって?Mozilla(Gecko?)がなくなるってこと?

395:デフォルトの名無しさん
02/12/22 01:14
XULを使ったソリューションって何かあります?

396:デフォルトの名無しさん
02/12/22 01:56
>>392
以前からこういう話が出ていましたから、まあ当然といえば当然かな。
URLリンク(ryuzi.dyndns.org)

申し訳ないけど個人的にはXULはIEで対応して欲しくない。
勝手にWindowsに有利な、特化した拡張をされるのが目に見えているから。
ブラウザレベルのクロスプラットフォーム性が多少向上する引き換えに、
(といっても、拡張されれば完全な互換は無いだろうけど。)
OSレベルのクロスプラットフォーム性が損なわれるんじゃ話にならない。


397:デフォルトの名無しさん
02/12/22 02:28
Windowsに特化したXUL要素ってなんかありますかね?
XPCOM+XPConnect+JavaScriptの代わりに使うスクリプト言語の方が
独自拡張されるということなら、自分にもわかりますけど。


398:デフォルトの名無しさん
02/12/22 02:40
要するに、APIを直接呼ぶようなのを入れて来るんじゃないかな?
あと、<xul:marquee>とか。プロパティでmarquee="true"とか。
getMarqueesByTagName(string ELEMENTID):function とか。
しかし、xmlは独自拡張の為にある言語、といっても過言ではないので、
好きにすればいい様な気もする。

JavaScriptより、DOMメソッドをいじられる方が怖い。
IEのDOMはダメダメだし。

399:デフォルトの名無しさん
02/12/22 12:21
一番最初に独自拡張を始めたのはネスケだったりするわけだが・・・
しかしIEにせよMozzilaにせよ、あれば便利な機能が標準化されておらず、
それをこっそり付加してしまうと、HTMLの様な独自拡張と標準仕様のいたちごっこが
はじまってしまうわけだが・・・

400:デフォルトの名無しさん
02/12/22 16:02
> xmlは独自拡張の為にある言語
何かちょっと違う様な…。
言語を一から自由に作るのは良いけど、
XULの様に既に作られた言語をあちこちで勝手に拡張したんでは
互換性が無くなってしまう訳で、マナー的には良くないと思う。
拡張部分を名前空間で本来のXULと分けるならともかく。
個人的にはDTDなり何なりが早く作られることを祈る…。


401:デフォルトの名無しさん
02/12/22 16:14
XULの拡張なんて誰もしないと思うよ。

402:デフォルトの名無しさん
02/12/22 20:52
なんかMozillaユーザーって嫌いな奴が多いんだよな。
IEが独自拡張したら凄い文句を言うくせに(それ自体は間違っていないのだが)
自分たちの(独自拡張を含む)機能がIEで実装されたらパクリだというのは
ただのマイナーユーザーのひがみ以外に説明しようがないと思われ。

このスレをみたらここの住民は比較的まともそうでいいけどさ…

403:デフォルトの名無しさん
02/12/22 21:22
おいおい、ここにMozillaユーザーに対する感想を書くなって。
比較的まともなのは、お前みたいなスレ違いが来ないからだよ。

404:デフォルトの名無しさん
02/12/22 23:32
既存のHTMLなり何なりを、素人には本来の仕様と区別付かない様な形で
拡張して、混乱させているから叩かれる。
一から新しいものを作れば文句は言われないだろうに。
むしろそれを余所がパクれば良い攻撃材料になる訳で。


405:デフォルトの名無しさん
02/12/23 01:08
>>404
そういう擁護が鬱陶しいわけで。
このスレはそういう話をするところじゃないでしょ?釣られるなよ。

#ちなみにMozillaの<font>タグはそれじゃ説明がつかないのだがな

406:デフォルトの名無しさん
02/12/23 02:41
>>405
XULにfontなんてあったっけ?
HTMLの話なら、後方互換のためでは。HTML3.2ではちゃんと認められてるのだし。


407:デフォルトの名無しさん
02/12/23 05:28
>>405
#付きとはいえ、お前も要らん事書くなや。

以下スレの本題に戻って下さい。お願いします。


408:デフォルトの名無しさん
02/12/23 14:45
>>402
既に決まったものがあるHTMLの独自拡張と
特定のアプリケーション群のためにあるXULの区別のつかないヤシ。


409:デフォルトの名無しさん
02/12/23 18:12
>>407も言ってるんだけど、わざわざ煽らなくていいじゃん。

ところで、xulレベルから他のウィンドウのDOMにアクセスして、
HTMLドキュメントにcreateElementで<br>を追加しても、改行されないんだけど。
テキストノードの追加は反映されるのに、tagの解釈はされないのか?

410:デフォルトの名無しさん
02/12/23 18:51
って、やっと分かったけど、
createElementしたら、HTMLElementじゃなくて、XULElementになっちゃうんね。

411:デフォルトの名無しさん
02/12/23 19:07
>>410
そうなのれす。
そういうばあいはcreateElementNSをつかってださい。

412:デフォルトの名無しさん
02/12/24 18:54
>>411
レスさんくす。
つーわけで、2chブラウザ(非monazilla)を作ってみたんだが、
お世辞にも快適な使い心地とは言えんなぁ。

413:デフォルトの名無しさん
02/12/24 19:58
moz2ch

414:デフォルトの名無しさん
02/12/24 20:06
moz2chって動くの?

415:デフォルトの名無しさん
02/12/24 23:41
>>414 重すぎ、書き込みできない、けど動くだけは動く。

416:デフォルトの名無しさん
02/12/25 01:54
ふーむ、じゃあ、漏れが作ったのとあんまり変わらんなぁ。
ちょっとソース見てみよっかな。

417:デフォルトの名無しさん
03/01/01 13:54
クスールって読んでる人いる?

418:デフォルトの名無しさん
03/01/01 13:56
ををを、このスレついにageられたか!(w
随分長い間sage進行だったのに

419:デフォルトの名無しさん
03/01/01 14:01
linux だと root にならないとインストールできないのが
面倒くさいYO。みんな平気?

420:デフォルトの名無しさん
03/01/01 14:43
>>417
クサル が公認

421:419
03/01/01 19:53
書きこんだ後、祖母とおせちを食べててひらめいた
んだけど mozilla ホームデレクトリに入れればいいじゃん!!
賢いじゃん>>俺!! カコイイ>>俺!! /path/mozilla はシェルスクリプト
だからインスコも楽勝だった。ウヒョー、今年はいい年になるネ


422:デフォルトの名無しさん
03/01/02 02:24
結局厨房がageていた訳だが

423:デフォルトの名無しさん
03/01/02 04:02
冬だからねえ…


424:デフォルトの名無しさん
03/01/06 11:11
trercellは特にクラスとか指定してなくても、
"src"ってattributeがあるような気がするんですけど、
xulplanetにはそれらしい記述がありませんな。

425:デフォルトの名無しさん
03/01/06 11:12
ぎゃあ、treecellです。

426:IP記録実験
03/01/08 22:18
IP記録実験
スレリンク(accuse板)

1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。

27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?

38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。

73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。

427:デフォルトの名無しさん
03/01/09 00:42
>>73
重くなるのはなぁ。。。
どのくらいになるのかわからんけど。

428:デフォルトの名無しさん
03/01/09 01:04
1年半

429:デフォルトの名無しさん
03/01/09 01:22
>>425
あぶねー
ツッコミいれそうになった。

430:デフォルトの名無しさん
03/01/09 01:35
ひろゆき粕汁食うか?

431:デフォルトの名無しさん
03/01/09 02:09
これからは、爆弾をしかけたとか書いちゃ駄目なのですか?(´・з・`)

432:IP記録実験
03/01/09 02:12
IP記録実験
スレリンク(accuse板)

1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。

27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?

38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。

73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。

433:デフォルトの名無しさん
03/01/09 02:44
2ちゃんねるも閉鎖へと突き進んでますな・・

434:デフォルトの名無しさん
03/01/09 12:21
>>99
観念しなさい

435:デフォルトの名無しさん
03/01/09 13:47
>>429はマジレスなのか、コピペなのか判断に迷う所だな。

436:デフォルトの名無しさん
03/01/10 00:00
このまま全サーバに導入してしまってもかまわないと個人的には思います。
発言に自己責任が伴うので、くだらない殺人予告や過度の誹謗中傷、ウイルス・ブラクラリンク
などは少なくなるのではないでしょうか。

437:デフォルトの名無しさん
03/01/10 08:52
被害妄想が激しい459の居るスレはここですか?

438:デフォルトの名無しさん
03/01/10 10:12
判決文には大きく分けて、3つの日付が出てきますね…。
おもいっきり削って、抜粋してみました。
---
第3 当裁判所の判断
 2
 (2)
   ウ 原告Aは,被告(ひろゆき)に対し,平成13年6月21日付けの通知書(内容証明?)
     をもって発言の削除を求め,同通知書は,同月22日,被告に到達したから,これにより,
     被告は,本件各名誉毀損発言(限定あり)について,本件掲示板に書き込まれたことを
     具体的に知ったものと認められる。

   エ しかるに,被告は,前記のとおり,本件口頭弁論終結時である平成14年4月17日に
     おいても,本件各名誉毀損発言を削除するなどの措置を講じていないのであるから,
     被告には作為義務違反が認められ,原告らに対する不法行為が成立する。

 6 結論
     以上によれば,原告らの請求は,各200万円及びこれに対する訴状送達の日の翌日で
     あることが記録上明らかな平成13年8月5日から支払済みまで民法所定の年5分の割合
     による遅延損害金の支払並びに本件各名誉毀損発言の削除を求める限度で理由があるから
     認容し,主文のとおり判決する。

439:デフォルトの名無しさん
03/01/10 10:52
あれ、書き込みなくなっちゃった?(^_^;)

440:デフォルトの名無しさん
03/01/10 11:22
CXキタ━━(゜∀゜)━━!!

441:デフォルトの名無しさん
03/01/10 12:09
>>371
いつぞやもP2P/"疑似P2P"型での削除システムを検討しましたが、
整合性確保は技術的に可能でした。
ただ当時、専用ソフトウェアによる閲覧管理が邪道扱いだったことが、
実装に向かなかった原因の一つだったと理解しています。
たった1年そこらで「2ちゃんブラウザ」がこんなになるなんてねぇ(w

他の問題点ですが、ハードウェア能力(最も直接的にはHDD)と通信インフラが
ネックでしたが、今もなお大型掲示板を許容するには至っていないと思います。

442:デフォルトの名無しさん
03/01/10 12:36
2ちゃんねるってなに?ってのはまぁ分からないではないが、
アクセスログってなに?って項目があるのはちょっと違わないか・・・?

443:デフォルトの名無しさん
03/01/10 13:29
今取得のテストしてるっていうのは批判要望板だけだべ?
あと、元々レスに対して取得してるつー板は
ここと、ダウソと・・・あとどこかな?
setting.txt見て調べれ

444:デフォルトの名無しさん
03/01/10 15:51
何を言いたいのかさっぱりさっぱりわかりませんが・・・・

445:デフォルトの名無しさん
03/01/10 17:17
キニシナイ

446:デフォルトの名無しさん
03/01/10 23:39
えっ、人数淘汰のためのIP取得宣言なの!?

447:デフォルトの名無しさん
03/01/10 23:42
CXキタ━━(゜∀゜)━━!!

448:デフォルトの名無しさん
03/01/10 23:47
この板、荒れなくなったね

449:デフォルトの名無しさん
03/01/10 23:56
言論の自由≠暴言の自由

450:デフォルトの名無しさん
03/01/11 00:02
ますます、ファンタスティックでスリリングでドラマティックなスレッドですわね、

451:デフォルトの名無しさん
03/01/11 09:26
>>前スレの989

>> 無知はいいねぇ

ほ~、じゃあ、IPだけで個人特定する方法言ってみ。
ほれ言ってみ

452:デフォルトの名無しさん
03/01/11 09:27
さん
ですわね。

453:デフォルトの名無しさん
03/01/11 10:02
======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数: 139038人 発行日:2003/1/10

なにやら、連日メルマガだしてるひろゆきです。

そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。

重くなって落ちたりしてもご愛嬌ってことで。。。

んじゃ!

────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
──────────────
Keep your thread alive !
スレリンク(software板)l50
──────────────

454:デフォルトの名無しさん
03/01/11 10:07
Mozillaのブックマークを編集しやすいようにIEみたいに
フォルダとショートカットの形で可視化していじれるように
する、みたいなXULアプリって出来ないですか。
もし可能ならショートカットアイコンをDD出来るようになってたら
IEからの移行がすごいらくかも。



455:デフォルトの名無しさん
03/01/11 10:48
2

456:デフォルトの名無しさん
03/01/11 11:16
イメージもあるアサピー。
URLリンク(images.google.co.jp)

457:デフォルトの名無しさん
03/01/11 12:19
なんで腐れ男はキャップ持ってるんだ?

458:デフォルトの名無しさん
03/01/11 12:53
ポリタンクは

459:デフォルトの名無しさん
03/01/11 15:41
少し同意。

前スレは、全体的にはストップする必要はない良スレだった。

460:デフォルトの名無しさん
03/01/11 15:47
ひろゆき、変な鼻。

461:デフォルトの名無しさん
03/01/11 18:34
>>454
それもXulでやるの?

462:デフォルトの名無しさん
03/01/11 23:13
>>461
XULアプリでって書いてあるということはそういうことでしょうね。

463:デフォルトの名無しさん
03/01/11 23:50
独立スレ立ちました。。

【2ch】管理人のひろゆき氏がqbサーバで全レスIP記録の実験を開始
スレリンク(newsplus板)

464:デフォルトの名無しさん
03/01/12 00:00
いやそんな今時な煽りやられてもな

ただ俺は「誰もお前には聞いてねーから大人しくROMってろや低脳」って言いたいんだよw
理解出来た??

465:デフォルトの名無しさん
03/01/12 01:27
>>454の言ってることがイマイチよく分からんなぁ。
Phoenixのサイドバーみたいなのだろうか。
あれは重すぎて使い物にならんか。

それとも、ドラッグ&ドロップをもっとぐりぐり使うような、
管理ツールってことかな?

466:デフォルトの名無しさん
03/01/12 02:37
800⊂(゚∀゚ )  

467:デフォルトの名無しさん
03/01/12 02:43
メロンパンナって孫悟空なのか?

468:デフォルトの名無しさん
03/01/12 10:10
見せしめとしてでも捕まえないとこの類いの挑戦厨スレが乱立しそうだな

469:デフォルトの名無しさん
03/01/12 20:55
薬・違法なんてどうすんの?IPとってて放置してれば 
犯罪幇助なんてのにならんのか。

470:デフォルトの名無しさん
03/01/12 20:58
不法行為であるのは前提なのね。


471:デフォルトの名無しさん
03/01/12 21:07
game鯖の規制がすどい

472:山崎渉
03/01/13 18:44
(^^)

473:デフォルトの名無しさん
03/01/13 22:47
俺らも人のこと言えないが年末年始に2ちゃんねるって恥ずかしくない?>アンチの皆さん

474:山崎渉
03/01/16 03:16
(^^)

475:山崎渉
03/01/23 22:09
(^^)

476:デフォルトの名無しさん
03/01/26 12:03
ポリタンクは

477:デフォルトの名無しさん
03/01/29 10:49
xulもいいんだけどさ、とりあえず、MIDIプラグインforWindows作ってみない?
とりあえず、最初はMCIのやつを。
それでうまく行ったら、どっかのMIDIライブラリなりを拾ってきて移植するってことで。

478:デフォルトの名無しさん
03/01/31 00:36
(・_・)/

479:デフォルトの名無しさん
03/01/31 10:38
Mozillaのプラグインドラフトではネスケと完全後方互換とか言っときながら、
ほとんどのプラグインがハングするんだが。

480:デフォルトの名無しさん
03/02/01 21:31
したことないしスレ違い。


481:デフォルトの名無しさん
03/02/14 11:34
レス見て需要ありそうなので
任意ブラウザで開くボタン作ろうとした。

482:デフォルトの名無しさん
03/02/15 12:52
>>481
それ欲しい。
コンテキストメニュー拡張入れるとめちゃ重くなるし。

483:デフォルトの名無しさん
03/02/15 18:34
>>481
もうちょっと詳しく説明してくれ

484:デフォルトの名無しさん
03/02/15 20:30
>>482
ごめん。酔ってて途中で送ったらしい。
挫折したんだわ。

>>483
右下の鍵の横にボタン置いて、押すと予め設定したアプリにURLわたす、と。
WEB書きにとって便利だなと思ったんだけど。

485:デフォルトの名無しさん
03/02/15 22:15
var IEpath = "C:\\Program Files\\Internet Explorer\\Iexplore.exe";
var file = Components.classes['@mozilla.org/file/local;1'].getService(Components.interfaces.nsILocalFile);
var process = Components.classes['@mozilla.org/process/util;1'].getService(Components.interfaces.nsIProcess); file.initWithPath(IEpath);process.init(file);
var arr=new Array();
arr[0]=window._content.location.href;
var out = {};
process.run(false,arr,arr.length,out);

昔、2chのスレに書いてあったやつ。

486:デフォルトの名無しさん
03/02/16 03:12
>>484
prefsbarで既に実現してる。
IEにURL渡すボタン付けてるし。

>>485のコピペだけど。

487:デフォルトの名無しさん
03/02/16 03:44
あまりお行儀よくないから、prefsbarも入れたくないなあ。
酔い醒まして頑張って>>481

488:デフォルトの名無しさん
03/02/16 07:56
半年ほど放置してましたが...
カスタムメニューバーをバージョンアップしました。
全ボタンをアイコン化して、メニュー項目の大半を実装してます。
暫定 URL
URLリンク(member.nifty.ne.jp)
問題ないようなら現行のページと差し替えますので、
人柱おねがいします。

label に日本語使ってたり、アイコン画像が contents の中だったりしますが
そこらへんのツッコミはなし、という事で。

489:デフォルトの名無しさん
03/02/16 08:56
むしろ、人柱を自分のページで募ってほしいのだが。

490:デフォルトの名無しさん
03/02/16 11:04
右下の鍵の横にボタンがついてると行儀がいいのか?
んー、だったら一考の余地はあるな。
とりあえず、ボタンメーカーとか作るのがいい気がする。

491:デフォルトの名無しさん
03/02/17 07:26
5つ6つ機能使うならバーも良いけど、
一機能のためにバー使うのも確かになんだな。F8押すのも面倒だし。
キーボードショートカット定義できれば良いのにな。
prefsbar使ってるけどさ。

492:デフォルトの名無しさん
03/02/17 15:22
>>491
キーボードショートカットを定義するアドオンを作ればいいんでわ?

493:デフォルトの名無しさん
03/02/22 09:50
moz2chのコメントにもあったけど、
neckoで差分読みこみって出来るの?
xulplanetではネットワーク関係の資料をどこにおいてるのか分からんし。

494:デフォルトの名無しさん
03/02/22 13:09
HTTP ヘッダの If-Modified-Since で更新されたか調べて
range で差分GETしてるぽい。

495:デフォルトの名無しさん
03/02/22 19:30
Amazon の XUL なフロントエンド
URLリンク(www.cfmentor.com)

496:デフォルトの名無しさん
03/02/22 19:34
>>495
面白いな。
まだ開発途中みたいだけど。

497:デフォルトの名無しさん
03/02/22 19:36
XuleX
URLリンク(www.cfmentor.com)
イタリア語ですが。

498:デフォルトの名無しさん
03/03/05 17:49
Xabyl - A Visual XBL Editor @ XULPlanet
URLリンク(www.xulplanet.com)

499:デフォルトの名無しさん
03/03/06 12:29
どっかにも書いてあったが、moz2chのナイトリー更新されてるね。
この機会にjslibをやめて欲しいんだが。

500:デフォルトの名無しさん
03/03/06 12:42
あと、moz2chのソースを読んで思ったのは

1.
asynicOpenの第三引数はやっぱり要らないらしい。
URLリンク(www.mozilla.org)

2.
スレの情報を得る為には"monazilla/1.0"というUAがpc鯖やラウンジなどでは必要だから、
this.channel.setRequestHeader('User-Agent',this.UserAgentMonazilla, null);
みたいに追加するといいんだが、

onRequest関数か、あるいはクラスを初期化した時あたりで。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch