Raxol.Terminal.Theme.UnifiedTheme (Raxol v0.5.0)

View Source

Unified theme system for the Raxol terminal emulator. Handles theme management, preview, switching, and customization.

Summary

Functions

Applies a theme to the terminal.

Returns a specification to start this module under a supervisor.

Exports a theme to a file.

Gets the state of a theme.

Gets all loaded themes.

Imports a theme from a file.

Loads a theme from a file or directory.

Previews a theme without applying it.

Unloads a theme by ID.

Updates a theme's configuration.

Types

theme_id()

@type theme_id() :: String.t()

theme_state()

@type theme_state() :: %{
  id: theme_id(),
  name: String.t(),
  version: String.t(),
  description: String.t(),
  author: String.t(),
  colors: map(),
  font: map(),
  cursor: map(),
  padding: map(),
  status: :active | :inactive | :error,
  error: String.t() | nil
}

Functions

apply_theme(theme_id)

Applies a theme to the terminal.

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

export_theme(theme_id, path)

Exports a theme to a file.

get_theme_state(theme_id)

Gets the state of a theme.

get_themes(opts \\ [])

Gets all loaded themes.

import_theme(path)

Imports a theme from a file.

load_theme(path, opts \\ [])

Loads a theme from a file or directory.

preview_theme(theme_id)

Previews a theme without applying it.

start_link(opts \\ [])

unload_theme(theme_id)

Unloads a theme by ID.

update_theme_config(theme_id, config)

Updates a theme's configuration.