2007年3月アーカイブ

9.20 build8767

| コメント(0) | トラックバック(0)

Added support for automatic search from address bar when entering more than one wordに光り輝く何かを感じてやってみたけど駄目で、ふて寝して起きてやってみたら普通にできた(なんだそれ)。よく覚えてないんだけど、昨晩の僕は、one wordってのを「一語」→「一文字」と脳内置換していた模様。ワインがぶ飲みしたとか言い訳にせず、中学からやり直します。

試しに、アドレスフィールドに「opera girl」と打ち込んでみよう(反転させて「URLへ移動」でも可)。すると、次の画像のようにデフォルトの検索エンジン(初期はGoogle)での「opera girl」の検索結果が開くはず。

Google「opera girl」の検索結果

これは、アドレスフィールドに2つ以上の単語を入力してエンターを押すと、デフォルトの検索エンジンでそれらを検索してくれるというもの。また、検索ワードが1つだけだと通常はサーバー名の自動補完が働いちゃって、例えば「Opera」だと http://www.opera.com/ に飛んじゃうところ、コメント欄でborgが言ってるように、opera:config#Network|EnableHostNameWebLookup にチェックして、opera:config#Network|HostNameWebLookupAddress に、

http://www.google.co.jp/search?client=opera&rls=ja&q=%s&sourceid=opera&lr=lang_ja

等と指定してやれば、1つの単語でもアドレスフィールドから検索できるようになる。僕は今までこの方法と、更にここを参考にしてlngファイルに、

; Second part of the illegal URL message, follows the URL
1150263995="には、使用することのできない次の文字が含まれています。"<script type="text/javascript">window.addEventListener('load',function() {var st = document.getElementsByTagName('cite')[0].innerHTML.substr(7); if(window.location.host!='www.google.com'){window.location = 'http://www.google.co.jp/search?client=opera&rls=ja&sourceid=opera&lr=lang_ja&q=' + encodeURIComponent(st.replace(/ /,'+'))};},false)</script>

とかやって無理矢理検索結果に飛ばしてた(スペースを含めると Error! とか怒られるため)んだけど、lngファイルの方の書き換えはもう必要なくなったんだね。コメント欄にもi love automatic search in address bar... Good bye, lng-hacks!という喜びのメッセージが寄せられており、まったくこれは嬉しい変更。「opera」は何故か検索できないけどね。

Added support for the optional "key" in BitTorrent requests, should make more torrent downloads workというのはよくわかんないなぁ......だいたい BitTorrent機能って使ってないしなぁ......PS3とかなんじゃろ。

他、渡邉さんの援護空しく、Speed Dial の訳が「短縮ダイアル」から「スピードダイヤル」になった。翻訳している人がユーザーの反応を見て心を痛めたかどうかは想像におまかせします。また、2ch Operaスレの猛者によると初期フォントが8の頃のに戻ったとのことで、なるほど、今まで Windows Opera では Webページ通常テキストのフォントが明朝体だったが、Classic版で試してみたらこちらでは MS Pゴシック が選択されている。

うーん、サーチエンジンは今後こういう形(デフォルトとカスタムの統合)になるんだろうな。毎回 search.ini を差し替えるのも面倒くさいし、いっそのこと整理して今の形に合わせようかな。

9.20 Beta

| コメント(0) | トラックバック(0)

こないだの Weekly と同じ build8762。

9.20 Beta

ダウンロードは Opera Labs 経由か、FTPから。

そのうち邦訳されるだろうけど一応チェンジログ。

リリースノート

  1. このリリースはOperaのベータバージョンです。適切にバックアップを行った上でのみ使用して下さい。
  2. このリリースはセキュリティフィックスを含んでいます。詳細はセキュリティの項を参照して下さい。
  3. Opera 9.20 Beta は Speed Dial と Developer Tools を導入します。
  4. Speed Dial の検索エンジンは設定のネットサーチで選択することができます。このリリースは動的にあなたのカスタム検索とデフォルト検索セットを統合します。

サーチエンジン統合の件は仕様になったのかなぁ......

Opera 9.10 からの変更点

ユーザーインターフェース

  1. Speed Dial を呼び出すためのキーボードショートカットは Ctrl + 0-9 で、パネルをアクティブにするのは Ctrl + Shift + 0-9 に変更になった。
  2. キオスクモードではデフォルトで Speed Dial(短縮ダイヤル)を表示せず、また、スイッチに kioskspeeddial が追加された。
  3. ウィンドウパネルのツールチップにサムネイルが表示されるようになった。
  4. スタートバーはデフォルトではオフになっている。

メール、メッセージおよびニュースフィード

  1. IRC の /quit コマンドが適切に動作するようになった。
  2. IRC におけるステータス転送の改善。

表示とスクリプト

  1. CSS の height: inherit が算出された値を継承するようになった。
  2. framesets(フレーム)中のスクリプトが onload を実行するようになった。
  3. innerHTML で挿入されたアプレットが JavaScript で呼び出し可能になった。

Developer Tools

セキュリティ

  1. Cross Site ScriptingWikipedia)の可能性のある、フレームの文字エンコード継承問題を修正。勧告を参照。
  2. FTP PASV responseの扱いを改善。
  3. Skandiabanken.no の証明書のインストール成功のメッセージが表示されるようになった ?

その他

  1. 多くの安定度修正。
  2. Flickr Organizr が動作するようになった。
  3. YouTube のフルスクリーン機能が動作するようになった。
  4. 壊れた exif データを持った画像が表示できるようになった。
  5. 大きな画像の保存がちゃんと動作するようになった。
  6. プロトコルの指定なしに address:port を指定するとき、「http://」が再び推測されるようになった ?

ページ読み込み中に別ページを開こうとした時、「現在のタブを再使用する」のチェックを外しているのにもかかわらず、読み込み中のページの上に開こうとしたページが開いてしまうという、なんだか上手く説明できない不具合みたいなものが、いつの間にか修正されていて驚いた。いつから直っていたのかは知らないが、ちょっぴり嬉しい。

M2 フィードのスタイル

| コメント(0) | トラックバック(0)

M2(Opera Mail)の「本文の表示形式」を「HTMLで表示」にした場合、ニュースフィードは、

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<base href="http://feeds.hogehoge/">
<style type="text/css">

