Skip to main content

A tty for Textual UIs

Project description

textual-tty

A terminal emulator for Textual apps, using bittty, my pure Python terminal emulator.

Terminals in your terminal: draggable, resizable windows running real ptys.

Demo

uvx textual-tty

Usage

from textual_tty import Terminal, TerminalWindow, Window

# A terminal as a plain widget: composes a bittty Board, never subclasses it.
yield Terminal(command="htop")

# Or in a draggable, resizable window that closes when the process exits.
yield TerminalWindow(command=["vim", "README.md"])

Terminal speaks the whole seam: bracketed paste, OSC palette/title/cwd/ clipboard/notifications, DECSCUSR cursor shapes, synchronized output, mouse reporting with drag-selection when the child isn't tracking, OSC 8 links (ctrl+click opens), and XTWINOPS — a child can move, raise, and resize its own window. Discrete events arrive as Textual messages; anything deeper is on terminal.board (the bittty emulator). Window is a bare-bones draggable/resizable window you can use for other things too.

Read the demo code (textual_tty/demo.py) for a working app.

Links

License

WTFPL with one additional clause

  1. Don't blame me

Do wtf you want, but don't blame me when it rips a hole in your trousers.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

textual_tty-0.3.1.tar.gz (13.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

textual_tty-0.3.1-py3-none-any.whl (16.3 kB view details)

Uploaded Python 3

File details

Details for the file textual_tty-0.3.1.tar.gz.

File metadata

  • Download URL: textual_tty-0.3.1.tar.gz
  • Upload date:
  • Size: 13.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for textual_tty-0.3.1.tar.gz
Algorithm Hash digest
SHA256 e7675c9ecd0589864f666223f38120f20002875ee36abaa5fe1eaf24b99ca6a2
MD5 722149649e46302e25ea31d55c7d0cd1
BLAKE2b-256 ff65d04f601c2187d64eb70d2a0f51d6d81fa03d9b69032272b975a941d023e5

See more details on using hashes here.

File details

Details for the file textual_tty-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: textual_tty-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 16.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for textual_tty-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 38205bf1d08173dc6b47ac70c50bfca39ead7fcfe7f8a3e28cbf596c975567a7
MD5 8ca3a671a3c317e15bcf0571432edc89
BLAKE2b-256 4d9fb7d28e17b1f8fbde797cbe1eb3d382931d28850be270e86ddd3e542626db

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page