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.0.tar.gz (11.5 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.0-py3-none-any.whl (12.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: h20tui-1.0.0.tar.gz
  • Upload date:
  • Size: 11.5 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.0.tar.gz
Algorithm Hash digest
SHA256 897e8bbcad8d49388a2c9f288da4f41495953b8ea26e8f1aa5883f8503e40873
MD5 247fde87486031a8c3245422ecd2a103
BLAKE2b-256 3d95e3aff2b1555a8b1388772110bf6459adf9df4cd4a194dcc9bbe2b3a71e0a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: h20tui-1.0.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2ab77a6c09d1e2d8b165ae0ae420df41d153aa5ca4973a56afd2adbd31631776
MD5 66b395c99440c20a998a0f71d7475890
BLAKE2b-256 9d12d4fea623a3092a1c29605b54d968703de1da31be9148d30c3b8c698bedb4

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