Raxol.Terminal.Window.WindowServer (Raxol v2.0.1)
View SourceA unified window manager for terminal applications.
This module provides a GenServer-based window management system that handles window creation, splitting, resizing, and other window operations.
Summary
Functions
Returns a specification to start this module under a supervisor.
Callback implementation for Raxol.Core.Behaviours.BaseManager.handle_manager_cast/2.
Callback implementation for Raxol.Core.Behaviours.BaseManager.handle_manager_info/2.
Types
@type state() :: %{ windows: %{required(window_id()) => window_state()}, active_window: window_id() | nil, next_id: non_neg_integer(), config: %{ default_size: {non_neg_integer(), non_neg_integer()}, max_size: {non_neg_integer(), non_neg_integer()}, default_buffer_id: String.t() | nil, default_renderer_id: String.t() | nil } }
@type t() :: window_state()
@type window_id() :: non_neg_integer()
@type window_state() :: %{ id: window_id(), title: String.t() | nil, icon_name: String.t() | nil, size: {non_neg_integer(), non_neg_integer()}, position: {non_neg_integer(), non_neg_integer()}, maximized: boolean(), iconified: boolean(), previous_size: {non_neg_integer(), non_neg_integer()} | nil, stacking_order: :normal | :above | :below, parent_id: window_id() | nil, children: [window_id()], split_type: :horizontal | :vertical | :none, buffer_id: String.t() | nil, renderer_id: String.t() | nil }
Functions
Returns a specification to start this module under a supervisor.
See Supervisor.
Callback implementation for Raxol.Core.Behaviours.BaseManager.handle_manager_cast/2.
Callback implementation for Raxol.Core.Behaviours.BaseManager.handle_manager_info/2.