後述

</style>
<title>記事タイトル</title>
</head>
<body class="feedEntryBody">
<div class="feedEntryContent">

記事本文

</div>
<div class="feedEntryLinks">
<hr>
<h1>Article:</h1>
<ul class="feedEntryAlternateLinks">
<li><a href="http://feeds.hogehoge/">記事へのリンク</a></li>
</ul>
</div>
</body>
</html>

こんな感じで表示され、

div.feedEntryLinks
{
   margin: 0;
   padding: 0;
}
div.feedEntryLinks > hr
{
   clear: both;
}
div.feedEntryLinks > h1
{
   font-size: 100%;
   font-style: italic;
   font-weight: normal;
   margin: 0;
   padding: 0;
}
ul.feedEntryAlternateLinks, ul.feedEntryRelatedLinks, ul.feedEntryViaLinks, ul.feedEntryEnclosureLinks
{
   margin: 0.5em 0;
   padding: 0;
}
div.feedEntryLinks li
{
   margin: 0 1em;
   padding: 0;
}

というスタイルがhead要素内のstyle要素に指定される。これはちょっと読みにくいので、

body.feedEntryBody {
   font-size: 95%;
   background-color: #e3e8ec;
   padding: 1.5em;
}

div.feedEntryContent {
   background-color: #f5f5f5;
   line-height: 1.5;
   padding: 1em;
}
・
・
・

等という UserCSS を適用して自分好みのスタイルで読んでいた......のは1年半くらい前の話(9.0TP1あたり)。今やってみたら、フィードには UserCSS が適用されないのね。「プレーンテキストで表示」なら mime.css で好きなようにスタイル弄れるけど画像とか表示されないしなぁ......あ、ひょっとして mime.css で指定するようになったのかな? と思ってやってみたけど、body要素が微妙に反映されるだけで、記事本文のスタイルは上のstyle要素のやつで固定。

browser.css適用前

仕方がないので、browser.css であれこれ指定することにした。

browser.css適用後

  1. フィード用のCSSを書く。
  2. 1をbrowser.cssとして適当な場所に保存。
  3. opera:config#Browser CSS File で2のファイルを指定。
  4. Operaを再起動(たぶん)。

参考までに、僕の browser.css(フィードのスタイルのみ抽出したもの)を上げておく。

ここまで神経質にならなくてもいいと思うんだけど念のため。でも、そんなに気になるのならセレクタ使ってもっと厳密に指定した方が良いような気もする。また、他にちゃんとしたスタイルの指定方法があって、別に browser.css でやる必要がなかったのなら、僕はまた恥ずかしい歴史の1ページを刻んだことになる。というか、だいたい M2 はRSSアグリゲータとして微妙? ああそうですか、そうですか。

9.20 build8762

| コメント(0) | トラックバック(0)

とりあえず地雷は撤去された模様。

Changelog

  1. ある場所を右クリックした時にクラッシュする不具合修正。
  2. Speed Dial のリダイレクトページのタイトル修正。
  3. Solaris におけるプラグイン検知を改善。

Known issue

  • 今週はたった1日しか続きませんでした。ごめんなさい。

その他

あと、Tさんも言われているように、MSIインストーラーのダイアログが変わっている。

MSIインストーラー

一見すると爽やかで微笑ましい1シーンですが、

いつ見てもすげーよな

男性の視線の先にはおっぱいがあります。だって男の子なんだもん。

9.20 build8758

| コメント(0) | トラックバック(0)

「ボイスコントロールによるブラウジングを有効にする」をチェックしていると起動後にすぐクラッシュしてしまう問題は修正されたみたい。

Fixed issue with replacing personal search engines on startupというのは、検索エンジンがデフォルトのものと統合してしまう例の問題のことだと思うんだけど、上書きインストール・新規インストールとも profile 内の search.ini がそのまま読み込まれることはなかった。デフォルトのあとに追加される感じ。で、設定のネットサーチから削除したらOKかと思いきや、何故か Google だけは消えてくれない(デフォルトの方)。ここら辺ようわからん。

Support for downloading search engine icons on first start and upgradeというのは、最初の起動・アップグレードでサーチエンジンのアイコンをダウンロードするとかそんな感じだと思う。上書きインストールの場合だと、profile\images 内のアイコンをどうにかしてからじゃないとわからないかもしれない。以下はインストール直後のまだ何も検索していない状態での設定 » ネットサーチ。

ネットサーチ

Fixed a fair number of cosmetic issues in speed dialってなんだろう。番号? 同じく Speed Dial 関連でAdded a limit on how many page thumbnails can be in memory, should result in lower memory usage over timeというのは、メモリ上にサムネイルの数の上限を設けたとかそういうこと? Operaを終了すれば profile\thumbnails のサムネイル画像が削除されるのは確認したけど。

Added thumbnail tooltip to the windows panel listというのは、ウィンドウパネルにもサムネイルが表示されるようになったということ。ツールチップをONにしていないと表示されないのは、タブのサムネイルと同様。

ウィンドウパネル

Enabled plugins in feeds againというのは、フィード内で再びプラグインが有効になってYouTube動画なんかもM2で観れますよ、ということ。例えば、フィードの「本文の表示形式」を「HTMLで表示」にして この記事をbuild8713~8746のM2で読む場合、以下の埋め込み動画は表示されずに「なんかあるなぁ」感が漂っているはず。ちなみに、動画に関連性はないですが、懐かしいと思う人は一歩前へ出て歯を食いしばりなさい。

あと、フィードのプロパティの名前・アドレス欄内で右クリックしたら死んだ。同じようなコメントがあったので、これはうちだけの症状ではないらしい。注意。

Most translations should now be up to date, please test!というのは、「ほとんどの翻訳エンジンを最新にしたので試してみてよ」とかそういうこと。なるほど、MSIインストーラーの方でインストールしたら、英語→日本語、日本語→英語の検索エンジンが Yahoo!翻訳 に替わっていたが、Classicクラシックインストーラーの方だと Infoseek マルチ翻訳 のままだったりする。謎。

どうあっても Yahoo! を使って欲しいのかな。Yahoo! って個人的に嫌いなんだよね(魔女の宅急便のニシンパイの女の子風に)。でも Yahoo! 辞書は時々使っているという矛盾。

