Settings
設定ファイルを直接編集する代わりに,チェックボックスや選択メニューでアプリの設定を変えられるようにしたい。Settingsは,そんな設定ウィンドウをTOMLの記述から用意する,アプリ開発者向けのツールです。
項目の名前,種類,選択肢をスキーマに書くと,その内容に応じた画面を組み立てます。設定画面はアプリ本体とは別の実行ファイルになり,指定したTOMLファイルを読み書きします。
Figure 1: デモ用スキーマから作られた設定画面です。タブやフィールドを記述し,アプリに合わせた名前・入力方法・説明を用意できます。画像は既存デモの表示例です。
設定ファイルを,触りやすい画面に
アプリの設定をTOMLで管理しているなら,そのキーに対応する入力項目を定義します。画面のために設定ファイルを別形式へ置き換える必要はありません。
| 用意したいもの | Settingsでの作り方 |
|---|---|
| 名前や接続先の入力 | 一行・複数行テキスト,パス入力,マスク入力を選ぶ |
| 機能のオン・オフ | チェックボックスやトグルを使う |
| 候補からの選択 | ドロップダウンやセグメント選択に候補を書く |
| 数値の調整 | スライダーや数値入力に範囲・刻み幅を付ける |
| 増減する設定項目 | プロバイダーなどの設定をサブセクションとして並べる |
| 入力ミスの案内 | 検証ルールと,違反時に表示するメッセージを定義する |
対応する入力方法と設定例は,ウィジェットリファレンスで確認できます。
アプリから呼び出す流れ
- 開発者が
schema.tomlに画面の構成を記述します。 - スキーマを埋め込んだSettingsをビルドし,アプリへ同梱します。
- アプリから,編集したい
config.tomlのパスを渡して起動します。 - 利用者が画面で変更すると,Settingsがその設定ファイルを保存します。
スキーマはビルド時に決まります。配布デモへ任意のスキーマを渡して画面を差し替える方式ではありません。独自の画面を作る場合はソースからビルドします。
Settingsは設定の編集を担当します。保存後の設定をいつアプリ本体へ読み直すかは,呼び出し側で決めます。導入手順とアプリへの組み込みで具体例を説明します。
表示と保存の振る舞いも指定できる
画面はLight・Darkと16言語の組み込み表示に対応します。アプリ固有の項目名や説明も言語別に用意でき,配色も調整できます。
保存方法の既定は,macOSでは自動保存,Windows・LinuxではOK/Cancel/Applyの保存バーです。スキーマで切り替えることもできます。TOMLのコメントと書式を保って編集し,外部から設定ファイルが変更された場合も検知します。
設定キーの名前や配置を変更するときは,移行内容をスキーマへ宣言できます。Settingsの起動時に,既存の設定ファイルを新しい構成へ移します。詳細は設定のマイグレーションを参照してください。
対応環境と入手方法
SettingsはmacOS・Windows・Linux向けのツールで,MITライセンスで公開しています。
| 目的 | 入手するもの |
|---|---|
| 画面や入力方法を試す | GitHub ReleasesのSettingsデモ。サンプルのスキーマと設定を使用 |
| スキーマを検査する | settings-schema-checker。GUIを起動せず,指定したスキーマを検査 |
| 自分のアプリへ同梱する | ソースコードから,独自スキーマを埋め込んだSettingsをビルド |
2026年10月29日に確認した最新の公開配布はv0.2.6です。本記事群は手元のv0.2.7ソースと照合しています。画像は既存のデモ画像を利用しており,新しい版の実機撮影を行ったものではありません。配布ファイルはリリースページで確認してください。
次に読むページ
| 知りたいこと | 案内 |
|---|---|
| 最小の画面を作って起動したい | 使い始める |
| 自分のアプリから呼び出したい | アプリへの組み込み |
| OSごとのビルドやデモを用意したい | ビルド |
| スキーマや入力部品の項目を調べたい | スキーマ/ウィジェット |
| 入力の検証,言語,見た目を整えたい | 検証/ローカライゼーション/テーマ |
| 古い設定キーを新しい形式へ移したい | マイグレーション |
