なんとかバー

提供: Opera Wiki
移動: 案内, 検索
最初期のなんとかバー

なんとかバーとは、12.00.1301以降のLinux/FreeBSD版において、 タブバーを非表示に設定すると出現するツールバーのようなもの(厳密には異なる)を指す用語である。

目次

[編集] 概要

12.00.1301以降のLinux/FreeBSDにおいて、 タブバーを非表示にするとメニューボタンのみが表示されるツールバーのようなものが出現 [1]し、 Opera単体では無害化が不可能であるため、表示領域絶対主義において問題視されている。

[編集] 歴史

2012/02/10 12.00.1301 初めてその存在が確認される[2]
2012/05/15 12.00.1413 挙動が大きく変更され、タブバーを上以外に設置した場合に表示されなくなる。
DSK-357214 [Unix] Unknown bar with Opera button and a set of mdi buttons is unremoveable

[編集] 特徴

  • 通常のツールバーとは異なり、X11ネイティブのウィンドウを持っている。
    • ウィンドウはメニューバーと共有である。
  • フルスクリーンにすると消える。
  • メニューバーを表示すると消える(メニューバーとウィンドウを共有しており、排他である)。
  • 背景にテーマが適用される。
  • 余白部分をドラッグしてウィンドウを移動できる。
  • テーマを使用するとウィンドウ枠の描画をOpera自身が行うようになり、タイトルバーが消えてなんとかバーと統合される。

以上のことから、なんとかバーはタイトルバーとタブバーを統合する過程で実装された、タイトルバーの代替であると推測される。

[編集] 対策

なんとかバーによる被害を抑える方法を紹介する。

  • 常にフルスクリーンで使用する。
  • メニューバーを表示して使用する(#特徴を参照)。
  • なんとかバーが出現する度にショートカットなどで非表示にする#アクションを実行する。
  • #対策ツールを使用する。

[編集] アクション

Operaを起動したままなんとかバーを一時的に非表示にするアクションがいくつか考案されている。

Customize Toolbars & Set alignment, "Pagebar", 2 & Set window decoration & Set window decoration & Cancel
Set alignment, "Pagebar", 2 & Delay, 100 & Customize Toolbars & Set alignment, "Pagebar" & Find more skins & Delay, 1 & Close page

[編集] 12.00.1406以前

Set alignment, "Pagebar", 2 & Enable menu bar & Delay, 100 & Disable menu bar & Set alignment, "Pagebar", 0

[編集] 対策ツール

#特徴で述べたように、なんとかバーはX11ネイティブのウィンドウを持っている。 従って、APIフックによりなんとかバーのマッピングをバイパスさせ、 なんとかバーの高さぶん表示領域を拡張してやることでなんとかバーを完全に無効化する事が出来る。 以下に実装例を紹介する。

http://crckyl.ath.cx/cgit/opera-nantokabar-fixer.git/tree/nantokabar.c

$ git clone git://crckyl.ath.cx/opera-nantokabar-fixer.git
$ cd opera-nantokabar-fixer
$ make
$ LD_PRELOAD=$(pwd)/nantokabar.so opera

[編集] 脚注

  1. 12.00.1406以前は上以外に表示した場合にも出現。
  2. http://my.opera.com/crckyl/blog/show.dml/41245872
個人用ツール
名前空間

変種
操作
案内
ツール