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.6.tar.gz (30.8 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.6-py3-none-any.whl (34.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: textual_tty-0.0.6.tar.gz
  • Upload date:
  • Size: 30.8 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.6.tar.gz
Algorithm Hash digest
SHA256 ab98d908c978a5b15526e6139c80ce2fb73149ae262740525ba27dcf1c8bce87
MD5 4eccc9784b8e52a7be2a0c1577e502c1
BLAKE2b-256 6f72548e16d6ff9a9cd53fe1a9c4570d8b9bd88224410fd43849f5f10321b7cc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: textual_tty-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 34.7 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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 69cf94a7718007ad78ca2c9963247ad71a3a9ddc2030b6ef31ca49a6b2f2dd01
MD5 8d8433809569ba191baedc7877e42a97
BLAKE2b-256 e2e7e3501380025f30eddf9a8dee773c5e73f4a95c2089cb7d99ba202257d0b7

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