Raxol.Terminal.ANSI.WindowManipulation (Raxol v0.3.0)

View Source

Handles window manipulation sequences for the terminal emulator. Supports various window operations including:

  • Window size queries and reports
  • Window position queries and reports
  • Window title manipulation
  • Window icon manipulation
  • Window stacking order

Summary

Functions

Creates a new window state with default values.

Processes a window manipulation sequence and returns the updated state and response. Handles CSI ([...t) and OSC (]... or ]...) sequences.

Types

window_state()

@type window_state() :: %{
  title: String.t(),
  icon_name: String.t(),
  size: {integer(), integer()},
  position: {integer(), integer()},
  stacking_order: :normal | :above | :below
}

Functions

handle_operation(state, op, title)

@spec handle_operation(window_state(), atom(), list() | String.t()) ::
  {window_state(), binary()}

new()

@spec new() :: window_state()

Creates a new window state with default values.

process_sequence(state, arg2)

@spec process_sequence(window_state(), binary()) :: {window_state(), binary()}

Processes a window manipulation sequence and returns the updated state and response. Handles CSI ([...t) and OSC (]... or ]...) sequences.