天照 [amaterus] - How to customize

設定ファイル .amaterus の内容を変更することによってカスタマイズ可能に なります. ファイルフォーマットは XML で現時点でカスタマイズ可能なものは

などがあります.

全体のフォーマット

.amaterus は以下のヘッダとフッタが必要になります. ただし現時点では name, version 要素は無視されています.

ヘッダ
<?xml version="1.0"?>
<WMRC name="amaterus" version="0.32.12">
   
フッタ
</WMRC>
   

ランチャメニューの設定

記述例

 <menu id="menu_main" title="main">
  <item type="exec" command="/usr/bin/X11/kterm">Terminal</item>
  <item type="menu" command="menu_editor">Editor</item>
  <hr/>
  <item type="exec"   command="/usr/bin/X11/xkill">Destroy...</item>
  <item type="system" command="group_new">New Group...</item>
  <hr/>
  <menu id="menu_exit" title="Exit">
   <item type="restart">Restart</item>
   <item type="restart" command="/usr/bin/X11/twm">TWM</item>
   <hr/>
   <item type="exit">EXIT</item>
  </menu>
 </menu>

 <menu id="menu_editor" title="editor">
  <item type="exec" command="/usr/bin/emacs">Emacs</item>
  <item type="exec" command="/usr/bin/xemacs">XEmacs</item>
 </menu>

  

ランチャメニューは menu, item, hr の 3 エレメントから構成され, menu エレメントがメニューの構成を, item, hr エレメントがメニューが 実際に行う内容を表します.

menu エレメント

menu エレメントは, id と title の 2 つのアトリビュートを持ちます. id は各メニュー固有の値となりメニューを識別するのに使用されます. id の値で "menu_main" は特別な意味を持ち, ルートウインドウから 表示されるメニューということを示します. title はそのメニューを 表示する際に使用される名前で一意である必要はありません.

menu エレメント内に menu エレメントを入れ子状に記述することによって サブメニューを表すことが可能です. この場合, 内部のメニューを示す 外部のメニューアイテムのラベル名は, 内部の menu エレメントの title アトリビュートになります.

item エレメント

item エレメントは, menu エレメントの内部で使用され実際に選択される 項目を表し, type と command の 2 つのアトリビュートを持ちます.

type は item がどのような性質を持つのかを示し, command はその具体的な 内容を示します. type の値は 現在 exec, menu, system, restart, exit の 5 つの値があります.

exec
外部コマンドを呼び出すことを示し, command に外部コマンドの パスを記述します.
menu
サブメニューを呼び出すことを示し, command にサブメニューの id 名を記述します.
system
天照が提供している機能を呼び出します, command に機能名を 記述します. 現在は group_new しか対応していません.
restart
天照を再起動したり, 天照を終了して他のウインドウマネージャを 呼び出します. command に起動したいウインドウマネージャのパスを 記述します. command を省略した場合は天照が再起動されます.
exit
天照を終了します.

hr エレメント

メニューの間に横線を引きます.


ウインドウのカスタマイズ

記述例

 <window class="xeyes">
  <title format="目玉野郎"/>
  <geometry x="-0" y="+0"/>
  <border width="0" frame="myframe"/>
 </window>

 <frame name="myframe" pack="vertical">
  <widget type="frame" ref="mytitle"/>
  <widget type="client"/>
 </frame>

 <frame name="mytitle" pack="horizontal">
  <widget type="button" ref="iconify"/>
  <widget type="button" ref="close"/>
  <widget type="button" ref="ctitle"/>
 </frame>
  

window と frame が基本的な大まかなエレメントになり, window が ウインドウの個別の設定をし, frame の方がウインドウに修飾される 外枠の設定をします.

window エレメント

window は class アトリビュートを持ち, class の値は設定の対象としたい アプリケーションで定義されているウインドウのクラス名にします.

window エレメントは内部に title, geometry, border の 3 つのエレメントを 持つことが可能で, それぞれタイトルフォーマット, ウインドウの位置, 外枠を設定します.

title エレメント
format アトリビュートによってタイトルフォーマットを設定可能です. デフォルト値は "$t" です.
geometry エレメント
x, y アトリビュートによって, ウインドウの位置を設定します.
border エレメント
width で外枠の幅を設定し, frame で外枠の配置で使用する frame 名を 設定します. frame に関しては後述します.

frame エレメント

frame は name および pack アトリビュートを持ちます. name はフレームの 名前, pack は縦方向と横方向のどちらがわに配置していくかを指定します. pack のとりうる値は vertical と horizontal の 2 つです.

また frame エレメントは内部に widget エレメントを持ちます. widget エレメントは type アトリビュートと ref アトリビュートを持ちます. type アトリビュートが外枠の構成要素である widget の種類を示し, ref がその具体的な要素を示します. type でとりうる値は以下のとおりです.

client
操作の対象となるウインドウ自身です.
button
外枠に配置されるボタンを指定します. ref にはその構成要素を指定します. ref のとりうる値は iconify, close, group, ctitle, title, resize です.
frame
入れ子にしたい frame を指定します. ref には frame の名前を記述します

Hiroyuki Komatsu <komatsu@taiyaki.org>
$Id: customize.html,v 1.2 2000/10/31 03:46:30 komatsu Exp $