Skip navigation.

manatee's blog

綾金市オペラハウス館長の部屋

Posts tagged with "session"

Opera のセッション機能で Safari のWebクリップを真似てみた(かった)

, , , ...

Opera のセッション機能、一般的には表示している複数のページのアドレスを保存できる機能として認識されているのではないかと思う。
あんまり活用されていると聞いた覚えが無いので、せいぜい起動時に複数ページや前回終了時のページを表示させたり、クラッシュ後の起動でページを復元するのに使われている程度ではないだろうか。

しかし Opera のセッション機能は誰が活用しているのか想像できないほど、無駄に高機能なのだ。

セッションに保存されている情報はアドレス以外にも

  • 進む・戻る履歴
  • ウィンドウ位置
  • ページ(浮動表示させたタブ)位置
  • 縦スクロール位置
  • スクロールバー表示設定
  • ツールバー表示設定
  • ズーム倍率
  • ウィンドウ幅に合わせる機能の有効・無効
  • スタイル設定(製作者モード・ユーザモード)
  • 画像表示設定(表示・非表示・キャッシュのみ)
  • 表示させていたウィジェット
試してみただけでもこれだけの情報が保存できるし、保存対象を全ウィンドウ・アクティブなウィンドウのみから選択可能。
セッションの挿入先も新規ウィンドウ・既存ウィンドウから選べる。

で、これらの機能を眺めていてタイトルの通り Safari のWebクリップを真似ることができそうだと思いついた…というのは嘘。

もともとは
「ウィジェットあんまり便利そうなの無くね?」
  ↓
「ウィジェットの作り方勉強するの面倒臭え」
  ↓
「つうかページを一発でコンパクトに表示できればいい」
  ↓
「なにこれwセッション無駄に多機能ww」
という駄目人間思考から気付いたに過ぎない。
閑話休題。


Webクリップもどきの作り方


では実際にWebクリップもどきを作ってみよう。

単一のページを保存するので、目的のページ以外を全部閉じてもいいがタブをウィンドウ外にドラッグアンドドロップしたり、アクション Detach page で新ウィンドウへ切り離すのがいいだろう。

アクションコマンドで全バーを非表示にする。
普段表示させてるのはアドレスバー・メインバー・スクロールバーだけなので
Disable scroll bars & Delay, 100 & Set alignment, "browser toolbar", 0 & Delay, 100 & Set alignment, "document toolbar", 0 | Set alignment, "browser toolbar", 2 & Delay, 100 & Set alignment, "document toolbar", 2

でいける。
Disable scroll barsはトグルさせる動作なので最初だけ書いておけばいいっぽい。

バーを全部消してしまうので、メニューをカスタマイズして右クリックメニュー[Document Popup Menu]に
Submenu, M_BROWSER_FILE_MENU_SESSIONS, Browser Session Menu

でセッションメニューをサブメニューとして仕込んでおく。


後は表示させたい部分に合わせてウィンドウサイズを調節するだけだが、その時にはCtrl+Alt+ドラッグでのドラッグスクロールが微調整に極めて便利。



サンプル1。ロイター通信のヘッドラインをティッカー風に

上記アクションコマンドでツールバーを消すと、サンプルに表示されているドメインの表示も消えてしまう(セッションで呼び出したときは表示される)ので、その分上部に余裕を持って保存する必要がある。

サンプル2。Yahoo!天気で地元の天気を。

ズームとウィンドウ幅に合わせるが使えるので、「ページを切り取る」ではなくある程度「表示させたいサイズにページを合わせる」こともできる。
サンプル2はウィンドウ幅で表示+110%表示。

あまりに簡素な見た目にはなっているが実際はただの Opera なので、そのまま下にスクロールして明日以降の天気を見ることもできる。
だがやはりただの Opera なのでリンク等で移動してもこの小さなウィンドウ内で読み込まれる。
Open link in new window
New browser window

あたりをジェスチャやショートカットに仕込んでおいたほうがいいだろう。



問題点


横スクロール位置を記憶しない
Webクリップ風に使おうとすると致命的。何であれだけ情報を保存しといて横スクロールだけ抜かすかな…
じゃあ記憶するようになったら実用レベルになるかって言ったら難しいけど、ここまで揃えておいて寸止めというのが許しがたい。

リキッドレイアウトに弱い
表示されているものを切り取るWebクリップと違って表示領域を狭めるため、リキッドレイアウトだと表示が潰れてしまうことが多々ある。

トレイアイコン右クリックメニューに仕込んだセッションメニューから呼び出すとタスクトレイに収納していた Opera のウィンドウも出てきてしまう。(ちなみにウィジェットも)
こんな特殊なことやる人間は皆無だろうけど、そこは呼び出したセッションだけ表示してくれればいいだろ…



Webスライスよりもセッションに横スクロール位置保存を


エントリを起こすきっかけになったのは
Rumor: Opera 10 to Include Web Slices
Opera 10 にWebスライス風の機能が付くという噂。(?)
2007年の話になるが Opera は microformats に慎重な態度を取っているという記事が出てたので本当かなというか、そんなことよりセッションに横スクロール位置保存付けてくれというか。

いや、付いても使わないと思うけど、 Opera 9 になったあたりでセッションでアクティブなウィンドウのみ保存対象にすることができるようになり、ドラッグスクロールが付き、「流石 Opera 分かってる!」とか、
いつまでたっても横スクロール位置保存ができなくて「やっぱり Opera 分かってない!」とかやってる人間にとっては、割と待ち望んでる機能なんである。