Guppy.App.Config (guppy v0.1.0)

Copy Markdown View Source

Validated configuration for a Guppy.App coordinator.

Configuration is plain Elixir data. use Guppy.App may provide defaults and an app module may implement Guppy.App.init/1 to return the final config; Guppy validates the final shape instead of owning complex merge semantics.

Summary

Types

t()

@type t() :: %Guppy.App.Config{
  app_badge: String.t() | nil,
  commands: %{optional(String.t()) => Guppy.App.Command.t()},
  dock_menu: [map()],
  exit_on_last_window_closed: boolean(),
  id: String.t(),
  keymap: [map()],
  menus: [map()],
  metadata: map(),
  package: map(),
  stylesheet: Guppy.App.Stylesheet.t(),
  theme: Guppy.App.Theme.t() | nil,
  theme_families: %{optional(String.t()) => Guppy.App.ThemeFamily.t()},
  windows: [Guppy.App.WindowSpec.t()]
}