ニコニコ動画専用Opera

Operaはプロファイルフォルダを複数作成することにより異なる設定で起動することが可能になっている。これを利用してニコニコ動画を視聴することに特化したOperaを作るのが目的。

専用プロファイルを使用する上での問題点

  • 「標準のブラウザで開く」対策で、通常と専用プロファイルを常駐しなければならない。
  • 他のアプリケーションからURLを渡す際にAutoHotKeyを介するために少し遅い。
  • 他のアプリケーションからの大量のURLを専用プロファイルで同時に開けない。
    (URLを開くのにCtrl+Shift+Bを送っているので、同時に大量に発行するとキー入力が追いつかなくなって、取りこぼしが発生するため。)

お試し版(2008年8月28日)

すぐにニコニコ動画に特化したOperaを体験できるようにお試し版を用意してみたので、試してみたい方はこちらからどうぞ。

ニコニコ動画専用Opera お試し版

作業に入る前に

Operaはプロファイルを保存するフォルダが設定によって変わってしまう。

Operaをインストールしたフォルダ内にあるoperadef6.iniを開き、Multi Userが0になっている場合はOperaをインストールしたフォルダ。そうでないならWindowsのアプリケーション設定保存フォルダがプロファイルを保存するフォルダとなる。Multi Userは初期状態では1になっている。

基本的にはどちらでも問題無いが、Operaをインストールしたフォルダに全てまとまっていると作業がやりやすいので、自分一人しかOperaを使用していないのであればMulti Userは0にしておくことをオススメする。

以降は便宜上OperaをインストールしたフォルダをC:\Program Files\Opera\とし、Multi Userが0のシングルユーザーとして解説を進める。

ちなみにWindowsのアプリケーション設定保存フォルダは、ここ。

C:\Documents and Settings\[USERNAME]\Local Settings\Application Data\Opera

まっさらなプロファイルを作る

Operaは起動時にプロファイルが見当たらない場合に新しいプロファイルを作成することを利用する。

  1. Operaを終了する
  2. Operaのプロファイル保存フォルダ内にある「profile」フォルダを適当な名前に変える。便宜上「profile_」とする。
  3. Operaを起動する。
  4. 新たに「profile」フォルダが作成されるのでOperaを終了する。
  5. 新たに作成された「profile」フォルダを「nico」に名前を変える。
  6. 「profile_」フォルダの名前を「profile」に戻す。
  7. 「nico」フォルダ内のopera6.iniを開いて、「Opera\profile」となっているところを全て「Opera\nico」に置換する。
  8. メールやフィードを共有したく無い場合は、同じようにopera6.iniを開いてMail Root Directoryのパスを変える。C:\Program Files\Opera\nico\mailのようにプロファイルの中のフォルダを指定するのが好ましい。

これでOperaをインストールしたフォルダにnicoとprofileという2つのプロファイルが存在することになった。nicoを専用プロファイルとして運用していく。

以降は特に記載しない限り、専用プロファイルをカスタマイズしていく。

専用プロファイルでOperaを起動する

opera.exeを右クリックしてショートカットの作成を選択。ダイアログ内の「リンク先」を以下のように変える。

C:\Program Files\Opera\opera.exe /Settings "C:\Program Files\Opera\nico\opera6.ini"

このように、/Settingと専用プロファイルのopera6.iniのフルパスを付ける。このショートカットを起動すれば通常プロファイルではなく専用プロファイルが起動するようになる。

参考:Opera のコマンドラインオプション

外部プログラムからURLを開く際の問題

コマンドラインから以下を入力してEnterを押してみよう。

C:\Program Files\Opera\opera.exe http://www.google.co.jp/

使用中のOperaでGoogleが開くはずだ。Operaが起動していないなら起動してGoogleを開くだろう。

この時、通常プロファイルと専用プロファイルの両方が起動している場合はどうなるか?

答えは「最後に起動したプロファイルで開く」。起動順番次第では通常プロファイルで開きたくても専用プロファイルで開いてしまうのだ。

ならば先ほどのようにプロファイルを指定すれば・・・

C:\Program Files\Opera\opera.exe /Settings "C:\Program Files\Opera\nico\opera6.ini" http://www.google.co.jp/

