「Cwm」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(Kusakata がページ「CWM」を「Cwm」に移動しました)
(カテゴリ変更)
 
(同じ利用者による、間の1版が非表示)
1行目: 1行目:
#redirect[[ウィンドウマネージャ#スタック型ウィンドウマネージャ]]
+
[[Category:スタック型ウィンドウマネージャ]]
  +
[[Category:OpenBSD]]
  +
{{Lowercase title}}
  +
[[en:Cwm]]
  +
[[it:Cwm]]
  +
'''cwm''' は直感的に使って生産性を高めることができる X11 [[ウィンドウマネージャ]]です。元は [[evilwm]] から分岐して生まれましたが、今ではスクラッチからコードベースが書き直されています。
  +
  +
cwm は OpenBSD のベースシステムとして開発されています。Linux で動作する「ポータブル版」も存在します。
  +
  +
==インストール==
  +
{{AUR|cwm}} パッケージが [[AUR]] からインストールできます。
  +
  +
==設定==
  +
cmw は {{ic|~/.cwmrc}} を編集して設定します。デフォルトの {{ic|cwmrc}} ファイルは存在しません。キーバインドなどのデフォルト設定は全て [https://github.com/chneukirchen/cwm/blob/linux/conf.c conf.c] に定義されています。{{man|1|cwm|url=https://man.openbsd.org/cwm.1}} にデフォルトのキーバインドが載っており、{{man|5|cwmrc|url=https://man.openbsd.org/cwmrc.5}} に設定ディレクティブが記載されています。
  +
  +
{{ic|unbind-key all}} と {{ic|unbind-mouse all}} を使うことでデフォルトのキーバインドを全て削除することができます。
  +
  +
===ウィンドウグループ===
  +
cwm には伝統的な「ワークスペース」が存在しません。かわりとしてウィンドウを「グループ」に割り当てることができます。2つ以上のグループを同時に表示することができ柔軟に運用できます。
  +
  +
例えばチャットや IRC アプリケーションをグループ 4 に配置して、他のウィンドウやグループと一緒に割り当てたキーを使ってグループの表示を切り替えることができます ({{ic|bind-key <k> group-toggle 4}})。
  +
  +
{{ic|bind-key <k> group-only <n>}} を使って特定のグループのウィンドウだけを表示して、他のウィンドウを非表示にすることも可能です。
  +
  +
新しいウィンドウはデフォルトではどのグループにも配置されないため、常に表示されます (常時表示ウィンドウ)。{{ic|sticky yes}} で “sticky group mode” を有効にすることで、現在選択されているグループに割り当てるようにすることもできます。{{ic|autogroup}} ディレクトリを使うことで自動的にウィンドウをグループ化できます。
  +
  +
===ウィンドウの移動===
  +
ウィンドウを特定の場所に移動するアクションはありませんが、{{Pkg|xdotool}} を使うことで移動できます。{{ic|PATH}} の通っている場所に以下の {{ic|cwm-w-mv}} スクリプトを配置してください:
  +
  +
#!/bin/sh
  +
# Move a window to the side of a screen.
  +
  +
case "$1" in
  +
"left") xdotool getactivewindow windowmove 0 y ;;
  +
"top") xdotool getactivewindow windowmove x 0 ;;
  +
  +
"right")
  +
screen_width=$(xwininfo -root | grep Width | cut -d: -f2 | tr -d ' ')
  +
win_width=$(xdotool getactivewindow getwindowgeometry --shell | grep WIDTH | cut -d= -f2)
  +
xdotool getactivewindow windowmove $(( $screen_width - $win_width )) y
  +
;;
  +
"bottom")
  +
screen_height=$(xwininfo -root | grep Height | cut -d: -f2 | tr -d ' ')
  +
win_height=$(xdotool getactivewindow getwindowgeometry --shell | grep HEIGHT | cut -d= -f2)
  +
xdotool getactivewindow windowmove x $(( $screen_height - $win_height ))
  +
;;
  +
*)
  +
echo "Unsupported: \"$1\""
  +
exit 1
  +
esac
  +
  +
そして以下のように cwm にバインド:
  +
  +
bind-key 4-h cwm-w-mv left # Move window to side of the screen.
  +
bind-key 4-j cwm-w-mv bottom
  +
bind-key 4-k cwm-w-mv top
  +
bind-key 4-l cwm-w-mv right
  +
