XのVirtual

Xには、実際のディスプレイのピクセル数より大きなスクリーンを持てる 機能がある。たとえば、1024x768の弱いディスプレイで使ってても1280x1024の 仮想画面が使えて、仮にではあるが大きな画面が使える、と。

でもこれ、使い勝手よくないんだな。viewpoint が (0,0) (左上)のとき 右下 (1279,1023) を見たければ、マウス使ってスクロールさせないと 行けないから。ふつーマウスなんて使わないじゃん。てことで、 Virtual は使ってなかった。

ところが最近 TightVNC をよく使うようになって、その画面を 1280x1000で構築してるもんだから、1024x768なノート(X21)でつなぐと 必然的にはみ出る。vncviewer のスクロールバーは使いづらい。んー。

てことで、Xの Vurtual を苦労せずスクロールさせる方法を考えた。 普段ウィンドウ切り替えは ~/.fvwm2rc で

AddToFunc DeiconifyFocusAndWarp "I" Iconify -1
+				"I" FocusAndWarp $0 $1


Key 1  A  C  Next [CurrentDesk *emacs*]DeiconifyFocusAndWarp 0 0
Key 2  A  C  Next [CurrentDesk kterm:]DeiconifyFocusAndWarp 0 0

してC-1でEmacsに切り替えたりしている。ウィンドウの 位置関係はこんな。

+-----------------------------------------------+
|+------------------+     +-------------+ +----+|
||   emacs          |     | console:    | |時計||
||                  |     |  (kterm)    | +----+|
||                  |     |             |       |
||                  |     +-------------+       |
||                  |                           |
||                  |       +------------------+|
||                  |       | kterm:           ||
||                  |       |                  ||
||                  |       |                  ||
||                  |       |                  ||
||                  |       |                  ||
|+------------------+       |                  ||
|                           |                  ||
|                           |                  ||
|                           |                  ||
|                           +------------------+|
+-----------------------------------------------+

Emacsに切り替えるときはマウスカーソルが左上に行くのでXのVirtualな viewpointも(0,0)になる。でも、右下のktermに切り替えるときはマウスカーソ ルがkterm:の左上に来るだけなのでXのviewpointは変わらない。

あそうか、じゃ「一度右下ぎりぎりにマウスを移動すりゃいい」のか。 てことで、DeiconifyFocusAndWarp関数を変更。

AddToFunc DeiconifyFocusAndWarp "I" Iconify -1
+				"I" FocusAndWarp 92 95
+				"I" FocusAndWarp $0 $1

これで、移動先のウィンドウの右下と左上隅両方が見えるように ぐりぐりとviewportを変えてから切り替えられる。ついでに、 FVWMの Virtual DeskTop を複数にしている場合は

EdgeScroll 0 0

にしておいたほうがいい。

ああ地味な設定だ。でもずっと昔に気付いてたらXのVirtual Screenも 便利に使えていたかもしれない。


叱咤激励感想ツッコミはゲストブック

Generated with mkdiary.rb
yuuji@example.org
Fingerprint16 = FF F9 FF CC E0 FE 5C F7 19 97 28 24 EC 5D 39 BA
HIROSE Yuuji - ASTROLOGY / BIKE / EPO / GUEST BOOK / YaTeX [Tweet]