なんとかバー
提供: 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
[編集] 脚注
- ↑ 12.00.1406以前は上以外に表示した場合にも出現。
- ↑ http://my.opera.com/crckyl/blog/show.dml/41245872