Skip to content

WietRob/matrix-os

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

15 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Matrix OS ๐ŸŸข

A Matrix-themed Terminal User Interface (TUI) operating system for software development, built with Python and Textual.

โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•—
โ•‘                                                               โ•‘
โ•‘   โ–ˆโ–ˆโ–ˆโ•—   โ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•—  โ–ˆโ–ˆโ•—           โ•‘
โ•‘   โ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ•šโ•โ•โ–ˆโ–ˆโ•”โ•โ•โ•โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘โ•šโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•”โ•           โ•‘
โ•‘   โ–ˆโ–ˆโ•”โ–ˆโ–ˆโ–ˆโ–ˆโ•”โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ•‘ โ•šโ–ˆโ–ˆโ–ˆโ•”โ•            โ•‘
โ•‘   โ–ˆโ–ˆโ•‘โ•šโ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•”โ–ˆโ–ˆโ•—            โ•‘
โ•‘   โ–ˆโ–ˆโ•‘ โ•šโ•โ• โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ• โ–ˆโ–ˆโ•—           โ•‘
โ•‘   โ•šโ•โ•     โ•šโ•โ•โ•šโ•โ•  โ•šโ•โ•   โ•šโ•โ•   โ•šโ•โ•  โ•šโ•โ•โ•šโ•โ•โ•šโ•โ•  โ•šโ•โ•           โ•‘
โ•‘                                                               โ•‘
โ•‘              Development Environment v0.1.0                   โ•‘
โ•‘                                                               โ•‘
โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

๐ŸŽฏ Features

  • ๐ŸŽจ Matrix Digital Rain Effect - Iconic falling green characters animation
  • ๐Ÿ’ป Terminal Emulator - Full PTY-based terminal with shell integration
  • ๐Ÿ“ File Browser - Tree-view file navigation with icons
  • ๐Ÿ“Š Process Monitor - Real-time system process monitoring
  • โœ๏ธ Code Editor - Syntax highlighting for multiple languages
  • ๐ŸŽจ Theming System - Customizable Matrix green theme
  • โšก High Performance - 30+ FPS smooth animations
  • ๐Ÿ”Œ Plugin Architecture - Extensible plugin system (coming soon)

๐Ÿš€ Quick Start

Installation

  1. Clone the repository
git clone https://github.com/WietRob/matrix-os.git
cd matrix-os
  1. Run Matrix OS
./run.sh

The launcher script will automatically:

  • Check Python version (3.10+ required)
  • Create virtual environment
  • Install dependencies
  • Launch Matrix OS

Manual Installation

# Create virtual environment
python3 -m venv venv
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt

# Run Matrix OS
python3 -m src.core.app

๐ŸŽฎ Usage

Launch Modes

# Main Textual application (default)
./run.sh textual

# Rich-based demo (status dashboard)
./run.sh rich

# Curses-based demo (minimal dependencies)
./run.sh curses

# Development mode with DevTools
./run.sh dev

# Run tests
./run.sh test

Keyboard Shortcuts

Shortcut Action
Ctrl+Q Quit application
F1 Toggle Matrix rain effect
Ctrl+T Open terminal
Ctrl+F Open file browser
Ctrl+P Open process monitor
F2 Show help

๐Ÿ“ Project Structure

matrix-os/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ core/
โ”‚   โ”‚   โ”œโ”€โ”€ app.py              # Main application
โ”‚   โ”‚   โ””โ”€โ”€ __init__.py
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ ui/
โ”‚   โ”‚   โ”œโ”€โ”€ widgets/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ matrix_rain.py  # Matrix rain effect
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ terminal.py     # Terminal emulator
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ file_browser.py # File browser
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ process_monitor.py
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ code_editor.py
โ”‚   โ”‚   โ”‚
โ”‚   โ”‚   โ”œโ”€โ”€ themes/
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ matrix.tcss     # Matrix theme CSS
โ”‚   โ”‚   โ”‚
โ”‚   โ”‚   โ””โ”€โ”€ layouts/
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ system/                 # System integrations
โ”‚   โ”œโ”€โ”€ effects/                # Visual effects
โ”‚   โ”‚
โ”‚   โ””โ”€โ”€ utils/
โ”‚       โ”œโ”€โ”€ config.py           # Configuration
โ”‚       โ””โ”€โ”€ logger.py           # Logging
โ”‚
โ”œโ”€โ”€ config/
โ”‚   โ””โ”€โ”€ default.yaml            # Default configuration
โ”‚
โ”œโ”€โ”€ examples/
โ”‚   โ”œโ”€โ”€ rich_demo.py           # Rich library demo
โ”‚   โ””โ”€โ”€ curses_demo.py         # Curses demo
โ”‚
โ”œโ”€โ”€ tests/                      # Test suite
โ”œโ”€โ”€ docs/                       # Documentation
โ”‚
โ”œโ”€โ”€ run.sh                      # Launcher script
โ”œโ”€โ”€ requirements.txt
โ”œโ”€โ”€ pyproject.toml
โ””โ”€โ”€ README.md