Known issue:

  • Rightclicking causes crashes in various contexts.

Gmail + Google Reader for Opera

| コメント(0) | トラックバック(0)

Gmail + Google Reader な Greasemonkey スクリプトがある。

これの Opera 版。

Gmail + Google Reader

導入すると、スターあり(Starred)の下に「Feed」というリンクが表示され、そこから画像のように Google Reader に登録してあるフィードを読むことができる。ただ、うちの環境では「Feed」リンクは表示されたかと思うとすぐ消えてしまうので、一瞬も油断ならないすばやい動作が望まれます。なんだそれ。まあ、いったん受信済み(Inbox)やスターあり(Starred)等の他の項目を選択すると、「Feed」リンクが常に表示されるようになるんだけど、これは何故でしょう。ちなみに、UserJS は greader.user.js 以外導入していない状態で、9.10 Final と 9.20 build8746 で試してみました。あと、登録フィードが多いとちと重い(200とか300とかそれ以上)。

もし、kengoさんが言われるように将来的にこの機能が Gmail に搭載、あるいは Gmail と Google Reade 両者が統合するようなことになれば、M2(Opera Mail)から離れていく人が急増するかもしれない。で、それは UIとしては M2 が理想なんだけど動作や機能がちょっとね、ということの表れだったりして......とかなんとか妄想の域を出ないんだけど、ともかく自分としては今後の開発に大きく期待するのであります。押忍。

YouTube Channel用 UserCSS

| コメント(0) | トラックバック(0)

YouTubeのユーザー名をクリックした先のプロフィールページみたいなところあるでしょ。あそこはテーマを適用したりしてユーザーが自分なりのChannelを演出しているわけなんだけど、ユーザーによってはすごい背景色&文字色の組み合わせだったり、すごい背景画像にしていたりするよね。そういうのは読みにくいし、時と場合によってはちょっと困ることもあるので、全てのChannelをClassicテーマにするUserCSSを書いた。

Classicテーマ

書いたというか、ClassicテーマのCSSをそのままコピーして、なんとなく !important 付けただけですはい。だから、重複・無意味指定があるし別のページでは崩れたりするんだけど、それは気にしない方向で。

9.20 build8746

| コメント(0) | トラックバック(0)

Speed Dial が完成形に近いとか。

以下の記事を参考にインストール。ありがたし。

注意すべき点をまとめると、上書きインストールの場合は、

  1. 「ボイスコントロールによるブラウジングを有効にする」をチェックしていると起動後にすぐクラッシュしてしまう。
  2. search.ini が問答無用でデフォルトのものと統合されてしまう(ファイル自体は書き換えられない)。

という二点の問題があるみたい。そんなわけで、僕はWinRARでバックアップした後、「ボイスコントロールによるブラウジングを有効にする」のチェックを外して MSIインストーラーでインストールし、Operaをいったん終了させて デフォルトの search.ini を profile 以下のもの(今まで使っていたsearch.ini)と差し替えた。たぶん、次回ではこの問題が修正されていて、かつ デフォルトsearch.ini はどうせその時に上書きされてしまうであろうという思いから。

なるほどSpeed dial now doesn't load entries every timeというのは、profile 以下に thumbnails フォルダが作成され、SD(Speed Dial)のサムネイル画像はそこに保存される仕組みか。これを 「SD にページを登録すると、profile\thumbnails 以下にそのページのサムネイルが作成される」と考えると、キャプチャ撮ってリサイズして......という作業から解放されるかもしれない。そんなものはサービスで済ませている? はいそうですねすみません。

でも、ドラッグ&ドロップで登録した場合はすぐにサムネイルが表示されないな。また、SDと任意の登録ページをそれぞれ表示させた状態で、登録ページの方の表示をある程度変えて(スクロールさせたりして)SDにタブを切り替えると、そのページのサムネイルが現在別タブで開いている状態で表示されることがある。これは profile\cache4\thumbnails の方とごっちゃになってたりとかそういうこと? 上手く説明できないのがもどかしく、ちゃんと再現できないのがアレなんだけど。

あと、build8732でAnd no font-smoothing for widgets makes it better looking IMO.というコメントが寄せられていたが、

Speed Dial - Configure

build8746 でも Widget や SD » Configure ではフォントのアンチエイリアスが効いてないっぽい。フォントはMeiryoなんちゃら。Operaのせいじゃなかったらごめん。

build8732 の内蔵UserCSS

| コメント(0) | トラックバック(0)

build8732では、内蔵のユーザースタイルシート(Opera\styles\user)の整理が密かに注目された。今後もっと整理されるかもしれないし、いずれはヘルプにも詳細が載ると思われるが、なんとなく現時点での追加・修正・削除されたCSSファイルを列挙してみる。

build8732で新たに追加されたUserCSS

表示名 ファイル名 説明
Alt debugger altdebugger.css alt属性が指定されていないimg要素のみを表示する。
Class and id classid.css 要素のclass,id値を表示する。
Disable breaks disablebreaks.css br, hr要素を無効(非表示)にする。
Disable floats disablefloats.css 全ての要素のfloatプロパティを無効にする。
Disable forms disableforms.css form, button, input, fieldset, legend, select要素を非表示にする。
Disable positioning disablepositioning.css 全ての要素のpositionプロパティを無効にする。
Outline outline.css 要素を枠線で囲って表示する。
Block structure structureblock.css ブロック要素のマークアップを表示する。
Inline structure structureinline.css インライン要素のマークアップを表示する。
Table structure structuretables.css table要素のマークアップを表示する。
Fixed table layout tablelayout.css table要素に固定テーブルレイアウトを強制する。
Table of contents toc.css 文書の目次を表示する(Heading要素がベースとなる)。

Showstructure.css(要素の構造を表示)が classid.css,structureblock.css,structureinline.css,structuretables.css の4つに分かれ、また Debugwithoutline.css(要素のアウトラインを表示)の内容がほとんど書き換えられてファイル名が outline.css と改められた。

面白いのが toc.css(Table of contents)で、試しにこの記事で反映させてみると次の画像のようになる。

Table of contents

うちのようなサイトだとあまりメリットはないが、Strictかつ長文なページではその効力を発揮するかもしれない。

build8732で修正されたUserCSS

説明文はヘルプより引用。

表示名 ファイル名 説明
アクセシビリティレイアウト accessibility.css 視覚障害を持つ人あるいは可読性に欠けるページのためのスタイルシート。
表(table)要素を無効にする disabletables.css 表のカラムをそれぞれ別々の行に分解して表示。

accessibility.css

24,25行目に以下が追記された。

html q::before {content: open-quote !important;}
html q::after {content: close-quote !important;}

disabletables.css

12行目

table, caption, tr, thead, tfoot, tbody, th, td {
   float: none !important;
}

15行目

thead, th {font-weight: bolder !important;}

がそれぞれ削除された。

build8732でも変わらずインストールされたUserCSS

説明文はヘルプより引用。

表示名 ファイル名 説明
高コントラスト表示(黒/白) contrastbw.css 黒色の背景に白色のテキストで表示。
高コントラスト表示(白/黒) contrastwb.css 白色の背景に黒色のテキストで表示。

build8732ではインストールされなかったUserCSS

説明文はヘルプより引用。

表示名 ファイル名 説明
要素のアウトラインを表示 Debugwithoutline.css 要素を枠線で囲って表示する。
非リンク画像を表示しない Hidenonlinkimages.css ナビゲーション目的以外の画像を非表示にする。
画像とリンクのみ表示 Imageandlinkonly.css プレーンテキストを非表示にする。
ノスタルジア nostalgia.css かつての8ビットブラウザでの表示を擬似的に行う。
要素の構造を表示 Showstructure.css 要素のマークアップを表示する。
疑似テキストブラウザ表示 Textonly.css 画像を表示しないブラウザでの表示を擬似的に行う。

先述の通り、Debugwithoutline.css と Showstructure.css は形式・名称を変えて再導入されている。ちなみに、広告などのコンテンツを表示しないように試みる Hidecertainsizes.css(特定のサイズの要素を表示しない)は build 8432以降でインストールされなくなり、当時はバグだの何だのと騒がれたが、ヘルプにも記載されていないことから考えて、9.0正式版以降は内蔵ユーザースタイルシートから外された模様。今回初めて気付いた。

雑感

altdebugger.css の追加や Showstructure.css が細かく分かれた点に Developer Tools の様相を帯びてきたように感じるし、disablefloats.css や disablepositioning.css には 最近のWeb事情が上手く反映されているように思う。あと、head要素を表示するCSS(Showstructure.css に含まれていた)が見当たらなかったので、Showstructure.css からhead要素の指定のみを取り出して適当に弄り、単体のファイルにしてみた。

改行されていないhead要素ほど見にくいものはないわけで(こことか)。でも、そんなのソースをエディタで開いてマクロで整形してしまえばいいわけで。だいたいなんでそんなの見る必要があるのかと言われれば窮してしまうわけで。これらは全部後付けなわけで。

Operaを使い始めて間もない頃、何気なく Showstructure.css を有効にしたらhead要素がブラウザにずらっと表示されて「CSSの指定だけでこんなことができるのか!」という小さな感動があった。しかし、それは僕のCSSに対する見方を変える決定的な出来事でもあった。で、今回内蔵CSSファイル達を眺めていたらそのきっかけが無くなっていることがわかってちょっと悲しくなったので、発作的に作ってしまったというのが本音。title要素の扱いに困ってやっつけ仕事になってしまったのは内緒。

ああ、structurehead.css みたいなのは Developer Tools でやってね、ってことなのか。でもまあせっかくなのでこっそりBookmarkletを置いておこう。

Opera用です。念のため。

Gmailでブックマーク

| コメント(0) | トラックバック(0)

osolomioのポストで知ったGmail Thisの強化版。

Gmail This (Firefox)

Gmail This を Firefox のツールバー上にドラッグ&ドロップして、アイテム右クリック » プロパティで、

Gmail Thisのプロパティ

という風に適当なキーワード(ここではgt)を設定する。で、ブックマークしたいページでロケーションバーに、

キーワード(例:gt)[スペース]件名 or タグ(例:@hoge)|本文の前に挿入される文字列|宛先

と入力すれば、

Gmail This

あとは送信ボタンを押すだけな状態で開く(反転させたテキストが本文に入るみたい)。@hogehoge とか件名の後に付いて届くので、フィルタ+ラベルで料理してやれば Gmailがオンラインブックマークに早変わり。

Operaでもできるよ

設定 » ネットサーチ » 追加で、

サーチエンジンの追加

アドレスにGmail This、キーは適当でOK。ブックマークする時は Firefox と一緒。毎回アドレス欄に入力するのが面倒なら、

ブックマークのプロパティ

こんな感じ(アドレス:gt @opera||hoge@hoge.com、ニックネーム:o)でOperaのブックマークに登録しておけば、F8 → o →Enter で全てが入力された状態のGmailが開く。こういうのをタグ毎にいくつか作っておくと便利かもしれんね。

「現在のタブを再使用する」にチェックしてあれば Shift+F2 → キー の方がいいね(Enter 押さなくても良いため)。

こんなところがあったんやね。

違いは、本文の前に文字列を挿入できないことと、件名に挿入される文字列・宛先をその都度指定できないことくらいか。

Operaの中でIE #2

| コメント(0) | トラックバック(0)

Opera for Windows では、Neptuneプラグインを導入することにより任意のページをTrident(IE)で描画できる......ということは以前取り上げた通り。

Windows Update

あくまでもこれは単純に「ページをTrident(IE)で開き直す」というものなので、Firefoxの IE Tab のような動作までは望めないが、それはともかく追加情報。

  1. 現在のタブで開く
  2. リンク(Link Popup Menu)から View in IE
  3. 画面をクリックしなくても読み込むようにする
  4. 動作しない ActiveX をなんとかする
  5. Neptuneプラグインで表示するサイトを指定
  6. 導入方法 その2

現在のタブで開く

以下のページから View in IE ボタンをツールバー上にドラッグ&ドロップ。

上が新しいタブに開くボタンで、

