Skip to main content

A TUI designer for python

Project description

RAD-TUI-IDE 🖥️

Rapid Application Development - Terminal User Interface IDE

A Visual Basic 1.0 for MS-DOS inspired visual IDE that runs on Linux. Design forms, place controls, write code, and run your applications - all in the terminal!

License Platform Language

screenshot

Example projects:

tsukinoeditor

minesweeper

tictactoe

calc

🎯 Concept

RAD-TUI-IDE recreates the magic of early 90s visual programming environments like VB1 for MS-DOS, but for modern Linux terminals. It provides:

  • Visual Form Designer - Drag and drop controls onto forms
  • Property Editor - Edit control properties in real-time
  • Code Editor - Write Python code with syntax highlighting in Tsukino editor
  • Runtime Mode - Test your applications instantly
  • Project Management - Save and load projects as JSON files

🚀 Features

Visual Design Environment

  • 🖱️ Mouse-driven interface - Point, click, drag, and resize
  • 🪟 Draggable windows - Move forms and toolboxes freely
  • 🎨 11 control types including buttons, labels, text boxes, and more
  • 📐 Visual resizing - Grab handles to resize controls
  • ✏️ Property editing - Edit names, captions, positions, and dimensions

Code Development

  • 🐍 Python code-behind - Write event handlers in Python
  • 🌈 Syntax highlighting - Keywords, strings, numbers, and comments
  • ▶️ Runtime execution - Run your forms with live code execution
  • 🐛 Runtime error display - See errors in a message box

Project Management

  • 💾 Save/Load projects - JSON-based project files
  • 📁 File menu - Standard save/load/exit operations
  • 🔄 Design/Runtime toggle - Switch between design-time and run-time modes

🎮 How to Run

Python Version (Recommended)

chmod +x rad-tui-py.py
./rad-tui-py.py

🕹️ User Guide

Getting Started

  1. Run the application - you'll see:
    • A Toolbox on the left with available controls
    • A Form window in the center (your design surface)
    • A Properties window on the right

Designing a Form

Action How To
Add a control Click a tool in the toolbox, then click on the form
Move a control Select "Move/Size" tool, then drag the control
Resize a control Select control, then drag the ■ handle
Edit properties Click a property value in the Properties window
Write code Double-click a button to open the code editor

Available Controls

Tool Description
Check Box Boolean checkbox control
Combo Box Dropdown selection control
Command Btn Clickable button (most common)
Frame Grouping container
HScrollBar Horizontal scrollbar
Label Static text display
List Box Scrollable list
Option Btn Radio button
Text Box Text input field
Timer Background timer
VScrollBar Vertical scrollbar

Writing Code

Double-click a Command Button to open the code editor. The code editor supports:

def on_click_btnOK():
    msgbox("Hello, World!")
    txtName.caption = "Updated text"

Special functions:

  • msgbox(text) - Display a message box
  • Access other controls by their name_id: txtName.caption, btnOK.caption

🛠️ Technical Details

Python Implementation

  • Uses curses library for terminal UI
  • Supports mouse events (requires terminal with mouse support)
  • Python syntax highlighting

📝 Requirements

Python Version

  • Python 3.6+
  • Linux terminal with:
    • Mouse support (xterm, gnome-terminal, konsole, etc.)
    • UTF-8 character support
    • 80x25 minimum terminal size

📜 License

This project is licensed under the GNU General Public License v3.0 (GPL v3).

See LICENSE for full details.

🙏 Acknowledgments

Inspired by:

  • Microsoft Visual Basic 1.0 for MS-DOS (1992)
  • The simplicity of early visual programming environments
  • The enduring appeal of terminal-based applications

Happy retro-coding! 🎉

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

rad_tui_ide-0.1.12.tar.gz (246.1 kB view details)

Uploaded Source

Built Distribution

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

rad_tui_ide-0.1.12-py3-none-any.whl (211.9 kB view details)

Uploaded Python 3

File details

Details for the file rad_tui_ide-0.1.12.tar.gz.

File metadata

  • Download URL: rad_tui_ide-0.1.12.tar.gz
  • Upload date:
  • Size: 246.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for rad_tui_ide-0.1.12.tar.gz
Algorithm Hash digest
SHA256 9a44458ec7fa55dfe5fbfd36e33666db1e6d64e141e4bdc0bef228aa03e88bd3
MD5 a380c7f6f1caed6073d52e23458d56c7
BLAKE2b-256 c7c1a7a8dd61b1e853baac85fa0801eaf77f83673a449e22e7310d58f00c48a1

See more details on using hashes here.

File details

Details for the file rad_tui_ide-0.1.12-py3-none-any.whl.

File metadata

  • Download URL: rad_tui_ide-0.1.12-py3-none-any.whl
  • Upload date:
  • Size: 211.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for rad_tui_ide-0.1.12-py3-none-any.whl
Algorithm Hash digest
SHA256 c5b34568b49e1c79a5e77d712b485771fc7b0e2e276e87783cda343d3004e78f
MD5 aa01df6b08d8673f6bebf39667588315
BLAKE2b-256 e2df89d28c770bab9170970d2a2857c9ea222066d9a43e9bf18d11fea4f948d6

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