morph 0.1.0
Asynchronous bridge between GUI thread and business models
Loading...
Searching...
No Matches
morph::tui::FrontendConfig Struct Reference

What a tui::Frontend runs on. More...

#include <frontend.hpp>

Public Attributes

ShellFactory mountShell
 Mounts the shell when the source is ready; it must not be empty.
::core::tui::Terminal * terminal = nullptr
 The terminal to draw on; null means the process's terminal. Either way the frontend sets its mouse mode and initialises it; only the process's own terminal is put on the alternate screen and restored.
::core::tui::runtime::InputSource * input = nullptr
 Where input comes from; null means the terminal's own input. A test passes a scripted source.
::core::tui::MouseTracking mouse = ::core::tui::MouseTracking::Drag
 How much mouse input to ask the terminal for: Drag reports presses, releases and motion while a button is held, which drag-and-drop needs; while it is on, a plain click-drag no longer selects terminal text (Shift+drag still does in most terminals).

Detailed Description

What a tui::Frontend runs on.

Definition at line 34 of file frontend.hpp.

Member Data Documentation

◆ mountShell

ShellFactory morph::tui::FrontendConfig::mountShell

Mounts the shell when the source is ready; it must not be empty.

Definition at line 36 of file frontend.hpp.

◆ terminal

::core::tui::Terminal* morph::tui::FrontendConfig::terminal = nullptr

The terminal to draw on; null means the process's terminal. Either way the frontend sets its mouse mode and initialises it; only the process's own terminal is put on the alternate screen and restored.

Definition at line 39 of file frontend.hpp.

◆ input

::core::tui::runtime::InputSource* morph::tui::FrontendConfig::input = nullptr

Where input comes from; null means the terminal's own input. A test passes a scripted source.

Definition at line 41 of file frontend.hpp.

◆ mouse

::core::tui::MouseTracking morph::tui::FrontendConfig::mouse = ::core::tui::MouseTracking::Drag

How much mouse input to ask the terminal for: Drag reports presses, releases and motion while a button is held, which drag-and-drop needs; while it is on, a plain click-drag no longer selects terminal text (Shift+drag still does in most terminals).

Definition at line 45 of file frontend.hpp.


The documentation for this struct was generated from the following file: