Skip to main content

Terminal Emulators integration

Shell integration for Xonsh.

The following terminal emulators are supported

Note: If identifying current terminal fails, iTerm2 hooks are loaded.

PRs welcome on improving the support to more terminal programs :)

Installation

To install use pip:

xpip install xontrib-term-integrations
# or: xpip install -U git+https://github.com/jnoortheen/xontrib-term-integrations

Usage

# this modifies the $PROMPT function. So load it after setting $PROMPT if you have a custom value
xontrib load term_integration

(WezTerm) Set user vars1 via the helper set_user_var function:

# via a xonsh alias
set_wezterm_user_var 'my_term_user_var' 'value_of_my_term_user_var'

# or an explicit Python import
from xontrib_term_integrations.utils import set_user_var
set_user_var('my_term_user_var','value_of_my_term_user_var')

You can disable registering the alias with a $XONTRIB_TERM_INTEGRATIONS_SKIP_ALIAS = True

Contributing

Please make sure that you

  • Document the purpose of functions and classes.
  • When adding a new feature, please mention it in the README.md. Use screenshots when applicable.
  • Conventional Commit style should be used for commit messages as it is used to generate changelog.
  • Please use pre-commit to run qa checks. Configure it with
pre-commit install-hooks
  • For new releases, create a GitHub release with new tag (e.g. v0.x.x) and it will automatically push the package to PyPI.

Known issues

WezTerm
  • (WezTerm) Multiline prompt is partially supported:
    • every continuation line is semantically marked by default:
      if True:
      #↓ continuation prompt
      .....     echo 1
      #     ↑ input
      
      so you can select echo 1 as a SemanticZone with a mouse multiclick, but you can't select both lines as one zone (and would need to map some combo of commands to hack around it)
    • if you set $MULTILINE_PROMPT_PRE='', $MULTILINE_PROMPT_POS='', then continuation lines won't be marked, you'd be able to select all the lines as one SemanticZone (unles the right prompt interferes), but that will also include .. continuation markers (so you'd either need to disable them in Xonsh or add some extra WezTerm lua parsing hack to trim them)
      (follow this WezTerm discussion for updates)
  • (WezTerm) Semantic right prompt not separated from the next-line left prompt (issue)
  • WezTerm is not recognized in root shells due to this issue
Ghostty
  • Implemented features:
    • Do not confirm close for terminals where the cursor is at a prompt.
    • New terminals start in the working directory of the previously focused terminal.
    • Complex prompts resize correctly by allowing the shell to redraw -- rather than reflow -- the prompt line.
    • Triple-click while holding control (Linux) or command (macOS) to select the output of a command.
    • The cursor at the prompt is turned into a bar to represent more typical text editing.
    • The jump_to_prompt keybinding can be used to scroll the terminal window forward and back through prompts.

      ⚠️ Because of the implementation, jumping includes secondary newlines in multiline prompts.

    • Alt+click (option+click on macOS) moves the cursor to the click location while at a prompt.
    • sudo can be automatically wrapped to preserve Ghostty terminfo (disabled by default)
    • ssh can be automatically wrapped to either transmit the Ghostty terminfo or set the TERM environment variable to xterm-256color to maximize compatibility (disabled by default)
  1. Variables associated with a given pane rather than a process. WezTerm, iTerm2 ↩

Metadata

Release files for xontrib-term-integrations 0.2.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for xontrib-term-integrations 0.2.3
File Size Uploaded
xontrib_term_integrations-0.2.3.tar.gz 12.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for xontrib-term-integrations 0.2.3
File Interpreter ABI Platform
xontrib_term_integrations-0.2.3-py3-none-any.whl Python 3 none any Details

Total release size: 27.2 kB

Release files / xontrib_term_integrations-0.2.3.tar.gz

Download URL xontrib_term_integrations-0.2.3.tar.gz
Size 12.7 kB
Tags Source
SHA-256 checksum
How to use checksums
945fd56b33039ea010b9d9883b39bb15e4c8bef12719b087c122877877118000
BLAKE2b-256 checksum
How to use checksums
4ae4138ef7c56fcf01b03a667c69c3f5a5a995ab7ea02535d486796432409386
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 25, 2026.

Transparency log

Release files / xontrib_term_integrations-0.2.3-py3-none-any.whl

Download URL xontrib_term_integrations-0.2.3-py3-none-any.whl
Size 14.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
05ea694d38990a4305c92c7ef28873f50d62069a4a7331f40ef123f4618b627b
BLAKE2b-256 checksum
How to use checksums
a7ea3f8f28482547e4cca118116848c7fa31bf4e58c90000e8f9eba3e370e480
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 25, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.3 This release

2 release files

0.2.2

1 release file

0.2.0

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page