Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ uwm(1) — NEWS-os 3.3

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

X(1)

Xserver(1)

xset(1)

xlsfonts(1)

UWM(1)  —  UNIX Programmer’s Manual

名称

uwm −  X のウィンドウマネージャ

形式

uwm [−display display] [−f filename]

解説

uwm プログラムは、 X のウィンドウマネージャです。

uwm が呼び出されると、それは事前定義された探索パスを捜し、 uwm 起動ファイルがあればそれらを位置づけます。 起動ファイルが存在しない場合は、 uwm は組み込まれているデフォルト ファイルを初期設定します。

起動ファイルが下記の場所のどこかに存在する場合は、変数をデフォルトの 変数に付加します。 対立が生じた場合は、最後に見つけられたファイル内の変数が前の指定を オーバライドします。
 uwm 探索パス内のファイルは、以下のとおりです。   /usr/lib/X11/uwm/system.uwmrc
  $HOME/.uwmrc

単一の起動ファイル内で定義された設定だけを使用するには、特定の 起動ファイルの最上部に resetbindings、resetmenus、resetvariables の変数を含めます。

オプション

−f filename
別のファイル名を uwm 起動ファイルとして命名します。

起動ファイルの変数

変数は通常、起動ファイルの上部に最初に入力されます。 規則によって、resetbindings、resetmenus および resetvariables がリストの先頭にきます。

autoselect/noautoselect
メニューカーソルを最初のメニュー項目に置きます。指定を行わないと、 メニューカーソルは、メニューが表示されたときにメニューヘッダに 置かれます。

background=color
ポップアップのサイズ決めウィンドウ、メニュー、およびアイコンの デフォルトのバックグラウンドカラーを指定します。 デフォルトにより、現在のスクリーンの WhitePixel を使用します。

bordercolor=color
ポップアップのサイズ決めウィンドウ、メニューおよびアイコンの デフォルトのボーダカラーを指定します。 デフォルトにより、現在のスクリーンの BlackPixel を使用します。

borderwidth=pixels
ポップアップのサイズ決めウィンドウ、メニュー、およびアイコンを囲む ボーダのデフォルトの幅をピクセル単位で指定します。 デフォルトは、 2 です。

delta=pixelsアクションがウィンドウマネージャによってコマンドとして解釈される前に カーソルを移動させるピクセル数を示します ( デルタ マウスのアクションも参照してください )。

foreground=color
ポップアップのサイズ決めウィンドウ、メニュー、およびアイコンの ディスプレイのフォアグラウンドカラーを指定します。 デフォルトにより、現在のスクリーンの BlackPixel を使用します。

freeze/nofreeze
移動やサイズ変更のようなタスクをあるウィンドウマネージャが実行している 間は、他のクライアントのアプリケーションすべてをサーバからロックします。

grid/nogridサイズ変更や移動操作の実行中、アイコンやウィンドウの位置決めに役立つよう、 細かく区切られたグリッドを表示します。

hiconpad=pixels
アイコンを水平に埋め込むためのピクセル数を示します。 デフォルトは 5 ピクセルです。

hmenupad=pixels
各メニューアイテムをテキストの左側と右側に埋め込むための空白を ピクセル単位で示します。

borderwidth=pixels
アイコンを囲むボーダの幅をピクセル単位で示します。

iconfont=fontname
アイコン内に表示されるフォントを命名します。 与えられたサーバのフォント名は、 xlsfonts(1) を使用して 得ることができます。

maxcolors=number
与えられた呼び出しにおいてウィンドウマネージャが使用できる色の数を 制限します。 これがゼロに設定されたり、指定されなかった場合は、 uwm は、 カラーマップからとることができる色の数は制限されないと仮定します。 maxcolors は、色がファイルに含まれるときその色をカウントします。

mborderwidth=pixels
メニューを囲むボーダの幅をピクセル単位で示します。

normali/nonormali
部分的にスクリーンからはみ出していても、f.newiconify で作成した アイコンをルートウィンドウ内に置きます。 nonormali を使用してアイコンは、カーソルにより置かれた場所に 正確に置かれます。

normalw/nonormalw
部分的にスクリーンをはみ出していても、 f.newiconify で作成された ウィンドウをルートウィンドウ内に置きます。 nonormalw を使用してアイコンは、カーソルにより置かれた場所に 正確に置かれます。

push=numberpushabsolute あるいは pushrelative のどちらが 指定されているかに応じて、ウィンドウ number のピクセルあるいは ウィンドサイズの 1/number 倍だけ移動します。 この変数は、 f.pushup、f.pushdown、f.pushright または f.pushleft とともに使用してください。

