Mozillaでプログラミング(XUL)

このエントリーをはてなブックマークに追加
1Moziller
ム板住人のうちMozilla使ってる人は何%くらいかわかりませんが、
Mozilla 1.0 RC1がリリースされ、
XUL 1.0の仕様が一応フリーズしました。
なので、そろそろXULアプリケーションも出始めることでしょうし(希望的観測)
MozillaでのXULプログラミングについて騙りませんか。

Mozillaスレッド M10
http://pc.2ch.net/test/read.cgi/software/1019550671/
うちのMozillaもよくフリーズします。
3デフォルトの名無しさん:02/04/25 12:16
ずーるって何ができるの?
UIを構成するための言語だっけ?
その段階が不明なんだけど(藁
41:02/04/25 12:24
>3
XMLをベースにした言語でGUIを記述できます。例えば、

<?xml version="1.0"?>

<window id="googleAPIWindow" title="&googleAPIWindow.title;"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
width="640" height="480" orient="horizontal">
<textbox/>
<button label="test"/>
</window>

こんな感じで書いてきます。
制御は基本的にはJavaScript1.5から行います。
51:02/04/25 12:25
手持ちのコードからコピペしていじったら
アプリ名とか残ってた。。。鬱。
ちなみに、Google Web APIをSOAPで呼び出すサンプルみたいなの作ろうとしてて
その関係で。
61:02/04/25 13:45
XULチュートリアル
ttp://www.xulplanet.com/tutorials/xultu/

が参考になる。
少し古いけど和訳も。

XULチュートリアル(和訳)
ttp://www.janit.com/xml/XUL/
>>1
糞スレ立てんなヴォケ!!
>7

氏ね。
氏ね。
氏ね。
氏ね。
氏ね。
氏ね。
氏ね。
氏ね。

91:02/04/27 07:54
とりあえず駄スレになったぽ。
つか、俺がネタ書かないのが悪いような気もするけど。
Mozillaユーザ && 開発者
って時点で分母が小さいのかな。。。
10デフォルトの名無しさん:02/04/27 09:58
うーん、emacsのminibufferみたいなのつけて、
ページ内検索やOpen Locationの入力に使うようにしたい、
と思っているのだが時間が取れなくて…

# Ctrl-Fでdialog windowが出てくるのうざい。
>>10
検索に migemo 使えないかね。
2ch のスレ内検索に最適なんだが。
121:02/04/27 23:27
>10
Emacsのこと詳しくないのでミニバッファって何?
とりあえず検索してGNU Emacs Manual見てみました。
Mozillaにああいうのつけたら確かに面白いかも。
というか、別のブラウザになりません?(w
131:02/04/27 23:43
>11
で、ついでにmigemoも検索。
面白いものが結構ありますねぇ
でもMozillaってある意味Emacsと似た拡張の仕方ができるんで
migemoサーバとのインターフェイス書いてやれば
できなくもなさそうですね。
大改造が必要かもですけど(w
保全age
ネタがないので
このスレは、Moz2ch復活スレになりますた。
Mozilla 1.0RC2で動くように修正するところからはじめる予定です。

http://xul-app.hoops.jp/moz2ch/
・TasksメニューがなくなってToolsメニューとWindowメニューになったので
 それを修正。
・ツールバーの画像等修正。
・Outlinerと(旧)Treeウィジェットが統合されてTreeウィジェットに
 なったので、それに伴う修正…はまだ。
 Outliner使いこなせてないんで…(ウトゥ

というわけで、またしばらくsage進行で
ちょー期待さげ。
>>17
とりあえず好意的に受け取ってみる。
Moz2chの需要ってどれくらいあるんだろう。。。
17です。
へんな書き方してすみません。
期待してます。

マルチプラットフォームで、いいなぁと思うんですけど。
マターリやってくと思うから
期待せずに待ってて。

マルチプラットフォームって(・∀・)イイ!!よね。。。
つーわけで、例によってsage

欲しい機能があったら、勉強して自分でつけるとか
…うーん、まだ難しいな。
21デフォルトの名無しさん:02/05/23 04:49
スキンよりも遙かに高度なカスタマイズが聞くってことですか?

じゃあMozillaベース2chブラウザとか、板ごとにブラウザの外観が
変わったりできるんですかね。

シャア板にいくと全体が赤くなり
読み込み厨は、ザクの目が左右に
動くとか。

葉鍵板に逝くと、中止ボタンを雄と
「うぐぅ」とかwav音声流してしゃべるとか。

さくら板逝くと、リンク飛ぶたび
「ほええー」とかしゃべってうるさいとか。(w
>>21
やればできなくもないと思われ。
でもウザいかも(藁
ども。こんなの作ってみました。
もうあるかもしれんけど・・・
それ以前にかなり詰めが甘いんだけど・・・
http://members13.tsukaeru.net/toshi/xul/
色々アドバイスを頂けるとありがたいです。
# 煽りはご勘弁を(w
24デフォルトの名無しさん:02/05/24 00:15
ステータスバーの高さが大きくなってしまうような。。。
CSSでフォントをいじると幸せ?
とりあえずまだ落としてみただけですが(藁
25デフォルトの名無しさん:02/05/24 00:20
あと気になったこととしては、
なぜか昔のmoz2chのソースが紛れ込んでる(藁
別にライセンスとか指定してないし使ってくれて構わないんだけど
明らかにproxybarでは使ってなさげだし、捨てておいたほうが吉かも。。
うわ…迂闊にもageちまった。。。スマソ
2723:02/05/24 00:53
>>25
激しくスマソ。
moz2ch のソースが入ってるのは…勘が良ければ理由分かるかも(藁
CSSいぢるのとかはその内やってみるです。
とりあえず今は「漏れ的に使えればオッケー」程度なので…
>>22
確かに、最初はすげえ!!とか
重うけど、最後はうぜえ!!に
なりそだね。(w

でも、飽きたころに、新バージョン
公開とか、さらにうざさ倍増。(w
はでで豪華な、布教活動仕様版がでたりして(w
>>27
とりあえず<toolbarbutton type="menu">使って
省スペース化に挑んでみたんだけど
ちょっと面倒くさい。。。
いや、全部いじればできるけどさ。

どうするのがよかろうか。。。
ちなみに、漏れは串使わ[なえ]い人なんで、あまり意味は持たなかったり。
3023=27:02/05/24 12:10
>>29
省スペースって縦方向ですか?
横方向だとすれば現在のプロキシが表示されて欲しいんでアレで
いいと思うんですが…
省スペース
↓こんなカンジ。
http://xul-app.hoops.jp/moz2ch/proxybar/
3223:02/05/25 03:50
>>31(っつーか厨房もじらー殿なんだよね?)
それ(・∀・)イイ!!
って事でうぷだーてしてみました。
3323:02/05/25 15:11
tsukaeru.net は .htaccess で .xpi を application/x-xpinstall
に出来ないみたいなんで、tkcity にミラー作りました。

http://www4.tkcity.net/~toshiki/xul

これでとりあえずクリックするだけでインストール出来るようになります。
そんだけだけど。
>>33
漏れは見た目しか作らなかったのに早いね!
とりあえず現在選択中の項目にチェックがつくように
メニューアイテム作るところで
menuitem.setAttribute("type", "radio");
とするとイイかも
串ないので、自分のPCに串たてて遊んでみたけど
結構便利かも。。。
Mozillaスレッドのほうで、宣伝してもいいかも
3623:02/05/25 17:18
>>34
毎度毎度感謝です。取り入れさせて貰いました!
初期値を選択させるのがチトスマートじゃないんだけど(w

>>35
お誉めにあずかり光栄であります!
でも小心者なのでもちっとマトモになってから・・・
3723:02/05/25 18:59
とりあえず jslib (ttp://jslib.mozdev.org) を入れとくと、
プロクシのリストをインポート出来るようにしてみたです。
これが欲しかったのです。
これで僕はもう満足なのです(w
ソフトウェア板の xul スレ。
色々と可能性を模索している。

ブラウザ用途以外のmozilla
http://pc.2ch.net/test/read.cgi/software/1021448200/
>>37
このスレ2,3人しかいないみたい。。。(藁
満足したならMozillaスレに宣伝してきてもイイかな?
いや、こういうの欲しい人もいるだろうし。。。
シンプルで(・∀・)イイ!!
4023:02/05/25 23:47
>>39
宣伝してしまいました・・・
大丈夫かな・・・心配だ・・・(鬱
>>40
とりあえず評判は上々のモヨリ
そんなに心配しなくてもあのスレはマターリマターリだから(藁
4223:02/05/26 12:44
とりあえず一安心・・・していいのかな(ドキドキ
なんかあーゆー小物系で(・∀・)イイ!!アイデア無いですかねぇ。
4323:02/05/26 13:07
うげ。複数ウィンドウ立ち上げると結構マズーな予感・・・
ウィンドウ毎のプロキシの設定って出来無いっぽいですねぇ・・・
navigator.js を見る限りでは・・・
さてどうしたものか・・・
>>43
というか、cuamってウィンドウ毎にproxy変えれるんですか?
それはなかなか強力な。。。
4523:02/05/27 01:24
>>44
いや、そーでなくって、二つのウィンドウを立ち上げて、一個目のウィンドウ
の設定を変えると、二個目の方も勝手に設定は変わっちゃうんだけど、表示は
変わらないという不具合に衝突してしまったっつー意味です。

Cuam はどうだったかな・・・忘れました(汗)
IE 5 以上だと不具合が出るまま放置だったんで使うの止めちゃったんで・・・
>>45
<broadcast>だったかな、それが確かそういうのに使われてた記憶が。
Mozillaスレの方みたけど、なかなか厄介そう。。。
俺も見てみる。
続きはこっちで、了解>>23さん
向こうのスレでは嘘くさいこと書いてた(汗
var proxybarStartFlag = true;
function ProxybarStart()
{

//dump("StartProxyBar start\n");
if (document.getElementById("proxypanel").getAttribute("hidden") == "false")
{
if (proxybarStartFlag) {
ProxybarConstructProxyMenu();
// select proxy_now or (No Proxy)
var pref = Components.classes["@mozilla.org/preferences;1"].createInstance(pb_nsIPref);
var now = "";
try { now = pref.GetCharPref("proxybar.proxy_now"); } catch(e) {}

var menu = document.getElementById("proxybar-proxyMenu");
var menuitem = menu.getElementsByAttribute("value", now)[0];

// if there isn't menu for "now", unset proxy
now = menuitem ? ProxybarSelectProxy(now) : ProxybarSelectProxy("");

// put checked mark
menuitem = menu.getElementsByAttribute("value", now)[0];
menuitem.setAttribute("checked", true);

//removeEventListener ("load",ProxybarStart, true);
// 代わりにflagをねかす
proxybarStartFlag = false;
}
}
//dump("StartProxyBar() end\n");
}

としたらとりあえず治った。
Prefbarを先に入れる必要はあるかも。
diffとかとればよかったかも。。。
いまdiff入ってないから変更した部分コピペしたけど(汗
分かりづらくてスマソ。
要するにremoveEventListenerを使わずに
フラグ使って一度だけ実行するようにしてみただけ。
removeEventListenerがなぜダメかはよくわからない。。。
5023:02/05/27 03:34
>>48
サンクスコ。たしかにそれだと prefbar を先にインストールしてれば大丈夫みたいっ
すね。でも完璧を期すとなると、やっぱ prefbar に手を加えなきゃダメなんす
かねぇ・・・

一応修正版ウプしておきました。
5123:02/05/27 03:34
ちなみにもう落ちます。どーも。
5223:02/05/27 03:36
ちなみにもう落ちます。おやすみなさいませ。
5323:02/05/27 03:37
げ、二重カキコスマソ。
54某スレ40:02/05/27 12:41
某スレから引っ越してきました。
これで、4〜5人にはなったと思われ。
XUL 関連のリンク

XUL Planet:XUL チュートリアルなど。現行事実上最も信頼性の高いXULに関するテキスト。
http://www.xulplanet.com
XUL チュートリアル和訳:http://www.janit.com/xml/XUL/
mozdev.org:XUL アプリの宝庫。
http://mozdev.org
XUL Apps - outsider reflex:Context Menu Extension を始めとする XUL アプリケーション、リファレンスなど。
http://www.cc-net.or.jp/~piro/xul/xul.html
XUL 研:Moz2ch や、SOAP なアプローチを覗かせる XUL アプリの構想など。
http://xul-app.hoops.jp/
Komodo:XUL ベースの開発環境。(求む情報。)
http://www.activestate.com/Products/Komodo/
56某スレ40=55:02/05/27 12:56
ソースコード解析などに参考になりそなXULアプリたち

MultiZIlla:Mozilla のタブの拡張アドオン
http://multizilla.mozdev.org/index.html
ForumZilla:XULベースのディスカッションボードリーダ(*現在0.9.4ベース)
http://forumzilla.mozdev.org/index.html
XULMine:XULベースのマインスイーパ
http://www.nrr.co.uk/xulmine/
もひとつ忘れてた。
XULMaker:XULによるXULアプリ開発環境(現在再構築中)
http://xulmaker.mozdev.org/

ちなみに、>>55 のKomodoは、Perl, PHP, Python, Tcl, XSLT のための開発環境。
XPCOMは分けたほうがいいですか?
xulやjsでetagsが使えれば・・・
60 ◆S0qIRC9I :02/05/27 15:40
addPrefListenerとかの関数が使えるはずです>proxy変更時の別ウィンドウへの反映
navigator.xulとnavigator.jsの頭のほうに出てきます。
ごめんなさい。ageちゃいました……
>>60
どもです。
時々ならageちゃっても大丈夫(藁
Moz2ch作ってたころは
addEventListener("load", onLoad, true);
とかやるのと
<window ... onload="return onLoad();">
とかやるのとの違いが分かってなかったけど
proxybarとprefbarの関係みてて、addEventListenerないと困るのがようやくわかった(藁
ちょっとMozillaのソース漁ってきます。
6423:02/05/27 23:27
>>60
情報どーもです。その内調べてみます。今週はチト仕事が忙しく・・・
週末にはなんとか・・・
6523:02/05/27 23:58
とか言いつつ、 preflistener 使い方分かりました!
確かにコレ使えばなんとかなりそうですね!
prefbar もコレ使えば改良出来ますね。
しちゃおうかな・・・
>>65
おおっ、期待してます。頑張ってください〜
6723:02/05/28 00:48
>>66
暇になったらその内・・・やるかも・・・やらないかも・・・

で、addPrefListener 使った暫定版ウプしてみました。
navigator.js の奴は pref なるグローバル変数使ってるんで、
自前で関数持たせときました。

あと

menuitem = menu.getElementsByAttribute("checked", true)[0];
menuitem.setAttribute("checked", false);

ってやると、check されてる要素を子メニューの中まで探してくれちゃうのね。
余計な事を・・・

さらに、余計なんだか有難いんだか分からない event bubbling の話なんですが、
proxybarOverlay.xul の中で prefMenu のところで oncommand が true を返して
るのに上にイベントが伝わっちゃうんですけど・・・ XUL チュートリアルによると
true を返せば上には伝わらないみたいに書いてあるみたいなんですが・・・
>>67
event.preventBubble()で強引に封じるのが一番確実かと。
69デフォルトの名無しさん:02/05/29 00:20
ブラウザだけソースをダウンロードして改造してコンパイルしたいのですが、
何がなんだかさっぱりわかりません。
>>69
ちょっとズレますが、この前のイベントでASA氏が言っていた、
ブラウザだけに絞ったMOZILLA。話では普通のMOZILLAより格段に速いらしい。
これをコンパイルしてバイナリ上げたら、神として崇められることでしょう。
多分、そのままmakeすれば良いと思うんだが。
名づけて「ブラウザー」。
http://lxr.mozilla.org/mozilla/source/browser/
http://www.deftone.com/blogzilla/misc/mb/

って、XULネタではないわな。追っかけスレのほうであまりにも反応が無かったみたいなんで。スマソ。
7123:02/05/29 01:44
proxybarはやっぱり pref 機能外しました。なんかウザいんで。

その分、prefbarや uabar の機能を節操無くパクってステータスバーにブチ込む
utilitypanels を只今作成中。
僕的に便利ならそれで良し。
7223:02/05/29 02:20
utilitypanels とりあえずウプしてみました。
たぶんバグ満載ですが・・・
さらに無節操に取り込んだら便利そうなツールあったら紹介キボンヌ。
731:02/05/29 02:36
>>72
漏れはステータスバーが狭くなるとバランスが悪くなってマズーなので
utilitypanelsは合わないや。。。
入れてすぐ消しちゃったよ。
もっと柔軟にカスタマイズできたら(・∀・)イイ!!んだけどね。。。
場所とか角度とか。(謎
7469:02/05/29 02:40
全然わかりません。

http://mirror.nucba.ac.jp/mirror/mozilla/mozilla/nightly/latest/

にいくつか有りましたが、どれでしょう?

どっちにしろダイヤルアップ接続ではつらそう。
751:02/05/29 02:46
>>70
スレ違いだけど
mozilla/browserはビルド済みのものが一応あるぽ。

ここで紹介されてた。漏れは落としてないからわからないけど。。。
ttp://www.deftone.com/blogzilla/archives/mozillabrowser_download.html
761:02/05/29 02:53
>>74
ちなみに、(C/C++の)ソースをDLしてコンパイルするっていうのは
このスレの主旨とは本当は違うんだけど。。。
漏れもビルドしたことないし。。。

とりあえず、手がかりだけは書いとく。
これを読む気力もなかったら諦めたほうがブナーン。。。(漏れも諦めた(藁
ソースの入手方法
http://www.mozilla.org/source.html
http://jt.mozilla.gr.jp/source.html (和訳)

ビルドの方法
http://www.mozilla.org/build/
http://jt.mozilla.gr.jp/build/ (和訳)

ちなみに、多分CVSじゃないと
ブラウザ部分だけのソースは落とせないと思われ。
そして、結構色々落とさないといけないから、ダイアルアップだと割と辛い。
7723:02/05/29 02:54
>>1
うーむ、やっぱ普通の人はステータスバーって重要なんですかねぇ。
僕にとってはアソコが一番無駄なスペースなんですよねぇ。
やっぱツールバーにした方が受けるんかな。
まぁ「私的ゴミ置き場」なんで、僕的にオッケーなら良しとゆー事で・・・

あぁ、ちなみに表示メニューでなんとなく表示のトグルぐらいなら一応出来ます。ハイ。


# なんか JavaScript のクラスの作り方とかイマイチ分からず結局 C チック
# なコードを書いてしまうのはどーにかならんものか・・・
781:02/05/29 03:01
>>77
JavaScriptのクラスを書く価値がある場合:
・「同じ種類のもの」がたくさんある。
・XPCOMのインターフェイスを実装したクラスが必要。
Javaと違って、やたらクラス化したりオブジェクト指向する必要はないと思われ。
実際、Mozillaに含まれるnavigatorとかmessengerとかの.jsも
ほとんど関数ばかりでCちっくに書かれてるし。
791:02/05/29 03:03
>>77
ツールバーにもステータスバーにも入れられるようにしてみたらどうよ。
設定とかで選べるようにしてみたり。。。
ツールバーはほとんど畳んでステータスバーの空き空間を持て余してる人は
ステータスバーに突っ込むだろうし。
どもども。
>>77 >>79
自分は、ステータスバーにあるproxybarが良いなあ、と思いました。
ステータスバーにもひとつボタンが何か置けるなあ、とも思いましたし。
ツールバーが2段になっちゃうと邪魔だし。
外野的意見ですんません。
8123:02/05/30 17:40
げ、ウプしてた utilitypanels って proxy list の edit 出来なかった奴じゃん。 ウプするバージョン間違えてた…
スマソ。

# しかし誰も何も言って来ないとはやはり需要は無いっちゅー事かいのぅ…

>>79
うーん、考えてみます。でもなんかあの形態だとメニューバーがもう
一個出来るみたいに見えるかも…

>>80
どーもです。まぁステータスバー派が一人でもいて良かった(藁
821:02/05/30 18:06
>>81
proxy設定機能とか欲する人間は既にprefbar入れてて
重複する機能が無いproxybarのほうをダウソしてると思われ。
83デフォルトの名無しさん:02/06/01 19:38
1.0.0+ 20020531 に utilitypanels を入れてみました。
proxy変更機能は問題無く動いてますが、あとのふたつは少し動作が変です。
これはもともとのバグだと思いますけど。
8423:02/06/04 21:32
>>83
報告サンクスコ。でも、ちょっとこの時期サッカーで忙しいんで・・・(藁
その内直します。ハイ。
851:02/06/04 23:23
Moz2ch復活スレはまた別にたてたほうがよさげ?
モナジラBBSにでも
86超ぉ〜Anne:02/06/05 00:10
>>1
ここでもいい気がするけど、monazilla の方が mozilla ユーザーで
ない人間にも注目されていいかもしれませんね。
復活期待しとります。
871:02/06/05 00:33
>>86
をを、懐かしい方が(藁
このスレしばらく使ってみて、他の話題と同居できないようなら
向こうにスレ立てることにします。
今日は<tree>ウィジェット弄ったりいろいろしてました。
久しぶりに弄ってみた感想としては
設計しなおしたほうがいいかも、とか。。。(鬱
881:02/06/05 00:55
とりあえず<tree>は使えるようになったぽいが、スレが見れない。。。
スレが見えるようになったら久しぶりにageてみるかも。
23 = 超ぉ〜Anne という罠
901:02/06/05 23:55
>>89 それも面白い。
91デフォルトの名無しさん:02/06/06 05:04
1.0リリースage
9223:02/06/06 23:33
>>90
笑って頂けて光栄です。なにしろ真実なんですわ、マジで。
931:02/06/07 00:14
>>92
マジスカ(藁
最初誰かの騙りかと思ったよ
とりあえずこれからもマターリやってくんで、ヨロシクですm(_ _)m
94デフォルトの名無しさん:02/06/09 15:17
<vbox onclick="..." context="..."/>

というボタンをつくると、linuxでは左クリックでonclickで指定したものが動き、
右クリックでcontext-menuがでます。

これをWindows(Me)で試したら、右クリックで一瞬context-menuが出た後に、
onclickで指定したものが動いてしまうのですが、そういうものなんでしょか。

どこでも動く指定の仕方があれば教えて下さい。
951:02/06/09 23:25
右クリックもonclickで反応してしまうから
onclickの中で
if (event.detail == 2)
とかやって、どのボタンがクリックされたか調べるが吉。
左ボタン、中ボタン、右ボタンが、それぞれ0,1,2のどれかになるはず。
調べるのはめんどいのでよろ。。。

# ちなみに<button>が押されたときのイベントは
# onclickではなくてoncommandでとれば、
# 上みたいな問題は発生しないと思われ。
XULで開発するときって、Mozillaを再起動しまくるの?
9794:02/06/10 17:09
>>95
oncommandだとダメだったので、
onclickで if (event.button == 0) とやったらいけました。
0,1,2が、左、中、右ボタンみたい。
ありがとうございました。

#しかし、linuxとwindowsで挙動が違うのは分かり難いなーーー
>>96

user_pref("nglayout.debug.disable_xul_cache", true);
すればキャッシュされず、必要になる度に読み込みなおす
んじゃなかったかなぁ... と遠い記憶を手繰ってみる。
991:02/06/10 23:17
>>97
理想はlinuxでもwindowsでも(もちMacでも)同じ動作をすることなんだけど
実際にはあまたのバグのおかげでいろんなところが違ってるよね
ま、気をつけて書けばたいてい上手く動くみたいだけど。。。

>>98
それであってたと思われ。user.jsやらprefs.jsを弄るのが面倒なら
prefbarを使ってもXULキャッシュが無効にできるね。
1001:02/06/10 23:36
>>97
一応追試してみた。
<button label="omaemona" oncommand="alert('mona');" context="monaPopup"/>
<popup id="monaPopup">
<menuitem label="giko"/>
<menuitem label="zonu"/>
</popup>
こんな感じのコードで動いたけど。。。
こういう動作とは違うのかな…
10194:02/06/11 00:32
>>100
ボタンと書いてしまったのが悪かったのかな。
<vbox/>は…ボックス?

googlebarをいじっているのですが、見様見まねでやってるので
いろいろ間違えてるとは思います。
>>101
XulPlanetのXUL Tutorial(邦訳)はご覧になりましたか?
まだでしたら、一読されることをお勧めします。
1031:02/06/11 09:12
>>101
ボタンじゃなくて<vbox>に対してイベントハンドラを追加してたなら
oncommandはきかないですね。
10494:02/06/11 15:30
>>102
部分的には読ませてもらってます。
でもgooglebarの中身から類推してやると大抵動いちゃうので
それで良しとしちゃってますね。
105プログラム板ROM:02/06/13 23:36
Moz2ch再開してたんですね。
今日、FreeBSDにmozzila1.0入れたんで動作テストぐらいは
またお手伝いできるかも。
106プログラム板ROM:02/06/13 23:39
>>105
ああ、mozzila ってなんだよ。
回線切って逝ってきます・・・・
モズィーラ(・∀・)イイ!
モッツィラ?(伊)
1091:02/06/14 00:42
>>105
Moz2chは…再開してたというよりは
再開しようとしているというか
再開しようとしつつあるって感じだったり。。。
久しぶりにコードみたら腐ってることに(改めて)気づいたので
今全体を見直しながら少しずつ書き直していってるところ。
XULプログラミングには、教科書的なモノがないので
色々と迷うところもあったり。

まだしばらくかかると思うけど、復活の際は是非よろしくです。
11023:02/06/15 14:58
>>10 を見て、検索に関してカナーリショボイものを作ってみました。元Emacsユーザー
としてはコレはアリかな、と思ったんで。まだ検索のコードをパクってイヂっ
ただけなんで、あんま便利じゃない上にたぶん不具合満載なんですけが(w
一応ダイアログは出ません(爆)

http://www4.tkcity.net/~toshiki/xul/findbar.xpi

に置いときます。ステータスバーに表示されるテキストボックスに検索したい
文字列を入れてエンターを押せばページ内検索出来るハズ。日本語も大丈夫っ
ぽい。"back" のチェックを入れると前方検索になる。

で、問題点をいくつか。

・常に検索用テキストボックスが表示されててウザイ
# グローバルのショートカットキーのハンドリングの仕方が分からない(涙)
・インクリメンタルサーチにしようかと思ったんだけど、FindNext の仕様上チト厳しそう。
# 挙動が多少変でいいなら出来るんだけど・・・
・findbar にフォーカスがある時点で Ctrl-R とかで前方検索に切り替えられ
るよーにしようと思ったんだけど、 onkeypress で受ける event.keyCode が
何故かゼロになっちまうんだが・・・

誰か解決策ご存知だったら教えて下さいm(_ _)m。
# もちろん自分でも調べてはみますが。

11123:02/06/15 15:01
ちなみに

大文字小文字の違いは無視
最後まで検索し終ったら最初に戻る

っちゅー事にしてあります。

11223:02/06/15 15:40
Ctrl-F でフォーカスをテキストボックスに移せるようにはしたんだけど、
いつテキストボックスの表示を消すかが問題だなぁ。
常時表示でも別にいいかな?どーでしょうねぇ?
ステータスバーがあんまり狭くなるのも確かに問題な気もしますし・・・
11323:02/06/15 15:58
挙動変えました。Ctrl-F でミニバッファっぽいものが表示されて、
Esc で消えます。これなら多少はウザくないかな、と。

# なんかスレ汚しっぽくってスマソ
11423:02/06/15 16:38
Ctrl-Gにも対応。とりあえずはこんなモンかなぁ。
URLBar (?) にフォーカスがある時に Ctrl-F や Ctrl-G が取れないのが
何故だか良く分からんのだけど。
>>23さん
最新のnightryに入れてみましたが、
どこのURLにもアクセスできなくなってしまいました(;´Д`)
1.0で試してみます…
11623:02/06/15 17:38
>>115
えぇっ!?マジっすか!??激しくスマソ・・・
と思って最新 nightly on Linux で試してみたけど問題無かったっす。
何か他に入れてたりしますか?
proxybar と prefbar の相性の問題みたいに何かあるのかもしれないので。
117115:02/06/15 18:14
>>116
Piroさんとこのtab拡張とぶつかってる模様です…
1181:02/06/15 18:17
>>23サン
ども
超ぉ〜Anneさん(こっちで呼んでもいいのかな…)が
活発に活動されてるなか、こっちはMoz2chをショボショボやってたりします(汗
とりあえずテレホ人なんで、今夜見てみま。
ステータスバーへの機能組み込みだけど
汎用的な枠組みみたいなもの作ったほうがいいのかな。。。
11923:02/06/15 19:22
>>115殿
こちらで確認しようと思って、真っ新な最新 nightly に tabextension 入れ
てみたら、findbar を入れる前に既に mozilla が黙ったまま落ちるよーになっ
てしまったんで、良く分かんないです・・・tabextension がこちらではそも
そも動かないんで、原因究明は難しいっす(鬱

だた、ソースを見た限りでは、もしかしたらまた prefbar と同じで、原因は
addEventListener かもしれないっすねぇ。推測の域を出ないんですが・・・

で、一応(今は)findbar は addEventListener を必要としてないんで、コメ
ントアウトしたのをウプしてみました。ダメかもしんないけど・・・


>>1殿
それでは私も厨房もじら〜殿とお呼びした方がよろしいでしょうか(w
僕はどっちでも構いませんけど。

ただ、基本的に

思い付きでコードを書く=>XULが分かんねぇ=>JavaScriptも分かんねぇ=>
なんとなく色々jarを展開してみる=>手探りでテキトーにコードをでっちあげる

という悲惨な作業形態なんで、汎用的な枠組みとかそんなご大層なものは
作れそうにありませぬ・・・(鬱
もーちっと XUL & JavaScript を把握しないと・・・
# addEventListener の第三引数も意味が未だに良く分からんし・・・
120厨房もじらー:02/06/16 00:40
>>120
もじら〜ではございませぬ(藁
それじゃあ、コテハンうざいって言われるまでコテハンでいくことにします。

作業形態は似たり寄ったりです(汗
汎用的な枠組みってやつは漏れの妄想なんで、あんまり気にしないが吉。
XULもJavaScriptも触ってれば覚えられる言語だと思うんで
お互い精進しやしょ。
>>120
自分になにいってんの?
コテハンうざい。
122超ぉ〜Anne:02/06/16 03:06
>>120=厨房もじらー殿
おっと、そいつは失礼いたした(汗
まぁマターリ頑張りませう。

>>121
ジサクジエンハケーン(藁
123厨房もじらー:02/06/16 04:32
>>122
(・∀・)ジサクジエンデシタ
って、ばれてるのね(藁

とりあえず、色々なコードみたり
ttp://developer.netscape.com/
あたりのJSドキュメント読んだりして
ようやくJavaScriptでのオブジェクト指向なるものの姿が見えてきたので
マターリと実装中。
来週中には動くものをウプできるかも。
期待してます。私もなんか作りたいなあ。
125厨房もじらー:02/06/16 05:34
>>124
いろいろ公開されてる小物を参考にするもよし
http://www.xulplanet.com/
で基本的な手順を学ぶもよし、で
最初は何か小さなものから作るのがお勧め。
漏れが最初に作ったのは、単にウィンドウを表示するだけのXULアプリ。
それだけでも結構手間がかかったので、それなりに達成感があったような。
そこから少しずつ機能をつけてプログラムを大きくしてみるとよいと思われ。
126厨房もじらー:02/06/16 05:38
ちなみに開発中の画面はこんな感じ。
ウィンドウにアイコンつけてみたり、一部画像を追加したり。
機能が増えて作り直してるから、余計時間がかかりそうだけど(藁
127厨房もじらー:02/06/16 05:41
URL貼り忘れた。。。鬱だ。逝ってきます。
ちなみに、Moz2chのアイコンをホットゾヌとギコナビのアイコンと並べて
すこしだけ自己満足に浸ってます(寒い漏れ。。。
ttp://xul-app.hoops.jp/moz2ch/images/moz2ch-20020616.jpg
>>127
激しく期待
129 ◆S0qIRC9I :02/06/16 14:09
>>119
起動すらできずに墜ちてしまうんですか?
むぅ……何故でしょう。
うちのMozilla1.x@Win32では問題なく動いてるんですが。
130超ぉ〜Anne:02/06/17 00:20
>>129
もしかしてpiro殿ですかっ!?
えっと、一応起動はしますけど、マウスいじってる内に落ちます。
nightly の方が悪いのかもしれないんでなんともかんとも。
ただ、nightly 単体だと、そんな事起こらないっぽいんですよね。
再現性が無いんではっきり申し上げられないんですけど、タブで右クリックして
メニューを表示してる内に落ちる確率が高い気がします。

>>厨房もじらー殿
moz2ch 激しく期待!!
131厨房もじらー:02/06/17 02:45
ところで、Moz2chはMozillaのテーマに追従する形で作ってるんだけど
Moz2ch使う予定の人で、Modern/Classic以外のテーマ使ってる人は
テーマ名をよろしく。
希望が多かったものの中から*いずれ*テーマ対応XPIを作る予定。
>>127 すげーイカスよ!期待してます!
133超ぉ〜Anne:02/06/17 11:14
>>131=厨房もじらー殿
Lo-Fi 使っとります。出来ればよろしくです。
134厨房もじらー:02/06/17 12:36
Lo-Fiは和じらの方にも入るみたいですし、対応する予定です。
135 ◆S0qIRC9I :02/06/17 16:19
>>130
タブのコンテキストメニューで落ちるんですか?
マウスジェスチャなどの他のユーティリティは
導入されていないんですよね。
ぬぅ。原因の見当がぜんぜんつきません。
>>135
参考になるか分らんですけど、いちおう。

うちのtrunk-2002061604 at linux では、
http://web.domaindlx.com/kazy/ のGooglebarとtabextensionsを
同時に入れて、about: を表示させてしばらく放っておくと落ちます。

でも、tabextensionsのみだと落ちなかったと思う。
137超ぉ〜Anne:02/06/18 03:53
>>135
そうです。マウスチェンジャとか一切使ってません。
まっさらな nightly に tabextension 入れただけです。(Linux)
# ちょっと手元に無いんでバージョンまでは分かりませんが、当日のnightlyで
# した。


で、findbar に menulist を使うようにしたらステータスバーの高さが
妙な事になってしまいました。とりあえずstyle="margin:0px"とかやって
多少は良くなってはいるものの、何故に menulist editable="true" と
textbox とではあんなに高さが違うんでしょうねぇ・・・
138 ◆S0qIRC9I :02/06/18 09:30
どうも、Win32では起こらない問題のようですね……

最新版では一応、初期化でaddEventListenerを使わなくしてみましたが、これは関係ないでしょうか。
139厨房もじらー:02/06/18 10:48
開発中のスクリーンショット(またか。。。
ttp://xul-app.hoops.jp/moz2ch/images/moz2ch-20020618.jpg
<tree>のスクロールバーがうまく表示されない問題をなんとかしたので
あともう少し、かも。
見直したいところはいくらかあるけど
他に影響を与えない形で後から直せそうなので
とりあえずスレ読めるようにがんがります。
140超ぉ〜Anne:02/06/18 13:08
>>139
期待 & 応援 age!!
141デフォルトの名無しさん:02/06/18 13:26
>>139
イイ!
なんかあれば手伝うぞ!
142厨房もじらー:02/06/18 17:42
ちなみに「あと少し」というのは
メインの機能(スレ読み)が一応できるまでなんで
最初のリリースはメニュー項目とか細かい機能が全然実装されてないです。
前回(凍結前)いろいろやったことを活かして
主な部分の再設計ができたので、
少しは見通しがよくなっているとは思います。
ですので、また超ぉ〜Anneさんや、他の方々も手出してくださいませ(藁
143厨房もじらー:02/06/18 17:46
>>141
とりあえず漏れの手がつかない部分としては
右上のthrobberのアニメーション版を作ってホスィ(藁
あとは、折角オプーンソースでやってるんだから好きに作って(藁
(・∀・)イイ!!と思えば採用するし、独自版つくってもよいし。
144超ぉ〜Anne:02/06/18 18:47
>>142
ワタクシは設計には関わらないよーな細い所に手を出させて頂きたく(w
# でもアニメーションとか分からないからパス。

まずはギコナビに無く(と思う)って欲しいと思ってる機能として、スレッド
一覧の中でスレッド名を検索出来ないのがあるんで、その辺が moz2ch で作れ
たらいいなぁと思っております。ハイ。漏れの技量ではそーゆー小物系ぐらい
しか手は出せないと思うし・・・
145厨房もじらー:02/06/18 23:35
http://xul-app.hoops.jp/moz2ch/images/moz2ch-2002061802.jpg
とりあえずスレ読んでみた。
なんか、まだ穴だらけなのでもう少し整理したら
開発者向けにリリース(藁
146厨房もじらー:02/06/18 23:41
>>144
じゃあ、板検索、スレ検索のほう、考えといてください(藁
とりあえず漏れがリリースしないことにはアレですけども。。。
147超ぉ〜Anne:02/06/19 00:19
>138
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1a) Gecko/20020618, build 2002061804
ではキチンと動いた模様です。findbarもキチンと同時に使えました。
とりあえずご報告まで。

>145,146
(・∀・)イイ!!
でも検索に関しては責任は持てませぬ・・・
ヘタレなのしか作れないかもしれないし・・・
まぁαリリース版が出たら楽しくいじらせて頂きます。
148136:02/06/19 03:07
>>138
2002061808 + googlebar + tabextension で落ちずに使えています。
私も、ご報告まで。
149厨房もじらー:02/06/19 23:33
SourceForge.jpにプロジェクト作るのに賛成の人は挙手。
(・_・)/
(・_・)/
./
153厨房もじらー:02/06/20 00:28
賛成3か。。。
今とりあえずアカウントはもう作っちゃって
新規プロジェクトの規約とかドキュメントとか見てみてるんだけど
CVSほとんど使ったこと無くて使えるか自信ない。。。
まあ、いざとなったら超ぉ〜Anneさんにヘルプ求めるか(ダサッ>漏れ
154厨房もじらー:02/06/20 00:48
ライセンスをどうしよう。。。
今のところパブリックドメインにしておきます。
155 ◆q78mh/0k :02/06/20 00:55
(・_・)/
156超ぉ〜Anne:02/06/20 01:01
(・_・)/ ハイハーイ!

CVS は・・・Mac と Win 使ってらっしゃるんでしたよね、確か。
ttp://www.cvsgui.org/
ここに WinCVS と MacCVS なんちゅーのがありますよ。
# 使った事無いけど(藁
157厨房もじらー:02/06/20 01:19
とりあえず送信した。問題が無ければそのうちメールが届くはず。。。
プロジェクトが承認されたらここで連絡します。
158厨房もじらー:02/06/20 01:21
ところで、今更なんだけど騙り防止のため
トリップ作ってきます。。。
トリップ用のソフト、どこにあったっけな。
159超ぉ〜Anne:02/06/20 01:36
>>158
cygwin でも使ってれば、以下のをコンパイルすれば簡単かと。
# たぶんインデント崩れるけど、悪しからず。

/* trip.c
compile: cc -o trip trip.c -lcrypt
usage: trip 'aaaa' 'zzzz' | grep hoge
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

extern char* crypt(const char*, const char*);
int main(int argc, char* argv[])
{
int i, i0, i1, i2, i3, i4, i5, i6, i7;
char *r, b[8], e[8], sa[3], s[9];
if (argc != 3) { fprintf(stderr, "usage: trip begin end\n"); exit(1); }
for(i = 0; i < 8; i++) {
b[i] = (i < strlen(argv[1]))? argv[1][i] : 0;
e[i] = (i < strlen(argv[2]))? argv[2][i] : 0;
}
sa[2] = s[8] = 0;
for(i0 = b[0]; i0 <= e[0]; i0++)
for(i1 = b[1]; i1 <= e[1]; i1++)
for(i2 = b[2]; i2 <= e[2]; i2++)
for(i3 = b[3]; i3 <= e[3]; i3++)
for(i4 = b[4]; i4 <= e[4]; i4++)
for(i5 = b[5]; i5 <= e[5]; i5++)
for(i6 = b[6]; i6 <= e[6]; i6++)
for(i7 = b[7]; i7 <= e[7]; i7++) {
s[0] = i0; s[1] = i1; s[2] = i2; s[3] = i3;
s[4] = i4; s[5] = i5; s[6] = i6; s[7] = i7;
sa[0] = i1; sa[1] = i2;
r = crypt(s, sa);
printf("%s\t%s\n", s, r+5);
}
exit(0);
}
160厨房もじらー:02/06/20 02:29
>>159
おおっと、わざわざありがたいですが
もう拾ってきて計算中です(藁
一晩中で見つかるといいな。。。
161厨房もじらー:02/06/20 12:00
やったー。プロジェクトできたよー。
http://sourceforge.jp/projects/moz2ch/
でも使い方把握してないので、そこは勘弁。。。
トリップこれにしよかなぁ。。。
今も検索中だけどなかなかいいのが見つからない。。。
ゴタゴタしてて、色々調整できてないですが
ようやくsf.jpのほうにページウプできました。
http://moz2ch.sourceforge.jp/
ページデザインやりなおすかも。。。(そんなことより公開すれ>漏れ
まだ開発者向けのみなのでXPIは作りませんでしたがソースをウプしました。
ttp://moz2ch.sourceforge.jp/nightly/moz2ch-2002062101.zip

content,install,url,*/content/moz2ch/
skin,install,url,*/skin/lofi/moz2ch/
skin,install,url,*/skin/modern/moz2ch/
skin,install,url,*/skin/classic/moz2ch/
locale,install,url,*/locale/en-US/moz2ch/

*の部分は適宜配置して決めてやってください。
これで分からない人はまだインストールしないが吉。
>超ぉ〜Anneさん
>>164見てもわかるように、とりあえず適当にですがlo-fiにも対応しておきます。
将来的にはmodern/classic以外は別パッケージ(XPI)にする予定ですが
さしあたり、超ぉ〜AnneさんはLo-Fi使うだろうと思ってつっこんでおきました。
SourceForge.jpのリリースファイルにもおいておきました。
次からはそっちに置くと思いますのでよろしく。
167超ぉ〜Anne:02/06/21 08:47
とりあえずダウソしたんですが、何故かパースエラー・・・
でもパッと見間違ってなさそうなんで、インストール方法が悪いのかも。
チト調べてみます。
# ただ今日は色々忙しいんで、いぢるのは明日以降になるかも

ところで CVS にはブチ込まんのですか?
168超ぉ〜Anne:02/06/21 08:52
失礼しました。ニュースの方に CVS にも近々って書いてありますね。スマソ。
>>167
chrome.rdfは弄らなくても
installed-chrome.txt弄るだけで漏れはインストールできましたよ。
友人宅でMozilla 1.0@Linuxにもインストールしてみましたが普通にいけました。
もしかして、nightly使ってるだとかで動かなかったりして。。。
1.0以降はしばらく追っかけてないので変更点など把握してないですが。

CVSは、やり方調べながらぼちぼちやっていきますんで、少々お待ちくださいませ。
とりあえずcvsをリポジトリにおいてみました。
不都合とかあったら、また教えてくださいませ。。。m(_ _)m
とりあえず適当に弄ってみてくださいませ。
ぶっちゃけ、管理とか良く分かってないんで、必要に応じてけちつけてくれたら
ちょっと勉強して、教えて君やってきます(藁
171超ぉ〜Anne:02/06/22 01:28
>>169,170
やっと出来ました。resourceの前を":"でなくって","にしたら。
イマイチinstalled-chrome.txtの書式分かってないんですわ。スマソ。
お騒がせしました m(_ _)m

とりあえず CVS も co 出来ました。ほんではボチボチ見させて頂き・・・たい
ところなんですがチト忙しいので明日にでも。
>>171
お疲れ様です。
漏れはcvsの勉強しつつなんであんまりコード弄ってないです
ためしにいくつかciしてみたりしつつ
いろいろやってみます。
173超ぉ〜Anne:02/06/22 02:38
>>172
ども。ちょっと見た感じ、簡単そうなところから手を付けさせて頂こうかなと思います。
とりあえず、「表示」=>「表示/隠す」でとりあえずトグル出来るようにでもしようかな。
# 特にステータスバーフェチとしては component-bar も消せるよーにしたい(w
って、ホントに簡単そう(藁
そんで、その後は板内のスレ名で検索するのと、スレ内の文字列検索でも作りましょうか?
と思って一つ疑問が。
メニューの「板」ってヤツが sureList をターゲットにしてて、
「スレ」ってヤツが sureBrowser をターゲットにしてるんですよね?一応確認だけ。

と、まぁ浅いところをいじらせて頂くつもりですんでよろしくです。
174超ぉ〜Anne:02/06/22 02:43
ついでにもう一つ気になったんですが、dtd は UTF8で書いてて、
は sjis で書いてますよね。統一しちゃって全部 UTF8 で良くないですか?
いや、文字コードは趣味の領域なので、嫌だったら別にいいんですけれども。
>>173
そのへんは、漏れもいまだに悩んでいるところっす。。。
内部的な概念は板ツリー、板、スレという風になってるんだけど
UI的には「板」っていうより「スレリスト」なんじゃないかと思ったり。
その辺の意見もあればぜひ欲しいです。

>>174
いや、漏れがいつも使ってるエディタがsjisのみなんで、ついつい(藁
WinではUTF8読めるエディタってフリーのエディタにあまりないから
sjisやらにしたほうがいいかな、とか思いまして。

UTF8のほうが都合が良いことがあれば、参加者の意見を汲みたいと思ってるんで意見はありがたく拝聴します。
何箇所かちょいちょいcommitしてみた。
こんな風に使うのか。。。
とりあえず、今は差分getを実装してます。今晩くらいにはできるかも。
177超ぉ〜Anne:02/06/22 20:00
>>175
その辺は確かに難しいところですねぇ。まぁとりあえずは現状維持で
いいんじゃないかと思いますけども。

で、文字コードの件に関してはまぁ揃ってないと grep が多少かけにくいとか
その程度の個人的な事情で思ったなんで、そーゆー事情ならsjisのままでいい
と思います。使い慣れたエディタって重要ですもんね。


で、ちょっと思ったんですが、こーゆーmoz2ch特有の話は微妙にスレ違いなよー
な気もしなくもないんですけど、どーしましょ?せっかく sf 使ってるんだし、
Developers のフォーラムを使うのも一つの手だと思うんですよね。ただ、そー
すると広い範囲の人の意見が聴けないかもしれないという両刃の剣。
moz2ch スレを立てるってのも一つの手かな?
その辺は厨房もじらー殿にお任せしますが・・・
じゃあ、Moz2ch開発スレ立ててきま。
これ以降、Moz2ch関連の話題は

Moz2ch開発スレッド
http://pc.2ch.net/test/read.cgi/tech/1024757183/

で、よろしくお願いします。
このスレでは、XULプログラミング一般の話題でまたーり逝ってください。
他にネタ、ないのかな。。。
181 ◆S0qIRC9I :02/06/27 15:11
Policy ManagerとSidebar WindowをBugzilla投稿用のパッチに書き直してくれる心やさしい方はいないものだろうか……
とか言ってみる。
>>181
口出しすると協力させられそうだったので、黙っておこうとか思ったけど
漏れのスレなんでレスしてみる(藁
Sidebar Windowは感動を覚えましたが、今は使ってないし
Policy Managerもデフォルト主義者の漏れは
インストールしてなかったりするので詳しくなくて力になれないかも。。。

パッチに書き直すってのは実際どういう作業なのかもしらないし(藁
おそらくbugzillaの方にだすならコメントは英語にしなきゃだし
コーディング規則は。。。JavaScriptは結構適当でいいみたいだから
これはいいとして
MPL/GPL/LGPL(だったと思う)のライセンスコメントを
各ファイルの先頭につける必要があるよね
パッチって、まず何にパッチするんだろ。。。
例えばSidebar Windowなら
comm.jarのcommunicator/content/sidebarあたりへのパッチになるのかな。。。
で、Policy Managerは
comm.jarのcommunicator/content/policymanager/以下に
ディレクトリ作ればよさそうだから
comm.jar解凍したものへのパッチを作ればおーけーってところでしょか
184デフォルトの名無しさん:02/06/27 21:10
XPCOMのリファレンスってwww.xulplanet.comのよりもうちょっと
詳しいものないでしょうか。
せめて簡単な説明文があるような。
MSDNに載ってるような戻り値とか引数の解説まであると期待して見たら
まったく文らしいものが無かったのでよくわからんのです。
XUL and Script Referenceのはけっこう詳しく書いてあるのになぁ。
>>184
ソースが詳しい(藁
実際問題、漏れは
ttp://lxr.mozilla.org/mozilla1.0/source/xpcom/
以下のidlファイルのコメントを参照することが一番多いし。
XULでトリップジェネレーター作ってください。
>>186
アルゴリズムがわかってれば作れるけど
JavaScriptで処理することになるから、速度的にはかなり不利だと思われ。
ちなみに、漏れはアルゴリズムもしらないけど。。。
188某スレ12 ◆Z80FPU5k :02/06/29 19:57
>>187
アルゴリズム書こうと思ったけど、既に超ぉ〜Anneたんが>>159
書いている事に気づいた。。。w
トリップジェネレータは総当たりだからCで書いたって
速度的にきついのにJavascriptで書いたら…(((( ;゚Д゚)))ガクガクブルブル
>厨房もじらーたん
XULでFTPのネタはあちらのスレでやるのはあまりにもスレ違いなので、
こちらの方でやろうと思いますです。。。
>>188
参考までに作ってみるのは面白いと思うけど
遅すぎて誰も使わない罠はありうる(藁
トリップジェネレータはcrypt使うけど、
cryptは別のとこの使うのかと思ったら>>159に書いてあったね。
作れなくはないと思われ。
ただ、積極的に作る動機がみつからない。。。

FTPできたら漏れも使うし手出し口出しさせてもらうつもり。
がんがれ。
とおもってもう一度読んだらやっぱりcryptないじゃん。。。鬱だ。
191 ◆Z80FPU5k :02/06/30 00:34
UIかけるようになりますたw
まだ中身なんもないですw
http://baniisan.s12.xrea.com/images/ftpzilla.gif
どんなUIにするか考えるのめんどかったんで、FFFTPzillaに
してみますたw
この程度のUI作るだけで約4時間半。。。こんなペースで
勉強してたら、完成するのは半年ぐらいかかるヨカン。。。鬱
>>191
かこいいすね……
ただ、こういうのって、スキンをつけたらどうなるの?
今、PinBall使ってるんだけど、それなりに変更とかされるのかな?
193 ◆Z80FPU5k :02/06/30 01:30
>>192
スキンどころか、ロケールすら無視してゴリゴリですw
今んとこおいらのスキルが見かけとか気にする段階じゃ
ないもんで、とりあえずどこクリックしても無反応なこのUIに
機能を実装するのが最優先なのれすw
>>191
見てみた。カコ(・∀・)イイ!!ね。
とりあえず勉強しながらの開発は、段々と要領を得ていくものなので
基本的には開発の速度は加速していくものだから
そんなに心配しないことです。

>>192
見たところテーマに依存しない風なつくりなので
あらゆるテーマでそれなりに表示されると思われ。
Moz2chは、いらないところに凝ってるから
各種テーマに対応する差分テーマ作らなきゃなんだけど。。。(鬱
ユーザープロファイルが入ってるフォルダのパスってどうやって取得するんでしょう?
そこに設定ファイルや個人のtempファイルを置こうかなーと思ってるのですが。
>>195
Piroさんのウェブページで解説されてたと思うよ。
>>196
おぉ!本当だ!すんばらしい!
198デフォルトの名無しさん:02/07/01 00:12
2ch用ブラウザを使っていないので2ch用の各ブラウザが
どうやってるのかは知らないのですが、例えば取得したdatファイルを
HTML化して表示するには、一度ローカルに書き出してからそのローカルファイルを
ロードするという方法が常道なのでしょうか?
Moz2chもそうしてるようですし。
普通はそんなことしないよ
必要以上にディスクIO増えて遅くなるだけ
先に保存しておけば、保存し忘れるということはない。
例えクラッシュした場合でさえ。
普通はどうやるんでしょうか?
>>198
2ちゃんねる→Moz2ch→ログを保存
        ↓
       データを処理
と並行してやってる。
Moz2chは、一応データを処理してからログに吐き出すようにしてるから
ローカルに書き出してからロードするというようにはしてないよ。
2回目以降はログ読み優先にしてあるから、ログ読みに逝くけど。
ちなみに、漏れの記憶が正しければMonazillaスレの初期のものは
一旦ローカルにデータを落としてから、
いろいろ弄るような形式になってたと思われ。
当時はDAT直読みができなかったから、データ解析が大きな処理で
データのダウンロード、保存とは分けて考えたかったからだと思う。
違ったらスマソ。ツッコミよろしく。
204201: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ソースを直接表示)するのはどこで
やっているのでしょうか?
205199:02/07/01 01:21
あーごめんちょっと勘違いした。

ローカルに保存した.datをHTMLとして出力する時に、テンポラリファイルとして
.htmlを作るようなことは普通しない、という意味で書いた>199
>>205
読み違えてた。スマソ。。。
普通は.htmlを作ることはないと思いますが、
Moz2chでそうしているのは
JavaScriptにはスレッドがないので(多分)
document.write()などJavaScriptのメソッドで
連続して大量のデータについて重い処理をすると、
固まったようになっちゃうので、
暫定的にファイル書き出し、読み込みするようにしています。

データを溜め込むバッファみたいなのを用意しておいて
setTimeoutなどで定期的にバッファを処理するようにしてやれば
うまくいくような気はしてるんですが、今はネットワーク周りと
基本的な設計とか構造に関することが気にかかってるので
そのあたりは後回しです(汗
ちなみに、差分getをサポートしたら、
逐次レンダリングをしようと考えてるんだけど
そのときにもう少し効率のよい描画方法として
上の方法を試そうと予定しています。
話の流れ上ここで話しちゃったけど
>>179
209201:02/07/01 01:54
Moz2chでは一時的に.htmlを書き出してからそれをロードしてるということで
いいのでしょうか?そして、普通は(他の言語で作られている2chブラウザでは)
そのようなことはせずに変数内のHTMLソースを直接表示させてると
いうことでしょうか?

それでこれに関連してもう一つ。
IEコンポでは自分で作ったHTMLを表示させるにはinnerHTMLを使ったり、
ちょっとかっこ悪いですがabout:<html>....</html>をNavigate2に
渡せば表示できますが、XULではどうやるのでしょうか。
.htmlに書き出して表示させる方法しか思いつかなかったので先のような質問を
させていただきました。
たとえば<browser>エレメントをdocument.getElementByIdなどで取得して
var browser = document.getElementById("myBrowser");
var doc = browser.contentDocument;
doc.writeln("<html>…</html>");
とやればいけると思われ。
doc.innerHTMLでもいけるかも。
ユーザースタイルシートのON/OFFを切り替えたり、
適用するユーザースタイルをいくつも登録しておけるようなアプリを作ってください。
21223:02/07/01 14:09
をぉ、>>211 のような小物は漏れ向きかも(藁 ちょいと調べてみようかな。
# 暇があれば・・・
漏れの意見としては、Piroさんのコンテキストメニュー拡張に
そういう機能があったような気がするので
あっちを使うか、機能不足ならパッチ送って追加してもらうとか
そういう方向のほうがよさげかと。
似たようなアプリが乱立すると(それ自体は悪いことではないと思うけど)
干渉するというか、そういうことがままあるので。
214 ◆S0qIRC9I :02/07/02 00:24
userContent.cssで定義されるユーザースタイルは、XPCOMから操作できるんでしょうか?
自分は方法を見つけられなかったんですが……
>>241

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

216215:02/07/02 12:54
>>241宛じゃなくて >>214宛す。
XUL で遊んでいるんだけど、Javascript がいまいちわかりません。
みなさんは、何を参考にしているんですか?
218 ◆S0qIRC9I :02/07/03 23:39
>>215
ありがとうございます。確かにそれっぽい処理が行われてますね。
しかしどこがその部分なのかソースを見てもさっぱりわからないという自分の低レベルっぷりが涙を誘います。
>>217
漏れは手元にあるJavaScript本(古くてちゃちいやつ)と
http://developer.netscape.com/docs/manuals/javascript.html
あたりを参照しつついろいろやってるよ。
217です。

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

XUL 初心者ですが、練習をかねて作成してみました。
カスタムメニューバー
http://member.nifty.ne.jp/georgei/mozilla/custom_manubar.html

人柱になっても良いという方、テストしてくれませんか?
Nifty が(今の所) .xpi の mime を追加してくれないので、
自動インストールできません。あしからず。
>>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
>>222 を見てもわかるように、ファイルがコピーされてないようです。
install.jsの中を見てみたのですが、
おそらくperformInstall()する前にエラーチェックをしてないので、
インストールは成功とでます。

#たいていperformInstall()の前でこういう感じでエラーチェックします。
err = getLastError();
if (err == SUCCESS)
performInstall();
else
cancelInstall(err);
改めて見てみたら、addDirectoryしているのに
custombar.xpiの中に入ってるのはcustomebar.jarでした。。。
それでファイルが見つからない(-214)のエラーがでてるようです。
修正したものを一応
http://xul-app.hoops.jp/moz2ch/custombar/custombar-install-fix.xpi
にageておきますた。
で、ちょっと使ってみましたが、メニューから辿る動作がない分
ラクといえばラクですね。ただ、冗長だと思わないでもないです。。。
個人的な希望としてはアイコンが入って、アイコンのみ、
アイコンとテキスト、テキストのみを切り替えられると(・∀・)イイ!!
と思うです。

ところで、ツールバーの区切りは
<label value="|"/>で実現してると思うのですが、
<toolbarseparator/>をなぜ使わないのかが気になる気になる。。。
印刷プレビューは、print(印刷ボタン)のポップアップから使えるので
要らないような気がしますが、どうでしょうか?
227221:02/07/06 11:17
厨房もじらー さん。素早いコメント感謝です。
どうやら前のバージョンをアップしていたようです。失礼しました。
差し替えた(つもり)です。
最新版では
<toolbarseparator minheight="16px"/>
で処理してます。

アイコン入れるのは考えたのですが(そのためのツールチップ)、
テーマとの整合性を考えて保留にしてます。
228221:02/07/06 11:29
印刷プレビューの件ですが;
ブックマーク系もパーソナルツールバーやサイドバーに表示できるのに、
付けて欲しい、という人がいたので追加した、という経緯があり、
とりあえず入れてあります。
デフォルトから外しているのはそのためです。
>>227
最新版はまだ試してないのですが、
漏れがいろんなXULアプリを見てきた中で<toolbarseparator/>は
<toolbar tbalign="stretch">
<toolbarseparator label="LABEL"/>
</toolbar>
のように使われてたので、そうすると意図した表示になると思われます。
230221: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>

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

ダウンロードページの Contributors に記載してもよろしいでしょうか?
「厨房もじらー さん@Mozillaでプログラミング(XUL) 」とか。
匿名希望も受け付けますが(w
233 ◆3mOz2Ch. :02/07/09 10:35
>>232
いえいえ、XULプログラミングの発展を願ってます。
Contributorの扱いはそちらにお任せします。
Contributeというほどのことはしてないと思いますけどね(藁
ネットランナーに、PiroさんのXULアプリ多分全部と、PROXYBARも入ってた...
235 ◆3mOz2Ch. :02/07/10 00:34
proxybar、さりげに有名に(藁
>>235
×「さりげに有名」
○「なにげに有名」or「さりげなく有名」
237≠235:02/07/13 03:58
>>236
非常に申し上げ難いのですが
「さりげに」は若者言葉として
既に定着した感のある
形容表現で御座いますが...
素直に受け止めろ。仲間内だけで使え。
239厨房もじらー:02/07/13 14:42
>>236 >>237 >>238
さりげにって普段使うけど
意味は「なにげに」の場合が多いな漏れ。
と、反省させられたので
仲間内だけで使うことにするYo!
ありがd。

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

XUL 一般となるとまだ少ないけど、
http://pc.2ch.net/test/read.cgi/mac/1019023586/879-886n
の bookmarklet なネタとかも合わせれば地道に増えてる気もする。
ちなみに bookmarklet については
http://www.squarefree.com/bookmarklets/
とか。

直接は関係ないけど 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 = 'http://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);
---------------------------------------
及び
http://lxr.mozilla.org/mozilla/source/js/src/xpconnect/idl/mozIJSSubScriptLoader.idl
こんなもん用意されてたとはっ(当然?)
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)
http://www.deskmod.com/?show=showcat&cat_name=mozplug

# 暑い・・・。
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 編集)
http://home.no.net/trihand/mozilla/home/en/

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

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

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

DeskModは、帯域に余裕があるなら何したってかまわないんだけどね。。。
っていうか、Mozdevはいろんなサービス提供しまくってるわりに
リソース不足だから、Webホスティング機能がパンク状態みたいな。。。
うーん。。。XULアプリ開発の中心的存在としては
もっとなんとかなってほしいですね。。。
252221:02/07/18 14:57
カスタムメニューバー、ver 0.93 にしました。
http://member.nifty.ne.jp/georgei/mozilla/custom_menubar.html
(URL の誤字を修正)

フルスクリーンモードに対応、ですが、内部的には、
fullscreentoolbar="true" を足しただけです。(w
>>232
入れてみました。普段は使わないんですけどね(藁
前もあったのかも知れませんが、ツールバーボタンのツールチップに
どのメニューのアイテムか(表示 | 大きくみたいに)
出るようになってるのが(・∀・)イイ!!と思いますた。
フルスクリーンモードは普段使わないので特に感想なし!

Mozilla 1.0.1では新タブボタンがタブバーに付くようなので
Navigator タブはいらなくなるかな。
で、やっぱりアイコンがホスィ。。。
XULアプリはテーマとの兼ね合いが難しいと思った今日この頃。。。
>>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 を再起動したらちゃんと出てきました。
自前で適当に弄ったもので少し実験していたからかも知れないです。
259252:02/07/19 09:16
>>253
ども。
ツールチップの大項目は、
単品ではわかりにくそうなメニュー項目だけに付けてます。
「Navigator タブ」は、次期バージョンでデフォルトから外します。

アイコンが課題ですね。少し遊んでみます。
260252:02/07/19 09:18
>>254-258
好意的な評価とコメント、ありがとうございます。

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

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

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

Bugzilla に乱入する勇気がわいてきました。
これから逝ってきます。
261 ◆S0qIRC9I :02/07/20 03:29
>>260
不要なアドバイスかも知れませんが……

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

あとは、別ウィンドウ時はノッチを隠すとか、そんな感じでどうでしょう。
262260:02/07/22 12:08
>>261
コメントありがとうございます。

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

厨な質問で恐縮ですが、

> 関数で最近アクティブだったNavigatorウィンドウを取得する...
http://www.cc-net.or.jp/~piro/xul/tips/x0001.html
で良いのでしょうか?

> 別ウィンドウ時はノッチを隠す
「ノッチ」って何でしょう? タイトルバー?
263 ◆S0qIRC9I :02/07/22 15:05
>>262
>http://www.cc-net.or.jp/~piro/xul/tips/x0001.html
なんか……今見たら、途中でドキュメントが混ざっちゃってますね(汗)
まあともかく、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
当該部分の記述を分離しました。
http://www.cc-net.or.jp/~piro/xul/tips/x0019.html
265超ぉ〜Anne:02/07/24 03:20
うぇー、なんか皆たのしそうぢゃぁー。
ワシ忙しくてなんもできん・・・

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

#次ここを見られるのは何日後だろう・・・
266 ◆sX5Fl3bU :02/07/24 11:53
>>265
Venkman のこと? < script debugger

http://www.mozilla.org/projects/venkman/venkman-walkthrough.html
の 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) しなくてもよくなったのかな?
http://www.hacksrus.com/~ginda/venkman/faq/venkman-faq.html
見てくれ。

こんなんでどぉ?
"Creating Applications with Mozilla"買う人いる?
内容を見てみないことには。。。
漏れが知ってることしか書いてなければ必要ないし(藁
書籍というのは、得てして「最新」でありにくい、というのもあるしね。。。
XULプログラミングは動きが激しいから。
Utility Panelsはもう開発されないのですか?
>>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のポジショニングを使って配置するとかすれば実現可能かと。
275273: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 に常駐出来たら面白いかなと
思ったんですけどね
prefs.jsがファイル自体存在しない、ってどういうこと?
誰か理由が推測できる人、解説キボン
>>273
あー、なんとなくわかった
prefs.jsはもじらのインストールディレクトリ下ではなく、
プロファイル関係のディレクトリに入ってるんだが。
>>276
親ディレクトリ等が隠されている場合、prefs.jsなどの中身のファイルも見えなくなるようです。
279273:02/09/08 01:14
>276,277,278

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

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

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

ちなみにここの pref.js にも xul cache の設定は無かった。自分で
書く必要がありそうです。試してませんが。
>>279
変な名前のディレクトリを作るのは、セキュリティのためだそうです。
隠し設定は元々の設定ファイルには記述されていないので、大概は自分で書く必要があります。
勝手に、っていうけど、これが一番MSの意図に沿った管理方法だが。
IEやOEなどもこの方法をとってる。さらに言えばdoc/viewモデル。
シリアライズされたデータは実行ファイルとは分けて考える。
pref.jsにない項目をいじる場合、user.jsファイルを追加して
そこに書きこむと反映される(pref.jsにコピーされる)、だったかな。
findbar(・∀・)イイ!!
xpfe/components/find/resources/finddialog.jsも書き換えたいな…
http://www4.tkcity.net/~toshiki/xul/index.html
に行けないよぉ。鯖落ちしてるだけならいんだけど。
284超ぉ〜Anne:02/09/09 00:07
>>283
鯖落ちですスマソ。ここ数日ずっと落ちてるみたいです。
ただ、当方現在(って何箇月前からだよ(涙))多忙につき、引越し先を
探してる暇がないんです・・・
# 「そのくらいあるだろ」と言われそうですが、なかなか・・・

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

ついでにphoenixでproxy設定が出来ないんでproxybarを付けようと思ったら
何故かOverlayを読み込んでくれない模様。何か変わったんですかねぇ?
誰か何か知ってたら情報キボンヌ。proxyさえクリアできればphoenix常用なんですが・・・
# 当方ノートで場所毎にproxyが違うんでpref.jsいじるのはちょっと勘弁
285283: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発見しました!
ttp://rh.vinelinux.org/~shom/moz/
287超ぉ〜Anne:02/09/09 03:15
>>283
まさか利用者がいるとは思っていなかったっす(w
どうもご利用ありがとうございます。ヘタレなブツでスマソ
なんでしたらテンポラリなメアドでも教えて頂ければお送り致しますが・・・

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

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

288超ぉ〜Anne:02/09/09 03:57
ttp://www26.tok2.com/home/toshiki/
昔取ったまま何も使ってなかった垢発見しますた(藁
とりあえず再利用ってことでここに置いておきます。
よろしければどーぞ。
>>287
まぁ、Phoenixはnavigatorのコードを全部捨てて(XULレイヤで)ゼロから作り直してるわけですから、navigator用のアドオンは全滅と考えておいた方がいいかもしれません。
XUL Planet リニューアル sage!
http://www.xulplanet.com/
Preferences Toolbar も大幅アップデート!
http://www.xulplanet.com/downloads/prefbar/

・・・でも、腰を据えて弄りまわす時間的余裕が無い・・・。
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"));
を何とかしようと思っている。
[email protected]
メールボムかも〜ん
>>293
通報しました
MozDev のダウンロードミラー
http://downloads.mozdev.org/
               「 ̄ ̄了 ハイハイ!
              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で読めるようになってるみたいなので
参考にするひとはどぞー

http://books.mozdev.org/index.html
Phoenixスレより転載。

Mozilla の アドオンを Phoenix でも動作させる
http://ryuzi.dyndns.org/mozillazine/view.php?articlenum=2524
http://www.mozillazine.org/weblogs/hyatt/extensions.html

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

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

#スレ違いだったらスンマセン
>>301
window.argumentsで引数が取得できますから、
navigatorではない別のダミーの(ウィンドウを生成しないような)XULアプリを経由してメッセージを送るとか、そんなのは駄目でしょうか。駄目ですね。
303301:02/10/14 23:48
>>302
引数が読めますか。URLを列挙したファイル名あたりを送れば
実現できそうな気配。チョイ探ってみます サンクス
>>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()
306301:02/10/20 12:56
>>304 「'\n'区切りのURLのリストを渡すと〜」
なんと!!多謝。試してみま。
つか、XUL結構勝手が違うんで難儀してたあるよ。
>>306
念のため書いとくと、Navigator起動時の引数の話ね。
応用したら開いてるURLをGETしてIEで開くボタンとか作れそうですねえ。
マルチプラットフォームには難しいか。
あ、最初に他のブラウザを登録させればいいのかな。
このくらいならステータスバーでも邪魔にならないでよさそう。
問題は作り方がぜんぜんわかんないことなんだけどね。

|_・) 物欲しげな目でちらっ
xulやjsでetagsが使えれば・・・
>>308
ContextMenu-Extensionsからパクればよいのでは
>>310
その手が、って開いてみたけど・・・。
チュートリアルからやり直してみる。
ちょっとしたツールならXUL使った方が簡単かもしれませんが、
2chブラウザを作るとなると全部JavaScriptってのは逆にしんどくありませんか?
313301:02/10/26 11:34
>>304 「'\n'区切りのURLのリストを渡すと〜」
1つのURLを開く事はできるんだけど、肝心の2つ以上がちと。
\nという文字列で区切ったりキャラクタコードの10,13,13+10で
区切ったり色々試したけどなんか駄目ですた。
Netscape/7.0@Gecko/20020823 使ってるんですが…
ひょっとして、最新Mozillaじゃないと駄目すか?
>>313
その通りです。
Mozilla1.2b以降の機能です。
315301:02/10/26 13:44
>>314 センキュす。Mozilla取ってきま。
316デフォルトの名無しさん:02/11/08 09:29
prefbarにページのソースを表示させるボタンを付けたいのですが
onclickはなんと書けば良いのでしょうか。全然わからない。。。
>>316
getBrowser().addTab("view-source:" + getBrowser().contentDocument.location.href)
こんなんかな
>>317
location.hrefよりgetBrowser().currentURI.specの方がいくない?
気分的にだけど。
319316:02/11/09 09:21
>>317-318
両方ともいけました!大感謝です。
ありがとうございました〜。
320デフォルトの名無しさん:02/11/09 16:50
XUL チュートリアル和訳:http://www.janit.com/xml/XUL/

を読もうと思ったら404なんですけど、うちだけでしょうか?
他にチュートリアルの邦訳を提供しているサイトってありますか?
>>320
http://xul-app.hp.infoseek.co.jp/
ここが、「やろうとしている」のは知ってる。
322320:02/11/09 20:26
>>321
レス有難うございました。404の連続だったので、
例のサイトをWebArchiveで見ることにします。
xulやjsでetagsが使えれば・・・
>>320
http://xul-app.hp.infoseek.co.jp/xultu-janit/
もしかしたらどこか欠けてるかも知れないけど
例のサイトを保存しておいてます。どうぞ
みんなで
http://books.mozdev.org/chapters
を訳しませんか?
Chapter 2
さぁ、はじめよう

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

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

これらの例は Mozilla アプリの開発について検討するための背景
を提供してくれる.
最初の例は基本的なファイルの作成と編集に焦点をおいている。
第二の例はMozillaアプリの構成と配布に焦点をおいている。
全ての "Hello World" アプリケーションのように、Example 2-1
に XUL の簡単な例を示す。
この小さな例は イベントハンドラの利用やウィンドウ内のレイアウト
のためのボックスなど XUL プログラミングにおけるいくつかの重要
な面を示している。また、この例はファイルフォーマット、ネームス
ペース、XULプログラミングにおける習慣などの言語についての一
般的な。。。を教えてくれる。

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

次のいつくかのセクションでこの例について詳細に説明しよう。
ファイルそのものやマークアアプの文法、XUL のネームスペース、
XUL ファイルの基本的なレイアウトについて解説する。
かなり適当&間違いあると思うけど、こんな感じでどうかな?

別スレ立てるかサイト作りたいけど一人で続けるだけの体力がない。
例を和訳してみますた♥

Example 2-1: Hello xFly
<?xml version="1.0"?>
<!-- Sample XUL file -->
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<box align="center">
<button label="hello xFly" onclick="alert('Hello World');" />
</box>
</window>
間違えた。これじゃぁネタにならねぇぢゃん。鬱氏♥

Example 2-1: Hello xFly
<?xml version="1.0"?>
<!-- Sample XUL file -->
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<box align="center">
<button label="hello xFly" onclick="alert('コンニチハ セカイ');" />
</box>
</window>
これが正解か。ってスレ汚しとるだけやがな ♥
例 2-1: コンニチハ xFly
<?xml version="1.0"?>
<!-- Sample XUL file -->
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<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]: 訂正
3360章: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による開発の可能性のデモンストレーションのために例として含んでい
ます。
3370章:02/12/08 23:44
Mozillaの背景

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

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

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

多くの企業が、Netscapeに続いて、彼らの製品をオープンソースコミュニティへ公
開しだしました。サン・マイクロシステムズはhttp://www.openoffice.org/
http://www.netbeans.org/などを含むいくつかのプロジェクトに資金援助をしまし
た。アップル社も、新しいOSの核となる部分を、Darwinと呼ばれたオープンソース
のプロジェクト(http://developer.apple.com/darwin/)を元に開発しました。
3380章: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の支持するニュースサイトのhttp://www.mozillazine.org/
や、Mozillaのアプリケーションのプロジェクトを擁するhttp://www.mozdev.org/
など、他の有用な情報を提供するコミュニティも生まれました。

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

Mozillaの全ソースコードは、興味を持っている人なら誰でも入手することができ、
それ故にMozillaコミュニティは、バグ報告や修正パッチ、新しい開発者の増加な
どの利益を得ています。Mozillaがオープンソースのソフトウェアとして最初に公
開された時からプロジェクトに関係していた人々とともに、コミュニティに参加し
た新しい人たちや企業が、Mozillaプロジェクトの方向性や成果を形成するのに協力
しました。
3390章: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の文法も含めて)
をフリーズして互換性を維持することを約束しました。詳しいことは
http://www.mozilla.org/roadmap/mozilla-1.0.htmlを見て下さい

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

私達はまた、同様に、この本の例を動作させる時にはMozilla 1.0.xを使うことを
お勧めします。そして、Mozillaが期待に応えられるように、最新の1.xリリースを
使うことも推奨します。
以前、ヒマだったので全訳してみるかーなんて思ってやり始めて挫折した、その残骸です。
0章途中までだし。技術情報含まれてないし。役に立ちませんね。
おお、すげぇ。
>>331
に続いてChapter2訳してるけど他にやってるひといるかな?
3430章続き ◆YNS0qIRC9I :02/12/09 01:42
この本が対象とする読者

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

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

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

3440章続き ◆YNS0qIRC9I :02/12/09 01:43
あなたに必要な技術は > あなたに必要なのは
の方が良かったですね。
3450章続き ◆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のサイトで見つけることが
できます。
よく考えたらそのうちオライリーから日本語訳でそうだ。。。
347 ◆YNS0qIRC9I :02/12/09 03:00
>>346
あんまりアテにできないと思いますよ。
海の向こうは、よっぽどの売り上げが見込めるようでないと日本語訳出さないって言ってるみたいですし。
技術書によっぽどの売り上げを見込まれてもな〜
赤字が出ない程度の売り上げは必要ですよ。
最初は自分がわかればいいやって感じで
超適当に訳してたけど、◆YNS0qIRC9Iみたいに
ちゃんと訳してみようかな?

ちゃんと訳すとなると自分の語彙力のなさが
露呈するなぁ。。。
351 ◆YNS0qIRC9I :02/12/09 16:13
>>350
読んで意味が分かればそれでいいんじゃないでしょうか。実際、自分も所々意訳気味ですし。
うまく訳せる人が取り組んでくれていないのだから、うまく訳せなくても自分たちでやるほかないです。残念ですが。
sourceforgeに登録してCVSで管理とか。
まとめサイトは必要かと。
354352:02/12/09 18:23
帰ってきたけど誰もやってないみたいなので
やってみる。

プロジェクト名は何にしよう?
ズルズル翻訳 XUL document(プ

なんてのどーよ?(w
襟巻蜥蜴邦訳計画

358358: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エレメント(メニュー、ボタン、ボックス、ツリーなど)はほとんどのアプリケーションで
で必要である。そして、本章ので使っている例は汎用的である。だから、自分の用途に合わせて、
その例を組み込んだり、カスタマイズしたりできるだろう。この章には多くの情報を詰め込んだから、
アプリケーションを作る際は役に立つ事請け合いである。
359358:02/12/09 21:25
XULドキュメントオブジェクト

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

http://66.160.114.10/XPCOM/howto.html
Building and Using XPCOM Components in XUL

XPCOM モジュール作成の説明もある XUL アプリ製作のレシピみたい。
XUL 本の付録にちょうどいいようなドキュメントだなぁ。
sourceforgeの使い方がいまいち分かってないけど、
sourceforgeのアカウント晒してもらえればxuldoc-jaの
プロジェクトに追加しますよ。
CVSより、Wikiの方がみんなで編集できていいかなぁ。。。
363Name_Not_Found:02/12/10 10:21
Wiki 微妙に浸透しつつあるな…
364358:02/12/10 17:40
(訳注:要素や属性という言葉を使わずに、カタカナ語で統一)
ドキュメントオブジェクトにはgetElementById, getElementsByTagName, createElement, createTextNode
といったメソッドが用意されている。これらは、DOMや実ドキュメント(訳注:actual document domは実体がなくても良いので…)
を扱うためのメソッドである。DOMについては第五章においてさらに詳しく取り上げる。

ドキュメントオブジェクトはこれらのメソッドの他にも、ウィンドウのwidthとheight、ポップアップノードのプロパティ、ツールチップノードのプロパティ、ドキュメントエレメント(documentElement)
などを備えている。
なお、ポップアップノードのプロパティは、ポップアップ表示しているエレメント(何がしかの内容(content)を他のものの上に表示するXUL widget)にアクセスするためのものであり、
ツールチップノードのプロパティもツールチップを表示するエレメントにアクセスするためのものである。
そして、ドキュメントエレメント(documentElement)はドキュメント本体にアクセスするためのものである。
365358: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];
}
366358:02/12/10 18:17
あ、まちがえてタブごと消してしまった。
昔読んだ本だとelement=要素、attribute=属性だったけど
最近じゃカタカナ語なのかな?
well-formed、validity とかはどうなんだろ?
368 ◆YNS0qIRC9I :02/12/10 23:46
content=内容 とするなら、
element=要素
attribute=属性
でいいと思うけど。
ふーむ、例えば、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が対になっているかが不明瞭になってしまう。
自分はエレメントだったり要素だったりしてる。
あとで統一的な書き方がきまったら直します。

ところでこのドキュメント、function っていってる
けど、メソッドの方が正しいんかな?
このExampleはドキュメントに対するセカンドレベルノードの配列を
作る。そして、このExampleはツリー全体にまで応用できる。
ドキュメントの構造的な表現がこのようになっているので、Exampleのように
あるノードを使って他ノードを取得する手法を使えば、ドキュメントのどの部分にも
、スクリプトで素早くアクセスしたり変更を加えたりできる。
372358:02/12/11 19:54
ドキュメントオブジェクトは現在作業している特定のスコープでのみグローバルであるので、
ウィンドウ(window),ダイアログ(dialog),ページ(page)、はそれぞれ、
独自にドキュメントオブジェクトを持つ事になる。
使い方はアクセスしたいプロパティの前に"document."という部分をくっつけるだけでよい。

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

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

var title = window.opener.document.getElementById("bookTitle");
ch02訳してるけど薀蓄が多いなぁ。
受験英語しか知らん俺には辛い。
すまないけれど質問させてくれ。
XULってのは、Mozillaだけにしか使えない物なのか?
IEでも使えるのか?

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

面白そうな技術なら俺も調べてみたいのだが
スクリプト言語を扱えて、XBLが使えて、XML文書インスタンスに直接CSSを適用できるなら、Mozilla以外でもXULは利用できると思います。
ただ、現在それができてXULパーサとして使えるのはGeckoくらいのものでしょうね。
>>375
詳しく有難う。XBLっていうのが何かわからないけれど、
IEにそれを対応させられればIE上でも動くかもしれない、と。
#XMLにCSSってのもよくわからないですが、XSLTの書き間違いでしょうか?

調べてみます。
自己レス。CSSからダイレクトにXMLを参照するんですね。
結構違和感あるけど、興味がすごい湧きました。
ちょっとずつ調べてみます。

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

XULってのはインターフェイス言語。
ただ、XUL自体はXMLが元になっている。
例えば、<html:input type="button" value="MyLabel" onclick=";"/>
みたいなものを
<xul:button label="Mylabel" oncommand=";"/>
のように使いやすく再定義してある。
その定義ファイルがXBL。
conditionやactionが羅列してある。
>>378
レスサンクスです。ということは、
HTMLを使ってインターフェイスを作成するのが最終目標で、
それをXULで定義する。XBLが定義言語(xml-html binding)
という認識でよろしいでしょうか?

今までJavaScriptなどで出来ていた事が、簡潔に書けるようになるということですね
380375:02/12/21 19:02
XBLは、XMLでDOM要素ノードとしての振る舞い(メソッドやプロパティ)を定義する仕組みです。
例:http://lxr.mozilla.org/mozilla/source/toolkit/content/widgets/tabbrowser.xml
パーサに変更を加えずに要素の振る舞いを定義できるからか、MozillaではXUL要素の振る舞いのほとんどはこうして定義されています。
IEの場合は"binding"で同じようなことができるかもしれませんが、僕はよく知りません。

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

ちなみに、XMLに直接CSSを適用させるという使い方は、XHTML2.0やSVGなどではごく当たり前にされています。
381375:02/12/21 19:03
訂正。
IEの場合は"binding"で → IEの場合は"behavior"で
382375:02/12/21 19:12
XULの目的は、今までHTMLで提供されていたような貧弱なフォームコントロールに止まらないもっとリッチなインターフェースをXMLで記述することです。
また、XUL自体はプラットフォーム非依存なので、Web上のサービスなどのクロスプラットフォームなインターフェースを記述するにはうってつけです。
「HTMLを使ってインターフェイスを作成する」というより、
「HTMLのようにクロスプラットフォームな技術でインターフェースを作成する」と考えて下さい。
XULの仕様(明確なものはまだありませんが……)に乗っ取った動作ができるなら、必ずしもXBLで要素の振る舞いを定義している必要はないでしょう。

http://slashdot.jp/article.pl?sid=02/12/05/0810253
XULの用途についてはこの辺の記事でも色々述べられています。
383375:02/12/21 19:12
乗っ取った→則った
誤字が多いなあ。
なぜsage進行なのか疑問を感じながらresです。

>375氏 >>380
解りやすいサンプル有難うございます。
Mozillaの基礎的な理解(NGLayoutとか)が必要みたいですね
NGLayoutを調べるに従ってちょっとずつわかってきた感じです。
上記のサンプルは、NGLayoutをタブブラウザ化するためのxulですよね?
>>382
例えば、amazon.comとかのソースを書くほどの根性もなく、
htmlの限界にげんなりしている人が、もっと手軽にインターフェイスを実装するための
言語ということでしょうか?

IEのBehaviorとかを使うのはクロスプラットフォームの観点から外れている、と言うことかな?
386378:02/12/21 21:10
XULはamazone.comというよりむしろ、javaappletのようなものを
思い浮かべた方が当たっていると思います。IEだと、activeXですね。
http://luxor-xul.sourceforge.net/
こーゆーのもあるし。XBL まで使えるのかわからんけど。

mozillaZine に出てた、
http://www.oreillynet.com/pub/a/mozilla/2002/12/17/app_dev.html
も面白いね。mozdb が使えるようになると使われやすくなるかも。
http://www.melez.com/mozilla/xul-in-html/www.mozilla.org.html
が XBL の簡単なサンプルでわかりやすかった。
オススメサイト/本はありますか?
腰を落ち着けて正月にでも学んでみようかと…
お勧めの本は日本では出版されていません。
このスレでマターリ翻訳して行く予定です。詳しくは50レスぐらい遡ってみれ。
お勧めのサイトはこのスレのテンプレにはなかったかな?
漏れのブックマークを晒すと

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

全く見た事も聞いたこともない人は、ちょっと古いけど作成入門がオススメ。
昔はてんでだめだったが、近頃はmozilla.orgの奴も結構いい感じ。
XUL系譜:   XUL は XML にどう関係するのか?
http://jt.mozilla.gr.jp/docs/xul/xulnotes/xulnote_xml.html

>XMLを知らなくてもXULを記述できる、
ってのが最大のポイントかな。
いくつかのXULwidgetに関しては、ちゃんと定義してやれば、
そのままのIEでもレンダリングできる気がしてきた。
まあ、メリットはほとんどないと思うけど。
ちなみに、読み方は「ズール」
XUL全然しらないけど、シェアno1のIEで対応出来ない以上、
玄人のおもちゃになって意義無く終わってしまう…と思うのは間違い?
次世代Windows「Longhorn」の真実
http://pcweb.mycom.co.jp/news/2002/12/09/08.html

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

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



パクられたw
>>392
それを言うならXULの概念はアクティブ・デスクトップのパクリでは?
>>391
終わるって?Mozilla(Gecko?)がなくなるってこと?
XULを使ったソリューションって何かあります?
>>392
以前からこういう話が出ていましたから、まあ当然といえば当然かな。
http://ryuzi.dyndns.org/mozillazine/view.php?articlenum=2588

申し訳ないけど個人的にはXULはIEで対応して欲しくない。
勝手にWindowsに有利な、特化した拡張をされるのが目に見えているから。
ブラウザレベルのクロスプラットフォーム性が多少向上する引き換えに、
(といっても、拡張されれば完全な互換は無いだろうけど。)
OSレベルのクロスプラットフォーム性が損なわれるんじゃ話にならない。
Windowsに特化したXUL要素ってなんかありますかね?
XPCOM+XPConnect+JavaScriptの代わりに使うスクリプト言語の方が
独自拡張されるということなら、自分にもわかりますけど。
要するに、APIを直接呼ぶようなのを入れて来るんじゃないかな?
あと、<xul:marquee>とか。プロパティでmarquee="true"とか。
getMarqueesByTagName(string ELEMENTID):function とか。
しかし、xmlは独自拡張の為にある言語、といっても過言ではないので、
好きにすればいい様な気もする。

JavaScriptより、DOMメソッドをいじられる方が怖い。
IEのDOMはダメダメだし。
一番最初に独自拡張を始めたのはネスケだったりするわけだが・・・
しかしIEにせよMozzilaにせよ、あれば便利な機能が標準化されておらず、
それをこっそり付加してしまうと、HTMLの様な独自拡張と標準仕様のいたちごっこが
はじまってしまうわけだが・・・
> xmlは独自拡張の為にある言語
何かちょっと違う様な…。
言語を一から自由に作るのは良いけど、
XULの様に既に作られた言語をあちこちで勝手に拡張したんでは
互換性が無くなってしまう訳で、マナー的には良くないと思う。
拡張部分を名前空間で本来のXULと分けるならともかく。
個人的にはDTDなり何なりが早く作られることを祈る…。
XULの拡張なんて誰もしないと思うよ。
なんかMozillaユーザーって嫌いな奴が多いんだよな。
IEが独自拡張したら凄い文句を言うくせに(それ自体は間違っていないのだが)
自分たちの(独自拡張を含む)機能がIEで実装されたらパクリだというのは
ただのマイナーユーザーのひがみ以外に説明しようがないと思われ。

このスレをみたらここの住民は比較的まともそうでいいけどさ…
おいおい、ここにMozillaユーザーに対する感想を書くなって。
比較的まともなのは、お前みたいなスレ違いが来ないからだよ。
既存のHTMLなり何なりを、素人には本来の仕様と区別付かない様な形で
拡張して、混乱させているから叩かれる。
一から新しいものを作れば文句は言われないだろうに。
むしろそれを余所がパクれば良い攻撃材料になる訳で。
>>404
そういう擁護が鬱陶しいわけで。
このスレはそういう話をするところじゃないでしょ?釣られるなよ。

#ちなみにMozillaの<font>タグはそれじゃ説明がつかないのだがな
>>405
XULにfontなんてあったっけ?
HTMLの話なら、後方互換のためでは。HTML3.2ではちゃんと認められてるのだし。
>>405
#付きとはいえ、お前も要らん事書くなや。

以下スレの本題に戻って下さい。お願いします。
>>402
既に決まったものがあるHTMLの独自拡張と
特定のアプリケーション群のためにあるXULの区別のつかないヤシ。
>>407も言ってるんだけど、わざわざ煽らなくていいじゃん。

ところで、xulレベルから他のウィンドウのDOMにアクセスして、
HTMLドキュメントにcreateElementで<br>を追加しても、改行されないんだけど。
テキストノードの追加は反映されるのに、tagの解釈はされないのか?
って、やっと分かったけど、
createElementしたら、HTMLElementじゃなくて、XULElementになっちゃうんね。
>>410
そうなのれす。
そういうばあいはcreateElementNSをつかってださい。
>>411
レスさんくす。
つーわけで、2chブラウザ(非monazilla)を作ってみたんだが、
お世辞にも快適な使い心地とは言えんなぁ。
moz2ch
moz2chって動くの?
>>414 重すぎ、書き込みできない、けど動くだけは動く。
ふーむ、じゃあ、漏れが作ったのとあんまり変わらんなぁ。
ちょっとソース見てみよっかな。
417デフォルトの名無しさん:03/01/01 13:54
クスールって読んでる人いる?
ををを、このスレついにageられたか!(w
随分長い間sage進行だったのに
419デフォルトの名無しさん:03/01/01 14:01
linux だと root にならないとインストールできないのが
面倒くさいYO。みんな平気?
>>417
クサル が公認
421419:03/01/01 19:53
書きこんだ後、祖母とおせちを食べててひらめいた
んだけど mozilla ホームデレクトリに入れればいいじゃん!!
賢いじゃん>>俺!! カコイイ>>俺!! /path/mozilla はシェルスクリプト
だからインスコも楽勝だった。ウヒョー、今年はいい年になるネ
結局厨房がageていた訳だが
冬だからねえ…
trercellは特にクラスとか指定してなくても、
"src"ってattributeがあるような気がするんですけど、
xulplanetにはそれらしい記述がありませんな。
ぎゃあ、treecellです。
426IP記録実験:03/01/08 22:18
IP記録実験
http://qb.2ch.net/test/read.cgi/accuse/1042013605/

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を提出することがある。
>>73
重くなるのはなぁ。。。
どのくらいになるのかわからんけど。
1年半
>>425
あぶねー
ツッコミいれそうになった。
ひろゆき粕汁食うか?
これからは、爆弾をしかけたとか書いちゃ駄目なのですか?(´・з・`)
432IP記録実験:03/01/09 02:12
IP記録実験
http://qb.2ch.net/test/read.cgi/accuse/1042013605/

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を提出することがある。
2ちゃんねるも閉鎖へと突き進んでますな・・
>>99
観念しなさい
>>429はマジレスなのか、コピペなのか判断に迷う所だな。
このまま全サーバに導入してしまってもかまわないと個人的には思います。
発言に自己責任が伴うので、くだらない殺人予告や過度の誹謗中傷、ウイルス・ブラクラリンク
などは少なくなるのではないでしょうか。
被害妄想が激しい459の居るスレはここですか?
判決文には大きく分けて、3つの日付が出てきますね…。
おもいっきり削って、抜粋してみました。
---
第3 当裁判所の判断
 2
 (2)
   ウ 原告Aは,被告(ひろゆき)に対し,平成13年6月21日付けの通知書(内容証明?)
     をもって発言の削除を求め,同通知書は,同月22日,被告に到達したから,これにより,
     被告は,本件各名誉毀損発言(限定あり)について,本件掲示板に書き込まれたことを
     具体的に知ったものと認められる。

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

 6 結論
     以上によれば,原告らの請求は,各200万円及びこれに対する訴状送達の日の翌日で
     あることが記録上明らかな平成13年8月5日から支払済みまで民法所定の年5分の割合
     による遅延損害金の支払並びに本件各名誉毀損発言の削除を求める限度で理由があるから
     認容し,主文のとおり判決する。
あれ、書き込みなくなっちゃった?(^_^;)
CXキタ━━━━(゜∀゜)━━━━!!
>>371
いつぞやもP2P/"疑似P2P"型での削除システムを検討しましたが、
整合性確保は技術的に可能でした。
ただ当時、専用ソフトウェアによる閲覧管理が邪道扱いだったことが、
実装に向かなかった原因の一つだったと理解しています。
たった1年そこらで「2ちゃんブラウザ」がこんなになるなんてねぇ(w

他の問題点ですが、ハードウェア能力(最も直接的にはHDD)と通信インフラが
ネックでしたが、今もなお大型掲示板を許容するには至っていないと思います。
2ちゃんねるってなに?ってのはまぁ分からないではないが、
アクセスログってなに?って項目があるのはちょっと違わないか・・・?
今取得のテストしてるっていうのは批判要望板だけだべ?
あと、元々レスに対して取得してるつー板は
ここと、ダウソと・・・あとどこかな?
setting.txt見て調べれ
何を言いたいのかさっぱりさっぱりわかりませんが・・・・
キニシナイ
えっ、人数淘汰のためのIP取得宣言なの!?
CXキタ━━━━(゜∀゜)━━━━!!
この板、荒れなくなったね
言論の自由≠暴言の自由
ますます、ファンタスティックでスリリングでドラマティックなスレッドですわね、
>>前スレの989

>> 無知はいいねぇ

ほ〜、じゃあ、IPだけで個人特定する方法言ってみ。
ほれ言ってみ
さん
ですわね。
======2==C==H======================================================

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

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

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

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

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

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
454デフォルトの名無しさん:03/01/11 10:07
Mozillaのブックマークを編集しやすいようにIEみたいに
フォルダとショートカットの形で可視化していじれるように
する、みたいなXULアプリって出来ないですか。
もし可能ならショートカットアイコンをDD出来るようになってたら
IEからの移行がすごいらくかも。

2
なんで腐れ男はキャップ持ってるんだ?
ポリタンクは
少し同意。

前スレは、全体的にはストップする必要はない良スレだった。
ひろゆき、変な鼻。
>>454
それもXulでやるの?
>>461
XULアプリでって書いてあるということはそういうことでしょうね。
独立スレ立ちました。。

【2ch】管理人のひろゆき氏がqbサーバで全レスIP記録の実験を開始
http://news2.2ch.net/test/read.cgi/newsplus/1042017485/
いやそんな今時な煽りやられてもな

ただ俺は「誰もお前には聞いてねーから大人しくROMってろや低脳」って言いたいんだよw
理解出来た??
>>454の言ってることがイマイチよく分からんなぁ。
Phoenixのサイドバーみたいなのだろうか。
あれは重すぎて使い物にならんか。

それとも、ドラッグ&ドロップをもっとぐりぐり使うような、
管理ツールってことかな?
800⊂(゚∀゚ )  
メロンパンナって孫悟空なのか?
見せしめとしてでも捕まえないとこの類いの挑戦厨スレが乱立しそうだな
薬・違法なんてどうすんの?IPとってて放置してれば 
犯罪幇助なんてのにならんのか。
不法行為であるのは前提なのね。
game鯖の規制がすどい
472山崎渉:03/01/13 18:44
(^^)
俺らも人のこと言えないが年末年始に2ちゃんねるって恥ずかしくない?>アンチの皆さん
474山崎渉:03/01/16 03:16
(^^)
475山崎渉:03/01/23 22:09
(^^)
ポリタンクは
xulもいいんだけどさ、とりあえず、MIDIプラグインforWindows作ってみない?
とりあえず、最初はMCIのやつを。
それでうまく行ったら、どっかのMIDIライブラリなりを拾ってきて移植するってことで。
(・_・)/
Mozillaのプラグインドラフトではネスケと完全後方互換とか言っときながら、
ほとんどのプラグインがハングするんだが。
したことないしスレ違い。
レス見て需要ありそうなので
任意ブラウザで開くボタン作ろうとした。
>>481
それ欲しい。
コンテキストメニュー拡張入れるとめちゃ重くなるし。
>>481
もうちょっと詳しく説明してくれ
>>482
ごめん。酔ってて途中で送ったらしい。
挫折したんだわ。

>>483
右下の鍵の横にボタン置いて、押すと予め設定したアプリにURLわたす、と。
WEB書きにとって便利だなと思ったんだけど。
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のスレに書いてあったやつ。
>>484
prefsbarで既に実現してる。
IEにURL渡すボタン付けてるし。

>>485のコピペだけど。
あまりお行儀よくないから、prefsbarも入れたくないなあ。
酔い醒まして頑張って>>481
半年ほど放置してましたが...
カスタムメニューバーをバージョンアップしました。
全ボタンをアイコン化して、メニュー項目の大半を実装してます。
暫定 URL
http://member.nifty.ne.jp/georgei/mozilla/custom_menubar_095.html
問題ないようなら現行のページと差し替えますので、
人柱おねがいします。

label に日本語使ってたり、アイコン画像が contents の中だったりしますが
そこらへんのツッコミはなし、という事で。
むしろ、人柱を自分のページで募ってほしいのだが。
右下の鍵の横にボタンがついてると行儀がいいのか?
んー、だったら一考の余地はあるな。
とりあえず、ボタンメーカーとか作るのがいい気がする。
5つ6つ機能使うならバーも良いけど、
一機能のためにバー使うのも確かになんだな。F8押すのも面倒だし。
キーボードショートカット定義できれば良いのにな。
prefsbar使ってるけどさ。
>>491
キーボードショートカットを定義するアドオンを作ればいいんでわ?
moz2chのコメントにもあったけど、
neckoで差分読みこみって出来るの?
xulplanetではネットワーク関係の資料をどこにおいてるのか分からんし。
HTTP ヘッダの If-Modified-Since で更新されたか調べて
range で差分GETしてるぽい。
>>495
面白いな。
まだ開発途中みたいだけど。
XuleX
http://www.cfmentor.com/~faser/xulex/home/index.html
イタリア語ですが。
Xabyl - A Visual XBL Editor @ XULPlanet
http://www.xulplanet.com/downloads/xabyl/
どっかにも書いてあったが、moz2chのナイトリー更新されてるね。
この機会にjslibをやめて欲しいんだが。
あと、moz2chのソースを読んで思ったのは

1.
asynicOpenの第三引数はやっぱり要らないらしい。
http://www.mozilla.org/projects/embedding/embedapiref/embedapi46.html#1134237

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

onRequest関数か、あるいはクラスを初期化した時あたりで。
sage
502Loptr:03/03/07 17:22
XULがJavaよりも優れている点を200字以内で述べよ。
>>502
基本がXMLとJavaScriptなので、Webページに組み込みやすい。DHTMLを使用したWebページ製作の経験があれば容易に習得できる。

……これ以上は思いつかないなあ
MLだから、他のを流用できる、ってのも。
505デフォルトの名無しさん:03/03/26 00:38
http://www.mozilla.gr.jp/party4.0/xulcontest.html
/.jpで既出ですが、4/19のMozilla Party.JP 4.0でXULコンテストというのが開かれるようです。
ちなみに、オートスクロールやマウスジェスチャなどの拡張機能のように、単体のアプリ以外でもOKだそうです。
>>503
・Mozillaのコンポーネント(Gekkoとか)が利用できる

もいれといてくれ。
>>506
Gekkoは任天堂のゲーム機ですがな
NGLayoutはGeckoです
508デフォルトの名無しさん:03/04/05 20:25
XULからeditor使う方法とかまとまってるところないのかな?
幾つか見つけたけど、1.3だとうまく動かなかった...。
xulのeditorは禿しく欠陥品だ。
どうしてもってんなら、古いサイトにあるexampleを使えばいいが、
カーソルが枠の外にはみ出して強制終了するってバグが未だにある。
510デフォルトの名無しさん:03/04/07 01:18
うーん、そうなのか。
composerとかも真面目に使ってないんだけど、
かなり駄目駄目っていうことなのか。
いや、勘違いしてもらったら困るけど、editor自体には期待してる部分もあるわけだけど、
まあ、実用レベルじゃない。
多分、mozilla.orgを除けば最も詳しい解説は
http://segment7.net/mozilla/editor/
そこのサンプルは
http://segment7.net/mozilla/editor/examples/
>>511
サンプルの example1.xul が nightly(2003040410) だと入力さえ
できなかったので
http://lxr.mozilla.org/mozilla/source/xpfe/global/resources/content/bindings/editor.xml
ちょこっと見て

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>

<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
onload="Init();">
<script type="application/x-javascript">
<![CDATA[
function Init() {
var editorElement = document.getElementById("content-frame");
editorElement.makeEditable('text',false);
}
]]></script>
<editor type="content-primary" id="content-frame" src="about:blank"
flex="1"/>
</window>

でとりあえず書けるようになった。
枠の外まで書いても強制終了しなかったけど。
>>512
バックスペースで本来書けるはずのないところまで戻れる。
まず、ボタンがついてるほうのexampleを選択する。
めんどければ、composerでも可。

んで、Bボタン(ボールド)を押す。
"a"を四回連打。"aaaa"と表示される。
バックスペースを5回以上連打。カーソルがメニューにめり込む。
あ、ちょっと上手く再現しなかった。
100%再現させるには、

aa<b>aa</b>になるように打って、
バックスペースを5回押せばいい。
要するに、字数の数え方とか、Undo、Redoがめちゃくちゃなのよ。
> aa<b>aa</b>になるように打って、
> バックスペースを5回押せばいい。
composer でこれで再現した。わけわからんなぁ

なんとなくだが、元凶は「テキストがHTMLエディターのコードで扱われていること」
のきがする。あと改行の扱い。
http://www.nsknet.or.jp/~kamichan/mozilla/textmail_editor.html
上参照。
516デフォルトの名無しさん:03/04/15 03:16
Windows2000/Mozillaなんですが
OLEビューワーで見ると
mozilla plamSyncってのが登録されて
呼び出すといきなりモジラが起動されるんですが、、
これはどういうものなのでしょうか?
ググッても見つかりませんでした
>>516
ぐぐっても出ないのは綴りを間違えてるからです。
>>516
PDA の Palm と mozilla のアドレス帳を同期させるもの、らしい。
>>515
そのバグって、メールでもばっちり再現できそうだが…
520山崎渉:03/04/17 15:24
(^^)
>>519
ところがそうでもないんだな。
メーラじゃこのバグは再現できない。
要するにeditorのwidgetの開発は止まって久しいってことだと思う。
よく知らんが。
>>521
ほんとだ、html モードのメール作成だと起きない。
DOM Inspector で見てみるとどちらも <editor> widget 使ってるのだが、
editorType 属性が Composer は html、メール作成は htmlmail と別になってる。
ソースも追っかけてみたが
http://lxr.mozilla.org/mozilla/source/editor/composer/src/nsEditingSession.cpp#348
この辺で力尽きた(おぃ
じゃ、普段から、htmlmailを使えばいいんじゃないの?
524山崎渉:03/04/20 04:33
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
525デフォルトの名無しさん:03/04/23 22:50
ほっしゅ
ところで、プロファイルに保存するタイプのアドオンのinstall.js
はどうやって書けばいいんだ?
保存フォルダを得るのはいいとして、今まで通り登録したら、
chrome\install.rdfとかに書きこまれそうなんだが。
どうもです。

# replace getFolder("Chrome"); with getFolder("Profile", "chrome");
# replace registerChrome(.. | DELAYED_CHROME, .. with registerChrome(.. | PROFILE_CHROME, ..
ってことですね。
つーか、今Firebirdでまともに動いてるアドオンってなんかあるの?
今日の0.6リリースを試してるんだけど、prefbarはもちろん、
textlinkみたいに、プロファイルへのインストールに対応してる奴でさえ動いてない。

ttp://www.mozdev.org/notes/transition.html
mozilla→firebirdの移行用ドキュメントをよんでも、どれがクリティカルなのやら。
All-in-One Gestures
Irvine
TabBrowserExtension
ContextmenuExtension

はうちでは動いてるよ。
どうも。
インスコしたやつがたまたま外れだっただけか…
プロファイルにインストールしたら、overlayが動いてない?
534超ぉ〜Anne ◆OXpQ7dCx.w :03/05/21 22:06
ども、ヘタレな超ぉ〜Anneでございます。と言っても覚えてる人
いなさそうだからコテハンやめた方がいいっすかね・・・

で、今流行り(?)のFirebirdに僕自身乗り換えたので、proxybar
もFirebird対応にしてみました。なんかビミョーですけど、とりあえず
機能してるからまぁ良しとしよう、みたいなモンなのであまり期待しな
いで頂きたいのですが、とりあえず
ttp://toshiki.s22.xrea.com/xul
に置いておきます。よろしかったらお使い下さいませ。
なにしろ、>>530のリンク先をちょちょいと読んだだけなので、甚だ不完全覚
悟でお願い致します。一応僕の環境では機能してるんですが。

で、バグ報告はして頂けるのであればメールでも、ここでもいいんですが、ここは
一応の場なんで出来ればメールでお願い致したく。ではでは。
535超ぉ〜Anne ◆OXpQ7dCx.w :03/05/21 23:56
すっすまんっす。index.html うぷするの忘れてたっす。
間違えて昔のxpiインストールしちゃった人申し分け無いのっす。
FireBird対応バージョンにリンク張った index.html うぷしたん
でそこからインストールして下さい。

誠に申し分けありませんでした m(_ _)m
>>535
しばらくです
そゆことだったのね。。。
ソース見て、何が変わったのかチョトなやんじゃったw
537山崎渉:03/05/28 12:54
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉
538デフォルトの名無しさん:03/05/31 10:05
Mozilla 1.4b
Mozilla/5.0 (X11; U; Linux i686; ja-JP; rv:1.4b) Gecko/20030517 for VineLinux 0vl5

ツールバークリックしてもメニューから選んでも何も反応せんっす。
っていうか、板ツリー更新ってどうやるんすか?全然分からない(・ω・`
>>538
何の話?
最近出た
Creating XPCOM Components : http://www.mozilla.org/projects/xpcom/book/cxc/
はなかなか面白そうだ。
つか、Gecko SDKなんてものがあるなんて知らなかった。
541デフォルトの名無しさん:03/06/07 17:57
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ 普通にレスしただけなのに、 「ageんなバカ!」と罵られ傷ついたことはありませんか? ┃
┃                                                         ┃
┃ 何も言われてないのに「ageちゃったスマソ」と謝ってる変な人いませんか?          ┃
┃                                                         ┃
┃ みんなにレスを見てもらいたいのに 「sage進行で」と強制するスレありませんか?    ┃
┃                                                         ┃
┃                                                         ┃
┃      ここはそれらのことに疑問を持ち、改善したい人たちが集まるスレです      ┃
┃                        ↓                               ┃
┃          http://qb.2ch.net/test/read.cgi/accuse/1054373827/l50             ┃
┃                                                         ┃
┃                                                         ┃
┃ みんなでsage厨をどうやって駆逐するか議論しませんか?                     ┃
┃                                             ヘイ!щ(゚Д゚щ) カモーン┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
>>541
ageんなバカ!
543デフォルトの名無しさん:03/06/07 18:29
>>541
あげんなばか
544デフォルトの名無しさん:03/06/08 05:20
>>541
三行目のみ同意。勝手にルール作ってんじゃねぇよ個人自治厨。
2chでは集団自治なんて滅多に見ないけどな。
多くて2〜3人ってとこだろう。
<RDF:Seq about="urn:mozilla:hoge">
</RDF:Seq>
みたいな空のRDFコンテナをInit()で読みこむと、
GetCount()もAppendElement()も出来なくなる
(nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED))
のはなぜ?
>>546
http://white.sakura.ne.jp/~piro/latest/2003/01.html#d12
この話と同じかなぁ。そんだけ。
あー、同じ話だ。
結局、IsEmpty()がtrueなら、データソースからリソースごと消して、
もう一度コンテナを作るとうまく行くけど、むかつく。
特定のエレメントの中身を違うエレメントで置き換えたり出来ないのかな?
例えば、<embed>→<irfame>とか。
>>549
考える事は同じか…
embedに限るなら出来なくはないと思う。
embedは確保された領域にネイティブなウィンドウを表示する。
で、ネイティブなウィンドウにdomウィンドウをレンダリングするのが、
Gecko Embeddingだから……
ようするに、mozillaのプラグインにgeckoをembedすればいい。
551デフォルトの名無しさん:03/07/08 17:48
サルベージ
ぎじかちゅってどうよ?
>>552
夜鳥(nightly firebird)で動かないのでなんとも。

Mozilla でしか使えないのであれば
ttp://www.xulchannels.com/
のような作りもありかと。
554山崎 渉:03/07/15 10:03

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
XUL Planetのxpcomリファレンスが新しくなってかなり見やすくなったけど、
若干使いにくくもなったように思う。
どうも、このスレの寂れ具合がなんとも言えないね。

Firebird用のブックマーク更新チェッカーをつくってみた。
ttp://cgi29.plala.or.jp/mozzarel/addon/linkchecker0_4_.xpi
ttp://cgi29.plala.or.jp/mozzarel/addon/ss2.png (スクリーンショット)

2chはCGIなのに、
Last-Modifiedをちゃんと返してくれる優秀なサーバーだなぁ。
>556
ブックマークのメニューから右クリでチェックすると、
以後(下位?)メニューが開かなくなる

あれこれいじめてたらVC++のランタイムエラーで落ちた

がんがれ
>>557
それはこっちのバグじゃないと思うけど、どうよ?
クリーンインストールしても、ブックマークのコンテキストメニューを操作すると、
再現しない?
例えば、自分の環境(win98/0.6.1)では、インストールしなくても、
ブックマークのコンテキストメニューでプロパティを見ると、同様の症状になる。
多分来れかナーってのが↓
http://bugzilla.mozilla.org/show_bug.cgi?id=203183
560山崎 渉:03/08/02 02:56
(^^)
561557:03/08/02 22:52
それですね…お手数かけてしまってすまそ






漏れブックマークツールバー使ってないよ(つД`)
562山崎 渉:03/08/15 18:06
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
XULの話題じゃないんだけど、MozillaでJavascript、
ってのもここで質問してもいいですか?

bookmarkletを作って、javascriptをbookmarkに入れられた、成功、
とかやってたんですよ。
で、この勢いでprefbarのbuttonにしようと思ったんだけど、
どうもうまくいかない。

ふと思いついて、document.って書いてた部分を
getBrowser().contentDocument.に変更したら動いた。
でもこうすると今度はbookmarkでは動かない。
これって何故ですか?
もしかして俺、かなり重要な部分を理解していないですか?
getBrowser() ってのは、DOM風に書けば、
window.top.document.getElementById("content")になるわけよ。
で、contentってIDを持ってる要素がbrowser.xulに定義されてて、
それが<bowser/>だったり、<tabbrowser/>だったりする。

contentレベルからアクセスできる最上位documentは、chromeレベルから見ると
document.getElementbyId("content").contentDocumentに相当する。

ウェブ上のjavascriptから、chromeを操作されちゃうと気分悪いでしょ?
565563:03/08/19 00:39
>>564
なるほど。
ブックマークとは違うってことなんですね。
見かけ上は似たようなもんなのにな…。

もう一点いいですか?
prefbarのボタンを押すと望みの動作をするようになったのはいいんですが、
これ、ボタン押さないでも勝手に全ページに適用する方法ってないですかね?
厳格なHTMLが好きな人には怒られそうですが、
hr color=がIEのように反映されるようにスタイルを設定するJavaScriptを作りました。

他にも、img altの内容をtitleにも設定する、とかって
全ページに勝手に適用できたら嬉しい人もいそうな気がするんですが、
そんなことはできないんでしょうか?
XULって何ですか?解説ページor本などの情報があれば教えてください
>>565
一点目はわからんが
二点目のは piro さんの Popup ALT Attributes
ってのが近いと思うんだけど。
>>567
おお。ほんとだ。
bookmarkletとしてだったら自分にも書けるんですが、
なかなかすごい量ですね。
xpiとして動かす部分が大半なのかなあ?
それにしてもXULアプリ作るのって大変そうだ…。

user.jsにこう書けば全ページで自動実行するJavaScriptを定義できるよ、
みたいなのがあるかと期待してたんですが、
そんなものはないからXULアプリ作ってるんですよね、きっと。

>>566
日本語なら、このスレとか。英語なら>>6とか。
xpiのiはインストールのiだよ。
Cross Platform Installation.

スタイル関連のことなら、userContent.cssをいじるだけで、
大概のことは出来ると思う。
userContent.cssからバインディングすれば、インストールなしで、
スクリプトを動かせるはずだが、試した事は無い。
>>568
コンテキストメニュー拡張のカスタムスクリプト機能で何とかなりませんか?
ページごとの自動実行も一応可能ですので。
>>568
そーゆーちょっとしたものなら
http://saru.oops.jp/puki/pukiwiki.php?jsActions
http://macroeditor.mozdev.org/
この辺が使える。
jsActions の中身をみてみたが
コンテキストメニュー拡張もなかなか楽しそうだ。
で、何?XULって
574デフォルトの名無しさん:03/09/05 22:46
hosh
で、XULって何?XMLの親戚?
576デフォルトの名無しさん:03/09/08 00:02
mozillaでしか動かないプログラムを作る必然性がわからない…
わからないが、とりあえず読んでみることにする。>>576サンクス
読んでみた。間違っていたら訂正してくれるとうれしい。

XULというのは、XMLによって記述するGUIフレームである。
XULで記述するのはあくまで配置等の大まかなフレームだけであり、
細かいGUIの設定はCSSを使う。
また何かイベントが起きた場合の動作はJavaScriptによって記述する。
一般に、こうしたXULとCSSとJavaScriptすべてをひっくるめてXULと呼ぶようだ。

長所は
・GUIのクロスプラットフォームであり、Mozillaさえあればどこでも同じように動く。
短所は
・最大シェアを持つIEで動かすことが出来ない→結局ユーザがいない
・プログラムをJavaScriptで書かねばならない→厳しいセキュリティ制限がつく
といったところである。
>プログラムをJavaScriptで書かねばならない→厳しいセキュリティ制限がつく

これは間違い。xpconnectと呼ばれる方法で、C++で書いたバイナリを
javascriptから直接呼ぶことができる。
HD全消去とかは、5行くらいのスクリプトで可能。
スパイウェアなら30行くらいかなぁ。

Mozilla系列はメーラーやエディターもXulで動いてるわけだから、
単純な比較はできんよ。
つっても、メーラーは全く普及してないが。
既出つーか、英語版の方は聖典扱いだよ。
mozilla.orgからもリンク張られまくりだし、
個人的に、この間出た本より分かりやすいと思う。
ただ、XPCOMは微妙にスレ違いだな。
こっちのスレの方が近いかもしれない。
http://pc2.2ch.net/test/read.cgi/tech/1023546699/l50
>>580
知らなかった。ありがとう。
でも大まかなアウトラインはあってるんだね?

> これは間違い。xpconnectと呼ばれる方法で、C++で書いたバイナリを
> javascriptから直接呼ぶことができる。
> HD全消去とかは、5行くらいのスクリプトで可能。
> スパイウェアなら30行くらいかなぁ。

でもそうするとセキュリティが心配だけど大丈夫なのかな?
インストールがやたら面倒とか?
JavaScriptしか使わないのであれば安心だけどな。
面倒つーか、必ずユーザーがOKを押すインストールが必要。
悪意のあるプログラムは危険って但し書きがでて、
そこさえくぐれば何でもし放題。

そこをくぐらなければ、例えローカルファイルでも、
web上のスクリプトと同じ権限しかない。

>>565でブックマークレットがって嘆いてるのはそのせい。
ブックマークはローカルファイルだけど、
インストールされてないので、出来る事が限られてるから、
XPI(インストール)を使って本格的なのをやろうか、という話。
XPCOMというのもクロスプラットフォームだよね。
XPCOMは呼出規約がクロスプラットフォームでありさえすればいいので、
実装はクロスプラットフォームでなくてもいいんだけどね。
実際にクロスプラットフォームなバイナリは
idlをコンパイルした部分だけだが、それで十分役にたってる。
じゃ、たとえばLinuxだけでしか実装されていないXPCOMを使ってしまったら
ほかのプラットフォームでは動かないということですか?

逆にいうと、XPCOMを作るときクロスプラットフォームを意識するならば、
Mozillaが出ているすべてのプラットフォームで実装する必要があるんですか?
ま、そういうことやね。
でも、普通にC++でコーディングすれば、
プラットフォームの違いを意識する必要はない。
COMのいいところは他のCOMをブラックボックスとして使えるところだから、
プラットフォームの違いがクリティカルになりそうな奴、
(waveoutとか、DCとかファイルアクセスとか型のビット数の違いとか)
は、すでに誰かがやってくれてあるので、
いまさらOSに依存する部分を新たに作る方がしんどいと思う。

例えば、xpcomには3Dを扱うオブジェクトがないので、
direct3Dをそのままwrapしたようなコンポーネントを作れば、
確かに、windowsでしか動かないだろう。
でも、OpenGL+glutとかでcomponentを作れば、
他のプラットフォームは何も考えなくても、
ビルドツールが勝手にコンパイルしてくれるはず。
>>588
色々詳しく説明してくれてありがとう。
ふーむ。感覚がいまいちつかめないので、
こういうときは実際に作ってみるに限るな。

とりあえずmozillaをインストールせねば。
590デフォルトの名無しさん:03/09/19 16:58
591デフォルトの名無しさん:03/09/20 02:32
>>1
1.0っていつの話だ?
592591:03/09/20 02:37
去年立ったスレだったYO!!
593デフォルトの名無しさん:03/09/21 01:28
ttp://tkm.s31.xrea.com/xul/xul.shtml#stedsidebar
需要があるか激しく疑問であるが。。。
晒してみる。
ageちゃった。
申し訳ない。
>593
む!頂きまつ
>>595
なんだかまっさらなプロファイルにインスコすると落ちちゃうみたい。。。
というわけで最新版落としてくださいです。。。
すみません。
597age:03/09/21 23:44
age
http://unstable.elemental.com/mozilla/
lxrが微妙に進化してる…。
最初はなんの事かよく分からなかったが、
xpcomの親子ツリーを図解したりしてる。

つーか、http://lxr.mozilla.org/からそこに飛ばされてしまった
>>598
そこはソースじゃなくてDoxygen後のドキュメントみたいだけど?
string行ったらsun-javaに飛ばされた(苦笑

これいつからあったんだろ?全然知らなかった。飛ばされないし。
まあソース見りゃ済むからいらんのだけどなあ。
nsILocalFileを見に行くと、
ソースの上に継承図がある。

http://lxr.mozilla.org/seamonkey/source/xpcom/io/nsILocalFile.idl

MFCのアレ見たいな感じ。
前回使ったのは1ヶ月ほど前だが、その時にはなかったと思う。
>>601
うぉっ!ほんまや。そういうことやったんか。ありがとう。
俺毎日見てるけど気付かなかった。
>>598
http://unstable.elemental.com/mozilla/ は俺の知る限り2年前にはもうあった。
以前は lxr 各ソースの上のほうにリンクがあっただけだったんだが、
ずーーーーーっとリンク切れしてた。
単に doxygen しただけのもんだけど、
http://unstable.elemental.com/mozilla/build/latest/mozilla//xpcom/dox/interfacensILocalFile-members.html
みたいなプロパティの継承関係とかソースだけだとわかりにくかったんで便利だったよ。

ちなみに mozilla ビルドすると
http://lxr.mozilla.org/seamonkey/source/config/doxygen.cfg.in
の doxgen.cfg 使って自前でも作れるけどね。
prefbarみたいにボタンをボコスカ追加できるのを、firebird用に作ってみた。
ttp://cgi29.plala.or.jp/~mozzarel/addon/firebird/custombutton/custombutton.xpi
スクリーンショット。
ttp://cgi29.plala.or.jp/~mozzarel/addon/firebird/custombutton/screenshot_custombutton.png
>>604
(*゚∀゚)=3
Toolbar Enhancementsで縦置きツールバー使ってるんで、
縦に並べられるようにできませんか?
>>605
userChrome.cssで、
toolbar > toolbaritem.toolbaritem-custombutton-container{
-moz-box-orient: vertical;
}
を設定すればいいはずです。
効かなければ、!importantを付けてみてください。
toolbar >の部分はもっと絞り込めると思いますけどね。
なんてたって、縦置きなんだし…。
607605:03/10/02 20:19
>>606
できました。
externalappの方も同じ方法でできるんですね。ありがとうございます。
どっちでも使えるように書くとこうですね。

toolbox[vertical="true"] > toolbar > .toolbaritem-custombutton-container{
-moz-box-orient: vertical;
}
面白いxul wigetのリファレンスFEを見つけた。
http://www.hevanet.com/acorbin/xul/top.xul
xulで分割ダウンロードって出来るんですか?
拡張を探しても無かったので・・・。
>>610
できます。
nsIHTTPChannelを複数(デフォじゃ3個以上は無意味だが)
作ってそれぞれに別のrangeを割り振ればいいんです。
http以外ではどうなるのかよく分からんが…
>>611
ありがとー^^
新しいfirebirdのインストーラーが試験的に公開されてますが、
これを受けて、拡張をプログラムファイルの方にインストールするのは
廃止する方針のようですね。
質問ですが、templateでツリーなどを作るとき
datasources="rdf:files" ref="file:///c:"
とすると、日本語は文字化けすると思いますが
文字化けを解消させるにはどうしたいいのでしょうか?
環境は、Win me,Firebird 0.7en
うーん、文字化けしないけどなぁ。
たとえば、アドレスバーに、"file:///c:"って打つと、
chrome://communicator/content/directory/directory.xulは
まさに、そのdatasourceをそのrefでみてテンプレから作ってるわけで…

この時点で既に文字化けしてるんだったら、ばぐじら行きかもね。
>>614
えと、間違いだったらスマソ
WinMeだったらファイルシステムがFATなので内部文字コードがSJISの為に
文字化けするのかも。。。アクティブディレクトリならUNICODEですよね
身近にMeが無いので確認できんですよ
上記の問題だとすれば
http://www.xulplanet.com/references/xpcomref/ifaces/nsIScriptableUnicodeConverter.html
このへんで対処できるですか?
あああああ
>>616はガセネタのような気がしてきた。。。
まあ漏れらしいけど。。。
私のはwin98だけど、少なくとも、file:///c:に文字化けは無いね。
それに、わざわざ文字列を拾ってコンバーターにかけると、
rdfのありがたみが一挙に薄れるような。
619614:03/11/27 17:03
アドレスバーにfile:///c:だと文字化けしないんですが。
文字化けの感じがUTF-8文字をShift_jisで変換しているようだったから
開いているxulドキュメントの先頭にencoding="utf-8"にしたらいいと思ってたんですが
RDFから読み込んだ部分にはまったく反映されないみたいですね。
勉強してきます。
http://www.mozilla.gr.jp/topics/topics/viewonetopic.php?topic=xul&num=2
↑というわけで遊んでみようかと思って↓のJavaScript版を書いてみようと思ったんですけど、
http://lxr.mozilla.org/seamonkey/source/netwerk/test/TestServ.cpp
var serv=Components.classes["@mozilla.org/network/server-socket;1"].getService();
serv.QueryInterface(Components.interfaces.nsIServerSocket);
serv.init(80,true,5);
とすると
Exception... "Component returned failure code: 0xc1f30002 (NS_ERROR_ALREADY_INITIALIZED) [nsIServerSocket.init]"
って返ってきてしまいます。
http://lxr.mozilla.org/seamonkey/source/netwerk/base/src/nsServerSocket.cpp
http://bugzilla.mozilla.org/show_bug.cgi?id=92928
も見てみましたがそれらしい記述が見つからないので困っています。
誰かわかるかた居ませんでしょうか。
ちなみにWin98、Moz1.6b: 2003112918trunkで試しています。
ぼけてました。
var serverSocket=Components.classes["@mozilla.org/network/server-socket;1"]
.createInstance(Components.interfaces.nsIServerSocket);
serverSocket.init(80,true,5);
ですね。逝ってきます…
スレ違いかもしれませんが投稿させてください。

最近公開されたRSSニュースリーダーに

ReadOne
http://www.readone.net/

というのがあります。現在はまだInternet Explorerのプラグイン版
しかないそうですが、サポートBBSの以下の書き込みを読んだ限り
ではmozilla版も脈ありのようです。

>なお、作りたいとは考えておりますのでmozillaサイドバー(XUL)の
>開発を手伝ってくださる方がいらっしゃれば比較的近いうちに作成
>できるかもしれません。

私はmozillaもRSSリーダーも単なるユーザーで知識皆無なので手伝いは
無理なんですが、どなたかが開発に参加されてmozillaでRSSリーダーが
一つ増えればいいなあと思います。
ふんませんが質問させてください
最近,XULをいじりたくなって,イロイロと調べてるのですが,
XULのDTDってどこにあるのでしょう...?

もしかして,DTDなんてものはなくて,
XML-Schema とか,他の手段で定義されてんでしょうか???

xulのnamespaceはなんであんなに長いの?
ttp://www.mozilla.org/xulだとだめ
>>623
CSS と XBL の組み合わせでどんどん要素名・属性の追加拡張が可能だから
DTD 書いてもナンセンス、のような感じ。
基本的なものは XUL Tutorial でわかるけど、追加物はソースを見るしかない。
box や menu とかの基本セットについてはあってもいいと思うけど。
FB向けにブックマークをFTPで共有するツールをつくってみた。
ttp://cgi29.plala.or.jp/~mozzarel/addon/firebird/bookmarksftp/bookmarksftp0_2.xpi

自分で試してる時、ftpのURLを間違えてブックマークが空になった後、
焦って正しいURLを入れたら、サーバー上のファイルを空のブックマークで
上書きしてしまったよ…
おおこりゃ便利だ
>>626
いつもながら乙
livehttpheaderって動いてます?
>628
どうだろ。0.7が最新みたいだけど、
あれからリクエストまわりでけっこう大きな変更あったからね。
>627
どうもありがとう。
久しぶりに日本語化してみました。
ttp://cgi29.plala.or.jp/~mozzarel/addon/firebird/bookmarksftp/bookmarksftp0_3_1.xpi

FB0.8の新しいXPインストーラーは、
どういう風なるんだろうね。
latest-0.8、xpiインストール画面でUnsignedとか出るけど、
将来的にはmozilla.orgのほうで拡張の認証とかするのかな。
>631
Unsignedは古いインストーラーでも出てたけど…
まあ、mozdevあたりかなぁ、やるとすれば。
databaseプロジェクトって今でも人気投票やろうってくらいだから。
>>628-629
0.8 が今日出たばっかりみたい。
http://livehttpheaders.mozdev.org/installation.html#0.8
新しいFBでも動きそうだけど…試してみるわ。
simple URL filter ってなんだろ?
634デフォルトの名無しさん:03/12/23 15:03
XULに関する文書はだいたい古くて実際やってみても動かないってことが多いんだけど
チュートリアルなんかで、使える例題載せてるところってないですか?
やっぱ英語ですか?
日本語はないね。
やりたがってる人はいろいろ居るみたいだけど…
面白いもん見っけた。
http://www.hevanet.com/acorbin/xul/top.xul
上の圧縮
http://www.hevanet.com/acorbin/xulpt.zip
ソースも見るとけっこういいサンプル。
基本要素は1.0からあんまり変わってないのね。
>636
>609
638デフォルトの名無しさん:04/01/10 08:35
TransforMiixの機能を呼び出してXSL変換をして変換後のドキュメントを保存する
XULアプリを作ったんだけど,需要はあるんだろうか?
>>639
む、ほしい。RSS を変換させたやつを保存したかったり。
>>640
はっきり言って完成度は3%にも満たない試作品以下のレベルだけど.

http://tool-ya.ddo.jp/2ch/trash-box/file/20040110181719911.xpi

piro氏やflyson氏のソースからかなり流用しています.
特にinstall.jsなんかrssreaderから丸パクリ.
ついでにアンインストール機能なんてものは無い.
642641:04/01/10 18:23
ファイルを間違えてアップしてしまった.
643641:04/01/10 18:31
644641:04/01/11 18:39
あらら,間違ったほうのアクセス数のほうが多いってのは不味いな.
>>641 遅くなったがサンクス。にゃるほどー
646641:04/01/12 13:04
http://tool-ya.ddo.jp/2ch/trash-box/contents.jsp?file=20040112130005068.xpi

保存ドキュメントが整形して出力されるようになった.
ENCODE_FLAGS_FORMATTEDに気づくまで2時間くらいかかった.
自らの英語力の無さを痛感.

Mozilla Firebird 0.7で使用すると日本語がUnicode エスケープされる.
Mozilla Suite 1.6bだと大丈夫.
647641:04/01/13 15:28
このスレにずっと居座るのも何だから,isweb のアカウントを取得.

http://xulisyahookup.hp.infoseek.co.jp/
保守sage
html文書では、XMLHttpRequestのresponseXMLは
何も返さないと思いますが。
html文書をDOMとして得るにはどうすればいいですか?
>>649
var URI =HTMLファイルのURI;
var doc = document.implementation.createDocument('', '', null);

doc.load(URI);
doc.addEventListener('load', docLoaded, false);

function docLoaded {
ここからdocを使用する処理を記述
}
651649:04/02/05 01:03
>>650
どうもありごとうございます。m(_ _)m
できました。
ふーむ、私のお勧めはnsIDOMParserです。
...
var str=httprequestobject.responseText;
var doc=(new DOMParser()).parseFromString(str,"text/html");

alert(doc.documentElement.localName);

うろ覚えだから関数名は間違ってるかもしれないけど…
詳しくはここ。
http://www.mozilla.org/xmlextras/
650みたいなレーシングは結構怖いな。
イベントリスナーは先に追加してほしい。
最近思うんだけど、MozillaってUTF-8じゃなくて、
UTF-16がデフォルト?
それとも、スクリプトやRDFだけUTF-16なのか?
>>654
nsStringがUTF-16だからデフォルトはUTF-16なんじゃないの?
こんな感じで内部メインはUTF-16
http://wp.netscape.com/eng/intl/docs/iuc17/browser/slide32.html
>656
お、この図はわかりやすいなぁ。
ありがとう。
ふむむ。

Firefoxのブックマークをソートする拡張を作ってみました。
ttp://cgi29.plala.or.jp/~mozzarel/addon/firefox/sortbookmarks/sortbookmarks.xpi
ttp://extensionroom.mozdev.org/more-info/sortbookmarks

作ってるときは楽しかったんですけど、日本語のブックマークって、
文字コード順に並んでても、イマイチありがたみがないですね。
だから、日本語にローカライズしてないんですが…。
extensionroomに「bookmarks」カテゴリーを作るのが目標。

あと、人に頼まれて、about:*****を登録するスクリプトを書いたので、
about:wazillaとかabout:saitamaとかに興味がある人はどうぞ。

componentsディレクトリにインストールするタイプ。
ttp://cgi29.plala.or.jp/~mozzarel/addon/firefox/test/aboutfiresomething.js
拡張のoverlayで実行するタイプ。
ttp://cgi29.plala.or.jp/~mozzarel/addon/firefox/test/aboutfiresomething_overlay.js
about:****ですけど、
オリジナルのnsAboutRidirector.cppは、
httpプロトコルに飛ばすときにセキュリティのレベルを変えてますね。
chromeに行くなら心配はいらないんですが、
aboutのレベルでウェブ上のファイルを読ませると、
えぐいことができそうなので、気をつけてください。
ttp://bugzilla.mozilla.org/show_bug.cgi?id=32641
にvoteしておきました。
でも、さっきまで2だったから、他にも投票した人がいるみたいだね。
>>658-659
面白い。プロトコル追加の解説があったので貼り付けておく。
http://www.nexgenmedia.net/docs/protocol/
>661
読んでみました。
ところで、そのドメインって何やってるんですかねぇ。
ドキュメント自体はIBM名義なので、
就業中に書いたのかもしれませんが、
Doron個人のサイト?
Doron が Netscape(AOL) にいたときから写真やらなんやら置いて
weblog からリンクしてたから、個人的に自由に使えるサイトなんだろ。
---------- 再開 ----------
Emacsで動くGeckoのほうが欲しいな
そうすりゃXULなんぞ必要ないだろ好きなだけ機能追加できる
いいだしっぺの法則
今日のmozillazineの記事によると、
毎月第一火曜日はXULの日、らしい。
あさって(あるいは水曜日の朝?)だな。
668デフォルトの名無しさん:04/04/04 17:46
XULは糞! XAML最強!!!
>>667
talkbackを読めばわかるが、このスレで言うXULとは
あまり関係ない。
JavaScriptのOn/Offをカンタンに切り替えるような拡張はでてないのかな?
>>672
ありがとう。
Slashzillaをホットキーで開けるようにしようとしているのですが
その辺のソースについて詳しく載っているサイトはありませんか?
>>674
http://xulplanet.com/tutorials/xultu/keyshort.html
このへんの Key Example でわかるんでないかな。
Overlay してる場合はソース見ないと分からんけど、たとえば
<keyset id="(overlay する id)">
<key id="hotkey_slashzilla" key="s" modifiers="accel,shift" oncommand="<開く関数>"/>
</keyset>
こんなんで ctrl+shift+s で開くようになるんじゃないかな。
676674:04/04/10 21:35
うーん読んでみましたが基本骨子をまだ理解しきっていないので頓珍漢なことをしているような気がして不安
szoverlay.xulのソースが以下のようになっているんですが

<?xml version="1.0"?>

<overlay id="slashzillaOverlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

<!-- Sidebar Overlay -->
<menupopup id="viewSidebarMenu">
<menuitem observes="viewSlashzillaSidebar"/>
</menupopup>

<broadcasterset id="mainBroadcasterSet">
<broadcaster id="viewSlashzillaSidebar"
autoCheck="false"
label="Slashzilla"
type="checkbox" group="sidebar"
sidebarurl="chrome://slashzilla/content/slashzilla.xul"
sidebartitle="Slashzilla"
oncommand="toggleSidebar('viewSlashzillaSidebar');"/>
</broadcasterset>
</overlay>

このソース内の<!-- Sidebar Overlay -->下に
<keyset id="viewSlashzillaSidebar">
<key id="hotkey_slashzilla" key="s" modifiers="accel,shift" oncommand="toggleSidebar('viewSlashzillaSidebar')"/>
</keyset>

を埋め込んでみましたがうまくいきませんでした
idをviewSlashzillaSidebarとmainBroadcasterSetにしても同様でした
slashzilla を nightly の mozilla に入れてみたけどパネル登録ができなくて、
テストできないんだけど、たぶん…

keyset は navigator.xul の keyset に overlay しなきゃ。
DOMInspector で id 調べると navKeys になってる。
また、broadcaster 使ってるから、
http://www.xulplanet.com/tutorials/xultu/broadob.html
を参考にして、

<keyset id="navKeys">
<key id="hotkey_slashzilla" key="s" modifires"accel,shift" observes="viewSlashzillaSidebar"/>
</keyset>

これでどうかな。
678677:04/04/11 00:53
modifires="accel,shift" のイコールが抜けてた、スマソ
679674:04/04/11 02:36
すいません重要な事を書いておくのを忘れていました
使用ブラウザはFirefox0.8 4/3nightlyです
680677:04/04/11 03:34
Firefox nightly で使えてるの?
slashzilla.mozdev.org 見て使えないものとばかり思ってた。
それはともかく Firefox なら <keyset id="mainKeyset"> にしちくり。
681674:04/04/11 14:06
szoverlay.xulに

<keyset id="mainKeyset">
<key id="hotkey_slashzilla" key="s" modifires="accel,shift" observes="viewSlashzillaSidebar"/>
</keyset>
をoverlayのタグ内に挿入してみましたが駄目でした
また、navigator.xulを検索かけてみましたがFirefoxのフォルダ内にありませんでした…

SlashzillaですがFirefoxで問題なく使えています
Firefox Help 日本語版内の拡張内にあるSlashzillaのxpiを/.-J用に弄って使用しています
682677:04/04/11 22:56
Firefox に slashzilla 入れてみた。これでできた。
勘違いしまくりでスマソ # RSSReaderPanel にほぼまんまのコードがあっただよ…

<menupopup id="viewSidebarMenu">
<menuitem key="hotkey_slashzilla" observes="viewSlashzillaSidebar"/>
</menupopup>

<keyset id="mainKeyset">
<key id="hotkey_slashzilla" key="s"
modifiers="accel,shift"command="viewSlashzillaSidebar"/>
</keyset>
683674:04/04/11 23:28
月並みな表現で申し訳ないですがお付き合いありがとうございます
おかげさまでできました

#もっとxulやjsの勉強しなければ・・・
XulPlanetが、ちょっとリニューアル?されてるので上げ。
XULのDOM Methodに大きな変更が加えられたようです。
getElementByAttribute
http://forums.mozillazine.org/viewtopic.php?t=69302
childNodes
http://forums.mozillazine.org/viewtopic.php?t=69556

要するに、返り値のNodeListが
いわゆる"live"(treewalker的な)ではない、
ということですね。
もちろん、treewalkerをつかえば、
従来のような事が出来ると思います。
>>684
ちょっとじゃない〜 詳細はここにも。
http://www.xulplanet.com/ndeakin/article/256?show=c
Scriptable Object Referance 追加と commands, updating commands は
まとまった情報がなかったんで助かる〜
XULアプリコンテストってどうなったんでしょうか?
ひょっとして、エントリーがなかったとか?

コンテストを開くこと自体はたいへん良いと思うので、
告知を3ヶ月前くらいからやってほしいですね。
でも、パーティ関連にすると難しいのかもしれないなぁ。
じゃあ、お前が企画しろよ、って言われると、
参加者を集められる自信は全くないが…
エントリーはありましたよ。8つほど。
じゃ、そのうち結果発表とかあるんですかね。
去年はpiro氏のやつとmoz2chが出てたような記憶が。
投票数自体が少なかったけど、結果としてはXUL/Migemoが圧倒的大勝ですた。
RSS Reader Panelのflyson氏は出品されていませんでした。
だいたいそんなとこで。
XUL/Migemoでてたんですか。
このスレに時々来る通りすがりの人のブックマークのやつはどうでした?
通りすがり師のはなかったと思う。
出てたのは
http://white.sakura.ne.jp/~piro/xul/xul.html
Ez Sidebar・Sidebar Window/タブキラー/テキストリンク/あと一つ(おもいだせない)
http://www013.upp.so-net.ne.jp/unha999/fmutil/fmutil.html
http://mimic.gelsoft.jp/(繋がらない…?インスタントメッセンジャーです。)
http://www.smellman.homelinux.org/mozilla/xul-hack.html (カップラーメンタイマー)
http://tkm.s31.xrea.com/xul/xulmigemo.shtml
>692
なるほど。
重ね重ね、ありがとう。
FirefoxのExtension API 暫定版が今日、初公開。
http://www.bengoodger.com/software/mb/extensions/howto.html
つーか、いきなりinstall.jsを捨ててきましたか…
まあ、前に競べたら、納得の内容ですね。
icon関係もうまく処理されているようです。
これは nightly で既に実装済みのものなのかな。
draft 段階のものを読むと
http://jt.mozilla.gr.jp/projects/firefox/extensions/index.html
install.js は後方互換のためか残されそうだけど。

個人的にはコマンドラインオプション実装して欲しい…
上のリンクにも書いてありますが、install.jsはfirefoxから、
一方的に無視されるだけなので、
たとえば、mozillaにインストールしたときは、
install.jsの内容が反映されることになります。

従来のinstall.jsが内部で行っていた、いわゆるscript然とした
細やかな設定は、html側のInstallTrigerで行うべきだ、
というのが、Ben Goodgerの持論なので。

>コマンドラインオプション
なぜ?
全ての拡張がUUIDで管理されるようになれば、
ひょっとして、複数の言語パックを同時にインストールできたりするように
なるのかなぁ。
XULコンテスト、私は何か勘違いしていたようです。
コンテスト用に何か書き降ろさないといけないのかと思ってました。
実は、無圧縮PNGを吐くアイコンエディターを
ネタで作ろうと思っていたのですが…

ところで、私が不甲斐ないばっかりに、
いろんな人が、blogで拡張の解説文を書いてくれています。
ttp://kengo.preston-net.com/archives/001281.shtml
ttp://scramble.no-ip.org/archives/cat_13.html
あと、朝顔日記様とか。

どうもありがとうございます。
今日、Firefoxの新しいインストーラーを試してみました。
結構イイ感じで動いてます。
XULに全く関係ない話で恐縮ですが、
JLPのxsltスレは純粋な読み物としても、結構面白いです。
ttp://moz.skillup.jp/jlp/viewtopic.php?t=96

で、先程parseをgoogle英和で調べてみたら、構文解析と書いてあります。
もちろん、私にとって一番わかりやすい訳は「パース」なのですが、
まあ、構文解析でも意味が通らなくはないなぁ、と感心してみたり。

パースは「分析」だけでなく、「読み込む」事自体の意味が加味されている
のが通例なので、「解析」よりは「解釈」の方がしっくり来ます。
例えば、parseIntの10進数と16進数なんかは、解析方法が違うのではなくて、
解釈方法が違う、って言ったほうがより自然な日本語だと思いませんか?

ただ、parse errorは「解釈失敗」より「解析失敗」の方がきれいな言葉ですよね…。
辞書に載っている以上、凡例が少なからずあるはずだから、やはり侮れません。
それでも、「XMLとして解析できません」よりは、「XMLとして解釈できません」
の方がいいと思うのですが…。

その他で気になったのは、"call"の訳語です。
確かに、「呼び出す」より「呼ぶ」の方が日本語として熟れているとは思いますが、
明らかにテクニカルタームなので、ここは「呼び出す」の方に一票を投じたいです。
「〜を呼ぶ」という文ではどれだけこなれていても、
日本語としての不自然さはどうしようもないですから、
日常的な意味ではないことを強調した方が親切でしょう。
FireFox とか Thunderbird とか結構重いように感じるんだけど(非力なマシンなので)、
XUL で作ったアプリも、ある程度の重量感は覚悟する必要があるのでしょうか?
>703
モノに拠ります。
XPCOMをロードして使うようなタイプのアプリは速いです。
逆にfor文で100万回まわすようなスクリプトを書けば、
重くなります。
インタープリターなので当然ですね。
>>702
XULに関係ない話につっこんで悪いんだけど
parse = 構文解析
っていう翻訳はコンパイラの教科書なんかで昔っから使われているから
日本で計算機科学系の学科に居た人はみんなそう訳すんだと思う…

で,parseに「読み込む」っていう意味が加味されているっていうけど
コンパイラの教科書的には,
【字句解析】→【構文解析】→【意味解析】→【最適化】→【コード生成】
とフェーズを分けて教えるんで「読み込み」は 構文解析器(parser)の
仕事とは考えない傾向がある気がする…
>>704
XUL 分かってなかったです。すまそ。
C からも使える物と思ってた。
>>704
Cからも使えますよ。
Mozilla.orgにも、サンプルコードくらいはあったと思います。
ただ、コンパイルすると、当然プラットフォーム依存になります。
単純にUIがほしいのなら、それとトレードオフで得る速度は釣り合いません。

MFCやGTKのリソースファイルも、
UIの部分はテキストで箇条書き(?)にしてあるだけですよね。
アセンブリングの恩恵は、ほとんどないと思います。

処理が重いなら、スクリプトをC++に移植する、
という手がありますがね。
linuxでアンチエイリアスしないにはどうすればいいんですか?
linuxのアンチエイリアスってxulネタなんでしょうか?
>>704
タブブラウザ拡張も XPCOM/C++ で書き直すと速くなるんだろうなぁ...
>>710
タブ拡が遅いですと?
>>710
全部書き直さなくても、パッチとしてマージするだけでもいくらか速くなると思う。
タブといえば、
Option to determine how other applications open new windows
http://bugzilla.mozilla.org/show_bug.cgi?id=172962
のターゲットマイルストーンがfirefox1.0betaになってますね。
どうやら、本気で実装されそうです。
どうでもいいけど、「呉下の阿蒙に非ず」だけ浮いてるよね。
誤爆か?
Fxの新しいエクステンションマネージャーでは、
32*32のアイコンが指定できるので、
某狐女のトレードマークを世界に向けて発信しようと思ったのですが、
なんか、お下品な連想をしてしまったのでやめました。

ttp://cgi29.plala.or.jp/~mozzarel/addon/aviary/externalapp/icon.png
なんというか、角度も重要なのかなぁ。
基本的なことなんだけど、XULのGUIライブラリって
GTKをラッピングしてるの?
>>717
まあ、100パーセントそうだとは言えないけど、
gtkが使える環境ならそう言って差し支えない程度には使ってるな。
719デフォルトの名無しさん:04/06/19 02:37
xulから呼び出す外部のJavaScriptファイルに日本語を使いたいとき、
文字コードはどうすべきですか?UTF-8など色々試しましたがどれも化けます。

それともlocaleを使うべきなんでしょうか。
>>719
ファイル名はシステムの文字コードに依存するのでは?
WindowsならShift_JISかUTF-8でしょうか。
うまくいかないのはUConvでの文字コードの変換に失敗しているからではないかと予想。
721デフォルトの名無しさん:04/06/19 03:22
ファイル名ではなく「ファイル中に」です。
つまり、alert("こんにちは");とかやると文字化けしてウィンドウが表示されます。
>>721
\u3053\u3093\u306b\u3061\u306f
みたいにUnicodeエスケープするしかないかも知れない。
723デフォルトの名無しさん:04/06/19 05:08
それは面倒ですね。
やはり開発はすべて英語でやって、後からlocaleを付け加えるのが常識的なのでしょうか?
alert("こんにちは")にするなら、UTF-8じゃなくて、UTF-16の方がいい。
でもそうすると、script自体がパースされないだろうから、
クォーテーションの中だけUTF-16という
変則的な文字コードにしなきゃいけない。

結局、localeを追加した方が安上がりなのよ。
725デフォルトの名無しさん:04/06/19 21:52
なるほど。了解しました。
詳しく教えていただいて、どうもありがとうございました。
Moz2chのバヤイ、js自体はEUCで統一してるですが、表示すべき文字列を
ハードコーディングしないでlocaleを使用するようにしてるです。
但し、テストコードのような物だといちいちlocaleを書くのがめんどいという
後ろ向きな理由ですが、EUCで文字列を書いてnsIScriptableUnicodeConverter
を使ってEUC→UNICODEしてから表示するようにしてるです。
http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/moz2ch/moz2chfirefox/content/moz2ch/charset.js?rev=1.2&content-type=text/vnd.viewcvs-markup
この辺参考にしてくださいです
Firefoxにjarファイルを使わない拡張を
新EMでインストール/アンインストールするパッチを書いてみました。
ttp://cgi29.plala.or.jp/~mozzarel/addon/aviary/FolderExtForNewEM/

0.9の場合、componentsフォルダに入っているnsExtensionManager.jsを
ttp://cgi29.plala.or.jp/~mozzarel/addon/aviary/FolderExtForNewEM/nsExtensionManager.js
と差し替えれば、ちゃんと動くはずです。
ナイトリーに使うのであれば、diff.txtをソースにあててください。

ただ、このバグがfixされた方がいいかどうかは微妙ですね。
もちろん、出来るにこした事はない、とは思いますが、
拡張やテーマを自分で書かない限り不要(いわゆるbloated)な気もします。
今日のチェックインみてたら、こんなバグがありました。

_contentのかわりにcontentを使いましょう
http://bugzilla.mozilla.org/show_bug.cgi?id=240947
もうお気づきかと思いますけど、http://update.mozilla.org/が稼働していますね
特に何もしていませんが、私の拡張も(なぜか)2つだけ入っています。
新EM対応版を公表(?)した時期に関係がありそうです。
勝手にアップデートしてくれるのなら楽でいいや、
と思っていたのですが、どうやら初回サービスのみのようです。
更新しても、反映してくれません。

うそくさいダウンロード数が少しづつ増えるのをみるのは楽しいですが、
コメントに反論できないのがちょっと。
ちなみに、私の周囲では
"Must Have!"という、おばかなフレーズが流行っています。
730デフォルトの名無しさん:04/06/29 23:14
Mozilla 1.7のダウンロードマネージャがCtrl+Wで閉じれないのや、
メーラーでアカウントを選択しているとスペースキーやNで次の未読に
移動できないのが不満で、comm.jarやmessenger.jarを直接書き換えて
目的を達成したんだけど、こういうのもxpiで実現可能?

xpiさっぱり分からん。
731730:04/06/29 23:16
ちなみにダウンロードマネージャの方はこんな感じ。

--- comm/content/communicator/downloadmanager/downloadmanager.xul2003-10-22 00:35:56.000000000 +0900
+++ comm/content/communicator/downloadmanager/downloadmanager.xul2004-06-26 10:33:30.000000000 +0900
@@ -27,9 +27,13 @@

<?xml-stylesheet href="chrome://communicator/skin/"?>

+<?xul-overlay href="chrome://communicator/content/utilityOverlay.xul"?>
+
<!DOCTYPE window [
<!ENTITY % downloadManagerDTD SYSTEM "chrome://communicator/locale/downloadmanager/downloadmanager.dtd">
%downloadManagerDTD;
+<!ENTITY % utilDTD SYSTEM "chrome://communicator/locale/utilityOverlay.dtd" >
+%utilDTD;
<!ENTITY % downloadProgressDTD SYSTEM "chrome://global/locale/nsProgressDialog.dtd" >
%downloadProgressDTD;
]>
>>731
可能です。
空の拡張をつくって、contents.rdfで
chrome://communicator/content/utilityOverlay.xulをoverlayしてやればいいのです。

ただ、ロケールはoverlayのdoctypeに完全に依存するので、
utilityOverlayにdoctypeがなかったら、
utilityOverlayを手元にコピーしてdoctypeを追加したものを
あらためてoverlayした方が安全かもしれません。
あ、今みてみたら、ばっちりはいってますね。
http://lxr.mozilla.org/mozilla/source/xpfe/communicator/resources/content/utilityOverlay.xul
734730:04/07/01 04:44
まいったな。せっかく教えてもらったのにさっぱり分かりませぬ。
一応XULチュートリアルの日本語訳も読んでいるが、分量が多くて
どこが該当するのかも分かりません。参考になりそうな拡張ってありますか?
それはともかく、xpiで実現可能というのが分かったのはありがたいです。
「Ctrl+何々でほげほげできるようにします。」系の拡張を
Firefox Help 日本語版あたりで探してみると良いかも。
やり方はそのままSuiteにフィードバックできるので。
>>735
thanx. 動きますた。

*contents.rdf
<?xml version="1.0"?>

<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
        xmlns:chrome="http://www.mozilla.org/rdf/chrome#">

  <RDF:Seq about="urn:mozilla:package:root">
    <RDF:li resource="urn:mozilla:package:dmclose"/>
  </RDF:Seq>

  <RDF:Description about="urn:mozilla:package:dmclose"
                  chrome:displayName="dmclose Extensions"
                  chrome:author=""
                  chrome:authorURL=""
                  chrome:name="dmclose"
                  chrome:extension="true"
                  chrome:description="dmclose">
  </RDF:Description>

  <!-- overlay information -->
  <RDF:Seq about="urn:mozilla:overlays">
    <RDF:li resource="chrome://communicator/content/downloadmanager/downloadmanager.xul"/>
  </RDF:Seq>

  <RDF:Seq about="chrome://communicator/content/downloadmanager/downloadmanager.xul">
    <RDF:li>chrome://dmclose/content/dmcloseOverlay.xul</RDF:li>
  </RDF:Seq>

</RDF:RDF>
*dmcloseOverlay.xul
<?xml version="1.0"?>

<?xml-stylesheet href="chrome://communicator/skin/"?>

<?xul-overlay href="chrome://communicator/content/utilityOverlay.xul"?>

<!DOCTYPE window [
<!ENTITY % utilityDTD SYSTEM "chrome://communicator/locale/utilityOverlay.dtd">
%utilityDTD;
]>

<window id="downloadManager">
</window>
なんか変なところありますか? さて、あとはインストーラか。

メーラーの方は、mail3PaneWindowCommands.js, mailWindowOverlay.js, mailWindowOverlay.js を
書き換えて動作を変更しているのですが、こちらは実現できますかね。
一部の関数のみをxpiで差し替えて動作させるようなことはできますか。
それともoncommand=で呼び出される関数から変更した関数に至るまでの部分を
すべてコピーする必要があったりしますか。
これでいいのですが、私が732-733で言いたかったのは、
直接utilityOverlay.xulをoverlayしてみては?ということです。

お分かりかと思いますが、overlayには2通りの方法があります。
ひとつは、「xulに直接<?xul-overlay?>を埋め込む」やりかたで、
もうひとつは「パッケージをインストールする」ことです。

結論から言いますと、この種の拡張(?)ではxulファイルが一切不要です。
>一部の関数のみをxpiで差し替えて動作させるようなことはできますか
できます。
javascriptの面白い点は、関数といえども、オブジェクトのひとつに過ぎない、
と言う点です。
よって、代入できてしまうのです。

値は他の関数でもいいのですが、
名前空間を不必要に汚すよりは、
関数リテラルを代入するほうが望ましい、と思われます。
あっ、こうすればいいのか。
  <RDF:Seq about="urn:mozilla:overlays">
    <RDF:li resource="chrome://communicator/content/downloadmanager/downloadmanager.xul"/>
  </RDF:Seq>

  <RDF:Seq about="chrome://communicator/content/downloadmanager/downloadmanager.xul">
    <RDF:li>chrome://communicator/content/utilityOverlay.xul</RDF:li>
  </RDF:Seq>

>お分かりかと思いますが、overlayには2通りの方法があります。
すんません。よく分かっていません。
>>741
そうです。そういうことです。

>よく分かってない
>>736,>>737では両方使っていたんですよ。
utilityOverlay.xulを736にoverlayして、
736をdowloadmanger.xulにoverlayしていたわけですよね。
>>741は一回しか使わなくて済んでいます。
当然741の方がお薦めです。
http://www.xulplanet.com/tutorials/xulapp/overlays.htmlを見ながら読み直して
ようやく分かってきました。

さて、次は関数の差し替え方法か。
>>743
そんなに難しい事じゃないですよ。
例えば openURI() を乗っ取るなら

window.openURI = function(aURI, aReferrer) {
// hogehoge
}

と書くだけでもOK。
内部で元の関数の機能を呼び出したいなら

var originalOpenURI = window.openURI;
window.openURI = function(aURI, aReferrer) {
// hogehoge
originalOpenURI(aURI, aReferrer);
// foobar
}

という具合です。
元の関数を保持しておくオブジェクトの名前が他とかぶると
いけないからということで、後者についてはいくつかやり方があります。
上は一番単純な例。
メーラーの方はちょっと置いといて、NN4みたいにBackSpaceで上方向へ
スクロールするようにする拡張を作ってみました。上の方法でばっちり動きました。
せっかくですので下の方法についてもう少し解説していただけるとうれしいです。
解説っていっても見たまんまなんですけどね。
>>774後半の例は以下のような内容です。

1. 関数オブジェクト "(window.)openURI" の内容である関数を参照するエイリアスを
  "originalOpenURI" という名前で作成。
2. "(window.)openURI"というエイリアスの参照先として新しい匿名関数を定義する。
3. 省略
4. "originalOpenURI"のエイリアスで参照している関数を実行。
5〜6. 省略

つまり

window.openURI => "function openURI()"

となっていたのを

originalOpenURI => "function openURI()"
window.openURI => "function()"(匿名関数)

に変更するということ。
NortonのAntiVirusかInternetSecurityかどっちのはたらきか知りませんが、
ポップアップ抑止の機能を導入すると、閲覧するWebページの先頭に


var SymRealWinOpen = window.open;

function SymWinOpen(url, name, attributes)
{
return (new Object());
}

window.open = SymWinOpen;


こんな感じのJavaScriptを挿入してきます。
やってることはこれと一緒です。
746はエイリアスとはちょっと違うと思う。
jsにとってのオブジェクトは実体そのものだからね。
本等にエイリアスなんだったら、名前解決が元のままのはずだしね。
>>746
えー、すんません、そういうことではなくて、

>元の関数を保持しておくオブジェクトの名前が他とかぶると
>いけないからということで、

の、回避方法はどういうのがあるのかなーということです。
>>749
その1。一意な名前の変数にする。
名前空間URIのようにすればほぼ確実。

window['http://hoge/fuga:openURI'] = window.openURI;
window.openURI = function(uri, ref) {
// hoge
window['http://hoge/fuga:openURI'](uri, ref);
// fuga
}


その2。クロージャを使う。

function init() {
var originalFunc = window.loadURI;
window.loadURI = function(uri, ref) {
//hove
originalFunc(uri, ref);
//fuga
}
}
init();

この例でいうinit()の部分さえ名前がかぶらなければ、
変数originalFuncは関数外部からはアクセス不可能なので
破壊される恐れもない。
>>750
なるほど。ありがとうございます。
メーラー用の拡張の作成は少し先のことになりそう。
XUL特集、らしい。
http://www.unixuser.jp/next.html
XULチュートリアルを勉強している者です。
http://xul-app.hp.infoseek.co.jp/xultu-janit/rdfscript.html
こちらのRDFデータソースの章に書いてあることを試したところ、
ドロップダウンリストに文字列を入力してボタンを押してアプリを再び開くと
ドロップダウンリストの項目がどんどん増えていくのですが、追加されたデータは
どこに保存されているのでしょうか。
「最後に、Flush 関数を使ってデータソースをディスクに書き出す。」とのことですが、
素人の安直な考えでは初めに読み込んだ recents.rdf ファイルへ書き込まれるのだろう
と思ったけど実際に開いてみると違いました。
要素のdatasourceをとってきてそれを直接編集しようとしていますね。
あまり、いいやり方ではないし、少し古いです。
多分、このスクリプトが書かれたころは、
Flush()で、recents.rdfに書き込まれていた、と想像しています。

ま、当世流とはちょっと違う、ということで。
755753:04/07/04 19:41
よく調べたらプロファイルdirのlocalstore.rdfに保存されていました。
ま、そうだろうね。datasourcesで明示してなくても、rdf:localstoreは、
どの要素でも使用している。
というのは、persist属性とかで、値を保存しておいて、
長さや位置を覚えておくために必要だからだ。
firefox0.9でXULMAKER0.5使おうとしたら起動すら出来ないんだが
誰かやってない?
758デフォルトの名無しさん:04/07/06 19:28
age
759デフォルトの名無しさん:04/07/07 08:38
moz2chをインスコしたら、
mozillaのbookmarkが消失したぞ(゚Д゚)ゴルァ
760plus7 ◆XULQA16CSE :04/07/07 16:19
http://tkm.s31.xrea.com/xulmigemo021.xpi
XUL/Migemoの正規表現を外部から使えるようにしてみました。
var re = window.xulMigemoCore.getRegExp("unko")
てな感じで正規表現オブジェクトを得られます。
もしよろしければお使い下さい。
>>752
買いに行ったらXULは来月号に飛ばされていた。
代わりにwxWidgetsとかいうやつが特集されていた。これはこれでおもしろそうではあるが。
拡張を作る上で、今までは、プログラムフォルダの下にあるchromeに
フォルダをつくって、appname.jarなどに固めずやってたのですが、
新しい仕様でも、extensionsの下にフォルダを置いてできるんですかねぇ?
about="urn:mozilla:extension:file:appname.jar"
のところをいじったら出来そうな気もするんですが・・・。
>>761
(´・ω・`)ショボーン
こっちに聞いた方が良いと思い書きます。
mozilla updateに登録ってどうすればいいのですか?

以下とマルチポスト
http://pc5.2ch.net/test/read.cgi/software/1088635005/383
XULチュートリアルのバインディングのサンプルがうまく動きません(バインディングが反映されない)。
http://xul-app.hp.infoseek.co.jp/xultu-janit/introxbl.html
このサンプルに何か問題点ありますでしょうか?

XUL (example.xul):

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://example/skin/example.css" type="text/css"?>
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<box class="okcancelbuttons"/>
</window>

CSS (example.css):

box.okcancelbuttons {
-moz-binding: url('chrome://example/skin/example.xbl#okcancel');
}

XBL (example.xbl):

<?xml version="1.0"?>
<bindings xmlns="http://www.mozilla.org/xbl"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<binding id="okcancel">
<content>
<xul:button label="OK"/>
<xul:button label="Cancel"/>
</content>
</binding>
</bindings>
>>766
"example"はパッケージとして登録されてる?
>>766
ええ、もちろんです。
installed-chrome.txt :

content,install,url,resource:/chrome/example/content/
skin,install,url,resource:/chrome/example/skin/classic/

ブラウザに直接クロムURLを打ち込めば一応ウィンドウは表示されます。
バインディングが成功すればそこにボタンも出るはずなのですが...
>>765
bugzillaに拡張を登録しろ、ってFAQに書いてあるが?
>>768
色々試してみたところ、ファイル名の拡張子がxblでは動かないようです。
xmlにすれば動きました。
私がこのチュートリアルをやってた頃はxblで問題なかったんですがねぇ。

XULPlanetのリファレンスはわりと頻繁に更新されていますが、
チュートリアルの方はMozilla1.0のころから更新されていないようです。
それをさらに和訳してあるわけですから、例が現実に追いついてないのも
仕方のないことなのでしょう。
>>770
うほほーー!xmlにしたら無事に出来ました!サンクスです。
>>757
こんなんどうでしょうか?
http://forums.mozillazine.org/viewtopic.php?t=96578
ttp://www.mozilla.gr.jp/~kazu/kazude/
これのコピーもっている人くれ
>>733
が言ってるのはサイトじゃなくてxpiのことじゃない?
776773:04/07/10 13:38
>>774
xpiダウソできました。
ありがとうございました。
スクロールバーの付いたbox要素などでもマウスホイールが効くようにはできますでしょうか?
778plus7 ◆XULQA16CSE :04/07/11 03:12
>>778
まさにそれです!しかしかなり難しそうなのであきらめまつ...
>>779
そんな難しくないと思いますよ。
>>766の例の状況で示すと、こんな感じでしょうか。動作確認はしてませんが。

XUL (example.xul):

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://example/common/example.css" type="text/css"?>
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<box class="scrollbox"/>
</window>


CSS (example.css):

box.scrollbox {
-moz-binding: url('chrome://example/content/example.xml#scrollbox');
}
box.scrollbox scrollbar {
-moz-binding: url('chrome://example/content/example.xml#scrollbar');
}


つづき。

XBL (example.xml):

<?xml version="1.0"?>
<bindings xmlns="http://www.mozilla.org/xbl"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<binding id="scrollbox">
<implementation>
<handler event="DOMMouseScroll"><![CDATA[
var count = event.detail > 0 ? 50 : -50 ;
this.mScrollbar.setAttribute('curpos', Math.min(Math.max(0, Number(this.mScrollbar.getAttribute('curpos'))+count), Number(this.mScrollbar.getAttribute('maxpos'))));
]]></handler>
</implementation>
</binding>
<binding id="scrollbar" extends="chrome://global/content/bindings/scrollbar.xml#scrollbar">
<implementation>
<constructor><![CDATA[
if (navigator.platform.indexOf('Mac') != -1) this.initScrollbar();
this.parentNode.mScrollbar = this;
]]></constructor>
</implementation>
</binding>
</bindings>

TBEの /content/tabextensions/scrollableTabBar.xml も参考にしてみて下さい。
すみません。
<?xml-stylesheet href="chrome://example/common/example.css" type="text/css"?>
じゃなくて
<?xml-stylesheet href="chrome://example/content/example.css" type="text/css"?>
ですね。

あと、水平スクロールバーと垂直スクロールバーのそれぞれについて
処理を振り分けるのも忘れてました。まあその辺は適当に。
もう一つミスが……

<implementation>
<handler event="DOMMouseScroll">(略)</handler>
</implementation>

ここは
<implementation>〜</implementation>
ではなくて
<handlers>〜</handlers>
です。
解説も含めてまとめときました。もしよろしければどうぞ。
ttp://white.sakura.ne.jp/~piro/xul/tips/x0030.html
>>780-784
丁寧にありがとうございます!さっそく今試してみます。
このスレは親切な方が多くて助かります。
window内にiframeがあるようなxulページを表示させると、
windowのonloadイベントが二度発生しますが、これはなぜなんでしょう??
たとえば下のコードを表示させると、alertウィンドウが二度出てきます。
環境:Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040614 Firefox/0.9

<?xml version="1.0"?>

<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" onload="alert('onload');">
<iframe />
</window>
>>786
iframe内のページのonloadイベントがバブリングで伝搬するからですな。
http://www2u.biglobe.ne.jp/~oz-07ams/prog/dom-ref/Events/
プロパゲーションが止められないのって、
実は結構不便な気もするな。

こんな感じでイベントハンドラを書けば済むのだが。
function myOnLoad(event){
 if(event.target.localName=="window")
  alert('onload');
}
イベントバブルで制御できるんでは
790786:04/07/12 13:23
>>787-789
なるほど、なぞがわかってすっきりしました。
preventBubbleって、そんなに便利でもないんだよなぁ。
一つのイベントに複数のリスナがある時とか。
ローカルに保存されたHTMLファイルを読み込み、パースしてDOMとして利用することは可能でしょうか??

var doc = (new DOMParser()).parseFromString(fileContent, "text/html");
alert(doc.title);

とやってみたのですが、1行目でエラーとなります...
>>792
実はdomparserのtext/htmlモードは未実装なのです。
かわりに、innerHTMLを使ってください。
あるいは、>>650とか。
var URI = "http://jt.mozilla.gr.jp/";
var doc = document.implementation.createDocument('', '', null);
doc.load(URI);
doc.addEventListener('load', docLoaded, false);

function docLoaded() {
alert(doc.title);
}

これでは何も表示されませんですけど、何か間違っているようですね。。
>>795
mozilla 1.6 で試してみたけど…
doc.async = false;
var result = doc.load(URI);
alert(result);
してみると doc.load(URI) が false が返してくるみたいね… なんでだろ??

XUL内に不可視のbrowser要素を配置してそこにloadURI()で読み込んだら
だめかな?
>>795
ありがちなミスだけど、ひょっとして、XULでやってる?
createDocumentのnamespaceを無指定にすると、実行環境に影響されるから、
HTMLDocumentではなく、XULDocumentになって、htmlファイルをロードできない。
>>796
hidden=trueなbrowserに対してloadURIでHTMLをロードさせたら
Type Error: this.docShell has no properties
と怒られました。

>>797
なるほど、確かにXULでやってました。
>>798
hidden="true" (displaynone)だと初期化がされないので注意が必要。
collapsed="true" (visibility:collapse)なら動くはず。
>>799
なるほど、それでうまくいきました。
>>797

>createDocumentのnamespaceを無指定にすると、
ってことは正しい(?)指定をするとXULでもHTMLDocumentが返ってくる
ようになるんでしょうか?
>>801
いろいろ探してみたけど、HTMLDocumentを作るのって意外に難しい。
doctypeを決め打ちしてしまうと本末転倒だから、やっぱ無理かも。
xhtmlならとても簡単なのに、この差は一体…
XULアプリ内で mozilla と firefox を区別する方法ってないですかね??
>>803
browser.jarのあるなしを見るとか、

function browserURI()
{
var handler = Components.classes['@mozilla.org/commandlinehandler/general-startup;1?type=browser'].getService(Components.interfaces.nsICmdLineHandler);
var uri = handler.chromeUrlForTask;
if (uri.charAt(uri.length-1) == '/')
uri = uri.replace(/chrome:\/\/([^\/]+)\/content\//, 'chrome://$1/content/$1.xul');
return uri;
}
でchrome://browser/content/browser.xulが帰ってくるかどうかを調べるとか。
piro氏のTBEはインスコ時に判定しとくって手を使ってるみたいね
インスコ時はbrowser.jarを見て、
インストール後の動作では>804の後者の方法を使ってます。
>>803
firefox 0.9以上なら新しいEM用なのか
about:configのapp:idにFirefoxのGUIDが書き込まれてます
インストール後なら、これを見て判断するというのはどうでしょう?
fileスキームのURIで示されたローカルファイルを削除する方法はありませんか?
たとえばfile:///C:/foo/bar.jpgだったり、file:///home/nanashi/bar.jpgだったり、
OSに依存しない方法があればいいのですが。
jslib使うとかそこからコードをぱくるとか
ってかただaFile.remove(true)でいいっぽい
ファイルのURIからnsIFileは作れないようです。
var aFile = Components.classes['@mozilla.org/file/local;1']
.createInstance(Components.interfaces.nsILocalFile);
aFile.initWithPath("file:///C:/foo/bar.jpg");

で、パスが認識できないと怒られます。
>>812
ああ、まさにそちらに書いてあるとおりのことでした!
ありがとうございました。
で、だれか
http://www.unixuser.jp/magazine/2004/200409.html
買ってないの?
仲村直人って意外な趣味持ってるんだな。
http://www.jbl.or.jp/allstar/200304/member/b09_nakamura.html
見事に同姓同名だな
保守
現在フォーカスしているブラウザタブのアイコン(いわゆるfavicon)のURLを得る方法を模索しています。
top.window.document.getElementById("page-proxy-favicon").src
でとりあえずそれらしいものは得られるのですが…
>>819
gBrowser.selectedTab.getAttribute('image')でどうでしょう。
空以外ならfaviconと判断できそうな。
821819:04/08/23 19:07
>>820
それでばっちりでした。どうもありがとうございました。
a.xulからopenDialog('b.xul')でダイアログを開き、そこでの入力結果をa.xulに返す
というかb.xulでの入力結果をa.xulで受け取る方法はありますでしょうか?

ただの文字列を入力させるだけなら、a.xulでvar input = prompt(...)で入力を受け取れますが、
今回はユーザに入力させたい項目が複数あるという状況であります。
>>822
b.xul から window.opener で a.xul にアクセスできるようだ。

使用例(JavaScript の詳細設定ダイアログ):
http://lxr.mozilla.org/mozilla/source/browser/components/prefwindow/content/pref-advancedscripts.xul#56
>>823
今試してできました。見事に簡単ですね!
>>822
openDialogは4番目以降の引数に任意のものを渡せます。
オブジェクトを渡せば処理結果を得ることもできます。

//a.xul
var obj = {};
window.openDialog('b.xul', '_blank', 'chrome,dialog,modal', obj);
alert(obj.result);

//b.xul
<dialog onaccept="window.arguments[0].result = document.getElemenntById('input').value; window.close()">
<textbox id="input"/>
</dialog>

モーダルダイアログにしないと処理結果を返す前にa.xulの処理が先に進んでしまうので注意。
//a.xul
var input = {};
window.openDialog('b.xul',...);

//b.xul
<dialog onaccept="window.opener.input.hoge = ...">

と書きましたが825さんの書き方もいいですね。
827デフォルトの名無しさん:04/09/01 19:56
初めまして。
「ブラウジングの際に次ページをポップアップ表示する」という機能を作成しようとしています。
そこで質問なのですが、createElementNS()で作成したウインドウ(例えばAltポップアップのようなもの)の中に
Webページを表示することは可能でしょうか?
Elementをポップアップするより、window.openしちゃったほうがいいのかなぁ・・・
http://patsis.edula.com/extxpi.html
このLink Previewという拡張が似てますが、これはOpen Thumbshotsのサムネイル画像を
表示させているみたいです。ごく一部のサイトしかサムネイルが表示されません。
XUL側でWebページのサムネイル画像を作れたらいいですけど、ちょっと無理そうですね。
>>827,828
<button tooltip="hogetip" label="hoge" />
<tooltip id="hogetip"><iframe src="about:mozilla" /></tooltip>
とやってやれば、別ページをポップアップ表示することは"一応"できるようだが、
サムネイルを作る方法 or ページ表示を縮小する方法を知らないので教えられない。
ttp://multiscroll.mozdev.org/
これの縮小表示機能が参考になるかも
831デフォルトの名無しさん:04/09/02 11:32
>>828, >>829, >>830
ありがとうございます! 参考にさせていただきます!

>>828の拡張は画像で表示するんですよね。
ポップアップしたページからまたポップアップ……と階層的に表示したいと考えているので確かにそれだと無理そうです。

>>830のようにページ表示を縮小する方向で作ってみることにします。
overlayで存続の要素を削除できますか?
>>832
存続の要素って?
既存の間違い?
>>834
そうです。
結局styleでdisplay:noneにして解決しました。
拡張でstyleを指定するのは、あまりよろしくない。
hiddenプロパティの方がいい。
xul.cssには

*[hidden="true"] { display: none; }

と書いてあるんだけどね。
>>837
そういう問題ではない。
>>836
何故でしょうか?
stylesheetをオーバーレイさせて、ほぼ一意性があるようにセレクタを設定しました。
そこを追加・削除できる拡張とバッティングするはずですが、hiddenプロパティーでも同じはずなので一番いいのはDOMで要素ごと削除だと思いますが、ちょっとめんどくさい…

#日本語って難しい
ほぼ一意性があると思ってるんならそれでいいんじゃない?
DOMで要素を削除するのはやめた方がいい。
0.9対応の拡張を1.0対応にさせるにあたって、変更すべきところは
install.rdfの対応バージョンのところだけでしょうか。
ローカルファイルの変更を監視してイベントを発せさせるようなことはできますか?
843デフォルトの名無しさん:04/09/10 18:18:23
>>802
いまのところ、URLからHTMLDocumentオブジェクトを作るのはできないのでしょうか?
browser要素などを隠してdocumentを得るのはダサいですよね。
HTMLDocumentからanchorエレメントを得て先読みするものを作りたいのですが
何かいい方法内でしょうか?
あと、DOMImplementationのcreateDocumentからHTMLDocumentが返ってくることって
あるんですかねぇ。
XMLDocumentだとできるようだが・・・。
844デフォルトの名無しさん:04/09/12 08:34:30
>>828-829
サムネイルを作るというかスクリーンキャプチャ撮影のインターフェースならあるようなのですが、
実装はされていないようですね。

http://xulplanet.com/references/xpcomref/ifaces/inIScreenCapturer.html
845デフォルトの名無しさん:04/09/14 13:43:31
>>795-802, >>843
nsIDocumentLoaderFactory というのを発見したので、試しに
Components.classes["@mozilla.org/content-viewer-factory/view;1?type=text/html"]
を呼んでみたが、実装されていないのか動かない。
846845:04/09/16 01:38:45
Components.classes["@mozilla.org/content/document-loader-factory;1"].createInstance(Components.interfaces.nsIDocumentLoaderFactory)
はきちんと返しているみたいだけれども、
nsIDocumentLoaderFactory::createBlankDocument(in nsILoadGroup, out retval nsISomething);
の引数である nsILoadGroup の扱い方がわからなかった。
847845:04/09/16 01:48:58
開きなおって、webShell から作ってしまうことにしたら HTMLDocument が得られるm模様。すなわち:

var webnavi = Components.classes["@mozilla.org/webshell;1"]
.createInstance(Components.interfaces.nsIWebNavigation);
webnavi.loadURI("about:blank", 0, null, null, null);
webnavi.document;

を JavaScript Console に投げ込むと、[object HTMLDocument] が手に入れられた。

>>353
こういうのをまとめる Wiki みたいのがあると便利だな...
848デフォルトの名無しさん:04/09/16 22:34:16
>>847
Firefoxまとめサイトにそういうページを作ればいいのでは?
wikiの乱立はやめてほしい
849デフォルトの名無しさん:04/09/19 12:26:13
あまり知られてないけど、mozilla.orgにもwikiあるんだよね。
http://wiki.mozilla.org/
850デフォルトの名無しさん:04/09/20 12:14:34
>>847
確かに返ってきますね。
でも、loadURIでuriを指定してもダウンロードはしている様だけど
中身が入ってないっぽい?
851デフォルトの名無しさん:04/09/20 13:37:13
timerかlistener使って読み込み待ちすればいいのでは?
852デフォルトの名無しさん:04/09/20 18:18:47
SOAPのネストができないorz
SOAP_PROPERTYBAG_REQUIRED: When encoding as a struct, an object with properties is required
とかいわれる
idlist=new Array();
idlist[0]=new SOAPParameter("text","id");
idlist[1]=new SOAPParameter("text2","id");;
params[0]=new SOAPParameter(idlist,"IDList");

どうすればいいでしょうか?
853852:04/09/20 19:01:14
ってかwsdl使えるのね
どっか解説サイトないかなぁ
854852:04/09/20 20:32:52
やっとできた

idlist={
id:"text"
id:"text2"
}
855デフォルトの名無しさん:04/09/20 22:22:45
ってだめだ
名前空間のの設定ができねぇorz
856デフォルトの名無しさん:04/09/25 02:44:57
Firefox1.0PR での話なのですが、
http://www.mozilla.gr.jp/~kazhik/xul/tutorial01.html
この通りに installed-chrome.txt を記述しても、
chrome.rdf に書き込まれず、xul が追加できません。
理由が解る人が居らっしゃたら、御教え願えないでしょうか?

……install.rdf を作って、xpiでインストールするしか無いのかなぁ。
857デフォルトの名無しさん:04/09/25 03:32:18
>>856
http://fls.moo.jp/wdiary/200406.php#d08
こっちを見た方がいいかも
858856:04/09/25 04:09:11
>>857
おおっ、ありがとう。
試してみます。
859デフォルトの名無しさん:04/09/30 00:08:22
Firefoxに自作の機能拡張入れてみたんだが
localeのja-JPのリソースが使用されないんですが何か設定いりますか?

自作のが駄目で、メジャーなのをいくつか入れてみたけど全部en-USのが使われました。
Firefox自体は通常インストールで何もいじっていません。
860デフォルトの名無しさん:04/09/30 01:06:09
Firefoxのバージョンは?JLP組み込み済みの日本語版をインストールしたなら、
http://firefox.geckodev.org/?FAQ#lang-jajp
861デフォルトの名無しさん:04/09/30 04:00:00
>>860
ありがとうございます。
ずばりそれでした。

↓も参照しました。
ttp://moz.skillup.jp/jlp/viewtopic.php?t=223

本体側の問題のようですね、1.0の時には直っていて欲しいものです。
862デフォルトの名無しさん:04/10/01 03:55:10
Javaから使えるXUL処理系を探していて、
http://luxor-xul.sourceforge.net/
というのを見つけたんだけど、使ったことのある人いる?

http://www.javadesktop.org/forums/thread.jspa?threadID=1324&tstart=0
なんて言われていたりもするんで、どうなのかなーと思ったんだけど。
863デフォルトの名無しさん:04/10/01 04:11:22
luxorのXULはMozillaのXULと違う所が結構あると聞いたことがある気がする
864デフォルトの名無しさん:04/10/05 21:08:37
http://www.neowin.net/articles.php?action=more&id=96
読んで、XULRunner やる気みたいだけど実際やってんのかなぁ、と思って LXR 見たら
http://lxr.mozilla.org/mozilla/source/xulrunner/
あったよ。2,3 ヶ月したらバイナリでてくるかな?
865デフォルトの名無しさん:04/10/06 18:59:36
>>863
結構ある、どころか全くの別物だよ。
とりあえず、このスレのXULとは何の関係もない。
866デフォルトの名無しさん:04/10/07 00:28:26
質問です。template の構築が終了したタイミングをとるはどうやったらいいのでしょうか。
template で listbox を構築した後で、任意の要素を選択したいのです。今、↓のようにtemplate のビルドを完了したイベントを入手して処理しているのですが、しばしばビルド完成前に didRebuild が呼ばれるようで、うまくいきません。
oListbox.addListener({
didRebuild : function(aBuilder){
oListBox.selectedIndex = 1;//例えば最初のアイテムを選択してみる
},
willRebuild : function(aBuilder){},
QueryInterface : function(aIID){
if(aIID.equals(Components.interfaces.nsIXULBuilderListener)
aIID.equals(Components.interfaces.nsISupports)) return this;
throw Components.results.NS_NOINTERFACE;
}
});
867866:04/10/07 00:30:41
訂正:oListbox.addListener(... じゃなくて oListbox.builder.addListener でした。
ttp://www.xulplanet.com/references/xpcomref/ifaces/nsIXULTemplateBuilder.html#method_addListener
868デフォルトの名無しさん:04/10/08 19:54:15
拡張の更新確認用のrdfの書き方についてお尋ねします。

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:em="http://www.mozilla.org/2004/em-rdf#">

<rdf:Description about="urn:mozilla:extension:{***GID***}">
<em:version>1.0</em:version>
<em:updateLink>http://***/***/***.xpi</em:updateLink>
</rdf:Description>

</rdf:RDF>

以上のような書式でrdfをアップしておきました。
これに対して、install.rdfに<em:version>0.9</em:version>とした拡張を
ツール > 拡張機能 > 確認 とやってみたところ、更新されたパッケージが見つかりませんでした
になってしまいました。

おそらくはrdfの書式が間違っているか足りないのかと思いますが、
最低限の正しい書式はどのようになるか、教えていただきたいです。
869デフォルトの名無しさん:04/10/08 21:45:58
>>868
1.0から仕様が変わりました。

是とか参考にすれば分かるはず
http://cdn.mozdev.org/updates.rdf
870868:04/10/08 22:44:32
>>869
できました。ありがとうございました。
どうやら更新確認のrdfにもキャッシュが効いてたせいで余計混乱してたみたいです。
871デフォルトの名無しさん:04/10/09 07:55:19
キーバインドでの質問なのです。
以下のものを *.xul で保存して Firefox(0.10.1) で読み込み、
Alt + 何か を押すと(k以外の何でも)反応してしまい、他のショートカットを上書きしてしまいます。
何が悪いのかさっぱり解らないのですが、ヒントだけも教えてもらえないでしょうか?


<?xml version="1.0"?>
<window id="keyconfigOverlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<keyset id="mainKeyset">
<key id="keychk" keycode="k" modifiers="alt" oncommand="alert('hoge');" />
</keyset>
</window>
872デフォルトの名無しさん:04/10/09 09:39:37
keycode じゃなくて key
modifiers の値は alt より accel のほうがいいかも。
873デフォルトの名無しさん:04/10/09 11:34:35
ここらあたりも読んでおくと吉かと
ttp://www.mozilla-japan.org/projects/ui/accessibility/mozkeyintro.html#modifiers
Mozilla キーボード・プラン FAQ とクロスリファレンス
874デフォルトの名無しさん:04/10/09 14:35:07
>>872-873
ありがとう。
思い通りになりました。m(_ _)m
しかし、accelは使用済みが多いし、ctrl+altも駄目となると、結構厳しいですね……
875デフォルトの名無しさん:04/10/09 18:14:24
俺は ctrl(accel)+shift をよく使う。空いてるし。
876デフォルトの名無しさん:04/10/09 18:34:47
>>866 まだ見てるかな?
listbox の中身を rdf ファイルから読み込んで template で作るとき
rdf の読み込みが非同期なので template 内の要素にアクセスできないことがある。

listbox の datasources をまず rdf:null にしておいて、
var RS = Components.classes["@mozilla.org/rdf/rdf-service;1"].
getService(Components.interfaces.nsIRDFService);
var DS = RS.GetDataSourceBlocking("chrome://[rdf の場所]");
var oListBox = document.getElementById("[listbox の ID");
oListBox.database.AddDataSource(DS);
oListBox.builder.rebuild();
oListBox.selectedIndex = 1;

rdf がローカルならこれでいいんじゃないかな。
rdf がリモートなら RS.GetDataSource , DS.addXMLSinkObserver 使う。
的外れだったらスマソ
877866:04/10/09 23:34:29
>>876
GetDataSourceBlocking ですか、ありがとうございます。ただ、これだけだと selectedIndex = 1; がうまく動きませんでした。
どうやらここでの非同期な動作は、「RDF 読み込み」と「template による要素の生成」のふたつのようで、>>876 は前者、>>866 は多分後者の処理の終了を受け取る方法だと思いました。
そこで >>876 の最後の行 oListBox.selectedIndex = 1; の手続きを >>866 の方法で行うことにしたら、正常に動作するようになりました。
878デフォルトの名無しさん:04/10/10 17:25:54
キャッシュのすべてのエントリを取り出す方法はありませんでしょうか?
nsICacheServiceにvisitEntriesなるメソッドがあったりしますが…。
879デフォルトの名無しさん:04/10/10 21:54:45
>>878
まさにそれですね。

var myCacheVisitor={
QueryInterface : function(aIID)
{
if (aIID.equals(Components.interfaces.nsICacheVisitor))
return this;
throw Components.results.NS_NOINTERFACE;
},
visitDevice : function(aDeviceID, aDeviceInfo){return true;},
visitEntry : function(aDeviceID, aEntryInfo){return true;}
};
こんな風に自分でオブジェクトを作って渡すと、cacheServiceが
myCacheVisitor.visitEntry(aDeviceID, aEntryInfo)を呼んでくれます。
falseを返すとそこで止まります。

ttp://developer-test.mozilla.org/xpcom/api/
こんなのがあったんですね。
公式版xulplanetか…
880878:04/10/10 23:00:08
>>879
すげえ、できました!感動です。
881デフォルトの名無しさん:04/10/16 10:41:10
XBL から外部の、例えば hoge.js を読み込む方法はありませんでしょうか?
882デフォルトの名無しさん:04/10/16 13:39:32
xul の名前空間指定しておいて
<xul:script src="..."/> とか >>242-246 の mozIJSSubScriptLoader 使うとか。
chrome:// 内じゃないと無理だけど。
883デフォルトの名無しさん:04/10/18 01:40:17
<xul:script src="..."/>はエグイな。
884881:04/10/19 18:35:24
>>242 を参考にすることで実現できました。 882 さんありがとうございました。

<constructor><![CDATA[
const scriptLoader = Components.classes["@mozilla.org/moz/jssubscript-loader;1"]
.getService(Components.interfaces.mozIJSSubScriptLoader);
scriptLoader.loadSubScript("chrome://somepackage/content/common.js", this); //this に対して読み込む
...
]]></constructor>
885デフォルトの名無しさん:04/10/24 12:33:05
Firefox用の拡張のロケールマニフェストに仕様変更があります。
http://www.saintpatrickdc.org/bsmedberg/register-locale.html
886デフォルトの名無しさん:04/10/24 12:35:14
onkeypress とかのイベントハンドラでキー入力を検知できますが、
Input Method を使った(Atok,IME,ことえり,XIMとかの)日本語入力を検知する方法はありませんか?
887デフォルトの名無しさん:04/10/24 13:22:01
>>886
C++とかでコードを書けば可能なのではないかと。
888デフォルトの名無しさん:04/10/24 14:13:54
nsIDOMCompositionListenerをがんばって実装するしかないな。
http://lxr.mozilla.org/aviarybranch/source/dom/public/coreEvents/nsIDOMCompositionListener.h#54
889886:04/10/24 14:59:40
nsIDOMCompositionListener::HandleEndComposition で処理できるように見えるけれども、
Components.interfaces.nsIDOMCompositionListener
が JavaScript で呼び出せないから、
Seamonkey の nsTypeAheadFind.cpp のように C++ でがんばるしかないようです。
http://lxr.mozilla.org/seamonkey/source/extensions/typeaheadfind/src/nsTypeAheadFind.cpp#127
890デフォルトの名無しさん:04/10/24 23:56:34
インターフェイスをヘッダで定義してるのは、ネスケ時代の古いコードだね。
891デフォルトの名無しさん:04/10/28 02:20:49
XULでファイルの圧縮はできますか?解凍はできそうなかんじですが。
892デフォルトの名無しさん:04/10/28 17:06:14
できない。解凍はできる。
893デフォルトの名無しさん:04/10/30 05:01:26
documentのHTMLソースを文字列として取得したいのですが、
document.getElementsByTagName("html")[0].innerHTMLの前後にHTMLタグをくっつける以外の方法はありますか?
894デフォルトの名無しさん:04/10/30 05:30:18
XMLならnew XMLSerializer()のserializeToString()という手もありますが、
できればHTMLのまま取得したいです。
895デフォルトの名無しさん:04/10/30 21:12:08
こんな方法もあったり。

var request = new XMLHttpRequest();
request.onload = function() { alert(request.responseText); };
request.open('GET', document.location.href);
request.send(null);

ただ、このためだけに通信を行わなくてはならないのが難ですね。
896デフォルトの名無しさん:04/11/01 22:28:59
>>895
その方法でできました。やはり通信が必要な分タイムラグが生じてしまいますが。

続けて質問させてください。
バイナリファイルをFTPでアップロードする方法を教えてください。
アスキーならBookmarksFTPを参考にして
var sis = Components.classes['@mozilla.org/io/string-input-stream;1'].createInstance(Components.interfaces.nsIStringInputStream);
this._channel = SBservice.IO.newChannelFromURI(uri).QueryInterface(Components.interfaces.nsIUploadChannel);
try {
sis.setData("HOGE", -1);
this._channel.setUploadStream(sis, "text/xml", -1);
this._channel.asyncOpen(this, null);
this._callback("send", status);

という方法で簡単にできたのですが…
897デフォルトの名無しさん:04/11/01 22:32:30
>>895
その方法でできました。やはり通信が必要な分タイムラグが生じてしまいますが。

続けて質問させてください。
バイナリファイルをFTPでアップロードする方法を教えてください。
アスキーならBookmarksFTPを参考にして
var sis = Components.classes['@mozilla.org/io/string-input-stream;1'].createInstance(Components.interfaces.nsIStringInputStream);
this._channel = IO_SERVICE.newChannelFromURI(uri).QueryInterface(Components.interfaces.nsIUploadChannel);
try {
sis.setData("HOGE", -1);
this._channel.setUploadStream(sis, "text/xml", -1);
this._channel.asyncOpen(this, null);
this._callback("send", status);

という方法で簡単にできたのですが…
898デフォルトの名無しさん:04/11/02 05:28:18
fireftp(だったっけ? firefoxにFTPの機能を加えるやつ)のソースを覗くとわかるかも。
899デフォルトの名無しさん:04/11/03 17:56:36
スクリプト上でどうやってバイナリを表現しているかにも拠りますが…

バイナリファイルのことだったら、そこのsisのかわりにnsIFileInputStreamを
もってきて、initすればそのまま使えます。

今日はnsIInputStreamの話ばっかりだな…
900デフォルトの名無しさん:04/11/05 06:58:32
>>898
ありがとうございます。FireFTPのソースを見てまいりましたが、根本的にやり方が違うようでした。
ソースが非常に長くて大変ですが、じっくりと読みこなそうと思います。

>>899
BookmarksFTPを参考に以下のように書き換えてみましたが、
アップロード先を見ると、0byteのファイルとなっています。
アスキーのときはきちんとアップロードされたのでパーミッションとかには問題ないと思いますが。
以下、コードの抜粋ですみません。

var fis = Components.classes['@mozilla.org/network/file-input-stream;1'].createInstance(Components.interfaces.nsIFileInputStream);
this._channel = IO_SERVICE.newChannelFromURI(aURI).QueryInterface(Components.interfaces.nsIUploadChannel);
try {
fis.init(aBinFile, 1, 0, false);
this._channel.setUploadStream(fStream, "", -1);
this._channel.asyncOpen(this, null);
this._callback("send", status);
return true;
} catch(e) {
}
901デフォルトの名無しさん:04/11/05 06:59:38
>>898
ありがとうございます。FireFTPのソースを見てまいりましたが、根本的にやり方が違うようでした。
ソースが非常に長くて大変ですが、じっくりと読みこなそうと思います。

>>899
BookmarksFTPを参考に以下のように書き換えてみましたが、
アップロード先を見ると、0byteのファイルとなっています。
アスキーのときはきちんとアップロードされたのでパーミッションとかには問題ないと思いますが。
以下、コードの抜粋ですみません。

var fis = Components.classes['@mozilla.org/network/file-input-stream;1'].createInstance(Components.interfaces.nsIFileInputStream);
this._channel = IO_SERVICE.newChannelFromURI(aURI).QueryInterface(Components.interfaces.nsIUploadChannel);
try {
fis.init(aBinFile, 1, 0, false);
this._channel.setUploadStream(fis, "", -1);
this._channel.asyncOpen(this, null);
this._callback("send", status);
return true;
} catch(e) {
}
902デフォルトの名無しさん:04/11/05 09:17:34
現在、Firefoxの拡張作成をちょこちょこ勉強しているのですが、
Tab,Windowの新規作成時のタイミングを得たいのですが、
試してみたaddEventListener("load",では"更新"にも反応してしまいます。
他に何か方法はありますでしょうか?
903デフォルトの名無しさん:04/11/05 15:07:29
>>902
window.addEventListener('load', listener, false)

最後のfalseがポイント
904デフォルトの名無しさん:04/11/06 05:15:11
>>903
遅くなりました、情報ありがとうございました。
とても簡単なことだったんですね……。

とりあえず、ここのLogに残ってるLinkを少しづつ読んでいって
もう少しましな知識をつけたいと思います。
905デフォルトの名無しさん:04/11/06 22:00:18
このスレが900まで伸びるとは…
906デフォルトの名無しさん:04/11/10 03:46:27
Firefox 1.0記念age
907デフォルトの名無しさん:04/11/13 03:03:09
flyson氏もplus7氏もやめちゃって、潰える予感
908デフォルトの名無しさん:04/11/13 19:02:18
>plus7氏もやめちゃって
誰が何をやめたんですか?
909デフォルトの名無しさん:04/11/14 05:55:20
FIreFoxの検索窓を記述するにはどうしたらいいですか?
910デフォルトの名無しさん:04/11/14 06:18:35
chrome://browser/content/browser.xulを見てみたらどうです?
911デフォルトの名無しさん:04/11/14 18:16:36
gecko を lisp でコントロールしたいです
912デフォルトの名無しさん:04/11/16 12:56:59
>>908
Geckoタブブラウザ Bagel 〜ベーグル〜
http://pc5.2ch.net/test/read.cgi/software/1093876991/
>>911
Geckoベースのブラウザを作ろう。
http://pc5.2ch.net/test/read.cgi/tech/1023546699/
913デフォルトの名無しさん:04/11/16 13:23:18
Firefoxの拡張って開発中はどこに置いとけばいいんですか?
XULチュートリアルにあるように /chrome の下に置いて
installed-chrome.txt 書き換えて再起動しても読み込まれてない
みたいなんですが…
chrome URL で直接呼び出すとちゃんと出てくるので
文法エラー等はないはずです。
914デフォルトの名無しさん:04/11/16 13:27:06
XULのキャッシュが効いている可能性大では?
about:configからnglayout.debug.disable_xul_cacheをtrueにしてみてください。
915デフォルトの名無しさん:04/11/16 13:40:06
>>914
だめでした。何でじゃー

>>856-857に類似の質問があったけど肝心のリンク先が消えてる…
916デフォルトの名無しさん:04/11/16 13:45:01
chrome.rdfは削除した?

そのページのキャッシュ:http://www.google.co.jp/search?q=cache:uvlvdJ1gfFQJ:fls.moo.jp/wdiary/200406.php+&hl=ja&lr=lang_ja
917デフォルトの名無しさん:04/11/16 13:46:00
あるいは再起動したつもりがプロセスが残ってたりとか。
918デフォルトの名無しさん:04/11/16 13:49:37
>>913
素直にinstall.rdfを書いたほうがいい。
jarにしなくてもインストールできるので。
http://kb.mozillazine.org/index.phtml?title=Dev_:_Tips_:_Disable_XUL_cache
919デフォルトの名無しさん:04/11/16 20:41:10
XULを自分のプログラムに組み込みたいんだが、指針みたいなものってあるかな。
920デフォルトの名無しさん:04/11/16 21:54:35
geckoを使わない限り、XULは面白くもなんともないと思う。
921デフォルトの名無しさん:04/11/16 22:07:14
XULプログラミング始めたいのですが
読みやすくてシンプルなExampleのおすすめは何ですか?
私のスキルはC,Python,PHP,です
922デフォルトの名無しさん:04/11/16 22:16:38
>>921
Sageとかコードが綺麗なのを参考にするといい。
GrepSidebarはお勧めしない。
923デフォルトの名無しさん:04/11/16 23:16:22
>>921
いきなりコード見るよりはとりあえずXULチュートリアルから学んでみてはいかがでしょう?
一部古くて使い物にならない部分もありますが。
http://xul-app.hp.infoseek.co.jp/xultu-janit/

あと、Tourisugari氏のコードもきれいです。
924921:04/11/16 23:19:55
>>922ー923
ありがとうございます
さっそく始めてみます
925921:04/11/16 23:28:51
元のチュートリアルが結構up-to-dateだったので
こちらを読んでみます。
http://xulplanet.com/tutorials/whyxul.html
926921:04/11/16 23:29:17
すいません
こっちでした
http://www.xulplanet.com/tutorials/xultu/
927デフォルトの名無しさん:04/11/16 23:41:02
ああ、そうそう、英語でいいならぜひそちらを。
928913:04/11/17 09:17:00
>>916
一回削除したはずだったのですが
もう一度削除してやり直したらうまくいきました。
ありがとうございます。
929デフォルトの名無しさん:04/11/17 09:31:27
Firefoxの拡張のお作法についてcurrent practiceをまとめたページはないですか?
*.xulとか*.jsは書けたのですが、それをxpiにするにはどういうファイルを
用意するかとか、xpi/jar内部のディレクトリ構成とかについて
ちゃんと書いてあるページが知りたいです。
一応、自分が使ってる拡張のソースを参考に見様見真似でinstall.rdfや
install.jsを書いたのですが。
あと拡張の更新情報のためにwebに載せるRDFファイル(update.rdf?)の書き方も。
930デフォルトの名無しさん:04/11/17 11:48:19
>>929
http://www.bengoodger.com/software/mb/extensions/packaging/extensions.html
かなぁ。
もっとちゃんとしたドキュメントがあるかもしれない。
931デフォルトの名無しさん:04/11/17 11:50:21
932929:04/11/17 14:24:18
>>930,931
おお、まさにこれです。ありがとうございます。

サイトマップからも探したのですが見付けられませんでした。
mozilla.orgのweb構造は多分に謎です……
933デフォルトの名無しさん:04/11/17 20:01:31
>>932
> mozilla.orgのweb構造は多分に謎です……
禿同
934デフォルトの名無しさん:04/11/18 04:46:12
>>929
ttp://www.mozilla.orgを
ttp://www.mozilla-japan.orgに変えると和訳ページに

ちなみに自分もただいま勉強中です。
やっとこさ、Firefox 0.8系の拡張を1.0でInstall/Uninstallができる様になった
ところで、最近、少しづつ中身を書いております。
自分のやりたいことをGoogleで調べながら書いてますが
だいたい、上記の和訳かXULPlanetかPiro氏のページに飛びますね。
ここ共々お世話になっております。
935デフォルトの名無しさん:04/11/18 11:02:09
Mozillaの履歴の情報をIEのWinInetのように
外部から操作することはできますか?
XULアプリからでもかまいません
936デフォルトの名無しさん:04/11/18 12:33:24
937デフォルトの名無しさん:04/11/19 02:07:09
>>935
具体的には
var history = Components.classes["@mozilla.org/browser/global-history;2"].
getService(Components.interfaces.nsIGlobalHistory);
history.removeAllPages(); //← >>936 の nsIGlobalHistory.html参照
のように使う。rdf:history というRDFデータベースとしても利用できたはず。
938デフォルトの名無しさん:04/11/20 17:00:05
http://mozdev.org/bugs/show_bug.cgi?id=6514
RSSフィードのLink要素などの中に&amp;や&#039;が含まれていても
デコードすべきところでしてくれないてバグだが、拡張機能Sageだけじゃなく
Firefox1.0のライブブックマークにも同じ症状があるぽいよな…
仮に変換だけ実装しても脆弱性起こしそうだし、これはどう直すべきなんだろう。
自分はXULも何もさっぱりなので手も足も出ないがorz
939デフォルトの名無しさん:04/11/20 18:32:20
>>938
本当にそんなバグがあるんだったら、
とりあえず、bugzilla.mozilla.orgの方を探してみた方がいいと思うよ。
940938:04/11/21 01:02:20
>>939
そういやそうだったな。
とりあえずライブブックマークの方に該当すると思われるバグはこれ。
https://bugzilla.mozilla.org/show_bug.cgi?id=252147
941デフォルトの名無しさん:04/11/21 02:55:34
>>940
そのバグで報告されているリンク先は
&amp;となっているので、まともなxmlじゃないと思う。
942デフォルトの名無しさん:04/11/21 02:57:12
あ、やられた…
&amp;amp;ね。
943デフォルトの名無しさん:04/11/22 14:56:54
944デフォルトの名無しさん:04/11/24 21:40:10
二つのRDFをメモリー上で一緒にするスマートな方法ってありませんか?
945デフォルトの名無しさん:04/11/24 22:40:56
一緒にするとは?
946デフォルトの名無しさん:04/11/24 23:01:10
合成ってことです。
nsIRDFCompositeDataSourceはnsIRDFDataSourceから作れないようなので
947デフォルトの名無しさん:04/11/24 23:18:19
var myCDS = Components.classes['@mozilla.org/rdf/datasource;1?name=composite-datasource'].createInstance(Components.interfaces.nsIRDFCompositeDataSource);
myCDS.AddDataSource(myDS1);
myCDS.AddDataSource(myDS2);
ではダメですか?
948デフォルトの名無しさん:04/11/25 16:39:45
どちらかと言うと片方のRDFに別のRDFを合成して、OKを押したら合成後のRDFをflushさせて書き出したいんですよね。
まぁrdfのテンポラリファイルを作るか、すべてのリソースを移動すればいいんですけどね
949デフォルトの名無しさん:04/11/25 17:59:38
RDFとして扱わずに単純なXMLとして操作してはどうだろう
950デフォルトの名無しさん:04/11/25 18:00:49
うほっ良スレ!
951デフォルトの名無しさん:04/11/25 18:43:31
http://xulplanet.com/downloads/rdfds/rdfds.js
の copyAllToDataSource とかかな。
952デフォルトの名無しさん:04/11/25 20:12:21
>>949
それは昔やってました。
thunderbirdでdocument.evaluateが使えなくRDF化している最中でつまずきました

>>951
それを使えばできそうですね。
ありがとうございます
#というかこんな物があったなんてorz
#独自でラッピング(?)してました。
953デフォルトの名無しさん:04/11/25 21:16:34
バリバリにグローバルつかってるのは、
overlayした時に不便だから、結局自分で手書きした方が楽なんだよねぇ。
954デフォルトの名無しさん:04/11/26 20:51:28
もう一個質問いいですか?
Seqが削除できません。
Unassertで関連を切っても残ってしまいます。
何か方法ありませんか?
#それともこっちのミスかなぁ
955デフォルトの名無しさん:04/11/26 21:43:30
>>954
var ds = RDFContainer.DataSource;
var node = RDFContainer.Resource;

var keys = ds.ArcLabelsOut(node),
key,
value;
while (keys.hasMoreElements())
{
try {
key = keys.getNext().QueryInterface(Components.interfaces.nsIRDFResource);
value = ds.GetTarget(node, key, true);
ds.Unassert(node, key, value);
}
catch(e) {
}
}
みたいにすれば消えるはず
956デフォルトの名無しさん:04/11/26 22:00:40
それしてるんですよね。
Seqの中身をすべて削除してunassertしても空のどことも関連がないSeqが残ってしまいます。
#やっぱコードのミスかなぁ
957デフォルトの名無しさん:04/11/27 00:12:33
>>956
スクリプトのどこかにミスがあって二重にassertしてるのでは?
>>955
value = ds.GetTarget(node, key, true);
の代わりに、GetTargetsで全てのノードを取り出してunassertすれば
より確実だと思うけど、野暮ったいから自分のスクリプトではやってない。
958デフォルトの名無しさん:04/11/27 11:10:21
assertはしてないです。
元からあるRDFを関数再起呼び出しでunassertするだけなんですが…
GetTargetsでも一つしか帰ってこない気がします。
もしかして削除の順番とかが関係するんでしょうか?
959デフォルトの名無しさん:04/11/27 15:34:04
>>955 とか idl 見て今気づいたんだけど、Unassert って引数 3 個だったんだ。

http://piro.sakura.ne.jp/xul/tips/x0025.html
を見てRDFの操作方法を憶えたから、Unassert(aResource,aProperty,aTarget,true);と使ってしまっている。
960デフォルトの名無しさん:04/11/27 17:40:04
>>959
え…
本当ですね。
でも最後のboolがないだけなので最後をtrueとしても問題はないですね。
961デフォルトの名無しさん:04/11/27 18:28:33
>>959
コピペして書いたので間違えてましたorz
962デフォルトの名無しさん:04/11/29 12:38:04
Firefoxのブックマークサイドバーにツールチップを表示する拡張を
作ろうとしているのですが、デフォルトで表示される表示領域より
ツールチップのラベルが長いときのツールチップを消せません。
デフォルトのツールチップはどこで表示されているのでしょうか?
963デフォルトの名無しさん:04/11/29 12:38:38
訂正
×ツールチップのラベルが→○ブックマークのラベルが
964デフォルトの名無しさん:04/11/29 15:47:08
https://bugzilla.mozilla.org/show_bug.cgi?id=32157
消すのはちょいと難しそう
965デフォルトの名無しさん:04/11/29 17:04:35
む、ネイティブ側にあるのか
しかもそのコードが悪さをしてるのかtreecellにtooltip設定しても
まともに動作しない…
966955:04/11/30 17:59:31
>>960
問題ないの? じゃあ直さないでいいや。

967966:04/11/30 18:01:32
955じゃなくて>>959だった。
968デフォルトの名無しさん:04/11/30 18:16:55
XULWiki 発見!
http://wiki.fdiary.net/xul/
969デフォルトの名無しさん:04/12/01 00:26:59
GJ
970デフォルトの名無しさん:04/12/03 00:38:10
Thunderbirdの返信ヘッダカスタマイズ拡張を作ろうと思ったんだけど、
このコードでThunderbirdが即死する。
XULのプログラムは初めてなんですが、どこが間違ってるんでしょうか…

var quoteListener = {
onStartRequest: function(request , context) {
},

onStopRequest: function(request, context , statusCode) {
},

onDataAvailable: function(request, context, inputStream, offset, count) {
},

QueryInterface: function(iid) {
if (iid.equals(Components.interfaces.nsISupports) ||
iid.equals(Components.interfaces.nsIRequestObserver) ||
iid.equals(Components.interfaces.nsIStreamListener))
return this;

throw Components.results.NS_NOINTERFACE;
}
};

var msgQuote = Components.classes['@mozilla.org/messengercompose/quoting;1'].createInstance().QueryInterface(Components.interfaces.nsIMsgQuote);

if (msgQuote)
msgQuote.QuoteMessage(params.originalMsgURI, false, quoteListener, null, false);
971デフォルトの名無しさん:04/12/03 17:24:09
.createInstance().QueryInterface(Components.interfaces.nsIMsgQuote);
->
.createInstance(Components.interfaces.nsIMsgQuote);
972デフォルトの名無しさん:04/12/03 17:26:20
つーか、どこで死ぬのかわからないってことは、
これからも手探りでやるつもり?
自分には無理だ…
973デフォルトの名無しさん:04/12/03 19:12:01
>>971
ありがとう。でも結果同じでやっぱり死んじゃう。・゚・(ノ∀`)・゚・。

QuoteMessage()の呼出し後に、onStartRequest()は実行されてるけど、
onDataAvailable()が実行されずにアプリケーションエラーで死亡(´・ω・`)

XULでプログラムしてる人って、xulplanet.comとMozillaのソースコード
だけで何とかなってるの?
974デフォルトの名無しさん:04/12/03 22:59:02
>>973
あ、それは自分も経験がある。
引数のinputStreamをうそでも触っておいた方がいいみたい。

>xulplanet.comとMozillaのソースコードだけ
まあ、ない袖は振れないってやつですね。
975デフォルトの名無しさん:04/12/03 23:00:19
Firefoxの拡張作る際の手順だけ誰か教えて下さい('A`)
976デフォルトの名無しさん:04/12/03 23:06:43
>>974
>引数のinputStreamをうそでも触っておいた方がいいみたい。

ぜひ、詳しく(`・ω・´)
977デフォルトの名無しさん:04/12/04 00:22:49
>>975
http://www.mozilla.gr.jp/~kazhik/xul/tutorial.html
とか見てみたらどうでしょう。5のインストーラのとこはもはや古くてダメですが。
978デフォルトの名無しさん:04/12/04 02:47:40
>>977
ありがとうございます。
そのページはすでに、すべて読みました。
私がやりたいのはFirefoxにメニュー項目を追加したりする、Firefoxの拡張を作る際の手順です。すんません('A`)

979デフォルトの名無しさん:04/12/04 02:52:36
そういった親切なリファレンスはないので、
似たようなことをやってる拡張を探して中身を見るのがてっとりばやいのでは?
980デフォルトの名無しさん:04/12/04 02:55:03
やっぱりそうですよね。どうもありがとうございました('A...
981デフォルトの名無しさん:04/12/04 02:56:45
>>980
あなたが親切なリファレンスを書くとみんなが幸せになれる
982デフォルトの名無しさん:04/12/04 02:58:12
>>981
今私もいつかそういう手順を説明した文章を書こうかなと思ってたところです。('...
983975:04/12/04 03:49:31
ここがなかなか参考になりそうな予感がします。
http://www.mozilla-japan.org/docs/tutorials/tinderstatus/
984デフォルトの名無しさん:04/12/04 04:40:36
RDFの個々の要素についての資料が全然見つからないんですが、
どこかにありますか?
985デフォルトの名無しさん:04/12/04 04:56:43
個々の要素とは?
986デフォルトの名無しさん:04/12/04 05:07:28
たとえば、他の人が書いたコードを読んでいて、

document.getElementById("messagepane").contentDocument;
document.getElementById("statusbar-icon");

とかあった場合に、messagepaneやstatusbar-iconが何なのか、
ググっても全然見つかりません。
987デフォルトの名無しさん:04/12/04 05:25:44
RDFではなくXULではないでしょうか。
XULを見てそのidを探してみてください。
988デフォルトの名無しさん:04/12/04 05:37:08
ありがとうございます。XULの中にありました。
           ___
         | 安 |
         | 倍 |    チーン…
         | ぬ |
         | す |         
         | み |
      ,,,.   | 之 |  ,'"';,
    、''゙゙;、).  | 墓 | 、''゙゙;、),、
     ゙''!リ'' i二二二二!゙''l!リ'''゙
     ‖  `i二二二!´ ‖
     昌 |: ̄ ̄ ̄ ̄:| 昌
    | ̄:|_|;;;l"二二゙゙l;;|_| ̄:|
    |  :|::::::| |;;;;;;;;;;| |::::|  :|
    |  :|::::::|┌─┐|::::|  :|
 ./゙゙└‐┴ ┴l,,,,,,,,,,l┴┴‐┘゙゙゙゙\

990デフォルトの名無しさん:04/12/04 14:20:36
某拡張のセキュリティホール見ておもったんですが
システムアクセスの権限を放棄するようなことはできないのでしょうか。
>>659にそれっぽいことが書いてるんですが肝心のプロパティやメソッドは
スクリプトからアクセスできないものばかり…
991デフォルトの名無しさん:04/12/04 14:25:27
XULといえば

アフリカの、ジンバブエを首都に持つかつての勇猛な民族ズールー族を思い出す。
現在では国名もジンバブエ?



992デフォルトの名無しさん:04/12/04 17:24:29
XULってエックスユーエルって読むんじゃねーのかよ!ヽ(`Д´)ノ
993デフォルトの名無しさん
XULの読みはズールじゃなくて、クスールだろ?
でも、Xylitolはキシリトールじゃなくて、ザイリトールだ。