Skip to main content

A tty for Textual UIs

Project description

textual-tty

A terminal emulator for Textual apps.

Made by summarizing tmux's code, implementing a similar structure then almost vibe coding it into existence with Claude and Gemini.

Currently lacks a cursor, mouse, any decent debugging tools, and is too chatty, but it's still somewhat usable.

Demo

uvx textual-tty

Usage

There's 3 main classes:

  1. textual_tty.Terminal, a standalone terminal that doesn't need Textual.
  2. textual_tty.TextualTerminal, a tty widget subclass.
  3. textual_tty.TerminalApp, a terminal emulator in a window.

See the demo for more info.

Links

License

WTFPL with one additional clause

  1. Don't blame me

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

todo

  • fix resizing - apps like htop don't resize
  • implement cursor (with width)
  • arrow keys for input in tui apps, not sure what's happening
  • performance improvements
    • profile it!
    • reduce draw calls
  • bugs
    • scroll region
    • blank background to end of line
    • ESC[nnnnb repeat sequence (nethogs)
  • more coverage
  • reduce redundancy redundancy of repeated repeated code code

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.0.7.tar.gz (31.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.0.7-py3-none-any.whl (35.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: textual_tty-0.0.7.tar.gz
  • Upload date:
  • Size: 31.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for textual_tty-0.0.7.tar.gz
Algorithm Hash digest
SHA256 76cbc64b9c49ef43f68830221b831e55aa99a35ffbc6a827f72315c0bbbe34ae
MD5 6eda4795f64c2e244b6427dff12c479c
BLAKE2b-256 6bb87596f2c1f0828a3e6d46d3d5637a0384f09284b2a6caf3adbbb9f5e6abf1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: textual_tty-0.0.7-py3-none-any.whl
  • Upload date:
  • Size: 35.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for textual_tty-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 23ada47b3fc7f1c49000952ae9c95c1842dc40dd26d279685d0ad25ed87bccff
MD5 11b9a6b9bf725f391545a44df16a684d
BLAKE2b-256 705ba170377702258f7d2fdabe0170d45d0280ab66390b51bf2f9380d307d5fb

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