pushabsolute/pushrelative
pushabsolute は、 push 変数で入力された数が、ピクセルと 等しいことを示します。 f.push ( 左、右、上、あるいは下 ) 機能が呼び出されると、ウィンドウは 正確にそのピクセル数だけ移動します。

pushrelative は、 push 変数で入力された数が相対番号であることを 示します。 f.push 機能が呼び出されると、ウィンドウは、push 変数で入力した部分の 数に目に見えないように分割され、ウィンドウはその 1 部分だけ移動します。

resetbindings, resetmenus, and resetvariables
uwm 探索パス内のいずれかの起動ファイルで指定された以前の機能束縛、 メニュー、および変数エントリ ( デフォルト環境内のものも含む ) をすべて リセットします。 決まりによって、それらの変数はまず最初に起動ファイルに入れられます。

resizefont=fontname
ウィンドウをサイズ変更するときに、ウィンドウの隅に寸法を表示する インジケータのフォントを識別します。 フォント名の獲得については、 xlsfonts(1) を参照。

resizerelative/noresizerelative
サイズ変更操作をエッジの移動に相対して行うか否かを示します。 デフォルトによって、動的な矩形では、新しいサイズを定義するのに実際の ポインタの位置が使用されます。

reverse/noreverse
ウィンドウマネージャのウィンドウとアイコンに関しては、白い バックグラウンドの上に黒い文字で表示を行うことを指定します。

viconpad=pixels
アイコンを垂直に埋め込むためのピクセル数を指定します。 デフォルトは 5 ピクセルです。

vmenupad=pixels
メニューをテキストの上下に埋め込むための空白の量をピクセル単位で示します。

volume=number
xset(1) コマンドによって設定される基本レベルの音量を上げたり、 下げたりします。 0 から 7 までの整数を入力します。 7 が最大音量です。

zap/nozap移動もしくはサイズ変更操作の間に、ゴーストラインが、前のデフォルト 位置から新しい位置までウィンドウあるいはアイコンを追います。

束縛シンタックス

function=[control key(s)]:[context]:mouse events:" menu name "

関数とマウスイベントは必要な入力です。 メニュー名は、 f.menu 関数の定義のときだけ必要です。

関数

f.beepキーボードから警告音を発します。音の大きさは、音量変数で決めます。

f.circledown前のウィンドウを隠しているトップのウィンドウをウィンドウののスタックの 1 番下に引き下げます。

f.circleup他のウィンドウで隠されている 1 番下のウィンドウをエクスポーズします。

f.continuef.pause 関数でアクションを中止した後、ウィンドウサーバの ディスプレイアクションを解放します。

f.focusすべてのキーボード入力を選択したウィンドウに行います。 フォーカスをすべてのウィンドウにリセットするには、ルートウィンドウから f.focus を呼び出します。

f.iconifyこの関数がウィンドウからインプリメントされた場合は、ウィンドウが それぞれのアイコンに変換されます。 また、この関数がアイコンからインプリメントされた場合は、アイコンが それぞれのウィンドウに変換されます。

f.killウィンドウを作成したクライアントを強制終了します。

f.lower下のウィンドウを隠しているウィンドウを引き下げます。

f.menuメニューを呼び出します。 ‘ メニュー名 ’ に空白文字や括弧が含まれる場合は、それを引用符で囲みます。

f.menu=[control key(s)]:[context ]:mouse events:" menu name "

f.moveウィンドウやアイコンを新しい位置に移動し、それがデフォルト位置になります。

f.moveopaqueウィンドウやアイコンを新しいスクリーン位置に移動します。 この関数を使用すると、ウィンドウあるいはアイコン全部が新しいスクリーン 位置に移動します。 グリッド効果は、この関数では使用されません。

f.newiconifyウィンドウやアイコンを作成してから、そのウィンドウあるいはアイコンを スクリーン上の新しいデフォルト位置に置くことができます。

f.pauseすべてのディスプレイアクションを一時的に停止します。 スクリーンを解放してただちにすべてのウィンドウを更新するには、 f.continue 関数を使用します。

f.pushdownウィンドウを引き下げます。 プッシュの距離は、 push 変数で決めます。

f.pushleftウィンドウを左に移動します。 プッシュの距離は、 push 変数で決めます。

f.pushrightウィンドウを右に移動します。 プッシュの距離は、 push 変数で決めます。

f.pushupウィンドウをもち上げます。 プッシュの距離は、 push 変数で決めます。