Button*, "View in IE"="Go to page, "javascript:(function () { if( !location.href || location.href.match(/^(javascript|about|opera):/i) ) { return; } var w = window.open(); w.document.write('<html><head><title>' + (document.title?document.title:location.href).replace(/</,'<') + ' - using Internet Explorer rendering<\/title><\/head><body style=\'margin:0px;padding:0px;\'><script type=\'text/javascript\'>var script = document.createElement(\'script\'); var embed = \'<embed type=\\\'application\/x-meadco-neptune-ax\\\' width=\\\'100'+String.fromCharCode(37)+'\\\' height=\\\'100'+String.fromCharCode(37)+'\\\' param-location=\\\'' + location.href + '\\\'><\/embed>\'; script.setAttribute(\'src\',\'data:text/javascript,document.write(embed);\'); document.body.appendChild(script);<\/script><\/body><\/html>'); })();", , "View in IE", "View""

下が現在のタブに開くボタン。

Button*, "View in IE (on the same tab)"="Go to page, "javascript:(function () { if( !location.href || location.href.match(/^(javascript|about|opera):/i) ) { return; } document.write('<html><head><title>' + (document.title?document.title:location.href).replace(/</,'<') + ' - using Internet Explorer rendering<\/title><\/head><body style=\'margin:0px;padding:0px;\'><script type=\'text/javascript\'>var script = document.createElement(\'script\'); var embed = \'<embed type=\\\'application\/x-meadco-neptune-ax\\\' width=\\\'100'+String.fromCharCode(37)+'\\\' height=\\\'100'+String.fromCharCode(37)+'\\\' param-location=\\\'' + location.href + '\\\'><\/embed>\'; script.setAttribute(\'src\',\'data:text/javascript,document.write(embed);\'); document.body.appendChild(script);<\/script><\/body><\/html>'); })();", , "View in IE", "View""

リンク(Link Popup Menu)から View in IE

以下のページから Open-In-IE.zip をダウンロードする。

ファイルを解凍して適当な場所(ここでは C:\Program Files\Opera9\Open-In-IE とする)に置いたら、menu.ini の Link Popup Menu セクションに、

Item, "View in IE"=Copy link & Go to page,"C:\Program Files\Opera9\Open-In-IE\browser.htm?link=%c"

のように追記する。

画面をクリックしなくても読み込むようにする

普通にNeptuneプラグインを導入して View in IE で開くと「このコントロールを使用するにはクリックして下さい」と言われて、ページを表示するには画面をクリックする必要があるが、この手間を無くす UserJS が以下のページに置いてある No click-to-activate。

そういや、Web上でも「このコントロールを使用するには以下略」には時々遭遇するんだよねぇ。It caused problems reading PDFs for me.らしいけど、僕はPDFファイルをOperaでは開かないのでそんなことは知らない。YouTubeその他の埋め込み動画で1クリック余分だったのが解消された。

動作しない ActiveX をなんとかする

Neptune is a cross-browser plugin which hosts the WebBrowser control. By default it will only run ActiveX if the html embeds it as a application/x-meadco-neptune-ax object, but since most ActiveX uses the application/x-oleobject embed type...

Neowin Forums > IE In Opera

だそうで、以下にそういうのを動かすためのUserJSのコードが書かれてある(テストページ)。よくわかんない人は入れない方が良いと思う。

Neptuneプラグインを使用するサイトを指定

指定したサイト・ページを常にTrident(IE)で表示するというUserJS。IE Tab のオプション » サイトフィルタ みたいなもの。

2~5行目の例に倣って指定する。オリジナルはこれの 4.js。

導入方法 その2

Neptuneプラグインとボタン、UserJS(noclicktoactivate.js+1IERendering.js)のパッケージ。

  1. IERendering.exe をダウンロード。
    1. http://files.myopera.com/fred_erik/blog/IERendering.exe
  2. ファイルを実行し展開先を指定して Extract。
  3. 1.exe(Neptune)を実行してインストール。
  4. 2.exe をOperaのインストールディレクトリにコピーし、以後Operaの起動は 2.exe から行う。
  5. 3.htm を開いてボタンをツールバー上にドラッグ&ドロップ。
  6. 4.js をUserJSディレクトリに放り込む。

2.exe については、

Changes shortcut from opera.exe to a script created in AutoIt that will click away those nasty embedded-IE error messages automatically.

IERendering package - IERendering package - by Frederik de Vree

とある。nasty embedded-IE error messages というのはこういうやつ。

nasty embedded-IE error messages

つまりこんな動作。

その他

Neptuneプラグインのダウンロード

Cookie が無効だとダウンロードできないです。念のため。

切り替えボタン

Firefox みたいな切り替えボタンを作ろうと思ったけど、なんか無理だった。ポップアップメニューしかないのかなぁ。あと、「Operaで現在のタブに開く」ってのが案外とできなかった。

Button*, "Opera"= Execute program,"C:\Program Files\Opera\Opera.exe", "%u"
Button*, "Opera"= Go to page, "%u"
Button*, "Opera"= Close page & Go to page, "%u"

最後のはひどいね。Back とか Reload とかを適当に触ってたら一応は戻れる。

実際の使い道

言うまでもないことだけど、OperaでGyaoやその他IE限定コンテンツが利用できるようになるわけでもないので、実際は表示確認くらいにしか使えないのかもね。

GooglePreview for Opera

| コメント(0) | トラックバック(0)

FirefoxにはGooglePreviewという「Googleの検索結果でリンク先のサムネイルを表示する」拡張機能があるが、これをOperaで再現させるUserJSがある。

リンク先でSombria氏が上げてくれている google-preview-1.0.js をUserJSディレクトリに保存したら、適当にGoogle検索してみよう。

GooglePreview

思ったよりも動作が軽くていい感じ。いつもの検索がちょっぴり楽しくなるかもしれない。

エロイ人が Yahoo!検索(co.jp)対応版を書いてくれたよ!

深夜にどうもありがとう!

google-prevew.js をガッツリ refactoring して もともとのGoogle, Y! 以外に,Y!J,goo.ne.jp,MSN,Live.comに対応させてみたよってな お話

UserCSSのON・OFF

| コメント(0) | トラックバック(0)

ああ、そうか。UserJSのON・OFF ができるのなら UserCSSのON・OFF もできるんだよねぇ。

