トップページ⇒tech
1001コメント388KB

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

レス数が1000を超えています。これ以上書き込みはできません。
0001MozillerNGNG
ム板住人のうちMozilla使ってる人は何%くらいかわかりませんが、
Mozilla 1.0 RC1がリリースされ、
XUL 1.0の仕様が一応フリーズしました。
なので、そろそろXULアプリケーションも出始めることでしょうし(希望的観測)
MozillaでのXULプログラミングについて騙りませんか。

Mozillaスレッド M10
http://pc.2ch.net/test/read.cgi/software/1019550671/
0002デフォルトの名無しさんNGNG
うちのMozillaもよくフリーズします。
0003デフォルトの名無しさんNGNG
ずーるって何ができるの?
UIを構成するための言語だっけ?
その段階が不明なんだけど(藁
00041NGNG
>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から行います。
00051NGNG
手持ちのコードからコピペしていじったら
アプリ名とか残ってた。。。鬱。
ちなみに、Google Web APIをSOAPで呼び出すサンプルみたいなの作ろうとしてて
その関係で。
00061NGNG
XULチュートリアル
ttp://www.xulplanet.com/tutorials/xultu/

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

XULチュートリアル(和訳)
ttp://www.janit.com/xml/XUL/
0007デフォルトの名無しさんNGNG
>>1
糞スレ立てんなヴォケ!!
0008デフォルトの名無しさんNGNG
>7

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Cuam はどうだったかな・・・忘れました(汗)
IE 5 以上だと不具合が出るまま放置だったんで使うの止めちゃったんで・・・
0046デフォルトの名無しさんNGNG
>>45
<broadcast>だったかな、それが確かそういうのに使われてた記憶が。
Mozillaスレの方みたけど、なかなか厄介そう。。。
俺も見てみる。
0047デフォルトの名無しさんNGNG
続きはこっちで、了解>>23さん
向こうのスレでは嘘くさいこと書いてた(汗
0048デフォルトの名無しさんNGNG
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を先に入れる必要はあるかも。
0049デフォルトの名無しさんNGNG
diffとかとればよかったかも。。。
いまdiff入ってないから変更した部分コピペしたけど(汗
分かりづらくてスマソ。
要するにremoveEventListenerを使わずに
フラグ使って一度だけ実行するようにしてみただけ。
removeEventListenerがなぜダメかはよくわからない。。。
005023NGNG
>>48
サンクスコ。たしかにそれだと prefbar を先にインストールしてれば大丈夫みたいっ
すね。でも完璧を期すとなると、やっぱ prefbar に手を加えなきゃダメなんす
かねぇ・・・

一応修正版ウプしておきました。
005123NGNG
ちなみにもう落ちます。どーも。
005223NGNG
ちなみにもう落ちます。おやすみなさいませ。
005323NGNG
げ、二重カキコスマソ。
0054某スレ40NGNG
某スレから引っ越してきました。
これで、4〜5人にはなったと思われ。
0055デフォルトの名無しさんNGNG
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/
0056某スレ40=55NGNG
ソースコード解析などに参考になりそな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/
0057デフォルトの名無しさんNGNG
もひとつ忘れてた。
XULMaker:XULによるXULアプリ開発環境(現在再構築中)
http://xulmaker.mozdev.org/

ちなみに、>>55 のKomodoは、Perl, PHP, Python, Tcl, XSLT のための開発環境。
0058デフォルトの名無しさんNGNG
XPCOMは分けたほうがいいですか?
0059デフォルトの名無しさんNGNG
xulやjsでetagsが使えれば・・・
0060 ◆S0qIRC9I NGNG
addPrefListenerとかの関数が使えるはずです>proxy変更時の別ウィンドウへの反映
navigator.xulとnavigator.jsの頭のほうに出てきます。
0061デフォルトの名無しさんNGNG
ごめんなさい。ageちゃいました……
0062デフォルトの名無しさんNGNG
>>60
どもです。
時々ならageちゃっても大丈夫(藁
0063デフォルトの名無しさんNGNG
Moz2ch作ってたころは
addEventListener("load", onLoad, true);
とかやるのと
<window ... onload="return onLoad();">
とかやるのとの違いが分かってなかったけど
proxybarとprefbarの関係みてて、addEventListenerないと困るのがようやくわかった(藁
ちょっとMozillaのソース漁ってきます。
006423NGNG
>>60
情報どーもです。その内調べてみます。今週はチト仕事が忙しく・・・
週末にはなんとか・・・
006523NGNG
とか言いつつ、 preflistener 使い方分かりました!
確かにコレ使えばなんとかなりそうですね!
prefbar もコレ使えば改良出来ますね。
しちゃおうかな・・・
0066デフォルトの名無しさんNGNG
>>65
おおっ、期待してます。頑張ってください〜
006723NGNG
>>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 を返せば上には伝わらないみたいに書いてあるみたいなんですが・・・
0068デフォルトの名無しさんNGNG
>>67
event.preventBubble()で強引に封じるのが一番確実かと。
0069デフォルトの名無しさんNGNG
ブラウザだけソースをダウンロードして改造してコンパイルしたいのですが、
何がなんだかさっぱりわかりません。
0070デフォルトの名無しさんNGNG
>>69
ちょっとズレますが、この前のイベントでASA氏が言っていた、
ブラウザだけに絞ったMOZILLA。話では普通のMOZILLAより格段に速いらしい。
これをコンパイルしてバイナリ上げたら、神として崇められることでしょう。
多分、そのままmakeすれば良いと思うんだが。
名づけて「ブラウザー」。
http://lxr.mozilla.org/mozilla/source/browser/
http://www.deftone.com/blogzilla/misc/mb/

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

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

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

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

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

ここで紹介されてた。漏れは落としてないからわからないけど。。。
ttp://www.deftone.com/blogzilla/archives/mozillabrowser_download.html
00761NGNG
>>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じゃないと
ブラウザ部分だけのソースは落とせないと思われ。
そして、結構色々落とさないといけないから、ダイアルアップだと割と辛い。
007723NGNG
>>1
うーむ、やっぱ普通の人はステータスバーって重要なんですかねぇ。
僕にとってはアソコが一番無駄なスペースなんですよねぇ。
やっぱツールバーにした方が受けるんかな。
まぁ「私的ゴミ置き場」なんで、僕的にオッケーなら良しとゆー事で・・・

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


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

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

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

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

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

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

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

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

#しかし、linuxとwindowsで挙動が違うのは分かり難いなーーー
0098デフォルトの名無しさんNGNG
>>96

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

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

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

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

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

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

で、問題点をいくつか。

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

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

011123NGNG
ちなみに

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

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

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

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

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

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


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

ただ、基本的に

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

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

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

>>121
ジサクジエンハケーン(藁
0123厨房もじらーNGNG
>>122
(・∀・)ジサクジエンデシタ
って、ばれてるのね(藁

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

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

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

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


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

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

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

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

CVS は・・・Mac と Win 使ってらっしゃるんでしたよね、確か。
ttp://www.cvsgui.org/
ここに WinCVS と MacCVS なんちゅーのがありますよ。
# 使った事無いけど(藁
0157厨房もじらーNGNG
とりあえず送信した。問題が無ければそのうちメールが届くはず。。。
プロジェクトが承認されたらここで連絡します。
0158厨房もじらーNGNG
ところで、今更なんだけど騙り防止のため
トリップ作ってきます。。。
トリップ用のソフト、どこにあったっけな。
0159超ぉ〜AnneNGNG
>>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);
}
0160厨房もじらーNGNG
>>159
おおっと、わざわざありがたいですが
もう拾ってきて計算中です(藁
一晩中で見つかるといいな。。。
0161厨房もじらーNGNG
やったー。プロジェクトできたよー。
http://sourceforge.jp/projects/moz2ch/
でも使い方把握してないので、そこは勘弁。。。
0162厨房もじらー ◆3mOz2Ch. NGNG
トリップこれにしよかなぁ。。。
今も検索中だけどなかなかいいのが見つからない。。。
0163厨房もじらー ◆3mOz2Ch. NGNG
ゴタゴタしてて、色々調整できてないですが
ようやくsf.jpのほうにページウプできました。
http://moz2ch.sourceforge.jp/
ページデザインやりなおすかも。。。(そんなことより公開すれ>漏れ
0164厨房もじらー ◆3mOz2Ch. NGNG
まだ開発者向けのみなので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/

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

0221デフォルトの名無しさんNGNG
XUL 初心者ですが、練習をかねて作成してみました。
カスタムメニューバー
http://member.nifty.ne.jp/georgei/mozilla/custom_manubar.html

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

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

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

アイコン入れるのは考えたのですが(そのためのツールチップ)、
テーマとの整合性を考えて保留にしてます。
0228221NGNG
印刷プレビューの件ですが;
ブックマーク系もパーソナルツールバーやサイドバーに表示できるのに、
付けて欲しい、という人がいたので追加した、という経緯があり、
とりあえず入れてあります。
デフォルトから外しているのはそのためです。
0229厨房もじらー ◆3mOz2Ch. NGNG
>>227
最新版はまだ試してないのですが、
漏れがいろんなXULアプリを見てきた中で<toolbarseparator/>は
<toolbar tbalign="stretch">
<toolbarseparator label="LABEL"/>
</toolbar>
のように使われてたので、そうすると意図した表示になると思われます。
0230221NGNG
>>229
最初は <toolbarseparator/> だけでやってみたのですが、
なぜか空白だけで区切り線が表示されない。
(<menuseparator/> では表示されるのに)
悩んだあげく <label value="|"/> で強引に表示させていました。
同等の表現は、お教えいただいた、
<toolbarseparator label="|"/> でできるかと思いますが、
これまた、他の人に教えていただいた、
<toolbarseparator minheight="16px"/> の方が他の UI と同じ
区切り線がでるので、これで行こうと思います。
0231 ◆3mOz2Ch. NGNG
>>230
>>229 は間違ってました。
重要なのは、<toolbar tbalign="stretch">の部分で、
<toolbarseparator/>
にはlabelは要りませんでした。
Mozilla Messenger(メーラ)のコードはこういう風にしてあったので。

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

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

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

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

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

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

全然フツーだな、スマソ逝ってくる。。。
0242 ◆sX5Fl3bU NGNG
>>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
こんなもん用意されてたとはっ(当然?)
0243 ◆S0qIRC9I NGNG
>>242
おぉ、そんな機能があったとは。
CustomScriptにも取り込もう……
0244厨房もじらーNGNG
ファイル読み込みができるんだから(XPCOM使って)
読み込んだファイルの内容を
eval()してやっても同じことができる?とか妄想した漏れはアレゲですか?
0245 ◆S0qIRC9I NGNG
>>244
げふ。もう短縮構文作っちゃいました。後の祭り。
0246厨房もじらーNGNG
>>245
いや、>>244はネタですた(藁
普通に>>242のほうが早いと思うし、
逝ってみただけです。。。
0247 ◆q78mh/0k NGNG
Deskmod.com に、XUL アプリを置けるカテゴリが作られてるので、
ご報告。カテゴリ名は変わるかもです。(今は mozilla plugin)
http://www.deskmod.com/?show=showcat&cat_name=mozplug

# 暑い・・・。
0248厨房もじらーNGNG
>>247
情報マリガトー
Piro氏のFloating Sidebarが入ってるNe!
mozdev.orgはなんかパンク状態みたいだし
もっとリソースがいろんなところに分散されるといいんだけどね
そういう意味では
DeskModはテーマだけ配ってりゃいいって思ったの漏れだけ?
0249 ◆sX5Fl3bU NGNG
>>248
descmod の Floating Sidebar は Piro さんのとは別物よん。

Chatzilla の components/chatzilla-service.js みたいな
コマンドラインに -sidebar オプションつけたり
Mozilla 起動時の初期化とかしてるみたいなんだけどわけわかめ。
使いこなせれば Moz2ch にも利用できるんだろなーと思うんだが…
0250 ◆q78mh/0k NGNG
ツールバーに Home ボタンを追加するアドオン。
ここの方々はアンインストール方法分かると思うけど、
一応、そのページにも書いています。
(overlay 、chrome.rdf 削除と、installed-chrome 編集)
http://home.no.net/trihand/mozilla/home/en/

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

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

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

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

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

Mozilla 1.0.1では新タブボタンがタブバーに付くようなので
Navigator タブはいらなくなるかな。
で、やっぱりアイコンがホスィ。。。
XULアプリはテーマとの兼ね合いが難しいと思った今日この頃。。。
0254デフォルトの名無しさんNGNG
>>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 のコンテクストメニューからがベストかな。フルスクリーンはたまに使うほうなので、良いです。リストアするときも同じボタンでできるのですね。

ワンクリックアクセスで制御できる部分に絞ると他と棲み分けできて良いかも、とか、ツールバーではなくて、フロートにしてしまったほうが面白いかも、と勝手なことを考えました。
0255 ◆q78mh/0k NGNG
>>253
テーマとの兼ね合いが難しいところってどういう点でしょう?
自前で用意することもできますよね?
0256 ◆q78mh/0k NGNG
>>254 への追記(was >> 252 )
[Print Preview] にワンクリックで行けるのも結構便利です。
0257 ◆q78mh/0k NGNG
>> 254 へのさらに追記
思ったのですが、[back][forward][reload][stop] も組み込んで、
[open URL] も一応組み込むと、テキストオンリー的な使い方も出来て良いかも知れないです(メインのツールバーが無くても、ナビゲーション出来るようにしてしまう形)。
連続書き込み失礼。
0258 ◆q78mh/0k NGNG
> Show/Hide の縦表示が長いので、これは Scroll ボタンを付けたほうが良いかな、
と思いました(XGA だと全部見えない)。

すいません、Moz を再起動したらちゃんと出てきました。
自前で適当に弄ったもので少し実験していたからかも知れないです。
0259252NGNG
>>253
ども。
ツールチップの大項目は、
単品ではわかりにくそうなメニュー項目だけに付けてます。
「Navigator タブ」は、次期バージョンでデフォルトから外します。

アイコンが課題ですね。少し遊んでみます。
0260252NGNG
>>254-258
好意的な評価とコメント、ありがとうございます。

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

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

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

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

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

あとは、別ウィンドウ時はノッチを隠すとか、そんな感じでどうでしょう。
0262260NGNG
>>261
コメントありがとうございます。

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

厨な質問で恐縮ですが、

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

> 別ウィンドウ時はノッチを隠す
「ノッチ」って何でしょう? タイトルバー?
0263 ◆S0qIRC9I NGNG
>>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ではないかと。

あと、ノッチじゃなくて、グリッピーでした。ツールバー左端にあるアレです。
0264 ◆S0qIRC9I NGNG
当該部分の記述を分離しました。
http://www.cc-net.or.jp/~piro/xul/tips/x0019.html
0265超ぉ〜AnneNGNG
うぇー、なんか皆たのしそうぢゃぁー。
ワシ忙しくてなんもできん・・・

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

#次ここを見られるのは何日後だろう・・・
0266 ◆sX5Fl3bU NGNG
>>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
見てくれ。

こんなんでどぉ?
0267デフォルトの名無しさんNGNG
"Creating Applications with Mozilla"買う人いる?
0268厨房もじらー ◆Moz2cH0k NGNG
内容を見てみないことには。。。
漏れが知ってることしか書いてなければ必要ないし(藁
書籍というのは、得てして「最新」でありにくい、というのもあるしね。。。
XULプログラミングは動きが激しいから。
0269デフォルトの名無しさんNGNG
Utility Panelsはもう開発されないのですか?
0270厨房もじらー ◆Moz2cH0k NGNG
>>269
作者さんが今忙しいみたいなんで(>>265参照(藁
今は動きがないですが
時間ができたらまた弄るんじゃないですかね
漏れにはわからないけど。。。
0271デフォルトの名無しさんNGNG
下がりすりぎ
一度上げておきましょう
0272デフォルトの名無しさんNGNG
age
0273今日 XUL の存在を知った奴NGNG
Hello World を打ち込んで動かす事は出来たのだが、Mozilla 1.1 で
再起動せずに制作中の XUL を更新する方法が分からない。「chrome の
キャッシュを無効にしろ」という記述があったが設定が見つからない。
良い方法を教えて下さい(毎回再起動じゃ実験にならん)

あと、XUL を使って、どのページ閲覧中でも強制的に最上位に描画を
するような物は作れるんでしょうか。具体的に言えば「ブラウザ内に
常駐デスクトップアクセサリ(マウスカーソルを追いかけるやつとか)
を作ることが出来るのか?」ということなのだが
0274 ◆S0qIRC9I NGNG
>>273
Preferences > Debug > Events
Mozilla1.1などのマイルストーンビルドでは項目が隠されているので要注意。
prefs.jsを直接いじるなら、 "nglayout.debug.disable_xul_cache" を有効にして下さい。

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

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

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

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

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

>ウィンドウ内で動作させるだけで良ければ
それは作ってあるので、これが Mozilla に常駐出来たら面白いかなと
思ったんですけどね
0276デフォルトの名無しさんNGNG
prefs.jsがファイル自体存在しない、ってどういうこと?
誰か理由が推測できる人、解説キボン
0277デフォルトの名無しさんNGNG
>>273
あー、なんとなくわかった
prefs.jsはもじらのインストールディレクトリ下ではなく、
プロファイル関係のディレクトリに入ってるんだが。
0278デフォルトの名無しさんNGNG
>>276
親ディレクトリ等が隠されている場合、prefs.jsなどの中身のファイルも見えなくなるようです。
0279273NGNG
>276,277,278

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

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

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

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

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

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

phoenix は変わったっつーか、navigator.jar がなくなって browser.jar に、
toolkit.jar 内が大幅に変更されてる様子。navigatorOverlay.xul もなくて
browser.jar!/browser.{xul.js} に全部書いてあるっぽいんでそっちに
Overlay すればいいのかな?全部書き換えないと無理っぽい肝
0286デフォルトの名無しさんNGNG
>>285
隊長、findbar発見しました!
ttp://rh.vinelinux.org/~shom/moz/
0287超ぉ〜AnneNGNG
>>283
まさか利用者がいるとは思っていなかったっす(w
どうもご利用ありがとうございます。ヘタレなブツでスマソ
なんでしたらテンポラリなメアドでも教えて頂ければお送り致しますが・・・

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

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

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

・・・でも、腰を据えて弄りまわす時間的余裕が無い・・・。
0291超ぉ〜AnneNGNG
ちょちょいとbrowser.xul@phoenix見てみたんだけどどーもoverlayさせない勢
いのコードっぽいですなぁ。しょーがないから自分用browser.xulに書き変えてちまったぃ。
これで快適じゃ…ってアップデートするたんびにこんなことするのメンドクセェな…
0292デフォルトの名無しさんNGNG
>>284
> ちょいとディレクトリ掘ってみたけど見当たらず・・・

間違えて、1.0rc1のsource読んでた…
見つからなかった時のdialog windowがウザイので、
./xpfe/communicator/resources/content/findUtils.jsの
> gPromptService.alert(window, gFindBundle.getString("notFoundTitle"), gFindBundle.getString("notFoundWarning"));
を何とかしようと思っている。
0293デフォルトの名無しさんNGNG
[email protected]
メールボムかも〜ん
0294デフォルトの名無しさんNGNG
>>293
通報しました
0295デフォルトの名無しさんNGNG
MozDev のダウンロードミラー
http://downloads.mozdev.org/
0296デフォルトの名無しさんNGNG
               「 ̄ ̄了 ハイハイ!
              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ト._」、ー"   `ヽ_」
   `ー' `ヽ_」
0297デフォルトの名無しさんNGNG
Mozilla雑誌の掲載されていたね〜
0298 ◆Moz2cH0k NGNG
Creating Applications with Mozilla
がOpen Public Licenseで読めるようになってるみたいなので
参考にするひとはどぞー

http://books.mozdev.org/index.html
0299デフォルトの名無しさんNGNG
Phoenixスレより転載。

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

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

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

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

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

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

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

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

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

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

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

別スレ立てるかサイト作りたいけど一人で続けるだけの体力がない。
0332デフォルトの名無しさんNGNG
例を和訳してみますた♥

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>
0333デフォルトの名無しさんNGNG
間違えた。これじゃぁネタにならねぇぢゃん。鬱氏♥

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>
0334デフォルトの名無しさんNGNG
これが正解か。ってスレ汚しとるだけやがな ♥
例 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>
0335もくじNGNG
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]: 訂正
03360章NGNG
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による開発の可能性のデモンストレーションのために例として含んでい
ます。
03370章NGNG
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/)を元に開発しました。
03380章NGNG

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プロジェクトの方向性や成果を形成するのに協力
しました。
03390章NGNG
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リリースを
使うことも推奨します。
0340デフォルトの名無しさんNGNG
以前、ヒマだったので全訳してみるかーなんて思ってやり始めて挫折した、その残骸です。
0章途中までだし。技術情報含まれてないし。役に立ちませんね。
0341デフォルトの名無しさんNGNG
おお、すげぇ。
0342デフォルトの名無しさんNGNG
>>331
に続いてChapter2訳してるけど他にやってるひといるかな?
03430章続き ◆YNS0qIRC9I NGNG
この本が対象とする読者

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

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

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

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

この本はまた、読者がMozilla 1.0以降をコンピュータにインストールしていて、
テキストエディタあるいはワードプロセッサとともに利用できる状態を想定してい
ます。Mozillaは今やほとんどのパーソナルコンピュータ上で動くので、互換性の
ある(Mozillaが動く)プラットフォームを探すことはそう難しくありません。
Mozillaの詳細なシステム要件については、mozilla.orgのサイトで見つけることが
できます。
0346デフォルトの名無しさんNGNG
よく考えたらそのうちオライリーから日本語訳でそうだ。。。
0347 ◆YNS0qIRC9I NGNG
>>346
あんまりアテにできないと思いますよ。
海の向こうは、よっぽどの売り上げが見込めるようでないと日本語訳出さないって言ってるみたいですし。
0348デフォルトの名無しさんNGNG
技術書によっぽどの売り上げを見込まれてもな〜
0349デフォルトの名無しさんNGNG
赤字が出ない程度の売り上げは必要ですよ。
0350デフォルトの名無しさんNGNG
最初は自分がわかればいいやって感じで
超適当に訳してたけど、◆YNS0qIRC9Iみたいに
ちゃんと訳してみようかな?

ちゃんと訳すとなると自分の語彙力のなさが
露呈するなぁ。。。
0351 ◆YNS0qIRC9I NGNG
>>350
読んで意味が分かればそれでいいんじゃないでしょうか。実際、自分も所々意訳気味ですし。
うまく訳せる人が取り組んでくれていないのだから、うまく訳せなくても自分たちでやるほかないです。残念ですが。
0352デフォルトの名無しさんNGNG
sourceforgeに登録してCVSで管理とか。
0353デフォルトの名無しさんNGNG
まとめサイトは必要かと。
0354352NGNG
帰ってきたけど誰もやってないみたいなので
やってみる。

プロジェクト名は何にしよう?
0355デフォルトの名無しさんNGNG
ズルズル翻訳 XUL document(プ

なんてのどーよ?(w
0356デフォルトの名無しさんNGNG
襟巻蜥蜴邦訳計画

0357デフォルトの名無しさんNGNG
http://sourceforge.jp/projects/zuldoc-ja/
0358358NGNG
第3章
XulエレメントとXULの特徴
XML-based User interface Language(XUL)はアプリケーションのUIをつくるのに必要な部品(widget)
を全て備えている。タブ、入力フィールド(textarea)、ボタン、メニューなどがそうで、
中には、普段は必要性をほとんど感じないようなもの(例えば<stack>や<colorpicker>など)もある。

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

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

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

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

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

ドキュメントオブジェクトはこれらのメソッドの他にも、ウィンドウのwidthとheight、ポップアップノードのプロパティ、ツールチップノードのプロパティ、ドキュメントエレメント(documentElement)
などを備えている。
なお、ポップアップノードのプロパティは、ポップアップ表示しているエレメント(何がしかの内容(content)を他のものの上に表示するXUL widget)にアクセスするためのものであり、
ツールチップノードのプロパティもツールチップを表示するエレメントにアクセスするためのものである。
そして、ドキュメントエレメント(documentElement)はドキュメント本体にアクセスするためのものである。
0365358NGNG
var docEl = document.documentElement;
var secondLevelNodes = new Array( );
for (var I=0; I<docEl.childNodes.length;I++) {
secondLevelNodes[I] = docEl.childNodes[i];
}
0366358NGNG
あ、まちがえてタブごと消してしまった。
0367デフォルトの名無しさんNGNG
昔読んだ本だとelement=要素、attribute=属性だったけど
最近じゃカタカナ語なのかな?
well-formed、validity とかはどうなんだろ?
0368 ◆YNS0qIRC9I NGNG
content=内容 とするなら、
element=要素
attribute=属性
でいいと思うけど。
0369デフォルトの名無しさんNGNG
ふーむ、例えば、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が対になっているかが不明瞭になってしまう。
0370デフォルトの名無しさんNGNG
自分はエレメントだったり要素だったりしてる。
あとで統一的な書き方がきまったら直します。

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

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

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

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

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

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

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

とりあえずは、XULを使うと、どのような状況で何が出来るのかを知りたいです(w
0378デフォルトの名無しさんNGNG
XULをIEで使うのは無理。

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

今までJavaScriptなどで出来ていた事が、簡潔に書けるようになるということですね
0380375NGNG
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などではごく当たり前にされています。
0381375NGNG
訂正。
IEの場合は"binding"で → IEの場合は"behavior"で
0382375NGNG
XULの目的は、今までHTMLで提供されていたような貧弱なフォームコントロールに止まらないもっとリッチなインターフェースをXMLで記述することです。
また、XUL自体はプラットフォーム非依存なので、Web上のサービスなどのクロスプラットフォームなインターフェースを記述するにはうってつけです。
「HTMLを使ってインターフェイスを作成する」というより、
「HTMLのようにクロスプラットフォームな技術でインターフェースを作成する」と考えて下さい。
XULの仕様(明確なものはまだありませんが……)に乗っ取った動作ができるなら、必ずしもXBLで要素の振る舞いを定義している必要はないでしょう。

http://slashdot.jp/article.pl?sid=02/12/05/0810253
XULの用途についてはこの辺の記事でも色々述べられています。
0383375NGNG
乗っ取った→則った
誤字が多いなあ。
0384デフォルトの名無しさんNGNG
なぜsage進行なのか疑問を感じながらresです。

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

IEのBehaviorとかを使うのはクロスプラットフォームの観点から外れている、と言うことかな?
0386378NGNG
XULはamazone.comというよりむしろ、javaappletのようなものを
思い浮かべた方が当たっていると思います。IEだと、activeXですね。
0387デフォルトの名無しさんNGNG
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 の簡単なサンプルでわかりやすかった。
0388デフォルトの名無しさんNGNG
オススメサイト/本はありますか?
腰を落ち着けて正月にでも学んでみようかと…
0389デフォルトの名無しさんNGNG
お勧めの本は日本では出版されていません。
このスレでマターリ翻訳して行く予定です。詳しくは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の奴も結構いい感じ。
0390デフォルトの名無しさんNGNG
XUL系譜:   XUL は XML にどう関係するのか?
http://jt.mozilla.gr.jp/docs/xul/xulnotes/xulnote_xml.html

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

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

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



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

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

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

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

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

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

ところで、xulレベルから他のウィンドウのDOMにアクセスして、
HTMLドキュメントにcreateElementで<br>を追加しても、改行されないんだけど。
テキストノードの追加は反映されるのに、tagの解釈はされないのか?
0410デフォルトの名無しさんNGNG
って、やっと分かったけど、
createElementしたら、HTMLElementじゃなくて、XULElementになっちゃうんね。
0411デフォルトの名無しさんNGNG
>>410
そうなのれす。
そういうばあいはcreateElementNSをつかってださい。
0412デフォルトの名無しさんNGNG
>>411
レスさんくす。
つーわけで、2chブラウザ(非monazilla)を作ってみたんだが、
お世辞にも快適な使い心地とは言えんなぁ。
0413デフォルトの名無しさんNGNG
moz2ch
0414デフォルトの名無しさんNGNG
moz2chって動くの?
0415デフォルトの名無しさんNGNG
>>414 重すぎ、書き込みできない、けど動くだけは動く。
0416デフォルトの名無しさんNGNG
ふーむ、じゃあ、漏れが作ったのとあんまり変わらんなぁ。
ちょっとソース見てみよっかな。
0417デフォルトの名無しさんNGNG
クスールって読んでる人いる?
0418デフォルトの名無しさんNGNG
ををを、このスレついにageられたか!(w
随分長い間sage進行だったのに
0419デフォルトの名無しさんNGNG
linux だと root にならないとインストールできないのが
面倒くさいYO。みんな平気?
0420デフォルトの名無しさんNGNG
>>417
クサル が公認
0421419NGNG
書きこんだ後、祖母とおせちを食べててひらめいた
んだけど mozilla ホームデレクトリに入れればいいじゃん!!
賢いじゃん>>俺!! カコイイ>>俺!! /path/mozilla はシェルスクリプト
だからインスコも楽勝だった。ウヒョー、今年はいい年になるネ
0422デフォルトの名無しさんNGNG
結局厨房がageていた訳だが
0423デフォルトの名無しさんNGNG
冬だからねえ…
0424デフォルトの名無しさんNGNG
trercellは特にクラスとか指定してなくても、
"src"ってattributeがあるような気がするんですけど、
xulplanetにはそれらしい記述がありませんな。
0425デフォルトの名無しさんNGNG
ぎゃあ、treecellです。
0426IP記録実験NGNG
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を提出することがある。
0427デフォルトの名無しさんNGNG
>>73
重くなるのはなぁ。。。
どのくらいになるのかわからんけど。
0428デフォルトの名無しさんNGNG
1年半
0429デフォルトの名無しさんNGNG
>>425
あぶねー
ツッコミいれそうになった。
0430デフォルトの名無しさんNGNG
ひろゆき粕汁食うか?
0431デフォルトの名無しさんNGNG
これからは、爆弾をしかけたとか書いちゃ駄目なのですか?(´・з・`)
0432IP記録実験NGNG
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を提出することがある。
0433デフォルトの名無しさんNGNG
2ちゃんねるも閉鎖へと突き進んでますな・・
0434デフォルトの名無しさんNGNG
>>99
観念しなさい
0435デフォルトの名無しさんNGNG
>>429はマジレスなのか、コピペなのか判断に迷う所だな。
0436デフォルトの名無しさんNGNG
このまま全サーバに導入してしまってもかまわないと個人的には思います。
発言に自己責任が伴うので、くだらない殺人予告や過度の誹謗中傷、ウイルス・ブラクラリンク
などは少なくなるのではないでしょうか。
0437デフォルトの名無しさんNGNG
被害妄想が激しい459の居るスレはここですか?
0438デフォルトの名無しさんNGNG
判決文には大きく分けて、3つの日付が出てきますね…。
おもいっきり削って、抜粋してみました。
---
第3 当裁判所の判断
 2
 (2)
   ウ 原告Aは,被告(ひろゆき)に対し,平成13年6月21日付けの通知書(内容証明?)
     をもって発言の削除を求め,同通知書は,同月22日,被告に到達したから,これにより,
     被告は,本件各名誉毀損発言(限定あり)について,本件掲示板に書き込まれたことを
     具体的に知ったものと認められる。

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

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

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

>> 無知はいいねぇ

ほ〜、じゃあ、IPだけで個人特定する方法言ってみ。
ほれ言ってみ
0452デフォルトの名無しさんNGNG
さん
ですわね。
0453デフォルトの名無しさんNGNG
======2==C==H======================================================

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

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

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

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

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

んじゃ!

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

0455デフォルトの名無しさんNGNG
2
0456デフォルトの名無しさんNGNG
イメージもあるアサピー。
http://images.google.co.jp/images?hl=ja&inlang=ja&lr=&ie=Shift_JIS&c2coff=1&q=%83A%83T%83s%81%5B
0457デフォルトの名無しさんNGNG
なんで腐れ男はキャップ持ってるんだ?
0458デフォルトの名無しさんNGNG
ポリタンクは
0459デフォルトの名無しさんNGNG
少し同意。

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

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

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

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

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

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

label に日本語使ってたり、アイコン画像が contents の中だったりしますが
そこらへんのツッコミはなし、という事で。
0489デフォルトの名無しさんNGNG
むしろ、人柱を自分のページで募ってほしいのだが。
0490デフォルトの名無しさんNGNG
右下の鍵の横にボタンがついてると行儀がいいのか?
んー、だったら一考の余地はあるな。
とりあえず、ボタンメーカーとか作るのがいい気がする。
0491デフォルトの名無しさんNGNG
5つ6つ機能使うならバーも良いけど、
一機能のためにバー使うのも確かになんだな。F8押すのも面倒だし。
キーボードショートカット定義できれば良いのにな。
prefsbar使ってるけどさ。
0492デフォルトの名無しさんNGNG
>>491
キーボードショートカットを定義するアドオンを作ればいいんでわ?
0493デフォルトの名無しさんNGNG
moz2chのコメントにもあったけど、
neckoで差分読みこみって出来るの?
xulplanetではネットワーク関係の資料をどこにおいてるのか分からんし。
0494デフォルトの名無しさんNGNG
HTTP ヘッダの If-Modified-Since で更新されたか調べて
range で差分GETしてるぽい。
0495デフォルトの名無しさんNGNG
Amazon の XUL なフロントエンド
http://www.cfmentor.com/~faser/xulex/amazon_browser/amazonbrowser.xul
0496デフォルトの名無しさんNGNG
>>495
面白いな。
まだ開発途中みたいだけど。
0497デフォルトの名無しさんNGNG
XuleX
http://www.cfmentor.com/~faser/xulex/home/index.html
イタリア語ですが。
0498デフォルトの名無しさんNGNG
Xabyl - A Visual XBL Editor @ XULPlanet
http://www.xulplanet.com/downloads/xabyl/
0499デフォルトの名無しさんNGNG
どっかにも書いてあったが、moz2chのナイトリー更新されてるね。
この機会にjslibをやめて欲しいんだが。
0500デフォルトの名無しさんNGNG
あと、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関数か、あるいはクラスを初期化した時あたりで。
0501デフォルトの名無しさんNGNG
sage
0502LoptrNGNG
XULがJavaよりも優れている点を200字以内で述べよ。
0503デフォルトの名無しさんNGNG
>>502
基本がXMLとJavaScriptなので、Webページに組み込みやすい。DHTMLを使用したWebページ製作の経験があれば容易に習得できる。

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

もいれといてくれ。
0507デフォルトの名無しさんNGNG
>>506
Gekkoは任天堂のゲーム機ですがな
NGLayoutはGeckoです
0508デフォルトの名無しさんNGNG
XULからeditor使う方法とかまとまってるところないのかな?
幾つか見つけたけど、1.3だとうまく動かなかった...。
0509デフォルトの名無しさんNGNG
xulのeditorは禿しく欠陥品だ。
どうしてもってんなら、古いサイトにあるexampleを使えばいいが、
カーソルが枠の外にはみ出して強制終了するってバグが未だにある。
0510デフォルトの名無しさんNGNG
うーん、そうなのか。
composerとかも真面目に使ってないんだけど、
かなり駄目駄目っていうことなのか。
0511デフォルトの名無しさんNGNG
いや、勘違いしてもらったら困るけど、editor自体には期待してる部分もあるわけだけど、
まあ、実用レベルじゃない。
多分、mozilla.orgを除けば最も詳しい解説は
http://segment7.net/mozilla/editor/
そこのサンプルは
http://segment7.net/mozilla/editor/examples/
0512デフォルトの名無しさんNGNG
>>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>

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

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

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

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

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

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

はうちでは動いてるよ。
0532デフォルトの名無しさんNGNG
どうも。
インスコしたやつがたまたま外れだっただけか…
0533デフォルトの名無しさんNGNG
プロファイルにインストールしたら、overlayが動いてない?
0534超ぉ〜Anne ◆OXpQ7dCx.w NGNG
ども、ヘタレな超ぉ〜Anneでございます。と言っても覚えてる人
いなさそうだからコテハンやめた方がいいっすかね・・・

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

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

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

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

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

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

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

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

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

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






漏れブックマークツールバー使ってないよ(つД`)
0562山崎 渉NGNG
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
0563デフォルトの名無しさんNGNG
XULの話題じゃないんだけど、MozillaでJavascript、
ってのもここで質問してもいいですか?

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

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

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

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

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

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

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

>>566
日本語なら、このスレとか。英語なら>>6とか。
0569デフォルトの名無しさんNGNG
xpiのiはインストールのiだよ。
Cross Platform Installation.

スタイル関連のことなら、userContent.cssをいじるだけで、
大概のことは出来ると思う。
userContent.cssからバインディングすれば、インストールなしで、
スクリプトを動かせるはずだが、試した事は無い。
0570デフォルトの名無しさんNGNG
>>568
コンテキストメニュー拡張のカスタムスクリプト機能で何とかなりませんか?
ページごとの自動実行も一応可能ですので。
0571デフォルトの名無しさんNGNG
>>568
そーゆーちょっとしたものなら
http://saru.oops.jp/puki/pukiwiki.php?jsActions
http://macroeditor.mozdev.org/
この辺が使える。
0572デフォルトの名無しさんNGNG
jsActions の中身をみてみたが
コンテキストメニュー拡張もなかなか楽しそうだ。
0573デフォルトの名無しさんNGNG
で、何?XULって
0574デフォルトの名無しさんNGNG
hosh
0575デフォルトの名無しさんNGNG
で、XULって何?XMLの親戚?
0576デフォルトの名無しさんNGNG
>>575 >>573
ttp://www.xulplanet.com/
ttp://www.at.wakwak.com/~btm/mozilla/xul-hack.html
ttp://www.mozilla.gr.jp/~kazhik/xul/tut00.html
↓おすすめ
ttp://www.google.co.jp/
0577デフォルトの名無しさんNGNG
>>568
ttp://white.sakura.ne.jp/~piro/xul/tips/x0012.html
とか?
0578デフォルトの名無しさんNGNG
mozillaでしか動かないプログラムを作る必然性がわからない…
わからないが、とりあえず読んでみることにする。>>576サンクス
0579デフォルトの名無しさんNGNG
読んでみた。間違っていたら訂正してくれるとうれしい。

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

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

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

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

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

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

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

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

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

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

とりあえずmozillaをインストールせねば。
0590デフォルトの名無しさんNGNG
ttp://www.linet.gr.jp/lswg/contents/20030829/ishida/
素晴らしい
ttp://www.linet.gr.jp/~ishida/geckocatp.xpi
スクリーンショット ttp://www.linet.gr.jp/~ishida/xul2.png
素晴らしスギ
0591デフォルトの名無しさんNGNG
>>1
1.0っていつの話だ?
0592591NGNG
去年立ったスレだったYO!!
0593デフォルトの名無しさんNGNG
ttp://tkm.s31.xrea.com/xul/xul.shtml#stedsidebar
需要があるか激しく疑問であるが。。。
晒してみる。
0594デフォルトの名無しさんNGNG
ageちゃった。
申し訳ない。
0595デフォルトの名無しさんNGNG
>593
む!頂きまつ
0596デフォルトの名無しさんNGNG
>>595
なんだかまっさらなプロファイルにインスコすると落ちちゃうみたい。。。
というわけで最新版落としてくださいです。。。
すみません。
0597ageNGNG
age
0598デフォルトの名無しさんNGNG
http://unstable.elemental.com/mozilla/
lxrが微妙に進化してる…。
最初はなんの事かよく分からなかったが、
xpcomの親子ツリーを図解したりしてる。

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

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

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

MFCのアレ見たいな感じ。
前回使ったのは1ヶ月ほど前だが、その時にはなかったと思う。
0602デフォルトの名無しさんNGNG
>>601
うぉっ!ほんまや。そういうことやったんか。ありがとう。
俺毎日見てるけど気付かなかった。
0603デフォルトの名無しさんNGNG
>>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 使って自前でも作れるけどね。
0604デフォルトの名無しさんNGNG
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
0605デフォルトの名無しさんNGNG
>>604
(*゚∀゚)=3
Toolbar Enhancementsで縦置きツールバー使ってるんで、
縦に並べられるようにできませんか?
0606デフォルトの名無しさんNGNG
>>605
userChrome.cssで、
toolbar > toolbaritem.toolbaritem-custombutton-container{
-moz-box-orient: vertical;
}
を設定すればいいはずです。
効かなければ、!importantを付けてみてください。
toolbar >の部分はもっと絞り込めると思いますけどね。
なんてたって、縦置きなんだし…。
0607605NGNG
>>606
できました。
externalappの方も同じ方法でできるんですね。ありがとうございます。
0608デフォルトの名無しさんNGNG
どっちでも使えるように書くとこうですね。

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

この時点で既に文字化けしてるんだったら、ばぐじら行きかもね。
0616ヽ(゚∀゚)メ(゚∀゚)ノ ◆tRZ80FPU5k NGNG
>>614
えと、間違いだったらスマソ
WinMeだったらファイルシステムがFATなので内部文字コードがSJISの為に
文字化けするのかも。。。アクティブディレクトリならUNICODEですよね
身近にMeが無いので確認できんですよ
上記の問題だとすれば
http://www.xulplanet.com/references/xpcomref/ifaces/nsIScriptableUnicodeConverter.html
このへんで対処できるですか?
0617ヽ(゚∀゚)メ(゚∀゚)ノ ◆tRZ80FPU5k NGNG
あああああ
>>616はガセネタのような気がしてきた。。。
まあ漏れらしいけど。。。
0618デフォルトの名無しさんNGNG
私のはwin98だけど、少なくとも、file:///c:に文字化けは無いね。
それに、わざわざ文字列を拾ってコンバーターにかけると、
rdfのありがたみが一挙に薄れるような。
0619614NGNG
アドレスバーにfile:///c:だと文字化けしないんですが。
文字化けの感じがUTF-8文字をShift_jisで変換しているようだったから
開いているxulドキュメントの先頭にencoding="utf-8"にしたらいいと思ってたんですが
RDFから読み込んだ部分にはまったく反映されないみたいですね。
勉強してきます。
0620デフォルトの名無しさんNGNG
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で試しています。
0621デフォルトの名無しさんNGNG
ぼけてました。
var serverSocket=Components.classes["@mozilla.org/network/server-socket;1"]
.createInstance(Components.interfaces.nsIServerSocket);
serverSocket.init(80,true,5);
ですね。逝ってきます…
0622デフォルトの名無しさんNGNG
スレ違いかもしれませんが投稿させてください。

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

ReadOne
http://www.readone.net/

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

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

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

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

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

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

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

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

piro氏やflyson氏のソースからかなり流用しています.
特にinstall.jsなんかrssreaderから丸パクリ.
ついでにアンインストール機能なんてものは無い.
0642641NGNG
ファイルを間違えてアップしてしまった.
0643641NGNG
失敬.こっちです.

http://tool-ya.ddo.jp/2ch/trash-box/contents.jsp?file=20040110182959912.xpi
0644641NGNG
あらら,間違ったほうのアクセス数のほうが多いってのは不味いな.
0645デフォルトの名無しさんNGNG
>>641 遅くなったがサンクス。にゃるほどー
0646641NGNG
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だと大丈夫.
0647641NGNG
このスレにずっと居座るのも何だから,isweb のアカウントを取得.

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

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

function docLoaded {
ここからdocを使用する処理を記述
}
0651649NGNG
>>650
どうもありごとうございます。m(_ _)m
できました。
0652デフォルトの名無しさんNGNG
ふーむ、私のお勧めはnsIDOMParserです。
...
var str=httprequestobject.responseText;
var doc=(new DOMParser()).parseFromString(str,"text/html");

alert(doc.documentElement.localName);

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

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
0659デフォルトの名無しさんNGNG
about:****ですけど、
オリジナルのnsAboutRidirector.cppは、
httpプロトコルに飛ばすときにセキュリティのレベルを変えてますね。
chromeに行くなら心配はいらないんですが、
aboutのレベルでウェブ上のファイルを読ませると、
えぐいことができそうなので、気をつけてください。
0660デフォルトの名無しさんNGNG
ttp://bugzilla.mozilla.org/show_bug.cgi?id=32641
にvoteしておきました。
でも、さっきまで2だったから、他にも投票した人がいるみたいだね。
0661デフォルトの名無しさんNGNG
>>658-659
面白い。プロトコル追加の解説があったので貼り付けておく。
http://www.nexgenmedia.net/docs/protocol/
0662デフォルトの名無しさんNGNG
>661
読んでみました。
ところで、そのドメインって何やってるんですかねぇ。
ドキュメント自体はIBM名義なので、
就業中に書いたのかもしれませんが、
Doron個人のサイト?
0663デフォルトの名無しさんNGNG
Doron が Netscape(AOL) にいたときから写真やらなんやら置いて
weblog からリンクしてたから、個人的に自由に使えるサイトなんだろ。
0664デフォルトの名無しさんNGNG
---------- 再開 ----------
0665デフォルトの名無しさんNGNG
Emacsで動くGeckoのほうが欲しいな
そうすりゃXULなんぞ必要ないだろ好きなだけ機能追加できる
0666デフォルトの名無しさんNGNG
いいだしっぺの法則
0667デフォルトの名無しさんNGNG
今日のmozillazineの記事によると、
毎月第一火曜日はXULの日、らしい。
あさって(あるいは水曜日の朝?)だな。
0668デフォルトの名無しさんNGNG
XULは糞! XAML最強!!!
0669デフォルトの名無しさんNGNG
XULvsXAMLvsMXML の比較
http://www.surfmind.com/musings/2004/03/31/index.cfm#index
0670デフォルトの名無しさんNGNG
>>667
talkbackを読めばわかるが、このスレで言うXULとは
あまり関係ない。
0671デフォルトの名無しさんNGNG
JavaScriptのOn/Offをカンタンに切り替えるような拡張はでてないのかな?
0672デフォルトの名無しさんNGNG
>>671
http://www.geocities.co.jp/SiliconValley-SanJose/9076/quickprefs/
http://extensionroom.mozdev.org/clav/#prefbuttons
0673デフォルトの名無しさんNGNG
>>672
ありがとう。
0674デフォルトの名無しさんNGNG
Slashzillaをホットキーで開けるようにしようとしているのですが
その辺のソースについて詳しく載っているサイトはありませんか?
0675デフォルトの名無しさんNGNG
>>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 で開くようになるんじゃないかな。
0676674NGNG
うーん読んでみましたが基本骨子をまだ理解しきっていないので頓珍漢なことをしているような気がして不安
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にしても同様でした
0677デフォルトの名無しさんNGNG
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>

これでどうかな。
0678677NGNG
modifires="accel,shift" のイコールが抜けてた、スマソ
0679674NGNG
すいません重要な事を書いておくのを忘れていました
使用ブラウザはFirefox0.8 4/3nightlyです
0680677NGNG
Firefox nightly で使えてるの?
slashzilla.mozdev.org 見て使えないものとばかり思ってた。
それはともかく Firefox なら <keyset id="mainKeyset"> にしちくり。
0681674NGNG
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用に弄って使用しています
0682677NGNG
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>
0683674NGNG
月並みな表現で申し訳ないですがお付き合いありがとうございます
おかげさまでできました

#もっとxulやjsの勉強しなければ・・・
0684デフォルトの名無しさんNGNG
XulPlanetが、ちょっとリニューアル?されてるので上げ。
0685デフォルトの名無しさんNGNG
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をつかえば、
従来のような事が出来ると思います。
0686デフォルトの名無しさんNGNG
>>684
ちょっとじゃない〜 詳細はここにも。
http://www.xulplanet.com/ndeakin/article/256?show=c
Scriptable Object Referance 追加と commands, updating commands は
まとまった情報がなかったんで助かる〜
0687デフォルトの名無しさんNGNG
XULアプリコンテストってどうなったんでしょうか?
ひょっとして、エントリーがなかったとか?

コンテストを開くこと自体はたいへん良いと思うので、
告知を3ヶ月前くらいからやってほしいですね。
でも、パーティ関連にすると難しいのかもしれないなぁ。
じゃあ、お前が企画しろよ、って言われると、
参加者を集められる自信は全くないが…
0688デフォルトの名無しさんNGNG
エントリーはありましたよ。8つほど。
0689デフォルトの名無しさんNGNG
じゃ、そのうち結果発表とかあるんですかね。
去年はpiro氏のやつとmoz2chが出てたような記憶が。
0690デフォルトの名無しさんNGNG
投票数自体が少なかったけど、結果としてはXUL/Migemoが圧倒的大勝ですた。
RSS Reader Panelのflyson氏は出品されていませんでした。
だいたいそんなとこで。
0691デフォルトの名無しさんNGNG
XUL/Migemoでてたんですか。
このスレに時々来る通りすがりの人のブックマークのやつはどうでした?
0692デフォルトの名無しさんNGNG
通りすがり師のはなかったと思う。
出てたのは
・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
0693デフォルトの名無しさんNGNG
>692
なるほど。
重ね重ね、ありがとう。
0694デフォルトの名無しさんNGNG
FirefoxのExtension API 暫定版が今日、初公開。
http://www.bengoodger.com/software/mb/extensions/howto.html
0695デフォルトの名無しさんNGNG
つーか、いきなりinstall.jsを捨ててきましたか…
まあ、前に競べたら、納得の内容ですね。
icon関係もうまく処理されているようです。
0696デフォルトの名無しさんNGNG
これは nightly で既に実装済みのものなのかな。
draft 段階のものを読むと
http://jt.mozilla.gr.jp/projects/firefox/extensions/index.html
install.js は後方互換のためか残されそうだけど。

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

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

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

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

どうもありがとうございます。
0700デフォルトの名無しさんNGNG
http://update.mozilla.org/
がついに動きだすようですね。
http://forums.mozillazine.org/viewtopic.php?t=78912
0701デフォルトの名無しさんNGNG
今日、Firefoxの新しいインストーラーを試してみました。
結構イイ感じで動いてます。
0702デフォルトの名無しさんNGNG
XULに全く関係ない話で恐縮ですが、
JLPのxsltスレは純粋な読み物としても、結構面白いです。
ttp://moz.skillup.jp/jlp/viewtopic.php?t=96

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

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

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

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

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

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

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

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

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

結局、localeを追加した方が安上がりなのよ。
0725デフォルトの名無しさんNGNG
なるほど。了解しました。
詳しく教えていただいて、どうもありがとうございました。
0726ヽ(゚∀゚)メ(゚∀゚)ノNGNG
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
この辺参考にしてくださいです
0727デフォルトの名無しさんNGNG
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)な気もします。
0728デフォルトの名無しさんNGNG
今日のチェックインみてたら、こんなバグがありました。

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

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

xpiさっぱり分からん。
0731730NGNG
ちなみにダウンロードマネージャの方はこんな感じ。

--- 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;
]>
0732デフォルトの名無しさんNGNG
>>731
可能です。
空の拡張をつくって、contents.rdfで
chrome://communicator/content/utilityOverlay.xulをoverlayしてやればいいのです。

ただ、ロケールはoverlayのdoctypeに完全に依存するので、
utilityOverlayにdoctypeがなかったら、
utilityOverlayを手元にコピーしてdoctypeを追加したものを
あらためてoverlayした方が安全かもしれません。
0733デフォルトの名無しさんNGNG
あ、今みてみたら、ばっちりはいってますね。
http://lxr.mozilla.org/mozilla/source/xpfe/communicator/resources/content/utilityOverlay.xul
0734730NGNG
まいったな。せっかく教えてもらったのにさっぱり分かりませぬ。
一応XULチュートリアルの日本語訳も読んでいるが、分量が多くて
どこが該当するのかも分かりません。参考になりそうな拡張ってありますか?
それはともかく、xpiで実現可能というのが分かったのはありがたいです。
0735デフォルトの名無しさんNGNG
「Ctrl+何々でほげほげできるようにします。」系の拡張を
Firefox Help 日本語版あたりで探してみると良いかも。
やり方はそのままSuiteにフィードバックできるので。
0736デフォルトの名無しさんNGNG
>>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>
0737デフォルトの名無しさんNGNG
*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>
0738デフォルトの名無しさんNGNG
なんか変なところありますか? さて、あとはインストーラか。

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

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

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

値は他の関数でもいいのですが、
名前空間を不必要に汚すよりは、
関数リテラルを代入するほうが望ましい、と思われます。
0741デフォルトの名無しさんNGNG
あっ、こうすればいいのか。
  <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通りの方法があります。
すんません。よく分かっていません。
0742デフォルトの名無しさんNGNG
>>741
そうです。そういうことです。

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

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

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

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

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

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

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

つまり

window.openURI => "function openURI()"

となっていたのを

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

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


var SymRealWinOpen = window.open;

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

window.open = SymWinOpen;


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

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

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

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

以下とマルチポスト
http://pc5.2ch.net/test/read.cgi/software/1088635005/383
0766デフォルトの名無しさんNGNG
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>
0767デフォルトの名無しさんNGNG
>>766
"example"はパッケージとして登録されてる?
0768デフォルトの名無しさんNGNG
>>766
ええ、もちろんです。
installed-chrome.txt :

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

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

XULPlanetのリファレンスはわりと頻繁に更新されていますが、
チュートリアルの方はMozilla1.0のころから更新されていないようです。
それをさらに和訳してあるわけですから、例が現実に追いついてないのも
仕方のないことなのでしょう。
0771デフォルトの名無しさんNGNG
>>770
うほほーー!xmlにしたら無事に出来ました!サンクスです。
0772デフォルトの名無しさんNGNG
>>757
こんなんどうでしょうか?
http://forums.mozillazine.org/viewtopic.php?t=96578
0773デフォルトの名無しさんNGNG
ttp://www.mozilla.gr.jp/~kazu/kazude/
これのコピーもっている人くれ
0774デフォルトの名無しさんNGNG
>>773
φ( ゜゜)ノ ゜
ttp://web.archive.org/web/20030625150958/http://www.mozilla.gr.jp/~kazu/kazude/
0775デフォルトの名無しさんNGNG
>>733
が言ってるのはサイトじゃなくてxpiのことじゃない?
0776773NGNG
>>774
xpiダウソできました。
ありがとうございました。
0777デフォルトの名無しさんNGNG
スクロールバーの付いたbox要素などでもマウスホイールが効くようにはできますでしょうか?
0778plus7 ◆XULQA16CSE NGNG
>>777
http://white.sakura.ne.jp/~piro/latest/2004/02.html
かな?
0779デフォルトの名無しさんNGNG
>>778
まさにそれです!しかしかなり難しそうなのであきらめまつ...
0780デフォルトの名無しさんNGNG
>>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');
}


0781デフォルトの名無しさんNGNG
つづき。

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 も参考にしてみて下さい。
0782デフォルトの名無しさんNGNG
すみません。
<?xml-stylesheet href="chrome://example/common/example.css" type="text/css"?>
じゃなくて
<?xml-stylesheet href="chrome://example/content/example.css" type="text/css"?>
ですね。

あと、水平スクロールバーと垂直スクロールバーのそれぞれについて
処理を振り分けるのも忘れてました。まあその辺は適当に。
0783名無しさん@そうだ選挙に行こうNGNG
もう一つミスが……

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

ここは
<implementation>〜</implementation>
ではなくて
<handlers>〜</handlers>
です。
0784名無しさん@そうだ選挙に行こうNGNG
解説も含めてまとめときました。もしよろしければどうぞ。
ttp://white.sakura.ne.jp/~piro/xul/tips/x0030.html
0785名無しさん@そうだ選挙に行こうNGNG
>>780-784
丁寧にありがとうございます!さっそく今試してみます。
このスレは親切な方が多くて助かります。
0786名無しさん@そうだ選挙に行こうNGNG
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>
0787名無しさん@そうだ選挙に行こうNGNG
>>786
iframe内のページのonloadイベントがバブリングで伝搬するからですな。
http://www2u.biglobe.ne.jp/~oz-07ams/prog/dom-ref/Events/
0788名無しさん@そうだ選挙に行こうNGNG
プロパゲーションが止められないのって、
実は結構不便な気もするな。

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

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

とやってみたのですが、1行目でエラーとなります...
0793デフォルトの名無しさんNGNG
>>792
実はdomparserのtext/htmlモードは未実装なのです。
かわりに、innerHTMLを使ってください。
0794デフォルトの名無しさんNGNG
あるいは、>>650とか。
0795デフォルトの名無しさんNGNG
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);
}

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

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

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

>createDocumentのnamespaceを無指定にすると、
ってことは正しい(?)指定をするとXULでもHTMLDocumentが返ってくる
ようになるんでしょうか?
0802デフォルトの名無しさんNGNG
>>801
いろいろ探してみたけど、HTMLDocumentを作るのって意外に難しい。
doctypeを決め打ちしてしまうと本末転倒だから、やっぱ無理かも。
xhtmlならとても簡単なのに、この差は一体…
0803デフォルトの名無しさんNGNG
XULアプリ内で mozilla と firefox を区別する方法ってないですかね??
0804デフォルトの名無しさんNGNG
>>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が帰ってくるかどうかを調べるとか。
0805デフォルトの名無しさんNGNG
piro氏のTBEはインスコ時に判定しとくって手を使ってるみたいね
0806デフォルトの名無しさんNGNG
インスコ時はbrowser.jarを見て、
インストール後の動作では>804の後者の方法を使ってます。
0807デフォルトの名無しさんNGNG
>>803
firefox 0.9以上なら新しいEM用なのか
about:configのapp:idにFirefoxのGUIDが書き込まれてます
インストール後なら、これを見て判断するというのはどうでしょう?
0808デフォルトの名無しさんNGNG
fileスキームのURIで示されたローカルファイルを削除する方法はありませんか?
たとえばfile:///C:/foo/bar.jpgだったり、file:///home/nanashi/bar.jpgだったり、
OSに依存しない方法があればいいのですが。
0809デフォルトの名無しさんNGNG
jslib使うとかそこからコードをぱくるとか
0810デフォルトの名無しさんNGNG
ってかただaFile.remove(true)でいいっぽい
0811デフォルトの名無しさんNGNG
ファイルのURIからnsIFileは作れないようです。
var aFile = Components.classes['@mozilla.org/file/local;1']
.createInstance(Components.interfaces.nsILocalFile);
aFile.initWithPath("file:///C:/foo/bar.jpg");

で、パスが認識できないと怒られます。
0812デフォルトの名無しさんNGNG
>>811
ttp://white.sakura.ne.jp/~piro/xul/tips/x0011.html
0813デフォルトの名無しさんNGNG
>>812
ああ、まさにそちらに書いてあるとおりのことでした!
ありがとうございました。
0814デフォルトの名無しさんNGNG
で、だれか
http://www.unixuser.jp/magazine/2004/200409.html
買ってないの?
0815デフォルトの名無しさんNGNG
仲村直人って意外な趣味持ってるんだな。
http://www.jbl.or.jp/allstar/200304/member/b09_nakamura.html
0816デフォルトの名無しさんNGNG
見事に同姓同名だな
0817デフォルトの名無しさんNGNG
ttp://nazo.europe.webmatrixhosting.net/mimetype.aspx/newEmFolder?name=newEmFolder.xpi&type=application/x-xpinstall&location=http://nazo.europe.webmatrixhosting.net/ex/newEmFolder.zip
0818デフォルトの名無しさんNGNG
保守
0819デフォルトの名無しさんNGNG
現在フォーカスしているブラウザタブのアイコン(いわゆるfavicon)のURLを得る方法を模索しています。
top.window.document.getElementById("page-proxy-favicon").src
でとりあえずそれらしいものは得られるのですが…
0820デフォルトの名無しさんNGNG
>>819
gBrowser.selectedTab.getAttribute('image')でどうでしょう。
空以外ならfaviconと判断できそうな。
0821819NGNG
>>820
それでばっちりでした。どうもありがとうございました。
0822デフォルトの名無しさんNGNG
a.xulからopenDialog('b.xul')でダイアログを開き、そこでの入力結果をa.xulに返す
というかb.xulでの入力結果をa.xulで受け取る方法はありますでしょうか?

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

使用例(JavaScript の詳細設定ダイアログ):
http://lxr.mozilla.org/mozilla/source/browser/components/prefwindow/content/pref-advancedscripts.xul#56
0824デフォルトの名無しさんNGNG
>>823
今試してできました。見事に簡単ですね!
0825デフォルトの名無しさんNGNG
>>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の処理が先に進んでしまうので注意。
0826デフォルトの名無しさんNGNG
//a.xul
var input = {};
window.openDialog('b.xul',...);

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

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

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

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

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

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

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

http://xulplanet.com/references/xpcomref/ifaces/inIScreenCapturer.html
0845デフォルトの名無しさんNGNG
>>795-802, >>843
nsIDocumentLoaderFactory というのを発見したので、試しに
Components.classes["@mozilla.org/content-viewer-factory/view;1?type=text/html"]
を呼んでみたが、実装されていないのか動かない。
0846845NGNG
Components.classes["@mozilla.org/content/document-loader-factory;1"].createInstance(Components.interfaces.nsIDocumentLoaderFactory)
はきちんと返しているみたいだけれども、
nsIDocumentLoaderFactory::createBlankDocument(in nsILoadGroup, out retval nsISomething);
の引数である nsILoadGroup の扱い方がわからなかった。
0847845NGNG
開きなおって、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 みたいのがあると便利だな...
0848デフォルトの名無しさんNGNG
>>847
Firefoxまとめサイトにそういうページを作ればいいのでは?
wikiの乱立はやめてほしい
0849デフォルトの名無しさんNGNG
あまり知られてないけど、mozilla.orgにもwikiあるんだよね。
http://wiki.mozilla.org/
0850デフォルトの名無しさんNGNG
>>847
確かに返ってきますね。
でも、loadURIでuriを指定してもダウンロードはしている様だけど
中身が入ってないっぽい?
0851デフォルトの名無しさんNGNG
timerかlistener使って読み込み待ちすればいいのでは?
0852デフォルトの名無しさんNGNG
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");

どうすればいいでしょうか?
0853852NGNG
ってかwsdl使えるのね
どっか解説サイトないかなぁ
0854852NGNG
やっとできた

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

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

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

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

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

http://www.javadesktop.org/forums/thread.jspa?threadID=1324&tstart=0
なんて言われていたりもするんで、どうなのかなーと思ったんだけど。
0863デフォルトの名無しさんNGNG
luxorのXULはMozillaのXULと違う所が結構あると聞いたことがある気がする
0864デフォルトの名無しさんNGNG
http://www.neowin.net/articles.php?action=more&id=96
読んで、XULRunner やる気みたいだけど実際やってんのかなぁ、と思って LXR 見たら
http://lxr.mozilla.org/mozilla/source/xulrunner/
あったよ。2,3 ヶ月したらバイナリでてくるかな?
0865デフォルトの名無しさんNGNG
>>863
結構ある、どころか全くの別物だよ。
とりあえず、このスレのXULとは何の関係もない。
0866デフォルトの名無しさんNGNG
質問です。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;
}
});
0867866NGNG
訂正:oListbox.addListener(... じゃなくて oListbox.builder.addListener でした。
ttp://www.xulplanet.com/references/xpcomref/ifaces/nsIXULTemplateBuilder.html#method_addListener
0868デフォルトの名無しさんNGNG
拡張の更新確認用の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の書式が間違っているか足りないのかと思いますが、
最低限の正しい書式はどのようになるか、教えていただきたいです。
0869デフォルトの名無しさんNGNG
>>868
1.0から仕様が変わりました。

是とか参考にすれば分かるはず
http://cdn.mozdev.org/updates.rdf
0870868NGNG
>>869
できました。ありがとうございました。
どうやら更新確認のrdfにもキャッシュが効いてたせいで余計混乱してたみたいです。
0871デフォルトの名無しさんNGNG
キーバインドでの質問なのです。
以下のものを *.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>
0872デフォルトの名無しさんNGNG
keycode じゃなくて key
modifiers の値は alt より accel のほうがいいかも。
0873デフォルトの名無しさんNGNG
ここらあたりも読んでおくと吉かと
ttp://www.mozilla-japan.org/projects/ui/accessibility/mozkeyintro.html#modifiers
Mozilla キーボード・プラン FAQ とクロスリファレンス
0874デフォルトの名無しさんNGNG
>>872-873
ありがとう。
思い通りになりました。m(_ _)m
しかし、accelは使用済みが多いし、ctrl+altも駄目となると、結構厳しいですね……
0875デフォルトの名無しさんNGNG
俺は ctrl(accel)+shift をよく使う。空いてるし。
0876デフォルトの名無しさんNGNG
>>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 使う。
的外れだったらスマソ
0877866NGNG
>>876
GetDataSourceBlocking ですか、ありがとうございます。ただ、これだけだと selectedIndex = 1; がうまく動きませんでした。
どうやらここでの非同期な動作は、「RDF 読み込み」と「template による要素の生成」のふたつのようで、>>876 は前者、>>866 は多分後者の処理の終了を受け取る方法だと思いました。
そこで >>876 の最後の行 oListBox.selectedIndex = 1; の手続きを >>866 の方法で行うことにしたら、正常に動作するようになりました。
0878デフォルトの名無しさんNGNG
キャッシュのすべてのエントリを取り出す方法はありませんでしょうか?
nsICacheServiceにvisitEntriesなるメソッドがあったりしますが…。
0879デフォルトの名無しさんNGNG
>>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か…
0880878NGNG
>>879
すげえ、できました!感動です。
0881デフォルトの名無しさんNGNG
XBL から外部の、例えば hoge.js を読み込む方法はありませんでしょうか?
0882デフォルトの名無しさんNGNG
xul の名前空間指定しておいて
<xul:script src="..."/> とか >>242-246 の mozIJSSubScriptLoader 使うとか。
chrome:// 内じゃないと無理だけど。
0883デフォルトの名無しさんNGNG
<xul:script src="..."/>はエグイな。
0884881NGNG
>>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>
0885デフォルトの名無しさんNGNG
Firefox用の拡張のロケールマニフェストに仕様変更があります。
http://www.saintpatrickdc.org/bsmedberg/register-locale.html
0886デフォルトの名無しさんNGNG
onkeypress とかのイベントハンドラでキー入力を検知できますが、
Input Method を使った(Atok,IME,ことえり,XIMとかの)日本語入力を検知する方法はありませんか?
0887デフォルトの名無しさんNGNG
>>886
C++とかでコードを書けば可能なのではないかと。
0888デフォルトの名無しさんNGNG
nsIDOMCompositionListenerをがんばって実装するしかないな。
http://lxr.mozilla.org/aviarybranch/source/dom/public/coreEvents/nsIDOMCompositionListener.h#54
0889886NGNG
nsIDOMCompositionListener::HandleEndComposition で処理できるように見えるけれども、
Components.interfaces.nsIDOMCompositionListener
が JavaScript で呼び出せないから、
Seamonkey の nsTypeAheadFind.cpp のように C++ でがんばるしかないようです。
http://lxr.mozilla.org/seamonkey/source/extensions/typeaheadfind/src/nsTypeAheadFind.cpp#127
0890デフォルトの名無しさんNGNG
インターフェイスをヘッダで定義してるのは、ネスケ時代の古いコードだね。
0891デフォルトの名無しさんNGNG
XULでファイルの圧縮はできますか?解凍はできそうなかんじですが。
0892デフォルトの名無しさんNGNG
できない。解凍はできる。
0893デフォルトの名無しさんNGNG
documentのHTMLソースを文字列として取得したいのですが、
document.getElementsByTagName("html")[0].innerHTMLの前後にHTMLタグをくっつける以外の方法はありますか?
0894デフォルトの名無しさんNGNG
XMLならnew XMLSerializer()のserializeToString()という手もありますが、
できればHTMLのまま取得したいです。
0895デフォルトの名無しさんNGNG
こんな方法もあったり。

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

ただ、このためだけに通信を行わなくてはならないのが難ですね。
0896デフォルトの名無しさんNGNG
>>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);
…
という方法で簡単にできたのですが…
0897デフォルトの名無しさんNGNG
>>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);
…
という方法で簡単にできたのですが…
0898デフォルトの名無しさんNGNG
fireftp(だったっけ? firefoxにFTPの機能を加えるやつ)のソースを覗くとわかるかも。
0899デフォルトの名無しさんNGNG
スクリプト上でどうやってバイナリを表現しているかにも拠りますが…

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

今日はnsIInputStreamの話ばっかりだな…
0900デフォルトの名無しさんNGNG
>>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) {
}
0901デフォルトの名無しさんNGNG
>>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) {
}
0902デフォルトの名無しさんNGNG
現在、Firefoxの拡張作成をちょこちょこ勉強しているのですが、
Tab,Windowの新規作成時のタイミングを得たいのですが、
試してみたaddEventListener("load",では"更新"にも反応してしまいます。
他に何か方法はありますでしょうか?
0903デフォルトの名無しさんNGNG
>>902
window.addEventListener('load', listener, false)

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

とりあえず、ここのLogに残ってるLinkを少しづつ読んでいって
もう少しましな知識をつけたいと思います。
0905デフォルトの名無しさんNGNG
このスレが900まで伸びるとは…
0906デフォルトの名無しさんNGNG
Firefox 1.0記念age
0907デフォルトの名無しさんNGNG
flyson氏もplus7氏もやめちゃって、潰える予感
0908デフォルトの名無しさんNGNG
>plus7氏もやめちゃって
誰が何をやめたんですか?
0909デフォルトの名無しさんNGNG
FIreFoxの検索窓を記述するにはどうしたらいいですか?
0910デフォルトの名無しさんNGNG
chrome://browser/content/browser.xulを見てみたらどうです?
0911デフォルトの名無しさんNGNG
gecko を lisp でコントロールしたいです
0912デフォルトの名無しさんNGNG
>>908
Geckoタブブラウザ Bagel 〜ベーグル〜
http://pc5.2ch.net/test/read.cgi/software/1093876991/
>>911
Geckoベースのブラウザを作ろう。
http://pc5.2ch.net/test/read.cgi/tech/1023546699/
0913デフォルトの名無しさんNGNG
Firefoxの拡張って開発中はどこに置いとけばいいんですか?
XULチュートリアルにあるように /chrome の下に置いて
installed-chrome.txt 書き換えて再起動しても読み込まれてない
みたいなんですが…
chrome URL で直接呼び出すとちゃんと出てくるので
文法エラー等はないはずです。
0914デフォルトの名無しさんNGNG
XULのキャッシュが効いている可能性大では?
about:configからnglayout.debug.disable_xul_cacheをtrueにしてみてください。
0915デフォルトの名無しさんNGNG
>>914
だめでした。何でじゃー

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

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

あと、Tourisugari氏のコードもきれいです。
0924921NGNG
>>922ー923
ありがとうございます
さっそく始めてみます
0925921NGNG
元のチュートリアルが結構up-to-dateだったので
こちらを読んでみます。
http://xulplanet.com/tutorials/whyxul.html
0926921NGNG
すいません
こっちでした
http://www.xulplanet.com/tutorials/xultu/
0927デフォルトの名無しさんNGNG
ああ、そうそう、英語でいいならぜひそちらを。
0928913NGNG
>>916
一回削除したはずだったのですが
もう一度削除してやり直したらうまくいきました。
ありがとうございます。
0929デフォルトの名無しさんNGNG
Firefoxの拡張のお作法についてcurrent practiceをまとめたページはないですか?
*.xulとか*.jsは書けたのですが、それをxpiにするにはどういうファイルを
用意するかとか、xpi/jar内部のディレクトリ構成とかについて
ちゃんと書いてあるページが知りたいです。
一応、自分が使ってる拡張のソースを参考に見様見真似でinstall.rdfや
install.jsを書いたのですが。
あと拡張の更新情報のためにwebに載せるRDFファイル(update.rdf?)の書き方も。
0930デフォルトの名無しさんNGNG
>>929
http://www.bengoodger.com/software/mb/extensions/packaging/extensions.html
かなぁ。
もっとちゃんとしたドキュメントがあるかもしれない。
0931デフォルトの名無しさんNGNG
http://www.mozilla.org/projects/firefox/extensions/packaging/extensions.html
は?
0932929NGNG
>>930,931
おお、まさにこれです。ありがとうございます。

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

ちなみに自分もただいま勉強中です。
やっとこさ、Firefox 0.8系の拡張を1.0でInstall/Uninstallができる様になった
ところで、最近、少しづつ中身を書いております。
自分のやりたいことをGoogleで調べながら書いてますが
だいたい、上記の和訳かXULPlanetかPiro氏のページに飛びますね。
ここ共々お世話になっております。
0935デフォルトの名無しさんNGNG
Mozillaの履歴の情報をIEのWinInetのように
外部から操作することはできますか?
XULアプリからでもかまいません
0936デフォルトの名無しさんNGNG
ttp://www.xulplanet.com/references/xpcomref/xpcomref1.0/nsIGlobalHistory.html
ttp://www.xulplanet.com/references/xpcomref/xpcomref1.0/nsISHistory.html
ttp://www.xulplanet.com/references/xpcomref/xpcomref1.0/nsIBrowserHistory.html
XULアプリならこのあたりで操作できます。
0937デフォルトの名無しさんNGNG
>>935
具体的には
var history = Components.classes["@mozilla.org/browser/global-history;2"].
getService(Components.interfaces.nsIGlobalHistory);
history.removeAllPages(); //← >>936 の nsIGlobalHistory.html参照
のように使う。rdf:history というRDFデータベースとしても利用できたはず。
0938デフォルトの名無しさんNGNG
http://mozdev.org/bugs/show_bug.cgi?id=6514
RSSフィードのLink要素などの中に&amp;や&#039;が含まれていても
デコードすべきところでしてくれないてバグだが、拡張機能Sageだけじゃなく
Firefox1.0のライブブックマークにも同じ症状があるぽいよな…
仮に変換だけ実装しても脆弱性起こしそうだし、これはどう直すべきなんだろう。
自分はXULも何もさっぱりなので手も足も出ないがorz
0939デフォルトの名無しさんNGNG
>>938
本当にそんなバグがあるんだったら、
とりあえず、bugzilla.mozilla.orgの方を探してみた方がいいと思うよ。
0940938NGNG
>>939
そういやそうだったな。
とりあえずライブブックマークの方に該当すると思われるバグはこれ。
https://bugzilla.mozilla.org/show_bug.cgi?id=252147
0941デフォルトの名無しさんNGNG
>>940
そのバグで報告されているリンク先は
&amp;となっているので、まともなxmlじゃないと思う。
0942デフォルトの名無しさんNGNG
あ、やられた…
&amp;amp;ね。
0943デフォルトの名無しさんNGNG
0944デフォルトの名無しさんNGNG
二つのRDFをメモリー上で一緒にするスマートな方法ってありませんか?
0945デフォルトの名無しさんNGNG
一緒にするとは?
0946デフォルトの名無しさんNGNG
合成ってことです。
nsIRDFCompositeDataSourceはnsIRDFDataSourceから作れないようなので
0947デフォルトの名無しさんNGNG
var myCDS = Components.classes['@mozilla.org/rdf/datasource;1?name=composite-datasource'].createInstance(Components.interfaces.nsIRDFCompositeDataSource);
myCDS.AddDataSource(myDS1);
myCDS.AddDataSource(myDS2);
ではダメですか?
0948デフォルトの名無しさんNGNG
どちらかと言うと片方のRDFに別のRDFを合成して、OKを押したら合成後のRDFをflushさせて書き出したいんですよね。
まぁrdfのテンポラリファイルを作るか、すべてのリソースを移動すればいいんですけどね
0949デフォルトの名無しさんNGNG
RDFとして扱わずに単純なXMLとして操作してはどうだろう
0950デフォルトの名無しさんNGNG
うほっ良スレ!
0951デフォルトの名無しさんNGNG
http://xulplanet.com/downloads/rdfds/rdfds.js
の copyAllToDataSource とかかな。
0952デフォルトの名無しさんNGNG
>>949
それは昔やってました。
thunderbirdでdocument.evaluateが使えなくRDF化している最中でつまずきました

>>951
それを使えばできそうですね。
ありがとうございます
#というかこんな物があったなんてorz
#独自でラッピング(?)してました。
0953デフォルトの名無しさんNGNG
バリバリにグローバルつかってるのは、
overlayした時に不便だから、結局自分で手書きした方が楽なんだよねぇ。
0954デフォルトの名無しさんNGNG
もう一個質問いいですか?
Seqが削除できません。
Unassertで関連を切っても残ってしまいます。
何か方法ありませんか?
#それともこっちのミスかなぁ
0955デフォルトの名無しさんNGNG
>>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) {
}
}
みたいにすれば消えるはず
0956デフォルトの名無しさんNGNG
それしてるんですよね。
Seqの中身をすべて削除してunassertしても空のどことも関連がないSeqが残ってしまいます。
#やっぱコードのミスかなぁ
0957デフォルトの名無しさんNGNG
>>956
スクリプトのどこかにミスがあって二重にassertしてるのでは?
>>955の
value = ds.GetTarget(node, key, true);
の代わりに、GetTargetsで全てのノードを取り出してunassertすれば
より確実だと思うけど、野暮ったいから自分のスクリプトではやってない。
0958デフォルトの名無しさんNGNG
assertはしてないです。
元からあるRDFを関数再起呼び出しでunassertするだけなんですが…
GetTargetsでも一つしか帰ってこない気がします。
もしかして削除の順番とかが関係するんでしょうか?
0959デフォルトの名無しさんNGNG
>>955 とか idl 見て今気づいたんだけど、Unassert って引数 3 個だったんだ。

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

0967966NGNG
955じゃなくて>>959だった。
0968デフォルトの名無しさんNGNG
XULWiki 発見!
http://wiki.fdiary.net/xul/
0969デフォルトの名無しさんNGNG
GJ
0970デフォルトの名無しさんNGNG
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);
0971デフォルトの名無しさんNGNG
.createInstance().QueryInterface(Components.interfaces.nsIMsgQuote);
->
.createInstance(Components.interfaces.nsIMsgQuote);
0972デフォルトの名無しさんNGNG
つーか、どこで死ぬのかわからないってことは、
これからも手探りでやるつもり?
自分には無理だ…
0973デフォルトの名無しさんNGNG
>>971
ありがとう。でも結果同じでやっぱり死んじゃう。・゚・(ノ∀`)・゚・。

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

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

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

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

0979デフォルトの名無しさんNGNG
そういった親切なリファレンスはないので、
似たようなことをやってる拡張を探して中身を見るのがてっとりばやいのでは?
0980デフォルトの名無しさんNGNG
やっぱりそうですよね。どうもありがとうございました('A...
0981デフォルトの名無しさんNGNG
>>980
あなたが親切なリファレンスを書くとみんなが幸せになれる
0982デフォルトの名無しさんNGNG
>>981
今私もいつかそういう手順を説明した文章を書こうかなと思ってたところです。('...
0983975NGNG
ここがなかなか参考になりそうな予感がします。
http://www.mozilla-japan.org/docs/tutorials/tinderstatus/
0984デフォルトの名無しさんNGNG
RDFの個々の要素についての資料が全然見つからないんですが、
どこかにありますか?
0985デフォルトの名無しさんNGNG
個々の要素とは?
0986デフォルトの名無しさんNGNG
たとえば、他の人が書いたコードを読んでいて、

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

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

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

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



0992デフォルトの名無しさんNGNG
XULってエックスユーエルって読むんじゃねーのかよ!ヽ(`Д´)ノ
0993デフォルトの名無しさんNGNG
XULの読みはズールじゃなくて、クスールだろ?
でも、Xylitolはキシリトールじゃなくて、ザイリトールだ。
0994デフォルトの名無しさんNGNG
↓次スレたのむ
0995デフォルトの名無しさんNGNG
↑テンプレ頼む
0996デフォルトの名無しさんNGNG
責任の擦り付け合い乙
0997デフォルトの名無しさんNGNG
テンプレ必要か?
0998デフォルトの名無しさんNGNG
んじゃ俺がテンプレなしで立てるぞ
0999デフォルトの名無しさんNGNG
Mozillaでプログラミング(XUL) その2
http://pc5.2ch.net/test/read.cgi/tech/1102172958/
1000デフォルトの名無しさんNGNG
ume
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。