Skip to main content

Module config

Module config 

Source
Expand description

OS 設定・テーマ(配色)の永続化と読み込み。

ThemeConfig が1テーマ分の全配色(デスクトップ・ボタン・ログイン画面・システムモニタ等) を保持する。プリセットテーマは colorset/*.jsondefault/dracula/earth/nord/ sakura)として同梱され、crate::apps::settings からカスタムテーマも JSON で SylFS に保存できる。キーボードレイアウト(KeyboardLayout)もここで管理する。

Re-exports§

pub use crate::kernel::keyboard::KeyboardLayout;

Structs§

ConfigLoad
設定読み込みの結果。
OsConfig
ThemeConfig

Statics§

GLOBAL_CONFIG
PRESET_THEMES

Functions§

apply_color 🔒
カラーセット JSON の 1 キーを適用する。
apply_system_section 🔒
system セクションを current_config へ適用する。 有効値は採用し、異常値は採用せずエラーとして返す(最初の 1 件)。
get_config
グローバル設定を取得する。
init_or_load
load_colorset_from_json
load_config
/os/config.json/os/colorset.json を読み込む。
parse_hex_color
record_failure 🔒
最初の失敗だけを保持する(後続はログ済みなので上書きしない)。
reload_and_apply
save_config
設定を保存する。呼び出し側は戻り値を必ず確認すること (保存できていないのに「保存しました」と表示しないため)。
save_config_internal
設定を JSON 化して /os/config.json へ書き出す。 書き込み失敗はそのまま呼び出し側へ返す(従来は let _ = で捨てていた)。
save_config_with_wifi
設定を WiFi 認証情報つきで保存する。
take_bool 🔒
JSON オブジェクトから真偽値を取り出す。 キーが無いのは正常(未指定)。あるのに型が違う場合はエラーを返す。
take_string 🔒
JSON オブジェクトから文字列を取り出す(型違いはエラー)。
take_u32 🔒
JSON オブジェクトから数値を取り出す(型違い・負値・非有限はエラー)。
validate_config
保存しようとしている設定が妥当かどうかを検査する。