twm - X
ウィンドウシステム用のタブウィンドウマネージャ(Tab
Window Manager)
twm [
-display dpy ] [
-s ] [
-f
initfile ] [
-v ]
twm は X
ウィンドウシステム用のウィンドウマネージャである。この
ウィンドウマネージャは、タイトルバー、非矩形ウィンドウ、複数の方法での
アイコン管理、ユーザ定義マクロ関数、キーボードフォーカス変更におけるク
リックとポインタ移動の両方のサポート、ユーザ定義のキーとポインタのボタ
ンの関連づけ等の機能を持つ。
通常、このプログラムはセッションマネージャか起動スクリプトによって起動
される。セッションマネージャを使わずに
xdm(1) または
xinit(1)
から起動するときには、
twm
は最後のクライアントと
してフォアグラウンドで実行されることが多い。このように実行した場合、
twm
を終了するとセッションは終了する(つまりログアウトとなる)。
デフォルトではアプリケーションのウィンドウは、上部にタイトルバーがあり、
ウィンドウの周りの特別な境界である「フレーム」で囲まれる。タイトルバー
には、ウィンドウの名前、キーボードから入力できる時にハイライト状態にな
る長方形領域がある。またタイトルバーの右端と左端には「タイトルボタン」
として知られる機能ボタンがある。
タイトルボタン上でポインタのボタン1(
xmodmap
を使って変更していな
ければ、普通は左端のボタン)を押すと、そのボタンに関連づけられた機能が
呼び出される。
デフォルトのインタフェースでは、左のタイトルボタン(点のように見えるボ
タン)をクリックする(ボタンを押し、すぐ離す)とウィンドウがアイコン化さ
れる。
対応するアイコンかアイコンマネージャのエントリをクリックするとアイコ
ン化を解除することができる(変数
ShowIconManager または関数
f.showiconmgr
の説明を参照すること)。
右のタイトルボタン(四角が入れ子になっているもの)を押し、移動させたい辺
を越えてポインタをドラッグし、ウィンドウの外形が望むようになったときに
ポインタを離すことにより、ウィンドウのサイズ変更を行うことができる。同
様に、タイトルやハイライト領域を押し、ウィンドウの外形を新しい位置にド
ラッグし、外形が望む位置に移動したときに離すことにより、ウィンドウを移
動させることができる。タイトルやハイライト領域を単にクリックすると、ウィ
ンドウを移動させずに最前面に出すことができる。
新しいウィンドウを生成する際には、
twm
はユーザが要求したサイズと
位置の情報を優先して扱う(通常はコマンド行オプション
-geometry
または個々のアプリケーションのリソースで指定される)。
これが指定されていない場合には、ウィンドウのデフォルトの大きさの外形、
タイトルバー、ウィンドウを
3x3
の格子に区切る線が表示される。これはポ
インタの動きに従って移動する。
ポインタのボタン1を押すと、ウィンドウが現在の位置にデフォルトの大きさ
で配置される。ボタン2(通常は真ん中のボタン)を押して外形をドラッグする
と、ウィンドウは現在の位置に配置されるが、前で説明した方法でリサイズす
ることができる。ボタン3(通常はポインタの右ボタン)をクリックすると、ウィ
ンドウは現在の位置に配置されるが、ウィンドウの高さをスクリーンの最下部
まで届くように変更しようとする。
オプション¶
Twm
に対しては、以下のコマンド行オプションが指定できる。
- -display dpy
- 利用する X
サーバを指定する。
- -s
- デフォルトのスクリーン(-display
オプションや DISPLAY
環境
変数で指定する)だけを管理することを指定する。デフォルトでは、
twm
はディスプレイ上の全てのスクリーンを管理しようとする。
- -f filename
- 使用する設定ファイルの名前を指定する。デフォルトでは
twm はユー
ザのホームディレクトリの
.twmrc.num (num
はスクリーン番号)
または .twmrc
という名前のファイルを探す。
- -v
- twm が予期しない
X
のエラーイベントを受け取ったとき、必ずエラー
メッセージを出力するように指定する。このオプションはアプリケーションの
デバッグ時には便利であるが、通常の使用時には邪魔かもしれない。
カスタマイズ¶
twm
の見栄えと挙動のほとんどは設定ファイルで制御できる。設定ファ
イルは以下で挙げる場所のいずれかに置かれる(
twm の起動時に管理さ
れているスクリーンそれぞれに対して順番に検索される)。
- $HOME/.twmrc.screennumber
- screennumber
はスクリーン番号(環境変数
DISPLAY host:displaynum.screennum
の最後の数)を表す正の小さい数(0,1等)で
あり、そのディスプレイのスクリーンと接続するために用いられる。これは異
なるビジュアルタイプの複数のスクリーンを持つディスプレイのためのもので
ある。
- $HOME/.twmrc
- 個別ユーザの設定ファイルの通常の名前である。
- <XRoot>/lib/X11/twm/system.twmrc
- 先に挙げたファイルのいずれも見つからない場合、twm
はこのファイル
を使ってデフォルトの設定を行う。サイト管理者がこのファイルを修正してメ
ニューを便利にしたり、初心者に使いやすい操作にすることも多い。<XRoot>
は X11
をインストールしたディレクトリを指す。
設定ファイルがまったく無い場合には、
twm
は上述のような組み込みの
デフォルトの動作をする。
twm
が使う唯一のリソースは
bitmapFilePath
である。これはビットマップファイルを探すときに検
索するディレクトリをコロンで区切って並べたリストである(詳しくは
Athena Widgets のマニュアルと
xrdb(1)
を参照すること)。
Twm
の設定ファイルの内容は論理的には3つのタイプ指定、すなわち
変数、
関連づけ、
メニューに分類できる。
変数
セ
クションにはフォント、色、カーソル、境界幅、アイコンとウィンドウの配置、
ハイライト、自動レイズ、タイトルバーのレイアウト、ワープ、アイコンマネー
ジャの利用について記述する。このセクションは最初でなければならない。
関連づけ
セクションは普通は2番目にある。このセクションでは、キー
ボードやアイコン、タイトル、フレームの内側でキーボードやボタンが押され
たときに呼び出される関数を指定する。
メニュー
セクションでは、ユー
ザ定義のメニューを設定する(呼び出される関数や実行されるコマンドも指定
する)。
変数名やキーワードでは大文字・小文字は区別されない。文字列はダブルクォー
ト文字で括らなければならず(例:
"blue")、また大文字・小文字は区別される。
文字列の外側にポンド記号(#)があると、その行における以降の部分はコメン
トとして扱われる。
twm
のユーザインタフェースは、ユーザ各自の設定ファイルを設定するこ
とにより、さまざまな点を制御できる。オプションには特定キーワードの有無に
よって有効・無効になるものや、キーワード、数値、文字列、ま
たはこれらのリストを必要とするものがある。
リストは中括弧("{}")で括られ、要素は普通、空白文字か改行で区切られる。
以下に例を示す:
AutoRaise { "emacs" "XTerm" "Xmh" }
または
AutoRaise
{
"emacs"
"XTerm"
"Xmh"
}
ウィンドウを表す文字列のリストを含む変数を調べる場合(例えば、先に述べ
た自動レイズの有効・無効を指定する場合)、文字列はウィンドウ名(ウィンド
ウの WM_NAME
プロパティで与えられる)、リソース名、クラス名(いずれもウィ
ンドウの WM_NAME
プロパティで与えられる)に対して大文字・小文字も含めて
正確に一致しなければならない。先に挙げた例では、``emacs''
という名前の
ウィンドウ、任意の
xterm
のウィンドウ(クラスが
``XTerm'' だから)、 任意の xmh
のウィンドウ(クラスが
``Xmh''
だから)の自動レイズが有効とな
る。
ファイル名として解釈される文字列である引き数(後述の
Pixmaps,
Cursors,
IconDirectory
を参照)は、最初の文字がチルダ
(~)ならばユーザのディレクトリ(環境変数
HOME
で指定される)の後に
追加される。最初の文字がコロン(:)ならば、その名前はデフォルトのタイト
ルバーのシンボルを生成するために使われる内部ビットマップのどれかを参照
しているものとして扱われる。利用できるビットマップは
:xlogo または
:delete
(どちらも X
のロゴを指す),
:dot
または
:iconify
(どちらも点を指す),
:resize
(リサイズのボタンに使われる入れ子になっている四角形),
:menu
(線が入ったページ),
:question
(存在しないビットマップファイルに対して使われる疑
問符)である。
以下の変数は
twm
設定ファイルの先頭で使うことができる。ウィンド
ウ名プレフィックス文字列のリストは
win-list で示す。
省略可能な引き数は大括弧("[]")内に示す。
- AutoRaise { win-list }
- この変数は、ポインタがウィンドウ内部に入ったときに自動的にレイズされる
ウィンドウのリストを指定する。関数
f.autoraise
を使ってこの動作
を個別のウィンドウに対して対話的に有効/無効にすることができる。
- AutoRelativeResize
- この変数はウィンドウサイズをドラッグで調整するとき(最初にポインタのボ
タン2でウィンドウサイズを指定するときや、サイズ変更を行うとき)、ポイン
タがウィンドウの端をまたぐのを待たないように指定する。
その代わりに、ポインタに最も近い辺(複数のこともある)が、ポインタを動か
したのと同じ量だけ自動的に移動する。これにより、スクリーンの端から外に
出るようなウィンドウのサイズ変更が可能になる。
ポインタがウィンドウの中心にある場合、またはサイズ変更がタイトルボタン
を押して始められた場合は、
twm
はポインタが(不慮の事態を避けるた
め)ウィンドウの辺をまたぐのを待つ。このオプションは、「ボタンを押す-ド
ラッグ-ボタンを離す」という操作でウィンドウを広げるのを好むユーザには
大変便利である。
- BorderColor string [{ wincolorlist
}]
- この変数は、アイコン化されていない全てのウィンドウを囲むウィンドウ境界
のデフォルトの色を指定する。この変数には
Color, Grayscale, Monochrome
いずれかのリストしか指定できない。オプションの
wincolorlist
は、異なるタイプのウィンドウに対して特定の境界色を
指定するための、ウィンドウと色の組のリストを指定する。
例を以下に示す:
BorderColor "gray50"
{
"XTerm" "red"
"xmh" "green"
}
デフォルト値は "black"
である。
- BorderTileBackground string [{
wincolorlist }]
- この変数は、ハイライトされていない時の境界(NoHighlight
が設定
されていない時だけ)で使われる灰色のパターンにおけるデフォルトの背景色
を指定する。この変数には
Color, Grayscale, Monochrome
のいずれかのリストしか指定できない。オプションの
wincolorlist を
使って、ウィンドウごとに色を指定することができる。
デフォルト値は "white"
である。
- BorderTileForeground string [{
wincolorlist }]
- この変数は、ハイライトされていない時の境界(NoHighlight
が設定
されていない時だけ)で使われる
gray
パターンにおけるデフォルトの前景色
を指定する。この変数には
Color, Grayscale, Monochrome
のいずれかのリストしか指定できない。オプションの
wincolorlist
を使って、ウィンドウごとに色を指定することができる。
- BorderWidth pixels
- この変数は
ClientBorderWidth
が指定されていない場合に使われる、
全てのクライアントのフレームの周りの境界の幅をピクセル数で指定する。
この値は twm
が作るウィンドウ(アイコンマネージャ等)の境界幅の設
定にも使われる。デフォルト値は2である。
- ButtonIndent pixels
- この変数は、タイトルボタンが両端からインデントされる量を指定する。正の
値を指定すると、ウィンドウのテキストとハイライト領域が目立つようにする
ため、ボタンはこれらの領域よりも小さくなる。この変数と
TitleButtonBorderWidth の値を 0
にすると、タイトルボタンはできる
限り大きくなる。デフォルト値は1である。
- ClientBorderWidth
- この変数はウィンドウのフレームの境界幅に
BorderWidth の値ではな
く、ウィンドウの初期境界幅を設定するように指定する。
- Color { colors-list }
- この変数は、デフォルトのディスプレイで白黒以外の表示が可能ならば行われ
る、色の割り当てのリストを指定する。
colors-list
は以下の色変数と
その値からなる:
DefaultBackground, DefaultForeground, MenuBackground,
MenuForeground, MenuTitleBackground,
MenuTitleForeground, MenuShadowColor,
PointerForeground, PointerBackground.
以下の色変数においては、ウィンドウと色名の組を与えてウィンドウごとの色
を指定することができる(詳しくは
BorderColor を参照)。 BorderColor,
IconManagerHighlight, BorderTitleBackground,
BorderTitleForeground, TitleBackground,
TitleForeground, IconBackground, IconForeground,
IconBorderColor, IconManagerBackground,
IconManagerForeground. 例を示す:
Color
{
MenuBackground "gray50"
MenuForeground "blue"
BorderColor "red" { "XTerm" "yellow" }
TitleForeground "yellow"
TitleBackground "blue"
}
これらの色変数の全ては、
Monochrome
変数に対しても指定することが
でき、カラーディスプレイとモノクロディスプレイで同じ設定ファイルを使う
ことができる。
- ConstrainedMoveTime milliseconds
- この変数は、制約付きの移動操作を始めるために必要なボタンのクリックの時
間間隔を指定する。
f.move
が呼び出された時、この時間以内にダブル
クリックされれば、ウィンドウは水平または垂直方向にしか動かなくなる。こ
の値に0を指定すると、制約付きの移動は無効にされる。デフォルト値は400ミ
リ秒である。
- Cursors { cursor-list }
- この変数は、twm
が各種ポインタカーソルに使うグリフを指定する。カー
ソルはそれぞれ cursor
フォントかビットマップファイルで定義できる。
cursor
フォントから得る形状は、次のようにして直接指定することが
できる:
cursorname "string"
ここで cursorname
は後述するカーソル名の1つであり、
string は<XRoot>/include/X11/cursorfont.h
ファイルに記述されているグリフ名で
ある(ただしプレフィックス
``XC_'' は取り除く)。
カーソルフォントがビットマップファイルで定義されている場合には、代わり
に次の記法を用いる:
cursorname "image" "mask"
文字列 image と mask
は、グリフとマスクのイメージ
( bitmap(1)
形式)を持つファイルの名前を示す。
ビットマップファイルはアイコンのビットマップファイルと同じように配置する。
以下の例は、デフォルトのカーソル定義を表すものである:
Cursors
{
Frame "top_left_arrow"
Title "top_left_arrow"
Icon "top_left_arrow"
IconMgr "top_left_arrow"
Move "fleur"
Resize "fleur"
Menu "sb_left_arrow"
Button "hand2"
Wait "watch"
Select "dot"
Destroy "pirate"
}
- DecorateTransients
- この変数は、一時ウィンドウ(WM_TRANSIENT_FOR
プロパティを持つウィンドウ)
がタイトルバーを持つことを指定する。デフォルトでは、一時ウィンドウはリ
ペアレントされない。
- DefaultBackground string
- この変数は、サイズ表示と情報ウィンドウで用いる背景色を指定する。デフォ
ルト値は "white"
である。
- DefaultForeground string
- この変数は、サイズ表示と情報ウィンドウで用いる前景色を指定する。デフォ
ルト値は "black"
である。
- DontIconifyByUnmapping { win-list }
- この変数は、(IconifyByUnmapping
が設定されている場合のように)
単にウィンドウをアンマップしただけではアイコン化されないウィンドウのリ
ストを指定する。これは、アイコンとして扱いたいウィンドウもアイコンマネー
ジャに扱わせたいウィンドウもある場合によく用いられる。
- DontMoveOff
- この変数はウィンドウのスクリーンの外側への移動をできなくする。この設定
は f.forcemove
関数で上書きできる。
- DontSqueezeTitle [{ win-list }]
- この変数は、後述する
SqueezeTitle
のようにタイトルバーをスクイー
ズしてサイズを最小にするという動作を行わないことを示す。
オプションのウィンドウリストを与えた場合、指定したウィンドウだけがスク
イーズされないようになる。
- ForceIcons
- この変数は、Icons
変数で指定したアイコンのピックスマップをクライ
アントが持っているピックスマップより優先させることを指定する。
- FramePadding pixels
- この変数は、タイトルバーのデコレーション(ボタンとテキスト)とウィンドウ
の枠の間の距離を指定する。デフォルト値は2ピクセルである。
- Grayscale { colors }
- この変数は、スクリーンのデフォルトのビジュアルが
GrayScale の場合に作
る色の割り当てリストを指定する。
Colorsの
説明を参照すること。
- IconBackground string [{ win-list
}]
- この変数はアイコンの背景色を指定する。これは
Color, Grayscale, Monochrome
リストの内部でしか指定できない。
オプションの win-list
はウィンドウ名と色のリストであり、これを使っ
てウィンドウごとの色を指定することができる。
win-list の詳しい説
明については BorderColor
変数を参照すること。
デフォルト値は "white"
である。
- IconBorderColor string [{ win-list
}]
- この変数はアイコンのウィンドウの境界に用いる色を指定する。これは
Color, Grayscale, Monochrome
リストの内部でしか指定できない。
オプションの win-list
はウィンドウ名と色のリストであり、これを使っ
てウィンドウごとの色を指定することができる。
win-list の詳しい説
明については BorderColor
変数を参照すること。
デフォルト値は "black"
である。
- IconBorderWidth pixels
- この変数は、アイコンのウィンドウ周りの境界幅をピクセル数で指定する。デ
フォルト値は2である。
- IconDirectory string
- この変数は
bitmapFilePath
で指定されたどのディレクトリでも見つか
らないビットマップファイルを探すディレクトリを指定する。
- IconFont string
- この変数は、アイコンウィンドウでアイコン名の表示に使うフォントを指定す
る。デフォルト値は
"variable" である。
- IconForeground string [{ win-list
}]
- この変数はアイコンを表示するときに使う前景色を指定する。これは
Color, Grayscale, Monochrome
リストの内部でしか指定
できない。
オプションの win-list
はウィンドウ名と色のリストであり、これを使っ
てウィンドウごとの色を指定することができる。
win-list の詳しい説
明については BorderColor
変数を参照すること。
デフォルト値は "black"
である。
- IconifyByUnmapping [{ win-list
}]
- この変数は、アイコンを割り当てずに、ウィンドウをアンマップすることによっ
てアイコン化を行うことを指定する。これは、ユーザがアイコンマネージャや
f.warpto 関数、TwmWindows
メニューを使ってウィンドウを再マッ
プすることを想定している。
オプションの win-list
が指定された場合は、指定されたウィンドウだ
けがアンマップによってアイコン化される。このオプションと
IconManagerDontShow
オプションの両方が設定されているウィンドウ
は、ユーザの設定ファイルで
TwmWindows
に関連づけられていなければ
アクセスできなくなってしまう。
- IconManagerBackground string [{
win-list }]
- この変数はアイコンマネージャのエントリで使う背景色を指定する。これは
Color, Grayscale, Monochrome
リストの内部でしか指定
できない。
オプションの win-list
はウィンドウ名と色のリストであり、これを使っ
てウィンドウごとの色を指定することができる。
win-list の詳しい説
明については BorderColor
変数を参照すること。
デフォルト値は "white"
である。
- IconManagerDontShow [{ win-list }]
- この変数を設定すると、アイコンマネージャはウィンドウを全く表示しない。
オプションの win-list
を指定すると、指定したウィンドウだけが表示
されなくなる。この変数を使うと、滅多にアイコン化しないウィンドウ
( xclockや
xload等)がアイコンマネージャ上に場所を取るのを避
けることができる。
- IconManagerFont string
- この変数はアイコンマネージャのエントリを表示するときに使うフォントを
指定する。デフォルト値は
"variable" である。
- IconManagerForeground string [{
win-list }]
- この変数はアイコンマネージャのエントリを表示するときに使う前景色を指
定する。これは Color,
Grayscale, Monochrome リストの
内部でしか指定できない。
オプションの win-list
はウィンドウ名と色のリストであり、これを使っ
てウィンドウごとの色を指定することができる。
win-list の詳しい説
明については BorderColor
変数を参照すること。
デフォルト値は "black"
である。
- IconManagerGeometry string [ columns
]
- この変数はアイコンマネージャのウィンドウのジオメトリを指定する。引き数
string
は標準的なジオメトリ指定であり、アイコンマネージャの初期
状態における全体のサイズを指定する。その後、アイコンマネージャのウィン
ドウは columns
個のカラムに分割され、アイコンマネージャが管理する
エントリの数に従って拡大・縮小される。追加のエントリは折り返され、
追加の列となる。デフォルトのカラム数は1である。
- IconManagerHighlight string [{
win-list }]
- この変数は、現在フォーカスを持っているアイコンマネージャのエントリを
ハイライトさせるときに使う境界の色を指定する。これは
Color, Grayscale, Monochrome
リストの内部でしか指定できない。
オプションの win-list
はウィンドウ名と色のリストであり、これを使っ
てウィンドウごとの色を指定することができる。
win-list の詳しい説
明については BorderColor
変数を参照すること。
デフォルト値は "black"
である。
- IconManagers { iconmgr-list }
- この変数は生成するアイコンマネージャのリストを指定する。
iconmgr-list
の各アイテムのフォーマットは以下である。
" winname" ["iconname"] "geometry" columns
ここで、 winname
はこのアイコンマネージャに入れるウィンドウの名前、
iconname
はアイコンマネージャのウィンドウのアイコンの名前、
geometry
は標準のジオメトリ指定、
columns
はこのアイコンマ
ネージャにカラム数(
IconManagerGeometry
で説明)である。以下に例を
示す:
IconManagers
{
"XTerm" "=300x5+800+5" 5
"myhost" "=400x5+100+5" 2
}
名前かクラスが ``XTerm''
であるクライアントは、``XTerm''
というアイコ
ンマネージャ内にエントリが生成される。名前が
``myhost'' であるクライ
アントは ``myhost''
というアイコンマネージャに入れられる。
- IconManagerShow { win-list }
- この変数は、アイコンマネージャに表示するウィンドウのリストを指定する。
IconManagerDontShow
変数と組み合わせて用いた場合、このリストに含
まれるウィンドウだけがアイコンマネージャに表示される。
- IconRegion geomstring vgrav hgrav
gridwidth gridheight
- この変数は、クライアントがアイコンの位置を指定しなかった場合にアイコン
を配置するルートウィンドウ上の領域を指定する。
geomstring は、標
準のジオメトリ指定を行うクォートされた文字列である。
複数の IconRegion
が与えられた場合、アイコンは最初に指定した領域
から順に埋められていく。
引き数 vgrav は North
または South
のどちらかでなけ
ればならない。この値を使って、アイコン領域の上部と下部のどちらから配置
していくかを制御する。同様に、
hgrav は East またはWest
でなければならない引き数で、右辺と左辺のどちらからアイコンを配置してい
くかを制御する。アイコンは、アイコン領域内で幅が
gridwidth ピク
セルで高さが gridheight
ピクセルのセルを持つ格子内に配置される。
- Icons { win-list }
- この変数はウィンドウ名と、そのアイコンとして使うビットマップのファイル
名のリストを指定する。以下に例を示す:
Icons
{
"XTerm" "xterm.icon"
"xfd" "xfd_icon"
}
``XTerm''
にマッチし、アンマップによるアイコン化が行われないウィンドウ
は、ファイル ``xterm.icon''
が持つビットマップアイコンを使おうとする。
ForceIcons
が指定されている場合には、クライアントが自分自身のア
イコンピックスマップの利用をリクエストしていても、このビットマップが使
われる。
- InterpolateMenuColors
- この変数はメニューエントリの色はエントリ固有の色を補間して求めるこ
とを指定する。以下に例を示す:
Menu "mymenu"
{
"Title" ("black":"red") f.title
"entry1" f.nop
"entry2" f.nop
"entry3" ("white":"green") f.nop
"entry4" f.nop
"entry5" ("red":"white") f.nop
}
``entry1'' と ``entry2'' の前景色は
black と white
を補間して求められ、
背景色は red と green
を補間して求められる。
同様に、``entry4''
の前景色は white と red
の中間色になり、背景色は
green と white
の中間色となる。
- MakeTitle { win-list }
- この変数は、ウィンドウ上部にタイトルバーを配置するウィンドウのリストを
指定する。また、
NoTitle
が設定されているときに、特定ウィンドウ
にタイトルを要求するために用いる。
- MaxWindowSize string
- この変数は、与えられたウィンドウの最大サイズを与える幅と高さであるジオ
メトリを指定する。通常、これはウィンドウのサイズをスクリーンのサイズに
制限するために使われる。デフォルトの幅は
(32767 - スクリーンの幅)
であ
り、デフォルトの高さは
(32767 - スクリーンの高さ)
である。
- MenuBackground string
- この変数はメニューで使う背景色を指定する。これはColor,
Grayscale, Monochrome
リストの内部でしか指定できない。
デフォルト値は "white"
である。
- MenuFont string
- この変数は、メニューの表示に使うフォントを指定する。デフォルト値は
"variable" である。
- MenuForeground string
- この変数はメニューで使う前景色を指定する。これはColor,
Grayscale, Monochrome
リストの内部でしか指定できない。デフォ
ルト値は "black"
である。
- MenuShadowColor string
- この変数はプルダウンメニューの背後の影の色を指定する。これはColor,
Grayscale, Monochrome
リストの内部でしか指定できない。デフォ
ルト値は "black"
である。
- MenuTitleBackground string
- この変数は、メニューの
f.title
エントリの背景色を指定する。こ
れは Color, Grayscale, Monochrome
リストの内部でしか
指定できない。デフォルト値は
"white" である。
- MenuTitleForeground string
- この変数は、メニューの
f.title
エントリの前景色を指定する。こ
れは Color, Grayscale, Monochrome
リストの内部でしか
指定できない。デフォルト値は
"black" である。
- Monochrome { colors }
- この変数は、スクリーンの深さが1の場合に行われる色割り当てのリストを指
定する。 Colors
の説明を参照すること。
- MoveDelta pixels
- この変数は、f.move
関数が動作を始める前にポインタが移動しなけれ
ばならないピクセル数を指定する。
f.deltastop
関数も参照すること。
デフォルト値は0ピクセルである。
- NoBackingStore
- この変数は、twm
のメニューの再描画をできるだけ少なくするためのバッ
キングストアのリクエストをしないことを指定する。これは通常、バッキング
ストアの処理よりも再描画の方が早いサーバの場合に用いられる。
- NoCaseSensitive
- この変数を設定すると、アイコンマネージャにおいてアイコン名をソートする
ときに大文字と小文字の区別は行われない。このオプションは通常、アイコン
名の最初の文字を大文字にするアプリケーションとがあるときに用いる。
- NoDefaults
- このオプションを指定すると、twm
はデフォルトのタイトルボタンと関
連づけを与えない。このオプションは、起動ファイルにおいて完全な関連づけ
と定義がなされている場合に限って使うべきである。
- NoGrabServer
- この変数を設定すると、twm
はメニューをポップアップさせるときや
opaque
ウィンドウを移動させるときにサーバをグラブしない。
- NoHighlight [{ win-list }]
- この変数を設定すると、ポインタの位置を追跡するための境界のハイライトを
行わない。オプションの
win-list
を与えると、指定したウィンドウに
対してのみハイライトが無効になる。
境界がハイライト状態のとき、これは現在の
BorderColor で描画され
る。境界がハイライト状態でないときは、現在の
BorderTileForeground と BorderTileBackground
を使って gray
パターンでスティプルする。
- NoIconManagers
- この変数を設定すると、アイコンマネージャは生成されない。
- NoMenuShadows
- この変数を設定すると、メニューの背後に影が落ちなくなる。少しメニュー
が読みにくくなるだけでメニュー描画の速度が速くなるので、このオプション
は通常、遅いサーバの場合に用いられる。
- NoRaiseOnDeiconify
- この変数を設定すると、アイコン化を解除されたウィンドウがレイズされな
くなる。
- NoRaiseOnMove
- この変数を設定すると、ウィンドウを動かすときにレイズを行わない。これ
は、相手ウィンドウの下側にある状態でウィンドウを動かしたいときに使われ
る。
- NoRaiseOnResize
- この変数を設定すると、ウィンドウはサイズ変更時にレイズされない。これ
は、相手ウィンドウの下側にある状態でサイズ変更をしたいときに使われる。
- NoRaiseOnWarp
- この変数を設定すると、f.warpto
関数を使ってポインタをウィンドウ
に移動させた際にそのウィンドウはレイズされない。このオプションが設定
されていると、他のウィンドウの陰になっているウィンドウへポインタを移
動させようとすると、このウィンドウではなく、これを隠しているウィンドウ
にポインタが移動してしまうことがある(これにより
f.warpring は予
期しない挙動を示す)。
- NoSaveUnders
- この変数を設定すると、メニュー選択後のウィンドウの再描画を最小限にす
るためのセーブアンダー機能を使わなくなる。この設定は、セーブアンダーの
処理よりも再描画の方が速いサーバで用いる。
- NoStackMode [{ win-list }]
- この変数を設定すると、クライアントウィンドウのスタック順変更のリクエ
ストは無視されるようになる。オプションの
win-list を指定すると、
指定したウィンドウについてのリクエストだけが無視される。この変数は、ア
プリケーションが自分自身をウィンドウスタックの前面に絶えずポップアップ
するのを防ぐために使われる。
- NoTitle [{ win-list }]
- この変数を設定すると、ウィンドウにタイトルバーが付かなくなる。オプション
の win-list
を指定すると、指定されたウィンドウだけにタイトルバー
が付かなくなる。
MakeTitle
変数をこのオプションと共に用いて、特定のウィンドウに
タイトルバーを付けることができる。
- NoTitleFocus
- この変数を設定すると、twm
はタイトルバーにキーボード入力フォー
カスを設定しなくなる。通常は
twm
は、タイトルバーとアイコンマ
ネージャからのフォーカスとキーイベントをアプリケーションに送るように
フォーカスを設定する。ポインタが速く動くのに
twm の反応が遅い
場合、入力は移動後のウィンドウではなく移動前のウィンドウに送られる。こ
のオプションは通常、この「入力のずれ」とフォーカスイベントの扱いに問題
がある古いアプリケーションのバグを避けるために使われる。
- NoTitleHighlight [{ win-list }]
- この変数を設定すると、タイトルバーのハイライト領域が表示されなくなる。
(ハイライト領域は現在入力フォーカスを持っているウィンドウを示すために
使われる。)オプションの
win-list
を指定すると、指定されたウィン
ドウだけがハイライト領域を持たなくなる。このオプションと
SqueezeTitle
を設定すると、タイトルバーに必要なスクリーン領域
をかなり減らすことができる。
- OpaqueMove
- この変数を設定すると、f.move
関数がウィンドウの外形だけでなく
実際にウィンドウを動かすようになる。これにより、ユーザはウィンドウが新
しい位置でどのように見えるかをすぐに知ることができる。このオプションは
普通は高速なディスプレイで使う(
NoGrabServer
変数が設定されてい
る場合は特に)。
- Pixmaps { pixmaps }
- この変数は、各種イメージの見た目を定義するピックスマップのリストを指定
する。各エントリは、設定するピックスマップを示すキーワードとビット
マップのファイル名の文字列を並べたものである。以下に指定の例を示す:
Pixmaps
{
TitleHighlight "gray1"
}
デフォルトでは
TitleHighlight
には「even」スティプルパターンが使
われる。
- Priority priority
- この変数は twm
の優先度を設定する。
priority はクォートされ
ていない符号付きの数値である(例:
999)。この変数は、サーバが
SYNC 拡張
をサポートしている場合のみ有効である。
- RandomPlacement
- この変数を設定すると、ジオメトリが指定されていないウィンドウは、ユーザ
が外形をドラッグして位置を決めるのではなく、疑似乱数で決めた位置に
配置されるようになる。
- ResizeFont string
- この変数は、ウィンドウのサイズを変更するときに表示されるサイズ表示の
ウィンドウ(dimensions
window)で使われるフォントを指定する。
- RestartPreviousState
- この変数を設定すると、twm
はアイコン化するウィンドウや可視状態
を保つウィンドウを通知するために、クライアントウィンドウの
WM_STATE
プロパティを使おうとする。
このオプションは通常、前のウィンドウマネージャが停止する前のスクリーン
の状態を再構築しようとするときに使われる。
- SaveColor { colors-list }
- この変数はルートウィンドウの
_MIT_PRIORITY_COLORS
プロパティにピクセル
値として格納される色割り当てのリストを指定する。クライアントは独自のカ
ラーマップをインストールする際に、これらの値を保存するかどうか決めるこ
とができる。この機構の利用は、アプリケーションが「色化け」問題を避ける
ための方法である点に注意すること。この問題は、ウィンドウマネージャがプ
ログラムのカスタムカラーをインストールしたときに、ウィンドウの境界やタ
イトルバーなどのスクリーンオブジェクトが消えてしまうことである。
変数の設定例を示す:
SaveColor
{
BorderColor
TitleBackground
TitleForeground
"red"
"green"
"blue"
}
この指定を行うと、境界とタイトルバーに対するピクセル値
3 つと色名文字
列に対応するピクセル値
3
つがルートウィンドウに配置される。全てのピク
セル値はデフォルトのカラーマップから取得される。
- ShowIconManager
- この変数を設定すると、twm
の起動時にアイコンマネージャが表示さ
れるようになる。
f.showiconmgr
関数を使うといつでもアイコンマネー
ジャを起動することができる。
- SortIconManager
- この変数を設定すると、アイコンマネージャのエントリは、新しいウィンドウ
を単純にエントリの最後に追加するのではなく、アルファベット順にソート
するようになる。
- SqueezeTitle [{ squeeze-list }]
- この変数を指定すると、twm
は SHAPE
拡張の使用を試み、タイトルバー
がウィンドウの上部全体を占めるのではなく、必要なスクリーン領域だけを使
うようになる。
オプションの squeeze-list
を使って、ウィンドウの上部における縮め
られたタイトルバーの位置を制御することができる。指定は以下のような形に
なる:
" name" justification num denom
ここで、 name
はウィンドウ名であり、
justification は left, center, right
のいずれかである。また、
num と denom
タイトルバーの相対位置を調整するために与える
比を指定する数値である。この比は、分子が正の数のならば左から右に測り、
負の数ならば右から左に測る。分母が0ならば、分子はピクセル単位で数えら
れる。記述を容易にするため、比
0/0 は center
に対しては比1/2 と
同じであり、 right
に対しては -1/1
と同じである。例を以下に示す:
SqueezeTitle
{
"XTerm" left 0 0
"xterm1" left 1 3
"xterm2" left 2 3
"oclock" center 0 0
"emacs" right 0 0
}
DontSqueezeTitle
のリストを使うと、特定のウィンドウについて縮小
を無効にすることができる。
- StartIconified [{ win-list }]
- この変数を設定すると、クライアントウィンドウは初期状態でアイコン化さ
れた状態になり、ユーザによって明示的にアイコン化解除されるまでそのまま
である。オプションの
win-list
を指定した場合、指定したウィンドウ
だけがアイコンの状態で起動される。この変数は、コマンド行オプション
やリソースで -iconic
をサポートしていないプログラムに対して便利
である。
- TitleBackground string [{ win-list
}]
- この変数はタイトルバーで使われる背景色を指定する。これはColor,
Grayscale, Monochrome
リストの内部でしか指定できない。
オプションの win-list
はウィンドウ名と色のリストであり、これを使っ
てウィンドウごとの色を指定することができる。
デフォルト値は "white"
である。
- TitleButtonBorderWidth pixels
- この変数はタイトルボタンの周りの境界の幅をピクセル数で指定する。タイト
ルボタンができるだけ広いスペースを確保でき、境界を持たないようにするた
め、この変数は普通は
0 に設定される。
デフォルト値は1である。
- TitleFont string
- この変数は、タイトルバーにおいてウィンドウ名を表示するために使うフォン
トを指定する。デフォルト値は
"variable" である。
- TitleForeground string [{ win-list
}]
- この変数はタイトルバーの前景色を指定する。これは
Color, Grayscale, Monochrome
リストの内部でしか指定できない。
オプションの win-list
はウィンドウ名と色のリストであり、これを使っ
てウィンドウごとの色を指定することができる。
デフォルト値は "black"
である。
- TitlePadding pixels
- この変数は、タイトルバー内での各種ボタン、テキスト、ハイライト領域の間
の距離を指定する。デフォルト値は8ピクセルである。
- UnknownIcon string
- この変数は、デフォルトのアイコンとして使われるビットマップファイルのファ
イル名を指定する。このビットマップファイルは、アイコンのビットマップを
自分で持っておらず、
Icons
リストにも含まれていない全てのクライア
ントのアイコンとして使われる。
- UsePPosition string
- この変数は、ユーザが位置を指定していない場合に、twm
がプログラム
が要求した位置(WM_NORMAL_HINTS
プロパティの PPosition
フラグで与
えられる)を使うかどうか指定する。
引き数 string
は、以下の3つの値のうちいずれか1つを取る:
twm
はプログラムが与えた位置を無視することを示す
"off"(デフォルト値),
この位置を使用することを示す
"on", この位置が (0, 0)
以外ならば使用する
"non-zero".
最後のオプションは、古いツールキットにおけるバグの回避のためのものであ
る。
- WarpCursor [{ win-list }]
- この変数を指定すると、アイコン化を解除したときにポインタはそのウィンド
ウに移動する。オプションの
win-list
を指定すると、指定したウィン
ドウがアイコン化解除された時に限ってポインタが移動する。
- WindowRing { win-list }
- この変数は、f.warpring
関数が循環させるウィンドウのリストを指定
する。
- WarpUnmapped
- この変数を指定すると、f.warpto
はアイコン化されているウィンドウ
に出会うと、これをアイコン化解除するようになる。これは通常、特定のウィ
ンドウ( xmh
等)がどこにあってもポップアップされるようなキーバイン
ドを設定するために使われる。
f.warpto
はデフォルトの動作では、ア
イコン化されているウィンドウは全て無視する。
- XorValue number
- この変数は、移動やサイズ変更に使うウィンドウの外形を描画するときに使う
値を指定する。この変数には、ユーザの一般的なスクリーンと排他的論理和を
取ったときに見分けがつく色になるような値を指定すべきである。デフォルト
カラーマップ内で隣接する色がはっきり違っていれば、この変数には1を指定
すると良い結果が得られることが多い。デフォルトでは、
twm はテンポ
ラリの線を引いて、そのグラフィックス表示から反対の端のカラーマップを得
ようとする。
- Zoom [ count ]
- この変数を指定すると、ウィンドウのアイコン化とアイコン化解除の際に、ウィ
ンドウの動きを示す外形を表示するようになる。オプションの引き数
count
を指定すると、この数の外形が描画される。デフォルト値は8で
ある。
以下の変数は、フォントの指定が終わった後で指定しなければならない。従っ
て、これらは変数セクションの終わりか関連づけセクションの最初に記述する
とよい。
- DefaultFunction function
- この変数は、関連づけが与えられていないキーイベントかボタンイベントを受
け取ったときに実行される関数を指定する。これは通常、
f.nop, f.beep,
ウィンドウ操作を含むメニュー等に関連づけられる。
- WindowFunction function
- この変数は、TwmWindows
からウィンドウが選択されたときに実行され
る関数を指定する。この変数が設定されていなければ、このウィンドウは
アイコン化解除され、レイズされる。
関連づけ¶
必要な変数を設定した後は、関数をタイトルボタン、キー、ポインタボタン
に割り当てる。タイトルボタンはタイトルバーの右端または左端から追加され、
指定した順で左から右にタイトルバーに現れる。キーとポインタボタンの関連
づけは、任意の順で良い。
タイトルボタン指定では、ボタンで使うピックスマップの名前と、ボタン上で
ポインタボタンが押されたときに呼び出される関数を指定しなければならない。
LeftTitleButton "bitmapname" = function
または
RightTitleButton "bitmapname" = function
bitmapname
は、前述のコロンで始まる適切な名前を使って、組み込み
ビットマップのいずれか(これは
TitleFont
にマッチするように拡大・
縮小される)を指す。
キーとポインタボタンの指定では、押されなければならないモディファイア、
ポインタがスクリーンのどこになければならないか、どの関数が呼び出される
かを指定しなければならない。キーは適切なキーシンボル名を含む文字列とし
て指定する。ボタンはキーワード
Button1-
Button5 で指定する。
"FP1" = modlist : context : function
Button1 = modlist : context : function
modlist は垂直バー(|
を意味する)で区切りのモディファイア名の
任意の組合せである。モディファイア名は、
shift,
control,
lock,
meta,
mod1,
mod2,
mod3,
mod4,
mod5
である(それぞれは
s,
c,
l,
m,
m1,
m2,
m3,
m4,
m5 と省略できる)。
同様に、
context
は垂直バー区切りの
window,
title,
icon,
root,
frame,
iconmgr
とこれらを最初の文字で省略したもの(
iconmgr の省略形は
m)の
任意の組合せ、または
all
である。例として、デフォルトの設定ファイルの関連づけを以下に示す:
Button1 = : root : f.menu "TwmWindows"
Button1 = m : window | icon : f.function "move-or-lower"
Button2 = m : window | icon : f.iconify
Button3 = m : window | icon : f.function "move-or-raise"
Button1 = : title : f.function "move-or-raise"
Button2 = : title : f.raiselower
Button1 = : icon : f.function "move-or-iconify"
Button2 = : icon : f.iconify
Button1 = : iconmgr : f.iconify
Button2 = : iconmgr : f.iconify
キーボードを使ったウィンドウ操作を望むユーザは、次のような関連づけを利
用することができる。
"F1" = : all : f.iconify
"F2" = : all : f.raiselower
"F3" = : all : f.warpring "next"
"F4" = : all : f.warpto "xmh"
"F5" = : all : f.warpto "emacs"
"F6" = : all : f.colormap "next"
"F7" = : all : f.colormap "default"
"F20" = : all : f.warptoscreen "next"
"Left" = m : all : f.backiconmgr
"Right" = m | s : all : f.forwiconmgr
"Up" = m : all : f.upiconmgr
"Down" = m | s : all : f.downiconmgr
Twm
は、タイトルバー、メニュー、キーバインディングの設定に簡単
には収められないくらい多くのウィンドウ操作プリミティブを提供している。
デフォルトでは(
NoDefaults
を指定しなければ)簡単なセットが与えら
れているが、大抵のユーザはキーやボタン操作に基本操作のほとんどを関
連づけたいと考えるだろう。これを行うために、
twm は名前を各プリミ
ティブに対応させ、高レベルのプリミティブを構築するための
ユーザ定義
関数と関数を対話的に選択するための
メニューを与える。
ユーザ定義関数は、
f.functionの呼び出しで参照される名前と、実行す
る他の関数群のリストからなる。その例を以下に示す:
Function "move-or-lower" { f.move f.deltastop f.lower }
Function "move-or-raise" { f.move f.deltastop f.raise }
Function "move-or-iconify" { f.move f.deltastop f.iconify }
Function "restore-colormap" { f.colormap "default" f.lower }
f.function
で使う名前は、関数定義の際の名前と完全に同じでなけれ
ばならない。
以下の説明において、選択されたウィンドウを操作するような関数が指定され
たが、これがルートメニューから呼び出されている場合、カーソルは
Select
カーソルに変更され、ボタンが押されたイベントを次に受け取っ
たウィンドウが選択される:
- ! string
- これは f.exec string
の短縮形である。
- f.autoraise
- この関数は、選択されたウィンドウにポインタがウィンドウに入ったとき、必
ずレイズされるかどうかをトグルさせる。
- f.backiconmgr
- この関数は、ポインタを現在のアイコンマネージャ内の前のカラムに移動させ、
必要ならば前の行に戻らせる。
- f.beep
- この関数はキーボードのベルを鳴らす。
- f.bottomzoom
- この関数は f.fullzoom
と似ているが、スクリーンの下半分を占めるよ
うにサイズ変更を行う点が異なる。
- f.circledown
- この関数は、他のウィンドウを隠している最も上のウィンドウを下面に移動さ
せる。
- f.circleup
- この関数は、他のウィンドウに隠されている最も下のウィンドウを上面に移動
させる。
- f.colormap string
- この関数は、ポインタがウィンドウ内部にあるときに
twm が表示に使
うカラーマップ(そのウィンドウの
WM_COLORMAP_WINDOWS
プロパティから取得
する)をローテートさせる。引き数
string は、"next",
"prev", "default"
のいずれかでなければならない。一般にイン
ストールされたカラーマップはキーボードフォーカスによって決められる点に
注意すること。
ポインタ移動に基づくキーボードフォーカスの場合は、カラーマップを所有し
ているウィンドウのエントリ上のプライベートカラーマップがインストール
される。クリックに基づくモデルを使っている場合には、ユーザが対象のウィ
ンドウ上でマウスボタンをクリックするまではカラーマップはインストールさ
れない。
- f.deiconify
- この関数は、選択されたウィンドウをアイコン化解除する。ウィンドウがアイ
コンでなれば、この関数は何もしない。
- f.delete
- クライアントアプリケーションが
WM_PROTOCOLS
ウィンドウプロパティを使っ
て WM_DELETE_WINDOW
メッセージをリクエストしていた場合、この関数はその
メッセージを選択されたウィンドウに送る。アプリケーションは指定されたウィ
ンドウを破棄して、そのメッセージに応答することになっている。ウィンドウ
が WM_DELETE_WINDOW
メッセージを要求していなければ、別の方法を使うよう
にユーザに知らせるためにキーボードベルを鳴らす。この関数は
f.destroy
とは全く異なる点に注意すること。この関数の目的は単独のウィンドウを破棄
することであり、必ずしもアプリケーション全体の破棄ではない。
- f.deltastop
- この関数を使うと、ポインタが
MoveDelta
ピクセル以上動いていた場
合に、ユーザ定義の関数を止めることができる。このセクションの冒頭で
Function "move-or-raise"
として示した定義例を参照すること。
- f.destroy
- この関数は、選択されたウィンドウを生成したクライアントのディスプレイ接続を閉じるこ
とを、X
サーバに指示する。この関数は動作中のクライアントを終了させる最
後の手段としてのみ用いるべきである。f.delete
も参照すること。
- f.downiconmgr
- この関数は、ポインタをアイコンマネージャの次の行へ移動させ、必要ならば
次のカラムの先頭へ移動させる。
- f.exec string
- この関数は、引き数
string を /bin/sh
に渡して実行させる。
マルチスクリーンモードにおいて、ディスプレイを指定せずに
X クライアン
トを起動した場合、クライアントは関数が呼び出されたスクリーンに現れる。
- f.focus
- この関数は、必要ならばフォーカスの規則をポインタ移動に基づくものから変
更し、サーバのキーボードフォーカスを選択されたウィンドウに切替える。
選択されたウィンドウが既にフォーカスされていた場合、この関数は
f.unfocus を実行する。
- f.forcemove
- この関数は f.move
と同様であるが、
DontMoveOff 変数を無視す
る点だけが異なる。
- f.forwiconmgr
- この関数は、ポインタを現在のアイコンマネージャ内の次のカラムに移動させ、
必要ならばポインタを次の行の先頭に移動させる。
- f.fullzoom
- この関数は選択されたウィンドウのサイズをディスプレイ全体のサイズに変え
る。ウィンドウが既にズームされている場合には、この関数はウィンドウのサ
イズを元に戻す。
- f.function string
- この関数は、引き数
string
で指定した名前を持つユーザ定義関数を実
行する。
- f.hbzoom
- この関数は
f.bottomzoom
の別名である。
- f.hideiconmgr
- この関数は現在のアイコンマネージャをアンマップする。
- f.horizoom
- この関数は f.zoom
と同様であるが、選択されたウィンドウはディスプ
レイ全体の幅にサイズ変更される点だけが異なる。
- f.htzoom
- この関数は f.topzoom
の別名である。
- f.hzoom
- この関数は f.horizoom
の別名である。
- f.iconify
- この関数は選択されたウィンドウをアイコン化し、選択されたアイコンをアイ
コン化解除する。
- f.identify
- この関数は、選択されたウィンドウの名前とジオメトリの概要を表示する。サー
バが SYNC
拡張をサポートしていれば、そのウィンドウを所有しているクライ
アントの優先度も表示される。
このウィンドウは、クリックするかキーを押せば消える。
- f.lefticonmgr
- この関数は
f.backiconmgr
と同様であるが、ポインタの移動により行
は変わらない点が異なる。
- f.leftzoom
- この関数は
f.bottomzoom
と同様であるが、選択されたウィンドウはディ
スプレイの左半面を占めるようにサイズ変更される点が異なる。
- f.lower
- この関数は選択したウィンドウを下面に移動させる。
- f.menu string
- この関数は、引き数
string
で指定されたメニューを呼び出す。
f.menu
の呼び出しを入れ子にすることで、階層メニューを作ることが
できる。
- f.move
- この関数は、この関数を呼び出したポインタボタンが離されるまで、選択され
たウィンドウの外形(
OpaqueMove
変数が設定されていればウィンドウ
そのもの)をドラッグできるようにする。
ConstrainedMoveTime で与え
たミリ秒時間以内にダブルクリックすると、ポインタはウィンドウの中央に移
動し、ポインタが交差した格子線に基づいて動きが垂直方向か水平方向のどち
らかに制限される。
移動を止めるためには、最初に押したボタンを離す前に別のボタンを押すこと。
- f.nexticonmgr
- この関数は、現在またはその後の任意のスクリーン上のウィンドウを含む次の
アイコンマネージャにポインタを移動させる。
- f.nop
- この関数は何も行わない。この関数は普通、DefaultFunction
変数や WindowFunction
変数に対して用いたり、メニューに空白行を作るため
に用いる。
- f.previconmgr
- この関数は、現在またはその前の任意のスクリーン上のウィンドウを含む次の
アイコンマネージャにポインタを移動させる。
- f.priority string
- この関数は、選択されたウィンドウを所有しているクライアントの優先度を、
引き数 string
の数値に設定する。この引き数は、ダブルクォートで
括った符号付き整数でなければならない(例:
"999")。この関数は、X
サーバ が SYNC
拡張をサポートしている場合のみ有効である。
- f.quit
- この関数は、ウィンドウの境界を元に戻し、twm
を終了させる。 twm
が xdm
が呼び出した最初のクライアントである場合には、
サーバがリセットされる。
- f.raise
- この関数は、選択されたウィンドウをレイズさせる。
- f.raiselower
- この関数は、選択されたウィンドウが他のウィンドウの下になっている場合、
これをレイズさせる。そうでない場合には、このウィンドウは下面に移動させ
られる。
- f.refresh
- この関数は、全てのウィンドウを再描画させる。
- f.resize
- この関数は、選択されたウィンドウの外形を表示させる。ポインタが境界をま
たぐと(または
AutoRelativeResize
が設定されていると)、この関数
を呼び出したときに押したボタンが離されるまで、外形がラバーバンドになる。
サイズ変更を止めるには、最初のボタンを離す前に他のボタンを押すこと。
- f.restart
- この関数は、twm
を終了・再起動させる。
- f.righticonmgr
- この関数は
f.nexticonmgr
とほぼ同じであるが、行の変更は行われな
い点が異なる。
- f.rightzoom
- この関数は
f.bottomzoom
とほぼ同じであるが、選択されたウィンドウ
はディスプレイの右半面を占めるようにサイズ変更される点が異なる。
- f.saveyourself
- この関数は、選択されたウィンドウが
WM_PROTOCOLS
ウィンドウプロパティで
メッセージを要求している場合、そのウィンドウの
WM_SAVEYOURSELF メッセー
ジを送る。このメッセージを受け取るクライアントは、ウィンドウに関連する
全ての状態を検査し、ICCCM
で指定されているように
WM_COMMAND を更新する
ことになっている。選択されたウィンドウがこのメッセージに対して選択され
ていない場合、キーボードベルが鳴らされる。
- f.showiconmgr
- この関数は、現在のアイコンマネージャをマップする。
- f.sorticonmgr
- この関数は、現在のアイコンマネージャのエントリをアルファベット順に並
べ変える。 変数
SortIconManager
を参照すること。
- f.title
- この関数は、メニュー定義において文字が中央寄せに書かれ、選択することが
できない要素を作る。この関数はこれ以外の文脈で用いてはならない。
- f.topzoom
- この関数は
f.bottomzoom
とほぼ同じであるが、選択されたウィンドウ
はディスプレイの上半面を占めるようにサイズ変更される点だけが異なる。
- f.unfocus
- この関数は、フォーカスの規則をポインタ移動に基づくものに戻す。この関数
は、フォーカスしたウィンドウが不要になったときに用いる。
- f.upiconmgr
- この関数は、現在のアイコンマネージャにおいて前の行にポインタを移動させ
る。必要ならば、同じカラムの最後の行に移動させる。
- f.vlzoom
- この関数は f.leftzoom
の別名である。
- f.vrzoom
- この関数は f.rightzoom
の別名である。
- f.warpring string
- この関数は、WindowRing変数で指定された次または前のウィンドウにポ
インタを移動させる。移動先のウィンドウは引き数
string で指定し、
この値は "next"
または "prev"
である。
- f.warpto string
- この関数は、string
にマッチする名前かクラスを持つウィンドウにポ
インタを移動させる。ウィンドウがアイコン化されている場合、変数
WarpUnmapped
が設定されていればアイコン化が解除され、設定さ
れていなければこれは無視される。
- f.warptoiconmgr string
- この関数は、引き数
string
で指定されたアイコンマネージャ内のポイ
ンタを含むウィンドウに対応するアイコンマネージャのエントリにポインタ
を移動させる。 string
が空文字列(つまり"")の場合、現在のアイコン
マネージャが選択される。
- f.warptoscreen string
- この関数は、引き数
string
で指定したスクリーンにポインタを移動さ
せる。 string
には数値(例えば
"0" や
"1")または文字列
"next"(現在のスクリーン番号に1を加え、管理されていないスクリーン
を飛ばしたもの)、文字列
"back"(現在のスクリーン番号から1を引き、
管理されていないスクリーンを飛ばしたもの)、文字列
"prev" (訪れた
最後のスクリーンを示す)を指定することができる。
- f.winrefresh
- この関数は f.refresh
とほぼ同じであるが、選択されたウィンドウの
みが再描画される点が異なる。
- f.zoom
- この関数は f.fullzoom
とほぼ同じであるが、選択されたウィンドウの
高さのみが変更される点が異なる。
メニュー¶
関数はグループ化し、ポップアップメニュー(ポインタボタンに関連づけられ
たとき)やプルダウンメニュー(タイトルボタンに関連づけられたとき)を使っ
て対話的に選択することができる。メニュー指定のそれぞれは、
f.menu
から参照されるメニュー名、デフォルトの前景色と背景色(省略可能)、アイテ
ム名と呼び出す関数、個別のアイテムの前景色と背景色(省略可能)を含む:
Menu "menuname" [ ("deffore":"defback") ]
{
string1 [ ("fore1":"backn")] function1
string2 [ ("fore2":"backn")] function2
.
.
.
stringN [ ("foreN":"backN")] functionN
}
menuname
では大文字と小文字は区別される。
オプションの引き数である
deffore と
defback
は、カラーディ
スプレイ上でメニューのエントリをハイライトさせるときに使う前景色と背
景色を指定する。
各メニューエントリの
string
はメニューに表示されるテキストであ
る。
オプションの引き数
fore と
back
は、ポインタがエントリ内
に入っていないときのメニューエントリの前景色と背景色である。これらの
色はカラーディスプレイだけで使われる。デフォルトで使う色は
変数
MenuForeground と
MenuBackground
で指定する。
メニューエントリの
function
部分は、ユーザ定義関数を含むいずれ
かの関数または追加メニューである。
TwmWindowsという名前の特別なメニューがあり、これは全てのクライア
ントと
twm
が与えるウィンドウの名前を含んでいる。エントリを選択
すると、そのウィンドウ上で
WindowFunction が実行される。
WindowFunction
が設定されていなければ、そのウィンドウはアイコ
ン化解除され、レイズされる。
アイコン¶
Twm
はアイコン化されたウィンドウを操作する方法をいくつか提供して
いる。
ピックスマップとテキストを使う一般的な方法においては、
IconRegion
変数で記述されるように手動または自動でレイアウトを調整する。加えて、
アイコン名を簡単に並べたウィンドウ(アイコンマネージャと呼ばれる)を使う
と、スクリーンのスペースをより有効に利用することができるし、キーボード
を使ってウィンドウ間を移動することもできる。
アイコンマネージャは、現在ディスプレイ上にある全てのウィンドウまたは選
択されたウィンドウの名前を含むウィンドウである。ウィンドウがアイコン化
されているときには、ウィンドウ名に加えて、デフォルトのアイコン化のシン
ボルに使われる小さなボタンがウィンドウ名の左に表示される。デフォルトで
は、アイコンマネージャのエントリをクリックすると
f.iconify が 実行される。
アイコンマネージャのこの動作を変更するには、ボタンやキーボードの関連づ
けを指定する際に
iconmgr
コンテクストを使用すること。
ポインタをアイコンマネージャ内へ移動させると、指定されたウィンドウ(明
示的にフォーカスを設定するか、
NoTitleFocus
が設定されている
統合的なイベントを送る)にキーボードフォーカスが与えられる。
関数
f.upiconmgr,
f.downiconmgr,
f.lefticonmgr,
f.righticonmgr
を用いると、キーボード操作で直接ウィンドウ間の入
力フォーカスを変えることができる。
全てのウィンドウリストの代わりに、リソースマネージャが用いられるべきで
あった。
IconRegion
変数はリストを引き数に取るべきである。
制約付き移動の関数を呼び出そうとして非常に素早いダブルク