cwm (OpenBSDのWindow Manager)

・OpenBSD 7.6

cwm は OpenBSD に附屬する window manager です。

cwm は次の特徴を持ちます。

・鍵盤 (keyboard) で操作できる
・窓に group を割り當てて管理できる (dwm の tag みたいな機能)
・titlebar を表示しない
・command の名前を鍵盤で入力し、起動できる
・隱れた窓を名前で檢索して、前面に表示できる
・OpenBSD 以外の OS にも移植されてゐる

~/.xsessionの記述

OpenBSD の標準の WM は Fvwm です。
cwm を使用するには、~/.xsession の末尾に cwm を記述します。

$ echo cwm > ~/.xsession<

~/.xsession は X11 に login した時に實行される script です。
例として、次の樣にすれば cwm と共に xidle (畫面を自動的に lock するもの) と XTerm とが起動します。

xsetroot -solid black &
xidle -timeout 300 &
xterm &
cwm

~/.cwmrcの作成

cwm は初期狀態では少し不便です (筆者の所感)。
これを改善するには、manual pages の「EXAMPLE」節の設定例を眞似して ~/.cwmrc を作成すると良いでせう。

manual pages から ~/.cwmrc を生成する command は次の通りです。これが將来の OpenBSD でも使へるとは限らないため注意が必要です。

$ man cwmrc | col -b | sed -n '/^EXAMPLE/,/^SEE/p' > ~/wk
$ sed -i '/^EXAMPLE/d;/^SEE/d;s/^ *//' ~/wk
$ mv -iv ~/wk ~/.cwmrc

參考までに、上記を OpenBSD 7.6 で實行した結果を添附します。
これを ~/.cwmrc として保存してください。
・添附 cwmrc.txt

滑鼠の左ボタンを押した時に表示される「window」欄などに日本語を正しく表示させるには、~/.cwmrcfontname に日本語對應の書體を表示します。

fontname "Unifont:pixelsize=16:bold"

起動と操作

前述の通りに ~/.xsession および ~/.cwmrc を作成して X11 に再び login すると cwm が起動します。

cwm には taskbar などがありません。もし窓が 1つもなければ、畫面には背景だけが表示されます。

XTerm を起動するには「Ctrl + Alt + Enter」を押します。

cwm を終了する (logout して xenodm に戾る) には、「Ctrl + Alt + Shift + Q」を押します。

他の操作です (主要な物のみ)。

窓を閉ぢる
Ctrl + Alt + x
窓を畫面全體に表示する
Ctrl + Alt + f
窓を最大化する
Ctrl + Alt + m
窓を切り替へる
Alt + Tab
窓を隱す (再表示は後述)
Alt + Enter
group を切り換へる (隱した窓も再表示される)
「Alt + Left<」「>Alt + Right」
窓を檢索する (隱した窓も再表示される)
「Alt + ? (疑問符)」で現れる「window」欄に window の名前を入力する
program の名前を指定して起動
「Alt + Shift + /」で現れる「exec」欄に program の名前を入力する

Group の管理

初期狀態では group の管理は少し複雜です。
manual page にある設定例を適用すれば、dwm に似た簡潔なものになります。
それを前提にした操作方法を紹介します。

group 1-3の切り替へ (單獨で表示)
Alt + [1-3]
focus 狀態の窓を group 1-3に移動
Alt + Shift + [1-3]

問題 Altキーの割當が他の軟件と衝突する

Alt キーを使用する軟件 (program) で、キー割當が cwm と衝突する場合は、代りに「Alt + Win」を入力すれば、cwm のキー割當を無視できることがあります。

問題 XTerm以外の端末を使用したい

「Ctrl + Alt + Enter」で起動する端末を別の物に變更したい場合は、~/.cwmrccommand term プログラム名の行を入れます。

command term st

問題 xenodmのXConsoleが邪魔

xenodm は XConsole を起動します。
XConsole は、login した後も殘つたままになります。
これが邪魔なこともあります。

.cwmrcignore xconsole といふ行を追加すると、XConsole は「Alt + Tab」の對象にならなくなり、邪魔ではなくなります。

そもそも XConsole を起動しないやうに xenodm の設定を變更するのも有りですが、OS の設定を變更する必要があります。
~/.cwmrc で対処する方が簡潔です。

問題 窓が消えた時

誤つて窓を最小化 (Alt + Enter) をすると、一見、窓が消えたかの樣に見えます。
root window (desktop の背景) で滑鼠 (mouse) の右ボタンを押すと窓の一覽が表示されるので、そこから非表示になつた窓を選択すると、再表示されます。

問題 窓を操作できない

窓を凍結すると ( これを解除するにはもう1度「Ctrl + Alt + Shift + F」を押します。

問題 Taskbarがほしい

cwm は taskbar を持たず、現在どの group を表示中であるかわからず、窓の一覽も普段は表示されません。
これを改善するには、tint2 などの panel・taskbar を竝用します。

參考

cwm(1) - OpenBSD manual pages
OpenBSD FAQ: The X Window System
cwm - ArchWiki
Getting started with cwm

關聯

tint2 (Panel・Taskbar)

奧附

「美々蝶々」目次
更新 2024-10-26 (陰暦10月24日)