f.raiseその上のウィンドウで隠されているウィンドウをもち上げます。

f.refreshエクスポーズイベントが、すべての隠されていないか、部分的に隠されている ウィンドウの、ウィンドウサーバのクライアントに送られます。 エクスポーズイベントが正しく処理されないと、ウィンドウは正しく リフレッシュされません。

f.resize既存のウィンドウをサイズ変更します。 なお、クライアントの実行中にウィンドウをサイズ変更した場合、 クライアント ( 特にエディタ ) の中には予想できない反応を起こすものも あることに注意してください。

f.restartウィンドウマネージャのアプリケーションを再開し、uwm の検索パスを 再追跡して、見つけた変数を初期設定します。

コントロールキー

デフォルトによって、ウィンドウマネージャは コントロールキーとして meta を使用します。 また、 ctrl、shift、lock あるいは null ( 制御なしのキー ) も 使用することができます。 コントロールキーは、小文字で入力しなければならず、ctrl、lock、meta および shift に対してそれぞれ c、l、m、s と省略することができます。

1 つの関数に対して 1 つ、 2 つ、あるいはナルのコントロールキーを 束縛することができます。 コントロールキーを組み合わせるには、バー (|) 文字を使用します。

なお、ウィンドウマネージャ以外のクライアントのアプリケーションでは、 ポインタボタンとコントロールキーの組合わせを使用できることに 注意してください。 ウィンドウマネージャが自分で使用するためにそれらの組合わせを 束縛してしまった場合は、クライアントアプリケーションは必要なポインタ 入力を見ることはありません。

コンテキスト

コンテキストは、コマンドが起動されたときのカーソルのスクリーン位置を 指します。 束縛内にコンテキストのエントリを含むと、カーソルはそのコンテキスト内に なければならず、そうでないと、関数は起動しません。 ウィンドウマネージャは、アイコン、ウィンドウ、ルート、 ( ナル ) の 4 つのコンテキストを認識します。

ルートコンテキストは、ルートあるいはバックグラウンドウィンドウを指します。 ( ナル ) コンテキストは、コンテキストフィールドが空白のままにされた 場合に示され、どのスクリーン位置からでも関数を呼び出すことができます。 コンテキストはバー (|) 文字を使用して組み合わせます。

マウスボタン

下記のマウスボタンはいずれも小文字で受け付けられ、 left、middle、right に対しそれぞれ l、m あるいは r に 省略することができます。

特定のボタンで、そのボタンのアクションを識別しなければなりません。 マウスのアクションは、以下のとおりです。

down (下)指定されたボタンが押された場合に機能が生じます。

up (上)指定されたボタンが解放されたときに機能が生じます。

delta (デルタ)
指定された関数が呼び出される前に、 デルタ変数で指定したピクセル数だけマウスを移動しなければならないことを示します。 デルタの要件を満たすためにマウスを任意の方向に移動することができます。

メニューの定義

ファンクションキーのセットとメニュー名を f.menu にバインドした 後は、次のシンタックスを使用して呼び出すメニューを定義しなければ なりません。

menu = " menu name " {
"item name" : "action"
       .
       .
       .
}

f.menu を使用して入力したとおりに正確にメニュー名を入力してください。 そうでないと、ウィンドウマネージャはそのリンクを認識できません。 メニュー名に空白文字列、タブ、あるいは括弧が含まれる場合は、引用符を 付けなければなりません ( f.menu 関数のエントリの場合も同様 ) 。 スクリーンの長さと同じたくさんのメニュー項目を入力することができます。 メニュー内をスクロールすることはできません。

引用符、特殊文字、括弧、タブ、あるいは空白の文字列を含む任意の エントリがあれば、それを 2 重引用符で囲まなければなりません。 項目名の後にコロン (:) を付けます。

メニューのアクション

ウィンドウマネージャ関数
前述の関数、たとえば、 f.move あるいは f.iconify

シェルコマンド
感嘆符 (!) で始まり、バックグラウンドで動作するよう設定されます。 シェルコマンド内には、復帰改行ネジを含むことはできません。

テキスト文字列
テキスト文字列は、ウィンドウサーバのカットバッファ内に置かれます。

上矢印 (^) で始まる文字列は、文字列から上矢印 (^) がとられた後に 付加される復帰改行文字をもちます。

バー文字 (|) で始まる文字列は、バー文字 (|) がとられた後にそのまま 複写されます。

カラーメニュー

以下のシンタックスを使用して、メニューに色を付けます。

