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@
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]