しかしこの試みは失敗に終わる。あくまでもこれは起動オプションであり、既に起動してしまっている場合は無効となるからだ。

プロファイルの識別

上記の問題をOperaだけで解決するのは不可能なのでAutoHotKeyを利用する。

AutoHotKeyのスクリプトにURLが渡されたら特定のプロファイルを識別してウインドウをアクティブ化させる。URLをクリップボードに入れた状態でCtrl+B(Paste and Go)のキー入力を送れば目的が達成できるはずだ。

ではどうやってプロファイルを識別するか。

opera:configから弄れる設定の中にタイトルバーの「Opera」という文字列を変更できるオプションが存在する

opera:config Title

このリンクをOperaで開くと目的の入力欄が表示されるので、そこにNicoVideoと入力したら、下のほうにスクロールして保存ボタンを押す。見事にタイトルバーが「設定ファイルエディタ – Opera」から「設定ファイルエディタ – NicoVideo」になったはずだ。

タイトルバーのOperaがNicoVideoに

後はAutoHotKey側でウインドウタイトルの末尾でプロファイルを識別してURLを渡せばよい。

注意

識別するのに正規表現を利用しているので、よく分からない場合は識別用のタイトルを英数字のみで構成すること。

プロファイル識別ツール

完成物はこちら。

opmultiprof.zip

実行ファイルとソース付き。ダウンロードしたら付属のiniファイルを編集する。

path_prof : プロファイルフォルダのフルパス。最後の¥は付ける。

default_prof : Operaのままで問題無い。

single_key : シングルキーショートカットを使っているならtrueにする。

次にOperaをインストールしたフォルダにあるopera.exeを_opera.exeに名前を変える。そしてopmultiprof.exeをopera.exeと名前を変えて、opmultiprof.iniと一緒にOperaをインストールしたフォルダへコピーする。

なぜこのようにするかというと、他のアプリケーションからはブラウザの指定がopera.exeのままであり、それら全てをopmultiprof.exeにするのは非常に手間が掛かかってしまう。ならばファイル名を変えてしまえばよい。結局はURLを渡すので問題は無い。

それと、先ほど作成したであろうショートカットも右クリックで開いてopera.exeを_opera.exeに直しておこう。

この時点でOperaをインストールしたフォルダはこんな感じになっているハズだ。

ファイル構成

シングルキーショートカットについて

single_keyをfalseにしている場合はURLを開く際にF8→Ctrl+V→Sfhit+Enterと自動で入力して開いている。この方法だとOperaのアクティブ化につまづいた場合に正常に開けない場合があるので、trueを推奨する。

single_keyをtrueにしている場合はShift+Ctrl+Bで新しいページを開いてURLを開く。だが、Opera9.50以降を新規インストールしているとこの動作は設定されていないので、以下の設定ファイルを適用して設定して欲しい。

プロファイルを指定してURLを開く

コマンドラインからは

opera.exe [ウインドウタイトルの末尾] [プロファイルのフォルダ名] [URL]

のように記述する。(このopera.exeは前述したopmultiprof.exeをリネームしたもの。)Googleを開かせるなら以下のようになる。

opera.exe NicoVideo nico http://www.google.co.jp/

こうすれば、専用プロファイルが起動していないなら起動してGoogleを開き、既に起動しているなら専用プロファイルのOperaを識別してからGoogleを開いてくれる。

opera.exe http://www.google.co.jp/

このようにURLだけ渡された場合は通常プロファイルと判断して開かせる。

注意

Opera自体は実行ファイル名がopera.exeでも基本的には問題は無いが、opera.exeで起動している状態で通常のブラウザに設定しないこと。これをやってしまうとWindowsのレジストリに_opera.exeで登録されてしまうので後々面倒になってしまう。

通常のブラウザに指定したいなら、_opera.exeにする前に行うこと。

ブラウザを指定できないソフトウェアはどうするか

例えばThunderbird。メール本文内のURLリンクをクリックすると標準のブラウザで開こうとする。

この場合はopera.exeにURLを渡さず、既に起動しているOperaに直接渡してしまうので、結果的に最後に起動したプロファイルで開いてしまう。

