はじめに
Settings (v0.2.2)
TOML 形式の設定ファイルを持つアプリ向けの,独立した設定ウィンドウです。本体とは別プロセスとして動作し,設定ファイルの読み書きのみを担います。
概要
- スキーマ駆動 —
schema.tomlを手書きするだけで設定 UI が生成されます - 16 言語 — 組み込み UI 文字列とスキーマ内ローカライズ表の両方に対応します
- Light / Dark — OS 追従または固定。カラーパレットをスキーマで上書きできます
- ランタイム検証 — CEL 式によるフィールド検証に対応します(v0.2 以降)
- 外部変更検知 — 設定ファイルの変更を監視し,競合時にダイアログを表示します
- クロスプラットフォーム — macOS・Windows・Linux で動作します
スクリーンショット
| Light | Dark | |
|---|---|---|
| macOS | ![]() | ![]() |
| Windows | ![]() | ![]() |
| Linux | ![]() | ![]() |
クイックスタート
1. schema.toml を書く
toml
icon_style = "rounded"
theme = "os"
lang = "os"
[[tabs]]
id = "general"
label = { en = "General", ja = "一般" }
icon = "settings"
[[tabs.fields]]
key = "server.host"
label = { en = "Host", ja = "ホスト" }
type = "string"
widget = "text_input"
[[tabs.fields]]
key = "server.port"
label = { en = "Port", ja = "ポート" }
type = "number"
widget = "drag_value"
min = 1
max = 655352. ビルドする
bash
cd repos/settings
make binary
# またはスキーマを明示する場合:
make SCHEMA=/path/to/schema.toml binary3. 親アプリから起動する
rust
std::process::Command::new("path/to/settings")
.arg("/path/to/config.toml")
.spawn()?;config.toml のパスを引数で渡します。省略時の既定パスは組み込みを参照してください。





