「Cwm」の版間の差分
細 (カテゴリ変更) |
|||
(同じ利用者による、間の1版が非表示) | |||
1行目: | 1行目: | ||
− | + | [[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 all
と unbind-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 あるいは方向キーでウィンドウを移動できるようになります。
参照
- OpenBSD ソース
- Portable version
- Example cwmrc: one, two.
- Absolute OpenBSD contains an introduction to cwm.