Button**, "UserCSS"="Set preference, "Author Display Mode|User CSS=1", , "Disable UserCSS", "Checkbox Skin.selected" > Set preference, "Author Display Mode|User CSS=0", , "Enable UserCSS", "Checkbox Skin""
  • UserCSSのON・OFF(スキン:チェックボックス)
  • UserCSSのON・OFF(スキン:おすぎ)

キーボードショートカットにも登録(Alt+U)し、なんとなくスタイルメニュー(Style Menu セクション)にも追加しておいた。

Item, "UserCSS有効"= Set preference, "Author Display Mode|User CSS=1", , "Disable UserCSS" > Set preference, "Author Display Mode|User CSS=0", , "Enable UserCSS"

若干の説明

Operaでは作成者モードで UserCSS を有効にするにチェックしていると、作成者モードの状態でも デフォルト UserCSSが適用されるようになり、また 表示→スタイル のスタイルメニューからUserCSSディレクトリ内の UserCSS をそれぞれ選択できるようになる。これを利用すると、デフォルトUserCSS を指定しない状態(パスを記述しないか空ファイルを指定しておく)で UserCSSディレクトリ に放り込んだCSSファイルを選択すれば、表示されるページに自分なりのルール(スタイル)を目的別に好きなだけ追加できて、具体的には、

勝手にフォントを変えんな
訳:サイトのフォント指定を無効にしたい
参考:Shishimushi - font-family:
face属性ってまだ生きてたの?
訳:font要素-face属性の指定を無効にしたい。
参考:宗教上font要素のface属性はお断りらしい (kuruman.org > Kuruman Memo)
なんでOperaはルビに対応してないの?
訳:Operaでもruby要素等をIEのように表示させたい。
参考:Operaでルビをそれっぽく見せるユーザスタイルシート (kuruman.org > Kuruman Memo)
PDFファイルのリンクって地雷だよね
訳:PDFファイルへのリンクに分かりやすい目印を付けたい。
参考:Shishimushi - CSS3の属性セレクタを使ってあれこれ(9.0 TP1)
TXTファイル見づらいなんとかして
訳:TXTファイルやCSSファイルを表示させた時の見栄えを変更したい。
参考:Shishimushi - Operaでテキストファイル閲覧
blinkとmarqueeは死ねばいいのに
訳:blink要素とmarquee要素の効果を無効にしたい。
参考:blink_marquee.css
ニュースサイトって無駄に広告多いよね
訳:よく訪問するサイトの広告等をブロックしたい。
参考:itmedia.css

等といったことが可能となる。ただ、そのサイトを純粋に「制作者モード」で表示したい時、それは例えば、有効にしてあるCSSが原因である要素が表示されない時であったり、そのサイト用のUserCSSを作成する時であったりと様々だが、そういう時に有効にしてあるCSSファイルを一つ一つオフにしたり、サイト設定でCSSファイルの指定を外すというのは少し面倒だ。そこで、チェックしてあるそれぞれのCSSファイルや、ドメインごとに割り当てているCSSファイルを全てオフにして、純粋な「制作者モード」での閲覧を可能にする冒頭のアクションが必要となってくるというわけ。

雑感

ちなみに任意のCSSだけをON・OFFにする時、僕は次のようなアクションをキーボードショートカットに登録しておいて、

c shift = Show popup menu, "Style Menu"

Shift+C → * キー(メニュー内の下線付きの文字キー)という具合にやっている。UserCSSに名前を付けておけばある程度好みのキーを指定できて(例:『フォント指定無効 f』などと一文字だけ英数字にしておく)、これでCSSファイルが33もある中なんとかやっているんだけど、やっぱり単体でのON・OFFはこういう風にスタイルメニューから選択するしかないのかな。

タイトルが変だ。えっと、例えば、mixi日記の画像をクリックすると、次のような感じで画像がポップアップされるんだけど、

mixi日記の画像(サイズや位置は若干変えてあります)

うざいよね。で、それが嫌だからミドルクリックで画像を開いても javascript:void(0) というページが開かれるだけで、肝心の画像が見られない。いや、ポップアップがうざくて同一窓で開きたいという話ならusopionさん新ウィンドウ禁止スクリプト導入すれば万事解決なんだけどさ、僕が言いたいのはそういうリンクをミドルクリックした時も、普通のリンクと同じようにバックグラウンドで開いて欲しいなぁ、とまあこういうわけで、それを実現してくれる UserJS がありますよということですはい。具体例が微妙で説明が冗長だ。

下の方のStoen氏が上げてくれているファイル(middleclickJSOverride.js)がそれ。a要素のherf属性に javascript:void(0) なんて素敵な値が設定されていても、ミドルクリックでウィンドウをバックグラウンドに開くことができる。リンクによっては例外もあるかもしれないけど、Stoen氏曰く、

Script should now work from almost every type of link, the only obvious exception I can come up with is a link that submits a form through javascript

Middle clicking javascript links - User JavaScript - Opera Community

らしい(詳しくは調べていない)。

なお、Operaのポップアップの設定で「すべてのポップアップを無効にする」にしていたり、JavaScriptオプションの「ウィンドウの強制非表示を許可する」のチェックが外れていると動作しない。また、この UserJS を導入すると、ミドルクリックで開いたタブ全てのアドレスバーが非表示になるので、ミドルクリックでリンクを開く習慣のある人には不向きかもしれない(タブバーの上にアドレスを表示している場合は大丈夫)。

Notifier Skin

| コメント(0) | トラックバック(0)

メールの送受信、新着ニュースフィードメッセージ、ファイルのダウンロード完了、ポップアップブロックの通知、テキスト・リンクの検索ウィンドウ、

通知ポップアップ

のカスタマイズ覚え書き。

Notifier Skin セクション

ポップアップ通知ウインドウをカスタマイズするには、適用しているスキン(Opera\profile\skin\***.zip)の skin.ini 内 Notifier Skin セクションを書き換える必要がある。例として Opera Standard(standard_skin.zip)を見てみる。

メールの受信

