Class: RatatuiRuby::Terminal
- Inherits:
-
Object
- Object
- RatatuiRuby::Terminal
- Extended by:
- Capabilities
- Defined in:
- lib/ratatui_ruby/terminal.rb,
lib/ratatui_ruby/terminal/viewport.rb,
lib/ratatui_ruby/terminal/capabilities.rb
Overview
Terminal configuration and viewport settings.
Your app needs to choose how it occupies the terminal. Fullscreen apps take over the whole screen and clear on exit. Inline apps run in a fixed region and persist in scrollback. Configuring this manually is error-prone.
This module handles the choice. It defines viewport modes and their parameters.
Defined Under Namespace
Modules: Capabilities Classes: Viewport
Instance Attribute Summary collapse
-
#terminal_id ⇒ Object
readonly
:attr_reader: terminal_id Unique identifier for this terminal instance in Rust (Integer).
Instance Method Summary collapse
-
#initialize(viewport: :fullscreen, height: nil) ⇒ Terminal
constructor
Creates a new Terminal instance.
-
#size ⇒ Object
Returns the terminal size as a Layout::Rect Rust constructs the Rect object directly (not a hash!).
Methods included from Capabilities
available_color_count, color_support, dumb?, force_color?, force_color_output, interactive?, no_color?, supports_keyboard_enhancement?, tty?
Constructor Details
#initialize(viewport: :fullscreen, height: nil) ⇒ Terminal
Creates a new Terminal instance.
[viewport] Symbol or Viewport object (:fullscreen or :inline) [height] Integer height for inline viewports
38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/ratatui_ruby/terminal.rb', line 38 def initialize(viewport: :fullscreen, height: nil) @viewport = (, height) # Call Rust FFI to create instance and get ID # For now, only test backend is supported (real crossterm coming later) @terminal_id = self.class._init_test_terminal_instance( 80, # default width for test 24, # default height for test @viewport.type.to_s, @viewport.height ) end |
Instance Attribute Details
#terminal_id ⇒ Object (readonly)
:attr_reader: terminal_id Unique identifier for this terminal instance in Rust (Integer).
32 33 34 |
# File 'lib/ratatui_ruby/terminal.rb', line 32 def terminal_id @terminal_id end |
Instance Method Details
#size ⇒ Object
Returns the terminal size as a Layout::Rect Rust constructs the Rect object directly (not a hash!)
53 54 55 |
# File 'lib/ratatui_ruby/terminal.rb', line 53 def size self.class._get_terminal_size_instance(@terminal_id) end |