menu = "menu name" (color1:color2:color3:color4) {
"item name"  : (color5 :color6)  : " action "
       .
       .
       .
}

color1見出しのフォアグラウンドの色

color2見出しのバックグラウンドの色

color3ハイライターのフォアグラウンドの色。 ハイライターとはメニュー内でカーソルとともに動く水平のカラーバンド

color4ハイライターのバックグラウンドの色

color5個々のメニュー項目のフォアグラウンドの色

color6個々のメニュー項目のバックグラウンドの色

色のデフォルト

下記のいずれかの状態が発生した場合、色はルートウィンドウの色に デフォルト設定されます。 1)   uwm を呼び出す前かあるいはその間に、カラーマップエントリを 全部使ってしまった場合 2)  サーバの RGB カラーデータベース内に存在しないフォアグラウンド あるいはバックグラウンド色を指定する場合 ( サンプルとして、 /usr/lib/X11/rgb.txt を参照 ) は、 フォアグラウンドとバックグラウンドの色は両方とも、ルートウィンドウの 色にデフォルト設定されます。 3)  フォアグラウンドあるいはバックグラウンドの色を指定しなかった場合、 フォアグラウンドとバックグラウンドの色は両方とも、ルートウィンドウの 色にデフォルト設定されます。 4)  起動ファイル内で指定された色の総数が maxcolors 変数内で 指定された数を超えた場合。 5)  起動ファイル内で色を指定しなかった場合。

アイコンのカストマイズ

アイコン名は、アイコン内にポインタを置いて、入力することによって 編集することができます。 Backspace, Rubout および Delete キーを使用して行末から文字を削除したり、 Control-U を使用して名前全体を削除することができます。

例

下記のサンプルの起動ファイルは、デフォルトのウィンドウマネージャの オプションを示しています。

# Global variables
#
resetbindings;resetvariables;resetmenus
autoselect
delta=25
freeze
grid
hiconpad=5
hmenupad=6
iconfont=oldeng
menufont=timrom12b
resizefont=9x15
viconpad=5
vmenupad=3
volume=7
#
# Mouse button/key maps
#
# FUNCTION    KEYS  CONTEXT  BUTTON    MENU(if any)
# ========    ====  =======  ======    ============
f.menu =      meta  :     :left down   :"WINDOW OPS"
f.menu =      meta  :     :middle down :"EXTENDED WINDOW OPS"
f.move =      meta  :w|i  :right down
f.circleup =  meta  :root :right down
#
# Menu specifications
#
menu = "WINDOW OPS" {
"(De)Iconify":f.iconify
Move:f.move
Resize:f.resize
Lower:f.lower
Raise:f.raise
}
 menu = "EXTENDED WINDOW OPS" {
Create Window:!"xterm &"
Iconify at New Position:     f.lowericonify
Focus Keyboard on Window: f.focus
Freeze All Windows:f.pause
Unfreeze All Windows:f.continue
Circulate Windows Up:f.circleup
Circulate Windows Down:f.circledown
}

制限

色指定は、白黒のシステムに対しては何の効果もありません。

ファイル

 /usr/lib/X11/uwm/system.uwmrc
 $HOME/.uwmrc

関連事項

X(1), Xserver(1), xset(1), xlsfonts(1)

版権

COPYRIGHT 1985, 1986, 1987, 1988
DIGITAL EQUIPMENT CORPORATION
MAYNARD, MASSACHUSETTS
ALL RIGHTS RESERVED.

本ソフトウェアの情報は、予告なしに変更される場合もあり、 ディジタルエクイップメントコーポレーションによる誓約と解釈してはならない。 ティジタル社は、何らかの目的に対する本ソフトウェアの適合性に関して 何の表示も行わない。本ソフトウェアは、明示的にも、暗示的にもいかなる 保証も行わずに "そのまま" 供給される。 本ソフトウェアが、版権から派生する権利を生じるような方法で修正された 場合は、上記事項に加えて、派生した作業に対して適切な凡例が適用される こともある。 本ソフトウェアとその資料を何らかの目的で、無料で、使用、複写、修正、 および配布することは、上記の版権通告がすべてのコピーに記載され、その 版権通告と本許可通告の両方がサポート資料に記載され、また、特別な 書面による事前許可なくしてソフトウェアの販売に関係する広告や宣伝に ディジタルエクイップメントコーポレーションの名称を使用しないことを 前提として許可するものとする。

著者

M. Gancarz, MIT のコンピュータサイエンス研究室の Bob Scheifler によって開発された アルゴリズムを使用している。

NEWS-OSRelease 3.3

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026