ttx 0.1.0
Loading...
Searching...
No Matches
ttx::Pane Class Reference

#include <ttx/pane.h>

Public Member Functions

 Pane (u64 id, di::Optional< di::Path > cwd, dius::SyncFile pty_controller, Size const &size, dius::system::ProcessHandle process, PaneHooks hooks)
 ~Pane ()
auto id () const
auto draw (Renderer &renderer) -> RenderedCursor
auto event (KeyEvent const &event) -> bool
auto event (MouseEvent const &event) -> bool
auto event (FocusEvent const &event) -> bool
auto event (PasteEvent const &event) -> bool
auto accepts_scrolling () -> bool
 Query if it is valid to try to scroll the pane.
void invalidate_all ()
void resize (Size const &size)
void scroll (Direction direction, i32 amount_in_cells)
void scroll_page_up ()
void scroll_page_down ()
void scroll_to_top ()
void scroll_to_bottom ()
void scroll_prev_command ()
void scroll_next_command ()
void copy_last_command (bool include_command)
auto save_state (di::PathView path) -> di::Result<>
void send_clipboard (terminal::SelectionType selection_type, di::Vector< byte > data)
void stop_capture ()
void soft_reset ()
void exit ()
auto seamless_navigate (terminal::OSC8671 &&osc_8671) -> bool
auto current_working_directory () const -> di::Optional< di::PathView >
 Get the pane's current working directory.

Static Public Member Functions

static auto create_from_replay (u64 id, di::Optional< di::Path > cwd, di::PathView replay_path, di::Optional< di::Path > save_state_path, Size const &size, PaneHooks hooks) -> di::Result< di::Box< Pane > >
static auto create (u64 id, CreatePaneArgs args, Size const &size) -> di::Result< di::Box< Pane > >
static auto create_mock (u64 id=0, di::Optional< di::Path > cwd={}) -> di::Box< Pane >

Constructor & Destructor Documentation

◆ Pane()

ttx::Pane::Pane ( u64 id,
di::Optional< di::Path > cwd,
dius::SyncFile pty_controller,
Size const & size,
dius::system::ProcessHandle process,
PaneHooks hooks )
inlineexplicit

◆ ~Pane()

ttx::Pane::~Pane ( )

Member Function Documentation

◆ accepts_scrolling()

auto ttx::Pane::accepts_scrolling ( ) ->bool

Query if it is valid to try to scroll the pane.

When this is false scrolling won't do anything. When the terminal is in the alternate scrollback buffer there is no scrollback, which is the main reason this would return false.

◆ copy_last_command()

void ttx::Pane::copy_last_command ( bool include_command)

◆ create()

auto ttx::Pane::create ( u64 id,
CreatePaneArgs args,
Size const & size )->di::Result< di::Box< Pane > >
static

◆ create_from_replay()

auto ttx::Pane::create_from_replay ( u64 id,
di::Optional< di::Path > cwd,
di::PathView replay_path,
di::Optional< di::Path > save_state_path,
Size const & size,
PaneHooks hooks )->di::Result< di::Box< Pane > >
static

◆ create_mock()

auto ttx::Pane::create_mock ( u64 id = 0,
di::Optional< di::Path > cwd = {} )->di::Box< Pane >
static

◆ current_working_directory()

auto ttx::Pane::current_working_directory ( ) const->di::Optional< di::PathView >
inline

Get the pane's current working directory.

In the future, this method could fall back to (or prefer) scanning the procfs to determine this information. For now, this value is determined via OSC 7 reports, which require shell integration to work.

◆ draw()

auto ttx::Pane::draw ( Renderer & renderer) ->RenderedCursor

◆ event() [1/4]

auto ttx::Pane::event ( FocusEvent const & event) ->bool

◆ event() [2/4]

auto ttx::Pane::event ( KeyEvent const & event) ->bool

◆ event() [3/4]

auto ttx::Pane::event ( MouseEvent const & event) ->bool

◆ event() [4/4]

auto ttx::Pane::event ( PasteEvent const & event) ->bool

◆ exit()

void ttx::Pane::exit ( )

◆ id()

auto ttx::Pane::id ( ) const
inline

◆ invalidate_all()

void ttx::Pane::invalidate_all ( )

◆ resize()

void ttx::Pane::resize ( Size const & size)

◆ save_state()

auto ttx::Pane::save_state ( di::PathView path) ->di::Result<>

◆ scroll()

void ttx::Pane::scroll ( Direction direction,
i32 amount_in_cells )

◆ scroll_next_command()

void ttx::Pane::scroll_next_command ( )

◆ scroll_page_down()

void ttx::Pane::scroll_page_down ( )

◆ scroll_page_up()

void ttx::Pane::scroll_page_up ( )

◆ scroll_prev_command()

void ttx::Pane::scroll_prev_command ( )

◆ scroll_to_bottom()

void ttx::Pane::scroll_to_bottom ( )

◆ scroll_to_top()

void ttx::Pane::scroll_to_top ( )

◆ seamless_navigate()

auto ttx::Pane::seamless_navigate ( terminal::OSC8671 && osc_8671) ->bool

◆ send_clipboard()

void ttx::Pane::send_clipboard ( terminal::SelectionType selection_type,
di::Vector< byte > data )

◆ soft_reset()

void ttx::Pane::soft_reset ( )

◆ stop_capture()

void ttx::Pane::stop_capture ( )

The documentation for this class was generated from the following files: