Skip to main content

Terminal-based text editor with mouse-driven toolbar actions.

Project description

Qudix

Qudix is a lightweight terminal-based text editor that brings a modern editing experience to your command line. With mouse support, intuitive toolbar buttons, and familiar keyboard shortcuts, it makes text editing in the terminal feel natural and efficient. Derived from the highlighted letters in “[Qu]ick e[di]t ne[x]t.”

Features

Core Editing

  • Undo/Redo – Full undo and redo support to easily revert or reapply changes
  • Cut/Copy/Paste – Standard clipboard operations that work with your system clipboard
  • Delete – Quick deletion of selected text or current line
  • Mouse Selection – Click and drag to select text across lines, just like a GUI editor
  • Keyboard Selection – Automatic line selection when no text is selected for quick operations

User Interface

  • Interactive Toolbar – Clickable buttons for common editing actions at the top of the screen
  • Line Numbers – Built-in line numbers for easy navigation
  • Scrollbar – Visual scrollbar for large files
  • Status Bar – Shows current file path, save status, and action feedback
  • File Creation Dialog – Convenient popup window to create new files when launched without a path

System Integration

  • Cross-Platform Clipboard – Seamless integration with macOS, Windows, and Linux system clipboards
  • File Operations – Save with Ctrl+S and track unsaved changes automatically
  • Unsaved Changes Warning – Prevents accidental data loss by prompting before exit

Installation

Install Qudix from PyPI:

pip install qudix

Usage

Launch the editor in two ways:

Create a new file (popup dialog will appear):

qudix

Open an existing file or create one at a specific path:

qudix /path/to/file/filename.txt

Keyboard Shortcuts

Shortcut Action
Ctrl+S Save file
Ctrl+X Exit editor (prompts if unsaved)
Esc Return focus to text area
Ctrl+Home Jump to top of file
Backspace Delete character or selection

Mouse Controls:

  • Click anywhere to position cursor
  • Click and drag to select text
  • Click toolbar buttons to perform actions
  • Scroll wheel to navigate through file

Build Instructions

If you want to build from source:

# Clone the repository
git clone <repository-url>
cd qudix

# Create and activate virtual environment
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install in editable mode
pip install -e .

Development

The project uses a standard src/ layout with the main application code in src/qudix/app.py. It's built on top of prompt_toolkit, which provides the terminal UI framework.

Project Structure

src/qudix/
  ├── __init__.py
  └── app.py         # Main application entry point

License

This project is dual-licensed under Apache-2.0 OR MIT. You may use it under the terms of either license at your option. See LICENSE, LICENSE-APACHE, and LICENSE-MIT for details.

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

qudix-0.1.3.tar.gz (16.6 kB view details)

Uploaded Source

Built Distribution

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

qudix-0.1.3-py3-none-any.whl (16.2 kB view details)

Uploaded Python 3

File details

Details for the file qudix-0.1.3.tar.gz.

File metadata

  • Download URL: qudix-0.1.3.tar.gz
  • Upload date:
  • Size: 16.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for qudix-0.1.3.tar.gz
Algorithm Hash digest
SHA256 17669da085fcf9e879a02f27465f1b7e3d85a8db6945934a3f4d8f5555ddd5c5
MD5 733c3a5a41d8095d201fa377656c1910
BLAKE2b-256 2b2a8bc9a4206b7216d76c437ff1184a43fbca053b2405b5350135fb484285c8

See more details on using hashes here.

File details

Details for the file qudix-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: qudix-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 16.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for qudix-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 0895f33b92872442beeb6255f567e9ba6f9dd14f73ad7eba957232d8a44190be
MD5 e4f381a395b5540c0987ca2a4e725838
BLAKE2b-256 2fb19a7cfa37add3ec8847ea225ecbbcf230a761ef631d11a777ead0660dfa6d

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