Skip to main content

A tiling window manager TUI for ROS 2 Humble

Project description

ROS 2 Window Manager TUI (h20tui)

A high-performance, asynchronous Text User Interface (TUI) designed for ROS 2 Humble. This tool transforms your terminal into a tiling window manager specifically tuned for robotics development. Navigate your workspace, monitor topics, and manage multiple nodes side-by-side using pure keyboard motions.


🚀 Key Features

  • Ament-Aware Fuzzy Discovery: Instantly find executables and launch files by scanning the ament_index. No more "trash" suggestions from standard bash completion.
  • Tiling Workspace: Split your view into multiple independent panes to monitor topic echo, node info, and launch logs simultaneously.
  • Vim-Powered Navigation: Full hjkl support for tree navigation, log scrolling, and Ctrl + h/l for lightning-fast pane switching.
  • Robust Process Management: Uses Unix process groups (os.killpg) to ensure that killing a ros2 launch command actually cleans up all child nodes.
  • Search-to-Select Workflow: Seamless focus transition from the fuzzy-search bar to the command tree using only the Enter key.

📦 Installation

Prerequisites

  • Ubuntu 22.04
  • ROS 2 Humble (Sourced)
  • Python 3.10+

1. From Source

To install in "editable" mode so that changes to the code take effect immediately:

git clone git@github.com:ozaydincan/h20tui.git 
cd h20tui
pip install -e .
ros2tui

2. From Pip (Recommended)

You can install h20tui directly from PyPI:

pip install h20tui
source /opt/ros/humble/setup.bash
# (Optional) Source your workspace
source ~/your_ws/install/setup.bash

Running the TUI

If ROS2 is sourced in your workspace

ros2tui

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

h20tui-1.0.1.tar.gz (11.6 kB view details)

Uploaded Source

Built Distribution

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

h20tui-1.0.1-py3-none-any.whl (12.8 kB view details)

Uploaded Python 3

File details

Details for the file h20tui-1.0.1.tar.gz.

File metadata

  • Download URL: h20tui-1.0.1.tar.gz
  • Upload date:
  • Size: 11.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for h20tui-1.0.1.tar.gz
Algorithm Hash digest
SHA256 9de721deeec7ac362d733e41eef470935636761b0c0b275c104cce4900aa1a47
MD5 89d25f0eea25d94fe76874ba42c4a7be
BLAKE2b-256 0bb211e91f5855759d789c380a6b3350f059ae78344d5ebf0c6b5e6a3d1ad685

See more details on using hashes here.

File details

Details for the file h20tui-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: h20tui-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 12.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for h20tui-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 057c99453358c442fa7427a7fc5804ac42c4a24db2f23fe4887512557b803361
MD5 d6a7228f2b60ef8ba3d29c1a1d732bef
BLAKE2b-256 7d272228c9b34f06f845da5786715e63d63747cccb72229721cabe5283a21eae

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