レイアウトとグリッド
ウィジェットの配置・リサイズ・スナップの仕組みと、レイアウトがモニター変更を生き延びる理由。
位置はピクセルではなく比率
ウィジェットの位置とサイズは、ピクセル座標ではなく 画面に対する比率 として保存されます。x: 0.5 のウィジェットは、どのディスプレイでも横幅の中央から始まります。
レイアウトがハードウェアの変更を生き延びるのはこのためです。同じレイアウトを大きいモニターで開けば、各ウィジェットは同じ相対配置のまま比例して大きく描画されます。小さい画面の端で切れることも、大きい画面の隅に固まることもありません。
2 つの軸は独立して扱われるので、アスペクト比の違う画面へ移したレイアウトはレターボックス化されずに伸びます。これは意図した選択です。各ウィジェットの正確な形よりも、配置が保たれることのほうが重要だからです。
配置・移動・リサイズ
新しいウィジェットは ピクセル 単位の既定サイズを持ち、着地した時点で現在の画面に対する比率へ変換されます。したがって置いたばかりのウィジェットはどのモニターでも妥当な物理サイズになり、その後に比例して拡大縮小します。
編集モードでは、各ウィジェットに 8 つのハンドル(四隅と四辺)が付きます。角は各軸の辺を 1 つずつ動かし、辺のハンドルは自分の辺だけを動かして、向かい側の辺ともう一方の軸全体をそのままの位置に残します。リサイズが、触っていない辺を動かすことはありません。
常に 2 つの制約がかかります:
- 現在の画面上で 64 ピクセルの最小サイズ。ウィジェットを無に縮められないようにするためです。
- 完全な収容: ドラッグ・リサイズ・配置のあいだウィジェットは画面内に留められるので、画面から半分はみ出させることはできません。
スナップ
スナップ補助が、ドラッグ中のウィジェット同士および画面との位置合わせを助けます。ウィジェット間の間隔は好みに合わせて調整でき、値はビューごとに保存されます。
コンテナ
3 つのコンテナウィジェットが、中身の並べ方を変えます:
- スタック: 複数のウィジェットがひとつのフレームを共有し、一度にひとつだけ表示。
- タブ: 同じものに、切り替え用のタブ列が見えるもの。
- グループ: 中身を組み直さずに、ひとかたまりで移動・リサイズする領域。
コンテナ同士は入れ子になりません。コンテナを埋めている最中、ウィジェットピッカーは追加できないカードを差し出す代わりに、コンテナ種別を隠します。
ポップアウトウィンドウ
コンテンツ系・編集系のウィジェットは、装飾のある独立したデスクトップウィンドウで開けます。デスクトップ層とウィンドウのあいだを移動しても物理サイズを保つので、ポップアウト時に大きさが跳ねることはありません。
どこに保存されるか
レイアウトはビュー単位でお使いのマシンに、Themia の他の設定と並べて保存され、エクスポートとインポートにも含まれます。