[Notifier Skin]
Type                   = BoxTile
Tile Left             = edit/left.png
Tile Top              = edit/top.png
Tile Right            = edit/right.png
Tile Bottom           = edit/bottom.png
Corner Topleft        = edit/topleft.png
Corner Topright       = edit/topright.png
Corner Bottomright    = edit/bottomright.png
Corner Bottomleft     = edit/bottomleft.png
Tile Center            = notifier/center.png
Color                  = Window
Padding Left          = 6
Padding Bottom        = 6
Padding Right         = 6
Padding Top           = 6
Spacing                = 6

Type,Tile,Corner

Typeキーに BoxTile が指定されている場合、以下に Tile Left や Corner Topleft のようにTile キーと Cornerキーを使って9つまでの画像を指定するようになっている。

BoxTileのパーツ適用箇所(厳密に言えばちょっと違うけど感覚的に)

edit,notifier 内を見ればわかるが、ほぼ点に等しいPNG画像が上下左右にそれぞれに敷き詰められるようになっており、Tile Centerキーで指定されている center.png は、幅1ピクセル、高さ127ピクセルで、それが横方向に並ぶようになっている。試しにこれらの指定を外してみると、

Type以下指定なし

[Notifier Skin]
Color                  = Window
Padding Left          = 6
Padding Bottom        = 6
Padding Right         = 6
Padding Top           = 6
Spacing                = 6

という具合になる。

Color

Colorキーはその要素の画像が描画される前に描画される背景色を指定するもので、CSS のように #f4c782 などの指定ができるが、Windowという値を使うことで、Operaはシステムで定義されている色をウィンドウ内部に使うことができるとのこと。

Padding

ツールバーのスキン要素の Padding とはツールバーの端とその内容との間のスペースのことで、上下左右を指定することができる。Notifier Skin セクションの場合は次の赤い部分がそのスペースに当たる。

Paddingの値の反映箇所

なお、Margin は Notifier Skin セクションにおいては用いられず、指定しても反映はされない。

Spacing

Spacing は アイコンとテキストとの間のスペースを指定するキーで、例えば 6 と 30 ではそれぞれ以下の様になる。

Spacing=6と30の違い

カスタマイズ

以上のことを応用すると、次のような通知ウィンドウを作成できる。

おぺらたん

[Notifier Skin]
Type                  = Box
Corner Topright      = optn/operatan.png
Padding Left         = -28
Padding Bottom       = 50
Padding Right        = 100
Padding Top          = 50
Spacing              = 20
Color                = #ddf5f3
Border               = 1

Type,Corner

Typeキーに Box という値を指定しているが、これはBoxTileと同じように、9つまでの画像によって指定されるもので、BoxTile と違うところはTile画像が並べられず、中央表示される点。上の場合は Corner Topright(右上の角)に operatan.png(100×139)のみを指定している。これは、Tile Right(右)や Corner Bottomright(右下の角) よりも Corner Topright の方が収まりが良かったため。

参考までに、上下左右四隅にそれぞれ別のスマイルアイコンを Box で指定した場合は次のようになる。

それぞれにスマイルアイコンを指定

Padding

画像サイズ分のスペースを取るようにしている。具体的に言えば、画像の幅が100pxなので Padding Rightキーも100px、Padding Top,Botoomキー は縦139pxが表示できるように適当に調整してそれぞれ50px。また、Padding Leftキーを -28 としているのは、アイコン(buttons\mail.png)を消すため。

PaddingLeftとアイコンサイズ

ちなみに、このアイコンの変更方法はわからなかった。

Spacing

アイコンが表示されていないので、この値が事実上 Padding Left となっている。

PaddingLeftとSpacing

Border

Borderキー を指定することで境界線を描画できる。値はピクセル。

文字

Text Colorキーで文字色が指定できたが、Text Bold(太字),Text Underline(下線)キーは指定しても反映されなかった。なお、表示されるテキストを変更するには、日本語なら ja.lng(Opera\locale\ja\ja.lng あるいは Opera\profile\ja.lng)内の、

-2101352284="%u通のメッセージを受信しました"

417170167="%s\n(ここをクリックすると未読メッセージを表示します)"

を適当に書き換えればよい。

問題点

ニュースフィードの受信通知の際にはテキストが切れてしまい(Padding Leftキーに -18 を指定した弊害)、登録フィードが多いとおぺらたんが浮いてしまう。

テキストの左が一部切れて画像は上に寄って表示

そこで、Padding Left を 20 に、Spacing を 6 にしてアイコンを表示させると、

アイコンを表示させた通知ウィンドウ

[Notifier Skin]
Type                  = Box
Corner Topright      = optn/operatan.png
Padding Left         = 20
Padding Bottom       = 50
Padding Right        = 100
Padding Top          = 50
Spacing              = 6
Color                = #ddf5f3
Border               = 1

以下のようにテキストが全て表示されるようになり、

テキストは切れなくなったが画像は上に寄ったまま

さらに Corner Toprightキーではなく Corner Bottomrightキーに画像を指定すれば、

ちょっとガクガクおぺらたん

[Notifier Skin]
Type                  = Box
Corner Bottomright  = optn/operatan.png
Padding Left         = 20
Padding Bottom       = 50
Padding Right        = 100
Padding Top          = 50
Spacing              = 6
Color                = #ddf5f3
Border               = 1

果たして期待通りの描画となった(うちの環境だとガクガクするが)。また、間を取って Tile Right でもいいかもしれない。ここら辺は好みなので、参考までにそれぞれのフラッシュとスキン(通知以外はデフォルトのボタンセット)を上げておく。

  1. Padding Leftキーに-18を指定してアイコンを非表示にしたもの
  2. アイコンを表示させ右上の角に画像を指定したもの
  3. アイコンを表示させ右下の角に画像を指定したもの
  4. アイコンを表示させ右に画像を指定したもの

個人的な感想としては、何の通知なのか直感的に知るためにもアイコンは表示させておき、画像も右上角に適したものを選別すればいいんじゃないかと思う。

参考リンク

9.20 build8732

| コメント(0) | トラックバック(0)

目玉は Speed Dial。

Speed Dial

Why Speed Dial?

ブックマークはだいたい2つのカテゴリーに分類されるらしい。

  1. いつか訪問するかもしれないからブックマークする1群のサイト。
  2. 頻繁に訪問する5~6のサイト。

