Repository navigation
Modern Tui TuiTerminal
Paul Squires edited this page Oct 19, 2026
·
6 revisions
Home › Terminal TUI Library › Terminal › TuiTerminal
Holds the terminal itself, for writing your own loop: modes, size and output.
type TuiTerminal
declare function Enter( byval opts as TuiTermOptions ) as TuiUnitResult
declare function Leave( ) as TuiUnitResult
...
end typeThe terminal itself: raw mode, the alternate screen, capability detection and buffered output. TuiRun owns one for you, so you need this directly only when writing your own loop. Enter and Leave are symmetric and Leave is idempotent.
#import "std/tui"
using tui
dim as TuiTerminal term
dim as TuiUnitResult er = term.Enter( TuiTermOptionsDefault( ) )
if( er.IsOk( ) = false ) then
print "cannot start: " & er.Failure( ).Message( )
end 1
end if
'' THE DEFER GOES AT PROCEDURE SCOPE. Inside the IF above it would fire at
'' END IF and restore the terminal before you drew anything -- tiko-lang's
'' defer is scoped to the enclosing BLOCK, not the function.
defer term.Leave( )
term.Write( TuiClearScreenSeq( ) )
term.Flush( )Library: Terminal TUI Library
Category: Terminal TUI Library
Documented under: Terminal
Working examples: hello.tiko · form.tiko · dashboard.tiko
tiko-lang · Home · Feature Index · Keyword Index · License
FreeBASIC manual pages reproduced under the GNU FDL 1.3.
- Home
- What Is tiko-lang
- Quick Start
- Installing on macOS
- Debugging
- Feature Index
- Compatibility
- FAQ
- AI Cheatsheet
- Generics
- Interfaces
- For Each
- Iterators
- Tuples
- Array Results
- Defer
- Lambdas
- Block Strings
- Partial Types
- String Slices
- Embed
- Typed Variadics
- C Header Import
- Foreign Library Linking
- UString
- Fixed-Width Types
- Nullptr
- String Library
- Format
- Array
- Map
- Set
- LinkedList
- OrderedMap
- OrderedSet
- Sorting
- Optional
- Result
- Smart Pointers
- Date and Time (Chrono)
- Time Zones
- Filesystem
- File Streams
- Config (INI and TOML)
- Codec
- Hash
- UUID
- OS
- Process
- Net
- HTTP and TLS
- Math Library
- Finance
- Logging
- Terminal TUI Library
- PsControls
- tkControls
- sys/win
- Goroutines and Channels
- LLVM Backend
- tiko build
- TIKO_COMPILER
- Variable Declarations
- Standard Data Types
- User Defined Types
- Procedures
- Operators
- Control Flow Statements
- Converting Data Types
- Array Functions
- String Functions
- Mathematical Functions
- Bit Manipulation
- Date and Time Functions
- File I/O Functions
- Console Functions
- User Input (Runtime Library)
- User Input Functions (Graphics Library)
- Screen Functions
- 2D Drawing Functions
- Graphics Library Reference
- Graphics Keyword List
- Memory Functions
- Threading Support Functions
- Error Handling Functions
- Operating System Functions
- Preprocessor
- Intrinsic Defines
- Miscellaneous Keywords
- Modularizing