有効な対策を思いつけなかったので、専用プロファイル→通常プロファイルの順に開いて、Operaを終了させないでずっと常駐させるのが、現時点では必須になってしまう

そこで、フォルダ内にあるショートカットを全て起動してから_opera.exeを起動するスクリプトを作成した。Windowsを起動した後にこれを実行すればいいだろう。

opmultiboot.wsf

カスタマイズ

プロファイルの作成からURLを渡す方法までは終わった。後は使いやすくするように色々とカスタマイズしよう。

自動的に専用プロファイルで開く

ここだけ通常プロファイルをカスタマイズする。

通常プロファイルでニコニコ動画へのリンクを開いたら、即座に専用プロファイルで開くようにしてしまおう。

まず、Operaの「ツール→設定」から「詳細設定」タブを開いて左側から「プログラム」を選択。右側の追加ボタンを押すとダイアログが表示される。

ダイアログ内のプロトコルにはnicoと入力。「他のアプリケーションで開く」欄でC:\Program Files\Opera\opera.exeを選択して、パラメータにはNicoVideo nicoと入力する。

新規プロトコル設定

最後にnicovideo_linkprotocol.jsを導入すれば完了。ニコニコ動画のページを開こうとすると専用プロファイルで開いてくれるようになる。スクリプトの仕様上ブランクページも一緒に開いてしまうので無視するか閉じて欲しい。

User JavaScriptの導入についてはUser JavaScript(Opera-PukiwikiPlus!)を参考にして欲しい。

通常プロファイルで開く

専用プロファイルで開いたページを通常プロファイルで開きたくなる時があるかもしれないので、右クリックからページを開けるようにしよう。

ニコニコ動画専用プロファイル:nicovideo_menu.ini

このリンクをクリックしてダイアログに対してOKと答えると、右クリックメニューの一番上に「通常プロファイルで開く」という項目が表れるようになる。

あとは一旦Operaを終了してC:\Program Files\Opera\nico\menu\nicovideo_menu.iniをテキストエディタで開こう。下記のようになっているはずなので、Operaのフォルダを自分の環境に合わせて保存。Operaを起動して実際に通常プロファイルで開けるか確認してみよう。

[Link Popup Menu]
Item, "通常プロファイルで開く" = Execute Program, "C:\Program Files\Opera\opera.exe", "%l"

[Document Popup Menu]
Item, "通常プロファイルで開く" = Execute Program, "C:\Program Files\Opera\opera.exe", "%u"

参考:FAQ/5.カスタマイズ(Opera-PukiwikiPlus!)

アドレスバーから検索

検索バーは幅が小さいし、アドレスバーから検索する時はニックネームの入力が面倒なので、アドレスバーに単語一つだけ入力してニコニコ動画から検索できるようにしよう。

Enable HostName Expansionのチェックを外し、Enable HostName Web Lookupにチェックを入れる。そしてHostName Web Lookup Addressに以下を入力する。

http://www.nicovideo.jp/search?ref=top&s=%s&submit.x=0&submit.y=0

これでアドレスバーに単語一つ入れるだけでニコニコ動画から検索できるようになった。動画のIDで検索した場合は動画を開いてくれないのでUser JavaScriptで解決する。

nicovideo_addidlink.user.js

これを導入すればsm123456で検索した場合、検索結果のsm123456という文字に動画へのリンクが付くようになる。

ここまでくると通常の検索バーは必要無くなるので思い切って削除してしまおう。

せっかくなのでスピードダイアルの検索欄もニコニコ動画にする。

ニコニコ動画のトップページを開いて検索欄で右クリックし、検索の作成を選択。キーワードはnにする。さらに詳細ボタンを押して「Speed Dialの検索エンジンとして使用する」にチェックを入れる。これでスピードダイアルの検索欄がニコニコ動画になったはずだ。

検索エンジンがニコニコ動画になった

参考:そういうことじゃないんですよ

見た目をスリムにする

まずはOpera Standard Slim Skinを開いてDownload Skinボタンをクリック。ツールバーがやたらと細くなったはずだ。次に下のリンクを開いて設定ファイルを読み込もう。

ニコニコ動画専用プロファイル:nicovideo_toolbar.ini

