■シーモンキー(SeaMonkey)をカスタマイズ

みなさんは、シーモンキーをカスタマイズしてますか? ファイアーフォックスやサンダーバードとおなじく、シーモンキーだって、いろいろなカスタマイズが可能です。なんというか、カスタマイズのしがいがあるソフトですよね。

ここでは、シーモンキーの

について、ざっくりと紹介していきましょう。

なお、みためや動作をカスタマイズするにあたっては、XUL(ズール=シーモンキーやファイアーフォックスなどのユーザーインターフェース記述言語)、CSS、JavaScriptの知識がある程度、必要です。このあたりはみなさん自身でなんとかしていってください。わたしは“みようみまね”レベルのユーザーにすぎませんから。

1. アドオン・完全テーマでのカスタマイズ

いちばんてがるなカスタマイズ方法は、設定をかえるアドオンや、みためをかえる完全テーマをつかうことでしょう。設定をかえるアドオンとしては「モンキーフィックス」(MonkeyFix)、みためをかえる完全テーマとしては「Firefox 3 theme for SeaMonkey」をあげておきましょう(ちなみに、どちらもおなじひと、ジェレミー・モートンさんがつくっています)。

◆モンキーフィックス(MonkeyFix)

モンキーフィックスは、「MonkeyFix :: Add-ons for SeaMonkey」から、インストールしてください。

再起動したら、メニューの[ツール]→[アドオンマネージャ]→[拡張機能]をえらんで、モンキーフィックスの「設定」ボタンをおしましょう。

「Configure source viewer」をおすと、外部のソースビューアーをえらべるようになります。

ほかには、

といった設定が可能です。これくらいの英語ならだいじょうぶ、というひとはつかってみてください。

なお、設定画面はたてにながいので、ひょっとしたら、下がきれるかもしれません。そういう場合は、[Tab]や[Shift]+[Tab]でフォーカスを移動してください。いちばんうえの「About」にフォーカスがある状態で[Shift]+[Tab]を2回おすと、「Apply」ボタンにフォーカスが移動します。ここで[Enter]をおすと、設定が適用されます。

◆Firefox 3 theme for SeaMonkey

かずすくないシーモンキー用完全テーマの1つ、Firefox 3 theme for SeaMonkeyは「Firefox 3 theme for SeaMonkey :: Add-ons for SeaMonkey」から、インストールしてください。

再起動すると、かつてのファイアーフォックスユーザーにはなつかしい(?)みためになりました。もっとも、ブラウザー以外のみためについてはあまりかわってないのが、残念なところですね(まあ、だからこそ「Firefox 3 theme〜」というなまえなんでしょう)。

てきとうな完全テーマをベースにして、あとはユーザースタイルを駆使してカスタマイズする、というやりかたもあるでしょう。実際にわたしは、このFirefox 3 theme for SeaMonkeyを、カスタマイズのベースにしています。クラシック表示ということもあって、まあ、ふるくさいみためですね。

2. 設定のカスタマイズ

シーモンキーは、メニューの[編集]→[設定]からたくさんの項目を設定できます。でも、「about:config」の設定エディターで設定したいこともあるでしょう。設定エディターをつかうような設定項目は、あらかじめ「user.js」にまとめておくと便利です。

◆user.jsファイルをつくる

てきとうなテキストエディターで、ファイルのなまえを「user.js」、文字コードを「BOMなしUTF-8」にして、プロファイルフォルダーに保存します。かきこむなかみは、こんな感じ。

/*
  設定ファイル
*/
//user_pref("設定名", 値);

「/* 〜 */」の部分と「//」の行はコメントです。「/* 〜 */」は複数行を、「//」は1行だけをコメントにします。コメント部分は設定に影響しません。各種の設定は「user_pref("設定名", 値);」という書式でかいていくことになります。

user.jsにかいた設定は、シーモンキーによみこまれて、おなじプロファイルフォルダーの「prefs.js」というファイルにかきこまれます。user.jsの設定をデフォルト値にもどしたいときは、つぎのようにしてください。

念のため「about:config」で設定エディターをひらいて、もとにもどっているかどうか、確認するといいでしょう。

◆user.jsの例

わたしのuser.jsは、いまのところ、以下のようになっています。ファイアーフォックス用のuser.jsにくらべると、設定項目はずいぶんすくなくなりました。

//-------------------------------------------------------------------
// タブ
//-------------------------------------------------------------------
/*
  検索バーからの検索結果
    true: 新しいタブで開く
    false: 現在のタブで開く (デフォルト)
*/
user_pref("browser.search.openintab", true);
/*
  最後のタブを閉じたとき
    true: ウィンドウを閉じる (デフォルト)
    false: ウィンドウを閉じない
*/
user_pref("browser.tabs.closeWindowWithLastTab", false);
/*
  タブのコンテキストメニューで「他のタブを閉じる」をえらんだとき
    true: 警告する (デフォルト)
    false: 警告しない
*/
user_pref("browser.tabs.warnOnCloseOther", false);
/*
  タブをたくさん開いたときに
    true: 警告する (デフォルト)
    false: 警告しない
*/
user_pref("browser.tabs.warnOnOpen", false);
//-------------------------------------------------------------------
// プライバシー・セキュリティ関連
//-------------------------------------------------------------------
/*
  位置情報通知機能
    true: 有効 (デフォルト)
    false: 無効
*/
user_pref("geo.enabled", false);
//-------------------------------------------------------------------
// いろいろ
//-------------------------------------------------------------------
/*
  署名のうえのくぎりマーク
    true: つけない
    false: つける (デフォルト)
*/
user_pref("mail.identity.default.suppress_signature_separator", true);
/*
  受信メールの引用部分の記号
    true: | (デフォルト)
    false: >
*/
user_pref("mail.quoted_graphical", false);
/*
  タスクバーのシーモンキーアイコンに表示される項目
    true: ひらいているタブ+ひらいているウィンドウ (デフォルト)
    false: ひらいているウィンドウ
*/
user_pref("browser.taskbar.previews.enable", false);
/*
  検索バーにフォーカスがあるときの検索エンジン名
    true: 表示する (デフォルト)
    false: 表示しない
*/
user_pref("dom.placeholder.show_on_focus", false);
/*
  たてキースクロールの行数
    3: (デフォルト)
*/
user_pref("toolkit.scrollbox.verticalScrollDistance", 6);
/*
  http通信の最大接続数
    256: (デフォルト)
*/
user_pref("network.http.max-connections", 48);

3. みためのカスタマイズ

ここでいう「みため」は

を意味しています。どちらのみためも、「ユーザースタイルシート」をつかってカスタマイズします。ユーザースタイルシートは、「スタイリッシュ」(Stylish)というアドオンで管理するといいでしょう。

◆スタイリッシュ(Stylish)をつかう

スタイリッシュは、「Stylish :: Add-ons for SeaMonkey」から、インストールしてください。

再起動したら、メニューの[ツール]→[アドオンマネージャ]→[ユーザースタイル]をえらびます。「新しいスタイルを書く」ボタンをおすと、ユーザースタイルシートをかくことができます。

【シーモンキーのみためをカスタマイズする】

「新しいスタイル」の「挿入」ボタンをおして、「XUL名前空間を標準とする」をえらびます。「@namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);」という文字が挿入されました。これは、シーモンキーのみために関する記述だという意味。このあとに、実際のスタイルをかいていきます。

/* ステータスバーのアドレス帳アイコンを表示しない */
#mini-addr {
  visibility: collapse !important;
}

たとえばこんなふうにかいて、「お試し」ボタンをおすと……ステータスバーのアドレス帳アイコンがきえましたね。

「#mini-addr」がアドレス帳アイコンをあらわす「id」です。こういったインターフェースの要素をさがすには、シーモンキーに最初からはいっているアドオン「DOM Inspector」をつかいます。メニューの[ツール]→[Web開発]→[DOM Inspector]をえらんで、たちあげてください。

要素をさがす手順としては、こんな感じですね。

DOM Inspectorのつかいかたなどについては、「DOM Inspector | MDN」をどうぞ。

【シーモンキーで表示しているページのみためをカスタマイズする】

