XPreferences
AppleScript アプリケーションの設定ファイルの保存と読み込みを支援するライブラリです。
AppleScript の場合、実行が終了しても property の値が保存されるので、それを設定の保存として利用することができます。しかし、スクリプトの不具合の修正や機能の追加の際に再コンパイルすると property の値は初期化されてしまいます。
ですから、AppleScript であっても、設定を外部ファイルに保存することは有用です。
XPreferences はユーザーが定義した設定を管理するスクリプトオブジェクトを「~/Library/Preferences」フォルダへ保存/読み込みを簡単にします。
スクリプトの機能追加にともないおよび設定管理用スクリプトオブジェクトの仕様に変化があった場合、古い設定管理用スクリプトオブジェクトから移行も支援します。
(* A sample script of XPreferences. *)
use scripting additions
use XPreferences : script "XPreferences"
on setup()
script XPreferencesSampleSettings
property parent : AppleScript -- reduce size of the preferences file.
property version : "1.0" -- optional
property _msg : "hello"
on message()
return my _msg
end message
on set_message(v)
set my _msg to v
return me
end set_message
on update(old_settings) -- optional
set my _msg to old_settings's _msg
end update
end script
tell XPreferences
set_default_prefs(XPreferencesSampleSettings)
end tell
end setup
on run
setup()
set prefs to XPreferences's load()
display alert (prefs's message())
prefs's set_message("Hi")
XPreferences's save_current_prefs()
end run
更新履歴
- 1.0.2 -- 2020-02-05
- OpenHelpBook.scptd is used to display a help book instead of HelpBook.osax.
- Fixed : prefs handler did not work.
- Many fixes.
- 1.0.1 -- 2018-07-20
- Fixed example script.
- If ModuleLoader is not utilized, default preferences script must be set at the launch time.
- Definition of the default preferences script contirubutes small size of the preferences file.
- Fixed example script.
- 1.0 -- 2018-07-13
- First release.