๐Ÿ”ง Configuration

Configuration is stored in YAML format at:

  • ~/.config/matrix-os/config.yaml (user config)
  • ./config/default.yaml (default config)

Example Configuration

matrix_os:
  display:
    fps: 30
    true_color: true

  effects:
    rain:
      enabled: true
      density: 0.05
      speed_min: 0.5
      speed_max: 2.0
      char_set: "mixed"  # katakana, ascii, mixed

  terminal:
    shell: "/bin/bash"
    scrollback: 10000

  editor:
    theme: "monokai"
    tab_size: 4
    syntax_highlighting: true

๐ŸŽจ Widgets Overview

Matrix Rain Widget

Iconic digital rain effect with customizable:

  • Character sets (Katakana, ASCII, mixed)
  • Falling speed
  • Density
  • Color gradients
from src.ui.widgets.matrix_rain import MatrixRain

rain = MatrixRain(
    char_set="mixed",
    fps=30,
    speed_min=0.5,
    speed_max=2.0
)

Terminal Emulator

Full-featured terminal with:

  • PTY (pseudo-terminal) support
  • Shell integration
  • Command execution
  • Output streaming
from src.ui.widgets.terminal import Terminal

terminal = Terminal(shell="/bin/bash")
terminal.execute_command("ls -la")

File Browser

Tree-view file navigation with:

  • Lazy loading
  • File type icons
  • Hidden files toggle
  • Directory expansion
from src.ui.widgets.file_browser import FileBrowser

browser = FileBrowser(root_path=Path.home())

Process Monitor

Real-time process monitoring:

  • CPU and memory usage
  • Process status
  • Sortable columns
  • Auto-refresh
from src.ui.widgets.process_monitor import ProcessMonitor

monitor = ProcessMonitor(refresh_interval=2.0)

๐Ÿ› ๏ธ Development

Prerequisites

  • Python 3.10+
  • Terminal with true color support
  • Linux/macOS (Windows via WSL)

Development Setup

# Install dev dependencies
pip install -r requirements.txt

# Run in development mode
./run.sh dev

# Run tests
pytest tests/ -v

# Code formatting
black src/ tests/

# Type checking
mypy src/

Running Tests

# All tests
pytest

# With coverage
pytest --cov=src tests/

# Specific test
pytest tests/test_widgets.py -v

๐ŸŽฏ Roadmap

v0.2.0 (In Progress)

  • Window management system
  • Event bus implementation
  • Plugin system
  • Multi-tab support

v0.3.0 (Planned)

  • Git integration
  • Debugger interface
  • Search functionality
  • Custom keybindings

v1.0.0 (Future)

  • Remote SSH support
  • Collaborative editing
  • Plugin marketplace
  • Theme customization UI

๐Ÿ“š Documentation

๐Ÿค Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

๐Ÿ“ License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

  • Textual - Modern TUI framework
  • Rich - Beautiful terminal formatting
  • The Matrix - Inspiration for the aesthetic

๐Ÿ”— Links

๐Ÿ“ธ Screenshots

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Matrix OS - Development Environment                         โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                                             โ”‚
โ”‚  ๐Ÿ“ Files          โ”‚  ๏ฝฑ๏ฝฒ๏ฝณ๏ฝด๏ฝต๏ฝถ๏ฝท๏ฝธ๏ฝน๏ฝบ๏ฝป๏ฝผ๏ฝฝ๏ฝพ๏ฝฟ๏พ€๏พ๏พ‚๏พƒ๏พ„๏พ…๏พ†๏พ‡๏พˆ๏พ‰     โ”‚
โ”‚  ๐Ÿ’ป Terminal       โ”‚  0123456789ABCDEFGHIJK                 โ”‚
โ”‚  ๐Ÿ“Š Processes      โ”‚  ๏พŠ๏พ‹๏พŒ๏พ๏พŽ๏พ๏พ๏พ‘๏พ’๏พ“๏พ”๏พ•๏พ–๏พ—๏พ˜๏พ™๏พš๏พ›๏พœ๏ฝฆ๏พ           โ”‚
โ”‚  โœ๏ธ Editor         โ”‚                                         โ”‚
โ”‚                    โ”‚  [Matrix Rain Effect]                  โ”‚
โ”‚                    โ”‚                                         โ”‚
โ”‚  โš™๏ธ Settings       โ”‚  System Status: ONLINE                 โ”‚
โ”‚  โ“ Help           โ”‚  Terminal: 80x24                       โ”‚
โ”‚                    โ”‚  Processes: 142                        โ”‚
โ”‚                                                             โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Built with ๐Ÿ’š using Python and Textual

"Welcome to the Matrix"

About

matrix style os for sw development

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •