Skip to main content

A terminal emulator widget for Textual.

Project description

Textual: Terminal

A terminal widget for Textual using Pyte as a linux terminal emulator.

Textual application example with two terminal widgets:

textual_terminal_example

Usage

from textual_terminal import Terminal

class TerminalApp(App):
    def compose(self) -> ComposeResult:
        yield Terminal(command="htop", id="terminal_htop")
        yield Terminal(command="bash", id="terminal_bash")

    def on_ready(self) -> None:
        terminal_htop: Terminal = self.query_one("#terminal_htop")
        terminal_htop.start()

        terminal_bash: Terminal = self.query_one("#terminal_bash")
        terminal_bash.start()

Installation

pip install textual-terminal

Features

  • Colored output
  • Automatic resize to widget dimensions
  • Simple key handling (navigation, function keys)
  • Simple mouse tracking (click, scroll)

Options

default_colors

By default, textual-terminal uses the colors defined by the system (not the Textual colors). To use the Textual background and foreground colors for "default" ANSI colors, set the option default_colors to textual:

Terminal(command="htop", default_colors="textual")

Note: This only applies to ANSI colors without an explicit setting, e.g. if the background is set to "red" by an application, it will stay red and the option will not have any effect.

References

This library is based on the Textual pyte example by David Brochart.

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_terminal-0.3.0.tar.gz (9.5 kB view details)

Uploaded Source

Built Distribution

textual_terminal-0.3.0-py3-none-any.whl (12.5 kB view details)

Uploaded Python 3

File details

Details for the file textual_terminal-0.3.0.tar.gz.

File metadata

  • Download URL: textual_terminal-0.3.0.tar.gz
  • Upload date:
  • Size: 9.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.1 CPython/3.10.6 Linux/5.15.0-58-generic

File hashes

Hashes for textual_terminal-0.3.0.tar.gz
Algorithm Hash digest
SHA256 594e7323b74d1e395cf3ce39216cef78cb7c64d01ea71a60ea7b0f9b198e4c87
MD5 4acfd58da254b462f66ac43231f2de02
BLAKE2b-256 bbfe94e6a50d388c9c8ce0da27f71ca5abecd99a15d4347b3d6dccc1dedfe76f

See more details on using hashes here.

File details

Details for the file textual_terminal-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: textual_terminal-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 12.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.1 CPython/3.10.6 Linux/5.15.0-58-generic

File hashes

Hashes for textual_terminal-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f00b22f5a59ef6d60b61453d7a98354647487c00342d4b0324221db18c4a90f1
MD5 e091bd3c21e45f58308a7e211eeac486
BLAKE2b-256 ab3dc9202997d383a317b14de28e2c7925b56a83edb0a74012ee39b86217850f

See more details on using hashes here.

Supported by

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