メインコンテンツまでスキップ

デフォルト設定

ShojiWM には完成済みのデフォルト設定が同梱されています (packages/config/src/index.tsx、~/.config/shojiwm/src/index.tsx に インストールされます)。このページでは、それが最初の状態で何をするか―― キーバインド・ウィンドウの挙動・マルチモニターのレイアウト・入力・エフェクト・ 起動するプログラム――を解説します。これは最良の実例でもあります。何かを変えたいときは ~/.config/shojiwm/src/index.tsx を編集して Super + Shift + R で ホットリロードしてください。

一部のキーバインドは特定のプログラムを起動します

デフォルト設定はメンテナー個人のセットアップなので、いくつかのショートカットは特定の アプリ(kitty・Google Chrome・Discord・Dolphin)を開き、補助ツール(hyprshot・swappy・ cliphist・fcitx5・shoji-bar-3)に依存しています。該当ツールが無い場合、そのショートカットは 何も起こさないだけです――好みのプログラムに割り当て直してください。 キーバインドとポインター を参照。

キーバインド​

モディファイアは Super(「Windows」キー)です。デフォルトでは Caps Lock が Ctrl として 機能する点に注意してください(入力 参照)。

プログラムの起動​

ショートカット動作
Super + Tターミナル(kitty)
Super + Bブラウザ(Google Chrome、Wayland)
Super + DDiscord
Super + Eファイルマネージャー(Dolphin)
Super + Aスタートメニューの切り替え(shoji-bar-3)
Super(タップ)スタートメニューの切り替え――他のキーを押さない素早いタップ
Super + Vクリップボード履歴の切り替え(shoji-bar-3)
Super + P範囲スクリーンショット(hyprshot → swappy)
Super + Ctrl + P画面を静止させてから範囲スクリーンショット

ウィンドウ管理​

ショートカット動作
Super + ドラッグウィンドウを移動――Super を押しながらウィンドウ上の任意の場所をドラッグ
Super + Qフォーカス中のウィンドウを閉じる
Super + Mフォーカス中のウィンドウの最大化を切り替え
Super + Fフォーカス中のウィンドウのフルスクリーンを切り替え(コンポジター側、下記参照)
Super + S現在のワークスペースのタイルモードを切り替え
Super + F と Wine / Proton のゲーム

ほとんどのアプリはフルスクリーンを自分で切り替えるので、このキーが必要になる ことはあまりありません。用意しているのは Wine / Proton で動くゲーム (xwayland-satellite 経由)のためです。Wine は矩形がモニタ全体を覆っている ウィンドウをすべてフルスクリーン扱いにするため、「ウィンドウモード」の解像度が デスクトップと同じゲームは自力でフルスクリーンから抜けられず、ゲーム内の切り替え が効かないように見えます。Super + F はコンポジター側から状態を強制します。 Wine はウィンドウマネージャー発の状態変更を受け入れてウィンドウをそのサイズに 合わせます。ゲーム側がフルスクリーン設定のままだと少し後に再びフルスクリーンに 戻るので、先にゲーム側をウィンドウモードにしてから押してください。

タイルとワークスペース​

ショートカット動作
Super + ← / →左/右のタイルへフォーカスを移動
Super + Ctrl + ← / →左/右のタイルへフォーカスを移動(別名)
Super + Shift + ← / →フォーカス中のタイルを左/右へ移動
Super + Ctrl + ↑ / ↓前/次のワークスペースへ切り替え
Super + Shift + ↑ / ↓フォーカス中のウィンドウを前/次のワークスペースへ移動

システム(コンポジター組み込み)​

以下は設定ファイルではなくコンポジター本体に組み込まれたショートカットです。 設定が壊れていても必ず動作します。

ショートカット動作
Super + Shift + R設定のホットリロード — index.tsx の編集内容を再起動なしで反映(概要 → ホットリロード 参照)
Super + Shift + QShojiWM セッションの終了

デバッグ​

ショートカット動作
Super + Shift + FFPS/フレーム時間オーバーレイの切り替え

