概要
ShojiWM の設定は標準では TypeScript/TSX で書きます。設定ファイルは shoji_wm から
設定言語
ShojiWM の標準の設定言語は TypeScript/TSX ですが、選べる言語はそれだけでは
デフォルト設定
ShojiWM には完成済みのデフォルト設定が同梱されています
ライフサイクルとイベント
ライフサイクルフック
出力(ディスプレイ)
COMPOSITOR.output はモニターのレイアウト――解像度・リフレッシュレート・スケール・
入力デバイス
COMPOSITOR.input はキーボード・ポインター(マウス)・タッチパッドを設定します。
カーソル
COMPOSITOR.cursor は、デフォルトポインターやSSDのリサイズカーソルなど、
キーバインドとポインター
キーボードショートカット
プロセスと環境変数
セッションログ
ウィンドウの合成
COMPOSITOR.window.composition は ShojiWM のカスタマイズの心臓部です。ウィンドウを
SSD コンポーネント
これらは COMPOSITOR.window.composition の内側で組み立てて
ペイントシェーダー
サーバーサイドデコレーションは、すべてシェーダーで描かれています。ペイントシェーダーを
ドラッグアンドドロップ
ウィンドウからウィンドウへ何か(テキスト、ファイル、リンク)をドラッグすると、
状態とシグナル
ShojiWM の合成はリアクティブです。コードが読んだ値が変化すると、装飾の影響を
エフェクト
ShojiWM は GPU シェーダーエフェクトを次の場所で実行でき、COMPOSITOR.effect で設定します。
出力オーバーレイ
COMPOSITOR.effect.overlay(output, options) は、既存の ShojiWM シェーダーパイプラインを
出力の合成と 3D
COMPOSITOR.rendering.composition は各出力の組み立て方を決めます。
出力の合成リファレンス
出力の合成のノードとヘルパーの一覧です。すべて shoji_wm
出力の合成レシピ集
出力の合成で作る演出の完成形です。どれも演出していない間は
アニメーション
ShojiWM にはアニメーションの実現方法が2つあり、それぞれ得意分野が異なります。
フレームのタイミングと poll
ShojiWM は時刻を出力ごとに持ちます。各出力の時計は、その出力のフレームの
KDE Plasma シェル
ShojiWM は KDE の plasmashell を動かせます。KDE のタスクバー、Kickoff、
ロック背景と解除オーバーレイ
セッションがロックされている間、ShojiWM は通常、ロッカーの ext-session-lock-v1