Settingsを使い始める
Settingsを使って,接続先とポート番号を編集する小さな設定画面を作ります。何ができるかを先に知りたい場合は,製品紹介を参照してください。
紹介と代表画面は製品トップへまとめました。このページでは,自分のスキーマを用意して起動する手順を説明します。
用意するもの
- SettingsのソースコードとRust/Cargo,justを用意します。Windowsではレシピの実行にGit for Windowsのshも必要です。
- スキーマは画面の定義,設定ファイルは利用者が編集する値です。別々のTOMLファイルとして作ります。
- 画面だけ先に試したい場合は,配布デモを利用できます。デモのスキーマは固定です。
クイックスタート
1. schema.tomlを書く
作業用フォルダーに,次の内容のschema.tomlを保存します。keyは設定ファイル上のキー,labelは画面に出す名前です。
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 = 65535スキーマはビルド時に埋め込むため,画面の項目を変えたときはビルドし直します。
2. config.tomlを用意する
同じ作業用フォルダーに,編集対象のconfig.tomlを作ります。Settingsの起動時に読み込めるよう,先に実在するファイルとして用意してください。
[server]
host = "localhost"
port = 8080スキーマのserver.hostとserver.portが,このファイルの値に対応します。
3. スキーマを指定してビルドする
Settingsリポジトリのルートで実行します。初回やアイコン更新後はjust initで必要なアセットを用意します。
macOS・Linuxのシェルでは,次のようにスキーマの絶対パスを指定します。
just init
SETTINGS_SCHEMA="/path/to/schema.toml" just binaryWindowsのPowerShellでは,環境変数を次の形で設定します。
just init
$env:SETTINGS_SCHEMA = "C:\work\schema.toml"
just binaryホスト向けの実行ファイルはtarget/release/settings,Windowsではtarget/release/settings.exeです。ほかのOS向けのビルドとスキーマ指定の優先順位はビルドを参照してください。
4. 編集対象のパスを渡して起動する
macOS・Linuxでは,次のように起動できます。
./target/release/settings "/path/to/config.toml"WindowsのPowerShellでは,次の形です。
.\target\release\settings.exe "C:\work\config.toml"HostとPortの入力欄が表示されます。値を変え,macOSでは編集を確定し,Windows・LinuxではOKまたはApplyを押します。保存されたconfig.tomlを開き,値が変わったことを確かめてください。save_buttonを省略した場合の既定動作です。
アプリから呼ぶ
Rustでは,たとえば次のように実行ファイルと設定のパスを指定します。設定ファイルは呼び出す前に用意します。
std::process::Command::new("path/to/settings")
.arg("/path/to/config.toml")
.spawn()?;保存した設定を本体へ反映するには,ファイルを監視するか,Settingsの終了後などに本体側で読み直します。具体的な同梱方法はアプリへの組み込み,画面を増やす場合はスキーマとウィジェットを参照してください。