ウィンドウの見た目​

各ウィンドウには、アプリアイコン・ウィンドウタイトル・最小化/最大化/閉じるボタンを 備えたタイトルバーが付きます。ボーダーはフォーカス時は金色(#d7ba7d)、それ以外は グレー(#4f5666)で、角は丸められています。

  • ターミナル(kitty・ghostty)は、ソリッドなタイトルバーの代わりに半透明の リキッドグラスなブラー背景になります。
  • フルスクリーンのウィンドウは、すべてのクローム(ボーダー・タイトルバー・角丸)を 外して端から端まで描画します。この素の経路により、コンポジターがバッファを直接ディスプレイに 渡せ(ダイレクトスキャンアウト)、テアリングも許可されるため、ゲームで最小のレイテンシに なります。

タイルとワークスペース​

ウィンドウ管理は HybridWindowManager が担当し、ワークスペースごとにタイルと フローティングを混在させます。

  • ワークスペースはフローティングモードで始まります(ウィンドウは自由に配置でき、 Super + ドラッグで動かせます)。Super + S で現在のワークスペースのタイルモードを 切り替えると、ウィンドウが自動的に左右に並びます。
  • モニターごとに複数のワークスペースを持ち、Super + Ctrl + ↑/↓ で移動、 Super + Shift + ↑/↓ でウィンドウをワークスペース間で移動します。
  • 開閉・移動・リサイズ・ワークスペース切り替えにはアニメーションが付きます。

デフォルト設定は、ワークスペースのレイアウトを IPC ソケットで公開しているので、外部の バー(shoji-bar-3)がワークスペースインジケーターを描画したり、変化に反応したりできます。

マルチモニター​

デフォルトの output.configure は、コネクタごとにスケールを設定し、すべてのディスプレイを 自動配置で左から右へ拡張します。外部モニターが接続されているとき(ドック構成)は、 ノートPC内蔵パネルをオフにします。

ヒント

デフォルト設定のコネクタ名(eDP-1・HDMI-A-1・DP-1 など)とスケール値は、メンテナーの ハードウェアのものです。自分のモニターに合わせてほぼ確実に調整したくなるはずです―― 出力(ディスプレイ) を参照してください。

入力​

input.configure が適用するデフォルト:

  • キーボード —— Caps Lock が Ctrl として機能(caps:ctrl_modifier)。キーリピートは 毎秒 60 回、開始遅延 250 ms。
  • タッチパッド —— タップでクリック、ナチュラルスクロール、2本指スクロール (係数 0.3)、タイプ中は無効化。
  • ポインター —— フラットな加速プロファイル(ポインター加速なし)。

変更方法は 入力デバイス を参照してください。

視覚エフェクト​

  • ext-background-effect-v1 プロトコルで要求したクライアント(例: 背後をぼかすよう コンポジターに要求する半透明アプリ)向けに、背景ブラーを提供します。
  • レイヤーサーフェス(バー・ドック)とレイヤーポップアップ(メニュー)は、その背後が ぼかされます。ただしサーフェスが no_blur 名前空間でオプトアウトしている場合は除きます。

これらの作り方は エフェクト を参照してください。

起動プログラムと環境変数​

起動時にデフォルト設定は次を行います。

  • Wayland と fcitx5 入力メソッドのための環境変数を設定します (QT_QPA_PLATFORM・QT_IM_MODULE など)。
  • fcitx5(入力メソッド)、shoji-bar-3(シェル)、cliphist クリップボード履歴 ウォッチャーを起動します。

これらは対応するプログラムがインストールされていることを前提とします。別のツールを使う 場合は、設定内の process / env の呼び出しを削除または調整してください―― プロセスと環境変数 を参照。

カスタマイズ​

設定は ~/.config/shojiwm/src/index.tsx にあります。編集して Super + Shift + R で ホットリロードすると、ウィンドウマネージャの状態(ワークスペース・タイル)は リロードをまたいで保持されます。ここから先、 このセクションの残りのページでは、デフォルト設定が使うすべての API を解説しています。