bind-key 4-Left cwm-w-mv left
  +
bind-key 4-Down cwm-w-mv bottom
  +
bind-key 4-Up cwm-w-mv top
  +
bind-key 4-Right cwm-w-mv right
  +
  +
上記の設定では Mod4 (‘Windows キー’) と hjkl あるいは方向キーでウィンドウを移動できるようになります。
  +
  +
==参照==
  +
* [http://cvsweb.openbsd.org/cgi-bin/cvsweb/xenocara/app/cwm/ OpenBSD ソース]
  +
* [https://github.com/chneukirchen/cwm Portable version]
  +
* Example cwmrc: [https://blather.michaelwlucas.com/archives/873 one], [https://github.com/Carpetsmoker/dotfiles/blob/master/x11/cwmrc two].
  +
* [https://www.nostarch.com/obenbsd2e Absolute OpenBSD] contains an introduction to cwm.

2019年1月18日 (金) 01:08時点における最新版

cwm は直感的に使って生産性を高めることができる X11 ウィンドウマネージャです。元は evilwm から分岐して生まれましたが、今ではスクラッチからコードベースが書き直されています。

cwm は OpenBSD のベースシステムとして開発されています。Linux で動作する「ポータブル版」も存在します。

インストール

cwmAUR パッケージが AUR からインストールできます。

設定

cmw は ~/.cwmrc を編集して設定します。デフォルトの cwmrc ファイルは存在しません。キーバインドなどのデフォルト設定は全て conf.c に定義されています。cwm(1) にデフォルトのキーバインドが載っており、cwmrc(5) に設定ディレクティブが記載されています。

unbind-key allunbind-mouse all を使うことでデフォルトのキーバインドを全て削除することができます。

ウィンドウグループ

cwm には伝統的な「ワークスペース」が存在しません。かわりとしてウィンドウを「グループ」に割り当てることができます。2つ以上のグループを同時に表示することができ柔軟に運用できます。

例えばチャットや IRC アプリケーションをグループ 4 に配置して、他のウィンドウやグループと一緒に割り当てたキーを使ってグループの表示を切り替えることができます (bind-key <k> group-toggle 4)。

bind-key <k> group-only <n> を使って特定のグループのウィンドウだけを表示して、他のウィンドウを非表示にすることも可能です。

新しいウィンドウはデフォルトではどのグループにも配置されないため、常に表示されます (常時表示ウィンドウ)。sticky yes で “sticky group mode” を有効にすることで、現在選択されているグループに割り当てるようにすることもできます。autogroup ディレクトリを使うことで自動的にウィンドウをグループ化できます。

ウィンドウの移動

ウィンドウを特定の場所に移動するアクションはありませんが、xdotool を使うことで移動できます。PATH の通っている場所に以下の cwm-w-mv スクリプトを配置してください:

#!/bin/sh
# Move a window to the side of a screen.

case "$1" in
	"left") xdotool getactivewindow windowmove 0 y ;;
	"top")  xdotool getactivewindow windowmove x 0 ;;

	"right")
		screen_width=$(xwininfo -root | grep Width | cut -d: -f2 | tr -d ' ')
		win_width=$(xdotool getactivewindow  getwindowgeometry --shell | grep WIDTH | cut -d= -f2)
		xdotool getactivewindow windowmove $(( $screen_width - $win_width )) y
		;;
	"bottom")
		screen_height=$(xwininfo -root | grep Height | cut -d: -f2 | tr -d ' ')
		win_height=$(xdotool getactivewindow  getwindowgeometry --shell | grep HEIGHT | cut -d= -f2)
		xdotool getactivewindow windowmove x $(( $screen_height - $win_height ))
		;;
	*)
		echo "Unsupported: \"$1\""
		exit 1
esac

そして以下のように cwm にバインド:

bind-key 4-h      cwm-w-mv left   # Move window to side of the screen.
bind-key 4-j      cwm-w-mv bottom
bind-key 4-k      cwm-w-mv top
bind-key 4-l      cwm-w-mv right
bind-key 4-Left   cwm-w-mv left
bind-key 4-Down   cwm-w-mv bottom
bind-key 4-Up     cwm-w-mv top
bind-key 4-Right  cwm-w-mv right

上記の設定では Mod4 (‘Windows キー’) と hjkl あるいは方向キーでウィンドウを移動できるようになります。

参照