たまに18歳未満の人や心臓の弱い人にはお勧めできない情報が含まれることもあるかもしれない、甘くなくて酸っぱくてしょっぱいチラシの裏。RSSによる簡単な更新情報を利用したりすると、ハッピーになるかも知れませんしそうでないかも知れません。
の動向はもえじら組ブログで。
宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能!
I wonder if you consider integrating Tab Mix Plus into Tree Style Tabs? Not all of Tab Mix Plus but just the opening/closing/focus behavior (under "events" options of Tab Mix Plus)?
There is a lot of interaction between Tree Style Tabs and Tab Mix Plus. Some things don't work correct because Tab Mix Plus is very slow to update. For example, "duplicate tab" used to work in firefox 3.0, but in 3.5 it doesn't work right and Tab Mix Plus had not fixed it (the error is that the duplicate tab gets stuck in middle of tree).
Also Tab Mix Plus doesn't have enough options to give good control over Tree Style Tabs. So maybe it's better if Tree Style Tabs has own options.
Could you copy Tab Mix Plus code for opening/closing/focus, then add some new options for Tree Style Tab? For example:
Tab Mix Plusをツリー型タブに統合するつもりはないでしょうか? TMPの全機能でなくとも、単にタブを開く・閉じる・フォーカス関係の挙動(TMPの設定の「イベント」パネルにある機能)だけでもいいんですが。
ツリー型タブとTMPの間には互換性がありますが、TMPの更新が非常に遅いため、いくつかの機能は正常に機能しません。例えば、「タブの複製」はFirefox 3.0では動いていましたが、Firefox 3.5では正常に機能せず、TMPはまだその問題を解決できていません(複製されたタブがツリーの真ん中に現れてしまうという問題があります)。
また、TMPはツリー型タブの挙動を制御するのに十分な数の設定項目を備えていません。ツリー型タブ自体がそのような設定項目を備えることが望ましいのではないでしょうか。
タブを開く・閉じる・フォーカス関係のTMPのコードをコピーして、ツリー型タブに新しい設定項目を加えてもらえないでしょうか? 例えば……
Thank you for interesting idea. To be honest, I received some similar suggestions about tab focus of Tree Style Tab. However, I couldn't agree them because I hope to keep Tree Style Tab as simple as possible.
There are three reasons why I implemented only minimal options about tab focus.
1) Very special behavior, "focus to last selected tab when the current tab is closed" is available with known tiny addon, "Focus Last Selected Tab". So I'm recommending people to use the addon with TST. (BTW, Focus Last Selected Tab 0.9.x doesn't work with TST correctly, so I'll update TST as soon.)
2) For other cases, I don't agree to add "focus to upper (left) tab" option, because it was the default behavior of old Mozilla and it was "fixed" by usability reason. See bug 123563.
3) As you know, too many options for detailed cases will confuse people including me. So I have to make effort to reduce checkboxes, radiobuttons, and so on. Then, TST already have options to customize behavior of re-structuring tree after the current "parent" tab. I'm using the choice "raise the first child up to the new parent", but people can use others. How to unify options for two features, re-structuring and focusing? I cannot imagine to do it in the small dialog...
Anyway, this is only my policy, not the best answer. If people really want options for the feature, I hope that TST is extended by other developers like Tab Mix Plus born from Tab Mix.
興味深い意見をありがとうございます。正直に言うと、この手の提案は他にもたくさん受けています。しかし、私はツリー型タブを可能な限りシンプルに保ちたいので、これらの提案には同意できません。
タブのフォーカスに関して最小限の設定項目だけしか設けていないのには、以下の3つの理由があります。
1) 「現在のタブを閉じた時に、最後に選択されていたタブにフォーカスする」という非常に特殊な挙動は、既存のよく知られたアドオンFocus Last Selected Tabで実現できます。なので私は、それとツリー型タブを使うことをお勧めしています。(ちなみに、Focus Last Selected Tab 0.9.xはツリー型タブと組み合わせると期待通りには動きません。この点についてはなるべく早くツリー型タブを更新するつもりです。)
2) それ以外の挙動について、私は「現在のタブを閉じた時に、上(左)のタブにフォーカスする」という設定項目を設けることには同意しません。なぜなら、その挙動は古いMozillaの既定の挙動であったものの、利便性の観点から「(問題であるという認識の上で)修正された」からです。詳しくはbug 123563を見て下さい。
3) 言うまでもなく、詳細な場合ごとの過剰な数の設定項目は、私を含めてユーザを混乱させます。なので私は、チェックボックスやラジオボタンなどの数を減らす努力をしないといけません。ツリー型タブはすでに、親タブを閉じた後のツリーの再構築についての設定項目を備えています。私は「最初の子を新しい親にする」という選択肢を使っていますが、他の人は別の選択肢を使っているかもしれません。これら2つの機能(親タブを閉じた時のツリーの再構築と、現在のタブを閉じた時のフォーカスの移動)の設定項目をどのように統合すればいいでしょうか? 私には、それを小さなダイアログの中でやってのける様子が想像できません。
ともかく、これはあくまで私のポリシーであって、最良の答えというわけではありません。もしみんなが本当にその機能のための設定項目を必要としているのなら、Tab MixからTab Mix Plusが生まれたように、他の開発者の人がツリー型タブをさらに拡張してくれることに、私は期待します。
英語でどう書けばいいのか分からなかったんでこういう書き方になったけど、ぶっちゃけ、「カスタマイズのためのチェックボックスやドロップダウンリストは多ければ多いほどいい」という発想には反吐が出る。そういうことは隠し設定で十分だろ、と。about:configでやりゃいいだろ、と。何でもかんでもダイアログの中に詰め込むという発想は、僕がかつて取り憑かれそして我が身を滅ぼすに至った忌むべき考え方だ、と僕は認識している。
マルチプルタブハンドラではタブを選択した後に「すべてのURIをコピー」で選択したタブのURIをコピーすることができて、その時の形式を「URIだけ」「タイトルとURI」「HTMLのリンク」の3種類から選べるようになってたんだけど、今回のバージョンアップで、ここにさらにユーザが好みの形式を追加できるようにしてみた。ついでにマイナーバージョンも1つ上げてみた。
プレースホルダにはCopy URL +と同じものを利用できる(ツールチップの説明には書いてないけど%LOCAL_TIME%
と%UTC_TIME%
も使える)。自分は以下のものを追加して使ってる。
<li><a href="%URL_HTMLIFIED%">%TITLE_HTMLIFIED%</a></li>
[%TITLE_HTMLIFIED%](%URL_HTMLIFIED% "%TITLE_HTMLIFIED%")
* [%TITLE_HTMLIFIED%](%URL_HTMLIFIED% "%TITLE_HTMLIFIED%")
((<%TITLE_HTMLIFIED%|URL:%URL_HTMLIFIED%>))
* ((<%TITLE_HTMLIFIED%|URL:%URL_HTMLIFIED%>))
[[%TITLE_HTMLIFIED%|%URL_HTMLIFIED%]]
* [[%TITLE_HTMLIFIED%|%URL_HTMLIFIED%]]
WeaveはFirefox 3.0じゃ動かないからってことでわりかしスルーしてたけど、Firefox 3.5正式版が公開されて自宅のWindows Vistaと会社のWindows Vistaのメイン環境が両方ともFirefox 3.5になったんだからってことで、改めて入れ直してみた。
おー、確かに同期されてる。
フォームの入力履歴やパスワードマネージャの内容も同期されてるはずだけど、実感できるケースにまだ遭遇してない。
デフォルトではMozillaが提供してるサーバに情報を保存するようになってるけど、サーバ側のソースとセットアップ手順も公開されてるので、心配なら自分でサーバ立てることもできるようだ。機械があればチャレンジしてみたい。
nsIZipWriterを使えばアドオンでZIPアーカイブを作れるということを割と最近になってやっと知ったので、アドオンのXPIへのパッケージングまで全部アドオンでできるやん!と思ったんだけど、使い方がよく分からんかったので、実験と練習もかねてコンテキストメニュー拡張の短縮構文で使える汎用的な処理を書いてみた。
要点だけ抜き出すとこんな感じ。
// aSources = nsIFileの配列
// aZipFile = 作るZIPアーカイブのnsIFile
// aCompressionLevel = 圧縮率(0で無圧縮、9で最大圧縮、デフォルトは6)
zipFilesAs : function(aSources, aZipFile, aCompressionLevel)
{
// Firefox 3以降じゃないと動かないよ!
if (!('nsIZipWriter' in Components.interfaces))
throw Components.results.NS_ERROR_NOT_IMPLEMENTED;
if (!aSources || !aSources.length || !aZipFile) return;
if (aZipFile.exists() && !this.isZipFile(aZipFile))
aZipFile.remove(true);
const PR_RDWR = 0x04;
const PR_CREATE_FILE = 0x08;
const PR_APPEND = 0x10;
const PR_TRUNCATE = 0x20;
var writer = Components
.classes['@mozilla.org/zipwriter;1']
.createInstance(Components.interfaces.nsIZipWriter);
if (aCompressionLevel === void(0))
aCompressionLevel = writer.COMPRESSION_DEFAULT;
// 新規ZIPアーカイブと既存のZIPアーカイブではフラグが違う
var flags = aZipFile.exists() ?
PR_RDWR | PR_APPEND :
PR_RDWR | PR_CREATE_FILE | PR_TRUNCATE ;
writer.open(aZipFile, flags);
aSources.forEach(function(aFile) {
var entry = this+aFile.leafName;
// フォルダに対応するエントリの有無を調べる時は、
// エントリ名の末尾に「/」が必要
var entryForCheck = aFile.isDirectory() ? entry+'/' : entry ;
// すでにあるエントリで、フォルダではない物は削除。
// (フォルダを削除しないのは、内容をマージするため)
if (!aFile.isDirectory() && writer.hasEntry(entryForCheck))
writer.removeEntry(entry, false);
// 新しいエントリを追加
if (!writer.hasEntry(entryForCheck))
writer.addEntryFile(entry, aCompressionLevel, aFile, false);
if (aFile.isDirectory()) {
var files = aFile.directoryEntries;
while (files.hasMoreElements())
{
arguments.callee.call(
entry+'/',
files.getNext().QueryInterface(Components.interfaces.nsILocalFile)
);
}
}
}, '');
writer.close();
},
// ファイルの内容を実際にZIPアーカイブとして読んでみて、ZIPアーカイブかどうか調べる
isZipFile : function(aFile)
{
var isZip = false;
if (!aFile || !aFile.exists()) return isZip;
var reader = Components
.classes['@mozilla.org/libjar/zip-reader;1']
.createInstance(Components.interfaces.nsIZipReader);
try {
reader.open(aFile);
try {
var entries = reader.findEntries('*');
while (entries.hasMore())
{
entries.getNext();
isZip = true;
break;
}
if (!isZip) {
entries = reader.findEntries('*/');
while (entries.hasMore())
{
entries.getNext();
isZip = true;
break;
}
}
}
catch(e) {
}
reader.close();
}
catch(e) {
}
return isZip;
},
マルチプルタブハンドラが入ってるとReload Tab On Double-Clickが機能しなくなるという問題について調べてみた。
調べた限りでは、この問題はマルチプルタブハンドラに限らず、タブのバインディングがデフォルトの物から変更されていると起こりうる物のようだ。マルチプルタブハンドラと同じバインディングを使うツリー型タブも情報化タブもそうだし、バインディングを使ってスライスされた画像を貼り付けているサードパーティ製テーマでも起こりうる。
Reload Tab On Double-Clickの「ダブルクリックがタブの中で行われたかどうか」の判定箇所で、「イベントが発行された元々のノードまたはその親がタブかどうか」しか確認されていないためにこの問題が起こっているので、ここをいじって「イベントが発行された元々のノードの祖先にタブがあるかどうか」を見るようにすれば、問題は解決される。例えば以下のような感じ。
e.originalTarget.ownerDocument.evaluate(
'ancestor-or-self::*[local-name()="tab"]',
e.originalTarget,
null,
XPathResult.BOOLEAN_TYPE,
null
).booleanValue
ということで作者のkyoさんに連絡はしておいた。後はどうなるかシラネ!
理由はいくつかある。
やるんならCtrl-Tabの方にコミットする方が現実的だと思う。使う人もとっとと乗り換えといた方がいいんじゃないの? それか、どうしても必要なのであれば、Ctrl-Tabに対してさらに機能を拡張してタブカタログ相当の機能を加えるという方向もありかもしれない。
Glasser 1.1.1はFirefox 3.1ベータ版までの対応となってるけど、Firefox 3.5正式版でも正常に動く。ただし、ロケーションバー左端の丸い部分が変なことになる。以下は、それをuserChrome.cssでそれっぽく整形するルール。
#urlbar {
-moz-border-radius: 11px 0 0 11px !important;
}
#urlbar > hbox {
margin-left: 5px !important;
}
#identity-box {
margin-left: -7px !important;
}
みんなもGlasser使うといいよ!
レビューガイドライン :: Firefox Add-onsが日本語に訳されてなかったのでがっくり来て、なんとか読み解いてみた。
最後まで読んでみて思ったこと:誰もガイドライン守ってなくね?
アドオンのレビューは、アドオンサイト(AMO)のユーザがインストールして使っているアドオンについて、意見を共有するための手段です。編集者(エディタ)は、このガイドラインに従っていないレビューを拒否したり削除したりする権限を持っています。
アドオンの評価は、公正で且つ、総合的な品質と便利さを示すための指標を示す物であるべきです。そのアドオンが単に好きだから5つ星を付けたり、単に嫌いだから星を1つだけ付けたり、といった評価をしないで下さい。あらゆるレビューにおいて、一貫した評価付けは重要な点です。
完全な、あるいは非常に詳細なレビューを書くことがどうしてもできないのでなければ、何故その評価を下したのかを示して下さい。何も説明が付いていないと、評価の星は何の意味も持ちません。
I noticed that you have added support for dummy tabs to group tabs when opening multiple links from the bookmarks menu. This is very close to a feature that I've wanted since I began using this extension a few months ago: to have general dummy tabs available so that I can create and name a dummy tab from the tab bar context menu.
Is it possible to implement this?
ブックマークメニューから複数のページをタブで開く時に、それらをグループ化するための物として、ダミーのタブがサポートされましたよね。これは、私がこのアドオンを使い始める前に求めていた機能にとても近いです。その機能とは、タブバーのコンテキストメニューから任意にこのようなダミーのタブを開き、自由に名前を付ける事ができるというものです。このような機能を実装してくれませんか?
On Tree Style Tab 0.7.2009071001, I made dummy tabs customizable. To change the name of an existing dummy tab, switch to the tab and click the label in the content area (or double-click on any position in the content area). It possibly helps you that you create a bookmark for "about:treestyletab-group?(new group)" and put it in the bookmark toolbar.
ツリー型タブ0.7.2009071001において、ダミーのタブをカスタマイズできるようにしました。既にあるダミーのタブの名前を変えるには、そのタブに切り替えて、内容領域のラベル文字列部分をクリックしてください(または、内容領域のどこか適当な所でダブルクリックしてください)。「about:treestyletab-group?(new group)」というURIのブックマークを作成してブックマークツールバーに置いておくと、あなたの助けになるのではないでしょうか。
ツリー絡みの機能ではないので、「ダミーのタブを開くための機能」は付けない予定。なのでブックマーク等で代用してもらう必要がある。
実装の仕方は、「about:treestyletab-group」というabout: URLを使えるようにするためのコードと、表示する内容の実体と、スタイル定義を見ると分かると思う。XHTMLの名前空間のlink要素を埋め込んでfaviconを変えるとかの姑息なテクニックを使ってます。Firefox 3.5でサポートされた-moz-transformは今回初めて使った。
I can't tune firefox for force opening links from bookmarks with left-click always in new tab. Tab Mix Plus have this option in Settings, but your extension didn't have. Can I tune your extension to enable opening new tab from bookmarks via left-click?
Firefoxでブックマークを左クリックした時に常に新しいタブで開くようにしたいです。Tab Mix Plusにはその設定がありますが、あなたのアドオン(ツリー型タブ)にはありません。そういう設定ができるようになりませんか?
Sorry, I have no plan to add features not related to "tree" to Tree Style Tab... Instead, it is designed to work with other tiny addons together, so I hope you use TST with other addons.
BTW, Open Bookmark in New Tab does it.
ツリーと関係ない機能をツリー型タブに加える予定はありません。その代わりに、ツリー型タブは他の小さなアドオンと協調して動作するように作られていますので、他のアドオンと組み合わせて使ってください。
ちなみに、ブックマークを新しいタブで開くはそのためのアドオンです。
この要望は非常に多い。もはや定型文。