で、この Speed Dial(短縮ダイヤル? 以下SD)は2のようなサイトにうってつけだとかなんとか。タブバーダブルクリックか Ctrl+T で SD 開いたら、1~9のボタンをクリックしてトップ10か現在開いているページを選択したり、パネル(ブックマークや履歴、リンク、ウィンドウ等)から適当にドラッグ。するとそのサイト・ページはサムネイル付きで登録されて、最大9つのお気に入りサイトを一望できるという感じ。なかなか面白い。

衝動的に色々登録したが、個人的にはここに気になったページを入れておこうと思った。例えば、なかなか雰囲気よさげな温泉宿を見つけたらすかさず登録、あーこのデザインいいなーみたいなサイトに出会ったらすかさず登録、これは毎日毎時毎分見たい見なきゃ死ぬ死んじゃうという画像を登録、等々。最後のはともかく、「あとで読む」タグ付けてもどうせすぐに埋もれて忘れてしまう昨日までの自分にさよなら(予定)。

Cool stuff

  • Ctrl+R で全てのサムネイルを更新、または右クリックメニューから単一で更新できるよ(Webメールとかいいかもね!)。
  • デスクトップの方でも Yahoo! と仲良くなっちゃって検索が Yahoo! になってるけど設定から変えられるからよろしく(設定 » ネットサーチ » 編集 » 詳細)。
  • ドラッグして配置換えもできるよ。
  • この SD が気に入らなかったら右下の「Hide Speed Dial」で無効にできるよ。

Known issues

  1. search.ini ファイルが上書きされるので、インストールする前にバックアップ取っておいてね。
  2. サムネイルがスタートアップのたびにリロードするべきではない。らしいです。
  3. 「すべて更新」がコンテキストメニューからない。
  4. ミドルクリック→バックグラウンドで開く ができない。
  5. Back ボタンを押しても SD に戻れない。
  6. いくつかのスキンとディスプレイで問題が。
  7. 若干の不可変コード化された translatableでないストリングを含んでいます。よくわかりません。
  8. 「What is Speed Dial」を押してもヘルプには飛ばない。
  9. SD の 1番目にパートナーのブログを入れるの忘れるとドラマティックな結果が待ってるよ。

RSSリーダーでry

Changelog

  1. 印刷したりメールしたりアクティブなパネルを削除した時にクラッシュしていたのを修正。
  2. たくさんのマイナー修正。
  3. スタートバー SD に取って代わった。トップ10とブックマークボタンは「外観の設定ダイアログ」にあるので他のツールバーに追加可能。
  4. Canvas がどうたら。使えば Widget で問題起きるかもしれないとかなんとか。

ファイルの変更点

standard_keyboard.ini,standard_toolbar.ini,standard_menu.ini,ja.lng の変更・追加箇所は、僕をすももももももにハメた人が書いてる通り。

付け加えるなら、standard_keyboard.ini,Application セクションの

Esc     = Set widget mode, 0 | Cancel current voice | Leave access key mode
↓
Esc     = Leave access key mode | Cancel current voice

くらい。あと ja.lng の変更点は UserCSS ファイル名の追加で、

  1. altdebugger.css (Alt debugger)
    1. AREA and IMG Alt Attribute Debugger. Catches images and areas with no ALT, empty ALT, and dummy ALT attributes. Images and areas with missing or invalid ALT attributes are highlighted with a blue outline.
  2. classid.css (Class and id)
    1. Append CLASS and/or ID names for elements.
  3. disablebreaks.css (Disable breaks)
    1. Removes BR and HR elements from the document.
  4. disablefloats.css (Disable floats)
    1. Page layout inspector - floats. Resets the float property to 'none' for all elements.
  5. disableforms.css (Disable forms)
    1. Page layout and hidden functionality inspector - forms. Removes forms and form controls from the page.
  6. disablepositioning.css (Disable positioning)
    1. Page layout inspector - positioning. Resets the position property to 'static' for all elements.
  7. outline.css (Outline)
    1. Page layout inspector - outline. Adds an outline for common structural elements.
  8. structureblock.css (Block structure)
    1. Document structure inspector - blocks. Adds an outline for common structural elements.
  9. structureinline.css (Inline structure)
    1. Document structure inspector - inlines. Adds an outline for common inline structural elements.
  10. structuretables.css (Table structure)
    1. Document structure inspector - tables. Adds an outline and appends a tag name for all table elements.
  11. tablelayout.css (Fixed table layout)
    1. Page layout inspector - table layout model. Forces fixed table layout on table elements.
  12. toc.css (Table of contents)
    1. Heading Outline. Converts the document to a table of contents based on heading elements H1-H6.

以上のファイルが新たにが追加された。面白いのがいくつかあるなぁ。ちなみに、

  1. Hidecertainsizes.css Debugwithoutline.css
  2. Hidenonlinkimages.css
  3. Imageandlinkonly.css
  4. nostalgia.css
  5. Showstructure.css
  6. Textonly.css

は今回インストールされなかった。無くなるんだろうな。

その他

  • 僕もなんとなく Wii だと思いました。
  • サムネイルかっこいい。ウィンドウサイズに合わせて描画。
  • 「Hide Speed Dial」幼くても普通の空白タブは opera:blank で開ける。
  • 「リンク先となるタブを開く」はタイトルが「Speed Dial」で中は空(動作的には問題なし)。
  • 新しいタブでリンクを開く時、タイトルが一瞬 「Speed Dial」となる(それだけ)。
  • SD 使用中結構落ちる。登録サイトが悪いんだろうな。
  • Rimo を登録すると SD を開いている間 音だけ再生される。あ、落ちる原因 Rimo だ(たぶん)。
  • Detach page で SD を切り離したら使えるかも!と思ったら何やっても同じタブで開かれるので微妙。
  • しかも、ページを進めてもバックで Rimo の音声のみが流れていて気持ち悪い(パネルと同じ現象)。
  • うちでは search.ini 上書きされなかったよ(Windows)。
  • あと、ちゃんとミドルクリックでバックグラウンドにタブ開くよ(Windows)。
  • ひょっとしてミドルクリックが効かないのって SD のこと?
  • SD って基本マウス操作っすか。タブで移動可。

さて、keyboard.ini を書き直すとするか。