2 特集モーレッ UNIX に表示できるようになります。さすがに、 Windows や Macintosh のように終了時の状態を保存できるわけでは ありませんが、ログインする段階で必要なツールが自重加勺 に配置できるだけでも、かなり手間が省けます。 あつぶる : でも、 twm の疋みたいに、かなり複雑なん しゃないですか ? monkey : ちょっと twm の印象か強烈やったか。こし つに関しては大丈夫や。あつぶるちゃんは、いままで コマンド行からツールを起けるのに xterm & だ の、、 t Ⅷ & " だの入力してたやろ。ぶっちやけた話、そ れをそのままファイルに書くだけやねん。 あっぷる : あー、それなら簡単そうですそんなにたく さんツールを起動してるわけしゃないから、 3 ~ 4 行で 終っちゃうんじゃないですか ? monkey: ただし、あつぶるちゃんには X クライアント のコマンド行オプションをぜんぜん教えとらんからな。 オプションを使えば、ウインドウの大きさとか位置と か、あと色なんかも指定できるんや。ますはそこから始 めよか。 コマンド行オプション 多くの X のツールはコマンド行から実行する際、オフ ションとしてツールの動作や見栄えなどを指定することが できます。もちろん、ツールごとに独自のオプションを もっているのですが、ウインドウのジオメトリ情報や色 テキスト表示に使うフォントなど、多くのツールに共通す るオプションがあります。 これらのオプションを X 起重加芋の設疋ファイルに指定 しておくことにより、いつも決まった位置にウインドウを 並べることができます。共通するおもなオプションには、 以下のようなものがあります。 ・ -geometry ル x + X + Y ウインドウのジオメトリ情報 ( 大きさと表示位置 ) を指定するオプションです。 twm の IconManager Geometry 変数で説明したように、ウインドウの幅と 高さ、 X 座標および Y 座標を与えます。幅と高さにつ いては、はとんどのクライアントがドット数で与えるの に対し、 xterm などでは横と縦の文字数で与えます。 ・—bg color UNIX MAGAZINE 1996.7 ウインドウの背景色を指定します。色の名前が 2 つ以 上の単語からなる場合は単一引用符 ( って悃みます。 ・—fg color ウインドウ苗画色を指定します。 ・—bd co ん 7 ・ ウインドウの枠の色を指定します。 ・一て V 描画色と背景色を反転させます。 ・—fn ルれ テキスト表示に用いるフォントを指定します。 ・一 1 C on 1 C アイコンの状態て起動します。 ほかにも共通のオプションはいくつかありますが、ウ インドウの見栄えに関する部分はこれくらいで - 、分でしょ う。ツールに特有のオフションについては、おいおい紹介 していきます。 ウインドウのイ立置を調べる ウインドウの色やフォントを調べるガ去は、前節て紹介 しました。数多い色やフォントから好みのものを選ぶのは 大変ですが、 xco や xfd などのツールを使うと、実際に目 で見て確かめることかできます。 では、ウインドウの位置はどうやって調べるのでしよう か ? ジオメトリ情報を当てずつほ。うで指定し、ツールの 起動を繰り返して誤差を修正・・ こんなことをやって いたら、いつまでたっても終りそうにありません。 X のツールには、ウインドウに関する情報を謌べるため のコマンド xwininfo があります。これを使うと、扣疋 したウインドウに関するさまざま囹青報を表示します。 のなかにはジオメトリ情報も含まれるため、参考にしなが ら位置決めをおこなうのが手つ取り早そうです。 xwininfo を引数なしで実行すると、以下のようなメッ セージか表示さマウスカーソルの形が + に変わりま す。 xwininfo : P1ease select the window about which y % xwininfo 35 mouse in that window . would like information by clicking the
2 モーレッ UNIX title window al 1 タイトノレヾー ウインドウ内 すべての場所 複数の場所を、、にで区切って並べると、、、指定した場所 のいすれか " を意味します。最後の、、関数名 " には、 twm の関数を指定します。 いくつか実際の例を挙げましよう。 f . menu Button1 root window ー title f . move Button2 = c But t 0 Ⅱ 3 icon : f . delete これらはそれぞれ、以下のような未を表します。 ・ルートウインドウ上てマウスの左ボタンをクリックする と、 top menu という名則のメニューを表示する。 ・ウインドウあるいはタイトノレヾーで、 ControI キーを押 しながらマウスの真ん中ボタンをクリックすると、ウィ ンドウを移動できる。 アイコンにマウスカーソルがあるとき、 Control キーと Shift キーを押しながらマウスの右ボタンをクリックす ると、 f . delete を実行する。 ボタンと場所、さらにキーも加えると、かなり細かく動 作の設定かできます。たくさん設定しすぎると、割り当て た設定を忘れてしまい、偶然その組合せになったとき慌て ることになりかねません。設定しない場合は何も起こらな いだけなので、よく使うマウスポタンやキーの組合をだけ そ也の設定 に重川を設定するのがいいでしよう。 UNIX MAGAZINE 1996.7 ます。 をたくさん並べている場合はかえって煩わしかったりし 移るとすぐに Aut 。 Raise か機能するため、ウインドウ しなくてもよいので便利そうですが、マウスカーソルが ウインドウが一番上に表示されます。マウスをクリック たウインドウにマウスカーソルが移ると、自重加勺にその 値として、ウインドウのリストを指定します。指定され ・ AutoRaise きます。 最後に、これまで紹介しきれなかった変数をまとめてお 図 19 xclock のアイコン xclock fvwm では、あるウインドウにフォーカスか移ってか ら AutoRaise するまでの時間を指定できますが、残念 ながら twm にはそのような機能がありません。 ・ DontMoveOff この変数を指定すると、ウインドウを動かす際、ウィ ンドウか画面からはみ出さなくなります。値はありませ ん。 ・ lcons 、 ForceIcons あるツールについてはあらかじめビットマッフ。の本期兼が 割り当てられており、そのウインドウをアイコン化する と、アイコンに模様か表小されます。たとえは。 cl 。 ck や xcl 。 ck をアイコン化すると、とくに設定しなくても 図 19 のように日付きのアイコンになります。 xterm などはピットマップか割り当てられていないた め、アイコン化しても、、 xterm - というラベルが表小さ れるだけです。ちょっと寂しいです これに対し、 lcons 変数を使うとピットマップをアイ コンに表示できるようになります。 lcons 変数の値に は、ウインドウ名とピットマップ名のペアをリストと して与えます。たとえは、以下のように設定したとしま しよう。 "xfd' 'txfd_icon この例では xterm のアイコンに terminal という名則 のピットマップを、 xfd のアイコンには xfd-icon を割 り当てています。いすれも / us て / X11 / i Ⅱ cl Ⅱ de / X11 / bitmaps ディレクトリに置かれているピットマッフ・ ファイルですが、 twm にビルトインされていないピッ トマップ・ファイルを参照する場合は IconDirectory 変数を設定しておく必要があります。 33
= , 寺集 表 4 twm て用意されているおもな関数 2 モーレッ UNIX 機能 関数名 f . beep f . circledown f . circleup f . deiconify f . delete f . deltastop f . hideiconmgr f . iconify f . lower . menu . move f ・ nop f . quit . ralse f . f . refresh . reSIZe f . restart f . showiconmgr f . sorticonmgr f . title f . twmrc f . destroy f . fullzoom f . function f f f f ヒ、一フ。音を鳴らします ューザー定義の関数を呼び出すために使います。引数として、 Function 変数 ( ) で定義した関数名を与え ウインドウを画面いつばいに表示します ( ふたたひ実行すると、もとに戻ります ) 関数のあとに指定した文字列を、外部コマンドとして実行します j 尺した X クライアントを終了させます 関数の実行を中止します ューザー定義の関数のなかで用い、 MoveDe1ta 変数 ( 彳あで指定したドット数↓リまにマウスを動かした場合、 尺した X クライアントを終了させます アイコンをもとのウインドウに戻します 重なり合っているウインドウのうち、一番下にあるものを一番上に表示します 重なり合っているウインドウのうち、一番 - 日こあるものを一番下に隠します アイコン・マネージャーのリストをアルファベット順に並べ替えます アイコン・マネージャーを表示します twm を再起動します ウインドウの大きさを変更します 画面を再描画します に隠します 重なっている場合、下になっているウインドウお尺すると上に表示し、一番上のウインドウお尺すると下 重なっている場合、 j 尺したウインドウを上に表示します twm を終了します 何もしません。メニューに空行を入れる場合に使われます ウインドウを移動します 引数として指定した名前のメニューを呼び出します 重なっている場合、尺したウインドウを下に隠します ウインドウをアイコン化します アイコン・マネージャーを隠します ます twm の成疋ファイルをふたたひ読み込みます。再起動よりも処理が速いので、設定の変更を応央させる場合に メニューで使われる関数で、項目のラベルをセンタリングし、尺不可能にします 便利です 表 4 に挙げた関数のうち、 f . delete と f . destroy の 違いについて補足しておきましよう。 X のクライアントは X サーバーに管理さオ L 、画面への表示などは X サーバー がおこないます。 f . delete が X クライアントに対して 終了要求を出すのに対し、 f. destroy は X サーバーに 対して終了要求を出します。そのぶん f . destroy のはう か強力で、 x クライアントが f. delete を受け付けなく なっても、 f. destroy を実行するとはとんどの場合終了 させることができます。 これらの関数を組み合わせて独自の関数を作る場合、 Function 変数を使います。書き方は以下のとおりです。 twm のノヾッケ Function " 関数名 " 関数のリスト ージに添付されている設定ファイル UNIX MAGAZINE 1996.7 (system ・ twmrc) には、ユーサー定義の関数がいくっか 書かれています。たとえば、 move-or-raise という名則 の関数は、以下のように定義されています。 Function "move—or—ralse" { f . move f . deltastop f . raise } この例では f. deltastop 関数が使われています move-or-raise 関数の動作はここがミソです。 が、 f . move および f. deltastop は MoveDe1ta という変 数に依存しています。 MoveDe1ta 変数は値としてドット 数を与えるのですが、 f. move と f. deltastop の重川は ・ f . move それぞ 29
寺集 図 20 莫様入りの xterm アイコン xterm この成疋で xterm をアイコン化すると、図 20 のように なります。ビットマッフ。の期兼が入るだけで、がらっと 印象か変わります。 また、 ForceIcons 変数 25 を指定すると、あらかしめ ピットマップか割り当てられているツールに関しても、 強制的に lcons て指定したビットマッフ。か割り当てら れるようになります。既成のビットマップか気に入ら ない場合に使うといいでしよう。 ・ NoRaiseOnMove 、 NoRaiseOnResize 通常、ウインドウの位置や大きさを変更すると、その ウインドウが一番上に表示されますが、これらの変数を 指定しておくとウインドウの上下関係か変わりません。 これらの変数は、とくに値はありません。 ・ OpaqueMove ウインドウを移動する際、とくに設定しなければ、移動 中はウインドウの枠だけか表示されます。この変数を書 いておくと、移動中もちゃんとウインドウの中身か表示 されるようになります。枠だけの移動にくらべれば処理 に負担がかかりますが、昔にくらべれはマシンの性能は 格段によくなっているため、さはど地にはならないで しよう。 ・ RandomP1acement 値はありません。 X のクライアントを起動する際、ジ オメトリ情報で位置を指定した場合を除き、ユーサーが ウインドウの位置をマウスて決めなければなりません。 この変数を書いておくと、 twm が適当にウインドウの 位置を決めてくれます。 monkey : ふう一 。さすがにこれだけ一気にやると疲れ るな。でも、いままで使うてなかったような機能が発 見できて、自分でも勉強になったわ。 あつぶる : 設定を憶えるだけでも大変なのに、設定するの に使うツールなんかもあるからほんとに大旡全部慮え 2 モーレッ UNIX ようとしたらいつまでかかるのかしら・・ monkey : twm の設疋はこオレごけやないで。細かいのも 含めると、いま説明したものの倍くらいはあるんちゃう かな。 あっぷる : そんな、私には一生かかっても憶えられそうに ないなあ。 monkey : 憶える必要はあらへん。こういうときのため に、 UNIX にはオンライン・マニュアルちゅうもんが あんねん。詳しい使い方はそのうち教えるけど、試しに xterm で man twm ' って実行してみ。 あつぶる : あっ、マニュアルか表小されるんですね。さっ き説明してもらった変数なんかも、全部載ってる ! ! な るはど、使い方を忘れたら、マニュアルを見て思い出せ はいいんだ。 monkey : そうそう、たいがいのツールにはマニュアル が付いとるからな。こういう情報の調べ方さえ憶えとけ は、何も怖いことあらへん。だいふ時間がかかったし、 ちょっとだけ休憩しよか。 あつぶる : 賛成 ! ! 見た目はシンプルな twm ですが、ユーサーカ疋でき る部分はかなりあります。一度に全部やろうと思うとしん どいので、すこしすっ分かる範囲で自分の . twmrc を変更 していけばいいでしよう。 twm の提供する関数は多数ありますが、お薦めなのは f. quit と f . restart 、そして f . twmrc です。ちょっ と . twmrc を変更したとき、メニューから f . restart や f . twmrc を呼び出せはマウス操作だけで設定ファイルを 読み込み直すことができるし、 f . quit を使えば簡単に twm を終了することができます。 25 値はありません。 34 X 起動時の設定 UNIX MAGAZINE 1996.7 でログインしたとき、決められたツールカ鴃められた位置 twm と同櫨専用の設定ファイルを用意すれは、 xdm は、な竹喋といえます。 ません。ログインするたびに同しようなことを繰り返すの 必喫ならばウインドウの位置も手動調整しなければなり でウインドウ・マネージャーやその他のツールを起動し、 ければ xterm が 1 枚表示されるだけです。あとは自分 xdm を利用してログインすると、とくに設定していな
2 寺集モーレッ UNIX の配置によっては逆に使いづらいかもしれません。 これらの定は、すべて設定ファイルを通じて変更でき おきます。 ・ IconManagerDontShow 、 IconManagerShow 値として、ウインドウ名のリストを指定します 22 。前者 を設定すると指定した名前のウインドウをアイコン・マ ネージャーに表示しなくなり、後者は指定したものだけ を表示します。たとえば、 oclock や xclock などはア イコン・マネージャーて管理する必要がないと思えば、 以下のように言当します。 I c onManagerDont Sh0W "xclock" " oclock ” これらの変数をうまく利用す川ま、ウインドウか増えて もアイコン・マネージャーがごちやごちゃしません。 ・ IconManagerGeometry アイコン・マネージャーの大きさと位置、さらに、 1 行 に表示するアイコンの最大数を指定します。大きさと位 置ク片旨定は以下のような書き方に従います。 幅 x 高さ + X 座標 + Y 座標 幅や高さはドット数で指定し、 X 座標と Y 座標は原 点からのドット数で表します。 X の座標系は、左止隅 が ( 0 , 0 ) です。 + の代わりに を指定すると、反 対イ則が原点となります。したがって、、、 100X200 + 0 ー 0 ' だと、幅 100 ドット x 高さ 200 ドットのウインドウが、 画面の左ード隅に表示されることになります。位置と大き さの情報はジオメトリ (geometry) と呼は X での 共通した指定方法なので、憶えておいてください。 ジオメトリ情報に加え、オフションとして 1 行に表示 するアイコンの最大数を指定することもできます。たと えは、 IconManagerGeometry を以下のように設定し たとしましよう 23 IconManagerGeometry " 200X200 ー 0 ー 0 " 2 22 ウインドウ名 ( お : 重引用符で括り、リスト本を吋刮瓜て棚みます。 23 ジオメト月帯長は二重引用符で囲みます。 28 図 12 アイコン・マネージャーのカスタマイズ 0 Xte れれ oclock xterm xterm こまでの設定は、おもに twm の見栄えに関するもの でしたが、これから紹介するメニューやタイトルバーなど は、使いやすさに直接景ルます。 twrn では、ウインドウの移重丿大きさの変史などの基 本的な機能は、関数として提供されています。たとえば、 ウインドウのアイコン化をおこなう関数には f. iconify という名前カ咐いており、メニューの項目などと対応させ ることによって重川を指定します。さらに、いくつかの関 数を組み合わせて新たな関数を作ったり、外部のコマンド を呼び出す関数を用いて、マウスの操作によってさまざま なツールを起重丿けることができます。 設定の後半戦に突入する前に、 twm で提供されている 関数について触れておきます。 ほとんどの関数には、、 f . " て始まる名前が付いており、 おもなものを挙げると表 4 のようになります。 すると、アイコン・マネージャーは図 12 のようになり ます。この際、アイコン・マネージャーに表示される 1 つのアイコンの幅は、アイコン・マネージャーの幅を横 に並べるアイコンの最大数て割ったドット数にの場合 は 100 ドット ) になります。したがって、ウインドウ が 1 つの場合、アイコン・マネージャーの幅は半分の 100 ドットで、ウインドウが 2 つに増えると幅カイ音に なります。さらにアイコンか増えるとアイコン・マネー ジャーが -- ドに伸び、図 12 のような状態になります。 ・ ShowIconManager 値はなく、この変数を設定ファイルに書いておくと、 twm の起動時にアイコン・マネージャーが表示され ます。 ・ SortIconManager アイコンのリストを、アルファベット順に並べ替えて 表示します。 ShowIconManager と同様、値はとりま せん。 twm の関数 UNIX MAGAZINE 1996.7
2 モーレッ UNIX 特集 この状態で調べたいウインドウをクリックすると、その ー 538 ー 429 上隅に置かれた xterm のにを調べた場合です。 ウインドウの情報か表示されます。以下の例は、画面の左 XWIninfo : Window Abs01ute upper—left X: AbsoIute upper— Re1ative upper—left X : Re1ative upper— Width: 484 Height: 316 Depth: 8 id : 0X240000d "xterm" left Y: left Y: 2 23 0 21 Visua1 C1ass : PseudoC010r Border width: 0 C 1 as s : lnput Output C010rmap: 0X26 (installed) Bit Gravity State: NorthWestGravity Window Gravity State : NorthWestGravity Backing Store State : N0tUsefu1 Save Under State : 取 0 Map State : IsViewab1e Override Redirect State : Ⅱ 0 Corners : + 2 + 23 ー 538 + 23 —geometry 80X24 + 0 + 0 + 2 ー 429 なうと、さらに効率よく作業かできます。 設定ファイルの編集 設定の仕 - E げは、成疋ファイルの編集てす。 xdrn を利 用してログインする場合の設定ファイルは、各自のホーム ディレクトリに . xsession という名前で用意します。あ つぶるちゃんカ乍った . xsessi 。ファイルの内容は、以 下のようになりました。 # ! /bin/sh twm Xt xt e rm xterm oclock -geometry 80X24 ー 0 ー 0 & —geometry 80X21 ー 0 + 115 & —geometry 80X48 + 0 ー 0 & xload —geometry 120X100 + 650 + 5 & —geometry 100X100 + 790 + 5 & もったいぶっちゃって ) は一い。ログイン名とパスワー あつぶる・ ( たんに記号が付くか付かないかだけなのに と設定できてるかどうカかめてみよか。 い。それより、いっぺんログインしなおして、ちゃん とりあえす、、おまじない " とでも思っといてちょうだ monkey : そこらへんの謎はいすれ詳しく教えたるから、 う力、 ? てるのに、なせ最後の twm だけは付いてないんでしよ ってなんですか ? あと、ほかの行には全部、 & " が付い ファイルを作ったけど、最初の行にある #!/bin/sh もんですね。ほとんど monkey 先生の言われるままに あつぶる :twm にくらべれは、こっちの成疋はちょろい 意味のよく分からない情報かすらすらと並んでいます が、私たちにとって重要なのは下線で示したウインドウ の四隅の座標 26 とジオメトリ情報です。これなら、コマン ドー発で簡単に位置や大きさの情報を得ることかできます れなお、ルートウインドウをクリックすると、画面本 の大きさの情報を得ることができます。 xwininfo を使ってウインドウの位置や大きさを決める 場合、効率がいいのは以下の手順でしよう。 1. 必なツールをひととおり起重丿ける。 2. あまりジオメトリのことは考えす、マウスでウインドウ の大きさや配置を決める。 3. xwininfo を使い、すべてのウインドウのジオメトリ情 報を調べる。 4. 細かい誤差を調整する。 得られたジオメトリ情報は紙にメモしておいてもいいの ですが、次に紹介する設定ファイルの編集と並行しておこ 26 ウインドウ・マネージャーによるウインドウ材坤タイトルバーがある ため、ウインドウ自体の四隅の座標はその」 : んすれています。 36 ドを入力して・・ 。あログインしなおしても、ま たログイン画面に逆戻りですよ ? パスワード間違えちゃ ったかなあ。あらら、また失敗しちゃった。 : いや、そうやない。ェデイタでファイルを作っ 、実行可能 " って ? 私なにか、変なことしまし これしゃあいつまでたっても入られへんわ。 おお、そうや ! 実行可能にしとくの忘 monkey : えーと、疋ファイルに間違いはなかったは monkey あつぶる れてた。 すやのに こっちのマシンにログインしてちょうだい。 す、 ただけやったら、実行可能にならへんねん。とりあえ あつぶる このマシンは X しゃないんですれ monkey : これは大人のマシンやねん。ログインしたら、 何も言わすに chmod u + x . xsession って実行し UNIX MAGAZINE 1996.7
寺集 2 モーレッ UNIX 図 2 あつぶるちゃんのらくがき 0 Quit Save Load Use Contr01—S and ControI—R to Search. 介 0 file yet kgou ha ii tenki dana—. kon—na hi ha shigoto 材 0 sabotte' ohirune shitai. sarunata san ga kita! 図 3 文字列部をコピー Quit Save し 06d Use Contr01—S and Contr01—R to Search. 介 0 file yet kgou ha ii tenki dana— . ohirune shitai. 0 , sarunata sa 介 ga kita ! hi 0t0 た文字列カ入されます ( 図 4 ) 。こ菓作をベーストと呼 UNIX MAGAZINE 1996.7 し文字列を繰り返し入力するような場合に便利なので、せ xterm のコマンド行にペーストすることもできます。同 ような操作で、 xedit のウインドウでコピーした文字列を で、 x のクライアント間で共有できます。たとえば、同し ません。カットバッフアは X サーバーがもっているの コピー & ペーストのテクニックは、 xedit だけにかぎり で残っているため、連続してペーストできます。 びます。カットバッフア内の文字列は次にコピーするま 図 4 Quit コピーした文字列を末尾にペースト Save Load Use Co れ t 「 01- S and Contr01—R to Search. no 「え Ie yet kgou ha ii tenki dana— . kon—na hi ha shigoto 材 0 sabotte• ohirune shitai. sarunata san ga kita ! shigot0A 図 5 文字列のウインドウ 0 Use く Tab 〉 to change fields. Use Aq く Tab 〉「 0 「く T 〉 . Backuard Search 「 0 「 : Rep1ace uith : Fo 「材 a 「 d ボタンをクリックすると、オ訪 1 旬カになります。 9 c-r てオきウインドウを呼び出すか、十きウインドウ内の Backward する場合、 C-q を入力してから Tab キーをタイプします。 8 ウインドウ内で説明されているように、入力フィールド内でタブを入力 ァイルの末尾に向かって検索がおこなわれ 9 、マッチする マウスでクリックします。すると、カーソル位置からフ この状態で、検索ウインドウ左下の Search ボタンを す。たとえは、 % hirune " と打ってみましよっ 8 にマウスカーソルを合わせ、検索したい文字列を入力しま いうラベルの付いた入力フィールドがあります。この部分 検索ウインドウの真ん中あたりに、 Search for: ' と ウか現れます ( 図 5 ) 。 う。すると、検索したい文字列を入力するためのウインド ルを編集領域の : 麪頁に移動し、 C-s を入力したとしましょ ルの位置を起点にしておこなわれます。たとえば、カーソ だけ説明しておきましよう。文字列の検索機能は、カーソ こで、文字列の検索および置換についても、ちょっと ひ憶えておいてください。 21
寺集 2 モーレッ UNIX 図 8 らくがきを保存 0 え t Save Load rakugaki. txt Use Contr01—S and Contr01—R to Search. Sa 「 i10 : 「 ak k え . txt れ 0 file yet kgou ha ii tenki dana— kon—na hi ha shigoto 材 0 sabotte , shitai. , sarunata s 獷 ga kita! shigoto nodoranakga! ! 場合は、コマンド行で xedit を起動する際、ファイル名 [ 3 ] 19689 % xedit rakugaki . txt & を引数としてケえます。 monkey : どや、何も考えすに文字を打てるし、憶えや L 。 ad ボタンをクリックするガ去も使えます。 ボタン右の入力フィールドにファイル名を入力してから あるいは、何も指定せすに xedit を起動し、コマンド んからな。あとも詰まってることやし、さっそく m 。 nkey : こんなとこで引っかかってたら、さきに進め 、、 3 分クッキング " ですね ! あつぶる このくらいなら、ちょろい、ちょろい ! ! まさ すいやろ ? twm の言定にとりかかろか。 あっぷる : はい、望むところです ! 0 で、 X ウインドウ・システムがインストールされているマ シンにはかならすあるといっても過言ではありません。 丘では fvwm など、 twm よりも見栄えがよくて機能 が豊富なものカ磴場し、そちらを利用する人が多いようで す 12 。しかし、マシンによってはインストールされていな い場合もあるため、基本中の基本である twm の使い方を 憶えておいて損はありません。 twm て利用できる機能は、専用の設正ファイルによっ て定義されます。タイトルバーやメニューなどの色や大き さ、ウインドウを操作するマウスポタンやキーの割当てな どは、すべて設定ファイルの書き方に依存します。 あつぶる : でも、私はいままで twm の成疋ファイルなん て作った憶えはないですよ。それでもちゃんと動いて いますよね。もしかして、 monkey 先生が用意してく れてたとか ? monkey : そうそう、かわいいあつぶるちゃんのために 寝る間も惜しんで・・・・・・と言いたいとこやけど、ちょっ と違う。 twm にはな、システムに共通の言聢ファイル とユーサーが軸自に用意する言ファイルがあるんや。 twm を起動けると、ますューザーの設定ファイルを探 し、なかったら共通の設定ファイルを使うんや。そや からあつぶるちゃんが自分で用意してなくても大丈夫 やねん。 あつぶる : ヘー、そうなんですか。しゃあ、どっちもない ときはどうなるんですか ? twm か怒ってエラーになっ ちゃう ? monkey : なかなか鋭いな。両方とも見つからへんかっ たら、 twm のプログラム自体にビルトインされてる設 定を使うねん。ただ、ピルトインの設疋ちゅうのは、た いがいはシステム共通の成疋ファイルとはは 1 司しゃ。管 理者や twm をインストールした人がマメやったら、共 通の定ファイルをいじって使いやすくしてるかもしれ へんけど。 あつぶる : ふーん。 monkey 先生、あまりマメじゃない twm の設定 んですねえ。 monkey : つ、 ・・さあさあ、さっさとさきに進も ! X ウインドウ・システムで、ウインドウの移動や大き さの変更、アイコン化など、画面上のウインドウをまとめ て管理するのがウインドウ・マネージャーです。前回紹介 した twm はもっとも標ま勺なウインドウ・マネージャー UNIX MAGAZINE 1996.7 システム共通の成疋ファイルは、 /usr/X11/1ib/X11 /twm/system ・ twmrc として置かれています。下線部は 12 私たちも、」けごん使っているのは fvwrn でナ。 23
牛寺集 図 17 タイトノレく一のボタンを変更 ・ menu 図 14 て使われていた本期兼です。 ・ question 言わすと知れた ( ? ) 、、、 ? " マークです。 これらのパターンを指定する場合は、、、ビットマップ 名 " の部分には上記の名前の地寬こコロン ( : ) を付けたも のを指定し、外部のファイルと区別します。 一方、 /usr/X11/inc1ude/X11/bitmaps ディレクト リに置かれているようなビットマップ・ファイルを利用す る場合、、、ビットマッフ。名 " にはファイル名を指定し、さ らに IconDirectory 変数を使ってファイルが置かれて いるディレクトリを指定する必要があります。 この機能を使って、以下のようにタイトルボタンを変更 してみましよう。 IconDirectory " /usr/X11/inc1ude/X11/bitmaps" NoDefau1ts LeftTit1eButton "menu12" f . menu "OPS" RightTit1eButton RightTitIeButton "C10se" Menu "ops " :reslze f . fullzoom f . resize . ralse f . lower f . delete f この設疋で twm を起動すると、タイトルバーは図 17 のようになります。左のタイトルボタンをクリックすると ops という名前で定義したメニューがポップアップし、 番右側にあるタイトルボタンは f. て esize 、右から 2 番目 のタイトルボタンは f . fullz 。。 m に対応します。 twm に 組み込まれているビットマップは実際に使ってみないとど んな模様か分かりませんが、外部のビットマップ・ファイ ルについては、彳あする bitmap コマンドを使うと簡単 に模様を石忍できます。 さらに、タイトルバーに関しては、幅を変えたり特定 のウインドウに対してタイトルバーを表示しないように することができます。タイトルバーの幅を変更するには、 SqueezeTit1e 変数を用います。値を指定しなければ、 すべてのウインドウのタイトノレヾーか 1 司じように短くなり ます。たとえは、さきほどタイトノレヾーのボタンを変更し 2 モーレッ UNIX 図 18 短くなったタイトルバー コ xtenn 園 た成疋に SqueezeTit1e を加えると、タイトルバーは図 18 のようになります。 また、 NoTit1e 変数を使うと、タイトルノヾーを付け ないウインドウを指定できます。値には 1conManager DontShow と同様に、ウインドウのリストを与えます。 マウスポタンの設定 マウスポタンの設疋をおこなうと、マウスをクリックし たときの蛎乍を変更できます。基本的な書き方は、以下の ようになっています。 ボタン = キー : 場所 : 関数名 最初の、、ボタン " にはマウスポタンを指定し、左から順 に Button1 、 Button2 、 Button3 に対応します。、、キ " にはマウスポタンと同時に押すキーを指定します。 Shift キーは s 、 Control キーは c 、 CapsLock キーは 1 、 メタキーは m に対応し、複数のキーを同時に指定する 24 場 合は、、にで区切ります。、、キー " を省略すると、マウスポ タンだけをクリックしたときの重川乍を設定することになり ます。 、、場所 " には、、、ボタン " で指定したマウスポタンをクリ ックしたとき、マウスカーソルがあるべき場所を指定しま す。使える名前と場所の対応は、以下のようになってい ます。 frame ICOII 1 C onmgr root 24 つまり、 ウインドウの枠 アイコン アイコン・マネージャー ルートウインドウ 複数のキー学に押しながら、 、ボタン " 定したマウス 32 ボタンをクリックすることを意味します。 UNIX MAGAZINE 1996.7
2 寺集 モーレッ UNIX 図 24 monkey 君 ( 左 ) とあつぶるちゃん佑 ) の絵 図 23 bitmap を実際の寸法で表示する ロ imagæ凹 描画領域の大きさを変えるには、 bitmap を起動してか 図 25 ファイル呆存ウインドウ ら File メニューの Resize という項目を選んて指定して もいいのですが、ウインドウ全体の大きさは変わらないた Save 「え le : め、領域を大きく取ると点カ田かくて分かりづらくなりま す。 -size オプションだと指定した描画領域の大きさに応 じてウインドウの大きさを変えてくれるので、ビットマッ プの大きさが分かっている場合は、 -size オプションで て描いた記念すべき絵なんやから、ちゃんと保存しとく 指定するほうが使いやすいでしよう。 んやで。 % bitmap —size 48X48 & 作成したヒ、ツトマップを保存するには、 File メニュー [ 1 ] 20901 の Save を選びます。図 25 のような入力面画が表示され るので、適当なファイル名を入力して OK ボタンをクリッ また、 bitmap の Edit メニューで lmage を選ぶと、 クします。 実際の寸法でビットマップを別のウインドウに表示しま bitmap を終了するには、 File メニューで Quit を選 す 29 。描画顴域だと拡大されすぎて感じがっかめないとき ぶか、あるいはキーポードから、、 q " あるいは、℃ー c " を入 に使うと便利です。ちなみに、さきほどの。 m を表示 力します。 させると、図 23 のようになります。 bitmap を使って作成したビットマップ・ファイルは、 前回紹介した xsetroot コマンドでルートウインドウに敷 monkey : こっちは完成したで。あつぶるちゃんはどな きつめたり、 twm のアイコンなどて利用できます。 fvwm し、や ? ではカラーの P ⅸ m 叩というフォーマットも利用できる あっぷる : こっちももうすこし・・・・・・できました ! ! ので、ビットマップは影が薄いかもしれませんが、瑕が monkey : はな、お被露目といこか ( 図 24 ) 。なんやの、 あったら使ってみてください。 それは ? 、、岩場のイソギンチャク " か ? 次回は、 twm より派手な ( ? ) fvwm と、 UNIX とユー あつぶる : 違いますよ。、、河原に降りてきた UFO " です ! ザーの接点であるシェルについて紹介する予定です。 そういう monkey 先生のはなんなんですか ? だいた ( おかやま・きよひこ、かたやま・よしあき い、字を書くなんてインチキ ! ! 奈良先立斗オ支術大完大学 ) ーは関西や、うけたはうカちゃ ! ! monkey : ゅうても、あつぶるちゃんは関東出身やから分からん か。どうやら、この勝負は引分けやな。 UNIX で初め 29 上ドに 2 枚表示さードは白黒反転させたイメージとなります。 39 UNIX MAGAZINE 1996.7