導入後はステータスバーが消えて、さらに早送り・巻戻し・認証管理・パネル表示ボタンが消えるはずだ。

次にメニューバーを非表示にしよう。以下のToggle Menuボタンを適当なツールバーにドラッグしてボタンを押せばメニューバーが非表示になる。もう一度押せば表示される。メニューバーを非表示にしたらボタンを右クリックしてツールバーから削除しよう。

Opera用ボタン:[Toggle Menu]

このままだとメニューにアクセスできないので、ツールバーにメニューを表示するボタンを追加する。

Opera用ボタン:[Menu Button]

先ほど同じようにツールバーへ追加する。戻るボタンの左がいいだろう。これを押せばメニューが表示されるようになる。

さらにnico2assist.user.jsを導入して、動画ページ内の余計な要素を表示させなくする。

最終的にこうなる。

スリムになったOpera

実にスリム。動画部分がページの一番上にくるのでわざわざスクロールさせる手間が必要ない。

コンテンツブロック

時報やでかいバナーは邪魔なのでコンテンツブロックを利用して読み込ませなくする。Operaのメニューから「ツール>詳細ツール>コンテンツのブロック」を選択して以下のURLを1行ずつ登録する。

http://ad.nicovideo.jp/images/*
http://www.nicovideo.jp/swf/billboard*
http://www.nicovideo.jp/img/tpl/head/icon/*

仕上げ

Operaをさらに高速にする、あまり知られてない10の方法+αを参考に高速化設定を行う。

プラグインなんかはShockwave Flash以外必要無いのでモリモリ消そう。自分は以下の4行をignore-plugin.iniに追加してプラグインを削除している。

nppl3260.dll  = RealPlayer(tm) G2 LiveConnect-Enabled Plug-In (32-bit)
nprpjplug.dll = RealPlayer Version Plugin
npwmsdrm.dll  = MicrosoftR DRM
npdsplay.dll  = Windows Media Player Plug-in Dynamic Link Library

ニコニコ動画で使えるユーザースクリプトを参考に、便利そうなスクリプトも導入しておく。

完成

ニコニコ動画に特化しているので機能は少ないが、動作が軽い。起動も若干早いが、一度起動したら起動しっぱなしなのであまり意味は無い。それとコンパクトなのでデスクトップの端に置いて他の作業をしながら眺めることができる。

もしニコニコ動画のためだけにProxomitronを導入していたのならば、通常プロファイルでは不要になるのでそちらの動作がほんの少し軽くなるだろう。

ブックマークが独立しているのでマイリストとしてフル活用できる。ブックマークした際に説明欄に入力したテキストは、ブックマークの編集かブックマークパネルからの検索で引っかかるので、タグを入れるなりして管理すれば良いだろう。もちろんフォルダをタグとして扱っても良い。

履歴パネルを開けば「最近見た動画」ページは不要になる。こちらは0件から数千件まで、さらには最後に見た日付までわかる。

作成経緯

そもそもの発端はOpera9.50になってDetach Pageが使えなくなったこと。いや、使えるが、タブだけではなくウインドウ丸ごと切り離すという教育上不適切な発言のため削除な仕様になってしまった。

そこで今度はDetachしたウインドウ専用のボタンを用意して、押すとツールバーが消えてシンプル表示になるようにしたのだが、その設定がDetach元のウインドウにも伝播するという、これまた教育上不適切な(ryな仕様でヘコーと言わざるを得ない。

んで、頭を抱えていたところ「これ別プロファイルでやったほうよくね?」という天啓が降りてきたのでこのような形になった。元々Detach Pageはニコニコ動画ぐらいでしか使わなかったからこれで十分だった。

今回はニコニコ動画専用だったが、複数プロファイルを同時に扱うために必要なものが色々と分かったので、応用して色々なプロファイルを作ろうと思う。

アイコンについて

opmultiprof.exeのアイコンは何も設定しないとAutoHotKeyと同じになってしまう。そのままopera.exeに名前を変えて利用すると、ランチャー等のアイコンまでAutoHotKeyになってしまう場合があるので、とりあえずNuvolaアイコンを使用した。

他のアイコンにしたい場合はahkファイルを自分でコンパイルするか、Resource Hacker等で変更して欲しい。

参考