「新しいスタイル」の「挿入」ボタンをおして、「HTML名前空間を標準とする」をえらびます。「@namespace url(http://www.w3.org/1999/xhtml);」という文字列が挿入されました。これは、シーモンキーで表示しているページのみために関する記述だという意味。このあとに、実際のスタイルをかいていきます。

/* クルミノ コーボーの背景色をかえる */
@-moz-document url-prefix(http://homepage1.nifty.com/akshiba/) {
  body {
    background-color: #000000 !important;
  }
}

たとえばこんなふうにかいて、「お試し」ボタンをおすと……このサイトの背景色がかわりましたね。

「@-moz-document」には、つぎのような指定がつかえます。

「@-moz-document url-prefix(http://homepage1.nifty.com/akshiba/)」で、このサイトのページすべてについて指定しているわけです。

「background-color」などのかえたい要素については、やはり、DOM Inspectorをつかってさがすといいでしょう。手順としては、こんな感じですね。

◆ユーザースタイルをさがす

「userstyles.org」でさがすといいでしょう。userstyles.orgでは、スタイリッシュ経由でユーザースタイルシートをインストールできます。つまり「お試し」ができるので、便利なんですよね。

シーモンキーでも基本的に、ファイアーフォックス用やサンダーバード用のユーザースタイルシートがつかえますから、いろいろとためしてみてください。もしうまくいかなかったら、DOM Inspectorでしらべてみるようにしましょう。

◆ユーザースタイルをつくる

とりあえず、自作の(といっても、基本はきりばりですが)ユーザースタイルシートをあげておきます。てきとうにおつかいください。

4. 動作のカスタマイズ

ここでいう「動作」は

を意味しています。どちらの動作も、「ユーザースクリプト」をつかってカスタマイズします。

シーモンキーの動作にかかわるユーザースクリプトは、「ユーザークロームJS」(userChromeJS)というアドオンをつかってうごかします。

シーモンキーで表示しているページの動作にかかわるユーザースクリプトは、ユーザークロームJS用スクリプト「UserScriptLoader.uc.js」をつかってうごかします。

◆ユーザークロームJSをつかえるようにする

ユーザークロームJSは、「mozdev.org - userchromejs」から、インストールしてください。シーモンキーにも対応しているアドオンです。

ユーザークロームJSをインストールすると、プロファイルフォルダーに「chrome」フォルダーがつくられます。そしてchromeフォルダーに「userChrome.js」というファイルがつくられます。

このuserChrome.jsにスクリプトをずらずらとかきこんでいく……というのが本来のつかいかた。でもここでは、本来のつかいかたはしません。スクリプトが管理しづらくなるからです。したがってuserChrome.jsをべつのなまえ、たとえば「userChrome-example.js」などにかえておいてください。

【「userChrome.js」「000-windowhook.uc.js」「rebuild_userChrome.uc.xul」をコピー】

1スクリプト=1ファイルというかたちでスクリプトを管理するには、以下の3つのファイルが必要です。

これらはいずれも、「Alice0775」さんがつくっているユーザークロームJS用スクリプト。「alice0775/userChrome.js」へいって、「Download ZIP」ボタンをおしましょう。Alice0775さんのスクリプトが一括でダウンロードできます。

ダウンロードしたファイルは、「Alice0775.zip」などとリネームしてください。てきとうなフォルダーに解凍して、上記の3つのファイルをchromeフォルダーにコピーします。

以後、ユーザークロームJS用のスクリプトはchromeフォルダーにおいてつかうことになります。

Alice0775さんのuserChrome.jsは、2014年12月13日のバージョン以降、「userchrome.js-0.8.014121301-Fx31.xpi」が必要ということになっています。このxpiをつくるためのファイルは、Alice0775さんのサイトからダウンロードしたファイルのなかの「userchrome.js.xpi」フォルダーにはいっています。

xpiファイルは、以下のような手順でつくります。
・「components」フォルダーと、「chrome.manifest」「install.rdf」ファイルをひとまとめにしてzip形式で圧縮する
・圧縮したファイルの拡張子を「.xpi」に変更する

「mozdev.org - userchromejs」からインストールした「userChromeJS」を無効にしてから、作成したxpiファイルをシーモンキーのウィンドウにドラッグ&ドロップして、インストールしてください。

もっとも、もとの「userChromeJS」のままでも、問題なくうごくスクリプトもあります。このあたり、実際にためしてみてください。

【「UserScriptLoader.uc.js」をコピー】

表示しているページの動作にかかわるスクリプトをうごかすには、以下のファイルが必要です。

これは「Griever」さんがつくっているユーザークロームJS用スクリプト。「Griever/userChromeJS」へいって、「Download ZIP」ボタンをおしましょう。Grieverさんのスクリプトが一括でダウンロードできます。

ダウンロードしたzipファイルは、「Griever.zip」などとリネームしてください。てきとうなフォルダーに解凍して、上記のファイルをchromeフォルダーにコピーします。

コピーしたら、chromeフォルダーに「UserScriptLoader」フォルダーをつくってください。UserScriptLoader.uc.js用のスクリプトは、UserScriptLoaderフォルダーにおいてつかいます。

【シーモンキー用にかきかえる】

Alice0775さんの「userChrome.js」は、1カ所だけ、かきかえが必要です。以下のようにしてください。

  //var BROWSERCHROME = "chrome://browser/content/browser.xul"; //Firfox
  var BROWSERCHROME = "chrome://navigator/content/navigator.xul"; //SeaMonkey:

「chrome://navigator/content/navigator.xul」は、シーモンキーのインターフェースを記述したファイル。これを指定しないと、ユーザークロームJS用のスクリプトはうごかないんですね。

ですから、ユーザークロームJS用スクリプトで「// @include chrome://browser/content/browser.xul」などとあったら、「// @include chrome://navigator/content/navigator.xul」とかきかえてください。

あるいは、こんなふうにしてもいいでしょう。

// @include        main

「main」としておけば、Alice0775さんのuserChrome.jsで「chrome://navigator/content/navigator.xul」におきかえてくれます。

    *
ここまでの作業が終わったら、シーモンキーを再起動しましょう。

ユーザークロームJSと、Alice0775さんのuserChrome.jsなどが導入されていれば、メニューの[ツール]はこんなふうになります。また、GrieverさんのUserScriptLoader.uc.jsが導入されていれば、アドレスバーの右端にかみなりマークが表示されます。

◆ユーザークロームJS用スクリプトをつかってみる

【スクリプトをさがす】

ユーザークロームJS用スクリプトをさがすなら、まとめサイト「userChrome.js用スクリプト - wiki@nothing」が便利でしょう。さまざまなスクリプトが配布サイトごとにまとめられています。

【スクリプトのインストール・アンインストール】

スクリプトのファイルをchromeフォルダーに移動してください。シーモンキーをたちあげなおすと、そのスクリプトがつかえるようになります。

つかわなくなったスクリプトは、シーモンキーを終了してから、削除してください。

【スクリプトのかきかえ】

スクリプトは、テキストエディターなどで、かならずなかみをみておきましょう。先頭部分に、そのスクリプトについての説明がかいてあったりします。また、設定を自分でかきこまなくてはならないスクリプトもあります。

さらに、シーモンキー用に、かきかえが必要なスクリプトもあります。「// @include」部分だけならたいした手間じゃないんですが、シーモンキーとファイアーフォックスとでは、メニューのid、コマンドのなまえ……などに微妙なちがいがあるからです。

スクリプトの作者が、かならずしもシーモンキーをつかっているとはかぎりませんから、うごかないときは、自力でなおさなければなりません。このことをおわすれなく。

【スクリプトをつくる】

スクリプトは、文字コード「BOMなしUTF-8」のテキストファイルです。てきとうなテキストエディターで、ファイル名を「〜.uc.js」(なかみによっては「〜.uc.xul」)として保存すればいいでしょう。

スクリプトをつくるには、けっきょくのところ、XULやJavaScriptの知識が必要になります。すでにあるスクリプトをみながら、あれこれ試行錯誤していくしかないでしょう。

とりあえず、自作のスクリプト(といっても、基本はきりばりですが)をあげておきます。どれもシーモンキー専用です。てきとうにおつかいください。最初にかいたように、わたし自身は“みようみまね”レベルのユーザーにすぎないので、この程度のものをつくるのがやっと。うまくうごかないことがあるかもしれませんね(^^;。

◆UserScriptLoader.uc.js用スクリプトをつかってみる

【スクリプトをさがす】

UserScriptLoader.uc.jsはスクリプトをよみこむスクリプト。ファイアーフォックスのアドオン「グリースモンキー」(Greasemonkey)のユーザークロームJS版、といえます。実際、グリースモンキー用スクリプトのおおくがそのままつかえるようにつくられています。

グリースモンキー用スクリプトをさがすなら、「Greasy Fork」がいいでしょう。「userscripts.org」(http://userscripts.org/)が管理のゆきとどかない状況になったためにつくられたサイトです。

そんなわけで、userscripts.orgのスクリプトを利用する場合は、安全であるかどうか、よくたしかめることをおすすめしておきます。

なお、UserScriptLoader.uc.js用スクリプトは、表示しているページの動作にかかわるものですから、シーモンキーでつかうからといってかきかえる必要は(基本的に)ありません。

【スクリプトのインストール・アンインストール】

Greasy Forkには、「Install this script」というボタンがあるので、これをおしてみましょう。スクリプトのコードが表示されるので、メニューの[ファイル]→[ページを保存]をえらびます。これでスクリプトが保存されます。

保存したスクリプトは、UserScriptLoaderフォルダーに移動してください。移動したら、ロケーションバーのかみなりマークをホイールクリックするか、かみなりマークの右クリックメニューから[Menu]→[Rebuild]をえらびます。UserScriptLoader.uc.js用スクリプトがすべて再よみこみされて、移動したスクリプトがつかえるようになります。

つかわなくなったスクリプトは、削除してください。削除したら、[Rebuild]をおわすれなく。

【スクリプトをつくる】

スクリプトは、文字コード「BOMなしUTF-8」のテキストファイルです。てきとうなテキストエディターで、ファイル名を「〜.user.js」として保存すればいいでしょう。

ユーザークロームJS用スクリプトをつくるのとおなじように、すでにあるスクリプトをみながら、あれこれ試行錯誤してみてください。

とりあえず、自作のスクリプト(といっても、基本はきりばりですが)をあげておきます。まえにファイアーフォックス用にかいたものですが。てきとうにおつかいください。

    *
シーモンキーのカスタマイズについて、ざっくりと紹介してきました。みなさんがカスタマイズをしていくときのとっかかりになれば、うれしいかぎりです。