Manages user preferences for the terminal emulator.
Acts as a GenServer holding the preferences state and handles persistence.
Uses Raxol.Core.Utils.Debounce for debounced save operations, avoiding
redundant disk writes when multiple preference changes occur in quick succession.
Summary
Functions
Returns a specification to start this module under a supervisor.
Returns the default preferences map: theme, terminal, accessibility and keybindings sections.
Returns the current theme id as an atom, defaulting to :default if not set or invalid.
Callback implementation for Raxol.Core.Behaviours.BaseManager.handle_manager_cast/2.
Functions
Returns a specification to start this module under a supervisor.
See Supervisor.
Returns the default preferences map: theme, terminal, accessibility and keybindings sections.
raxol_core does not depend on raxol_terminal, so the :terminal section is
read from application config, first match wins:
config :raxol_core, :default_terminal_preferences, value, for a consumer that wants its own defaults;:default_terminal_preferencesin the:raxol_terminalapplication env, which raxol_terminal ships in its.appfile as{Raxol.Terminal.Config.Defaults, :generate_default_config, []};- otherwise
%{}(raxol_core on its own).
value is a map or an {module, function, args} whose call returns a map.
Anything else, including an MFA whose function is not exported, logs a
warning and yields %{}.
Returns the current theme id as an atom, defaulting to :default if not set or invalid.
Callback implementation for Raxol.Core.Behaviours.BaseManager.handle_manager_cast/2.