Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

ZaneThePython/ZDTT

Repository files navigation

ZDTT Terminal

A Python-based, Linux-first custom shell environment with plugin support, aliases, banners, and a modern command experience. ZDTT wraps your system shell, adds its own built-in commands, and enhances your workflow instead of replacing your OS shell.


✨ Features

✔ Command History

Up/Down arrows navigate session history using Python’s readline module.

✔ Tab Completion

Auto-complete commands and filesystem paths.

✔ Colorized Prompt

ZDTT provides a custom prompt with color styling. On Linux: supports full status bar. On macOS: status bar disabled automatically due to OS cursor fight.

✔ Plugin System

Python-based plugin loader with AST security checks. Plugins can register new ZDTT commands without modifying core files.

✔ Custom Aliases

Aliases are loaded from ~/.zdtt/aliases and behave identically to shell shortcuts.

✔ Custom Banner Support

If ~/.zdtt/banner.txt exists, it is displayed on launch.

✔ Distro Detection

ZDTT detects which major family you’re on:

  • Debian-based
  • Arch-based
  • macOS

Used to determine:

  • the correct sysfetch tool
  • correct default package manager names
  • correct onboarding messages

✔ Native Shell Command Relay

If a command is not a built-in ZDTT command or plugin command, it is passed directly to your real shell (bash, zsh, etc.).

✔ Status Bar (Linux only)

A background thread draws a live status bar showing time and system state. Disabled automatically on macOS.

✔ Built-in Commands

  • help
  • clear
  • about
  • history
  • exit
  • quit
  • sysfetch
  • time
  • statusbar color <name>
  • plus plugin commands

🎨 Images


🚀 Installation

Quick Install

curl -O https://zdtt-sources.zane.org/install.sh && chmod +x install.sh && ./install.sh

The installer:

  • Detects Debian, Arch, or macOS
  • Installs Python 3 if needed
  • Installs ZDTT to ~/.local/bin
  • Sets up the zdtt command

Manual Install

git clone https://github.com/ZaneThePython/ZDTT
cd ZDTT
chmod +x install.sh
./install.sh

📖 Usage

Start ZDTT

zdtt start

Management Commands

zdtt update
zdtt version
zdtt github
zdtt uninstall

🔌 Plugin System

ZDTT supports simple Python plugins stored in:

~/.zdtt/plugins/

Each plugin must define:

def register_commands():
 return {"yourcmd": your_function}

Plugins are sandboxed using AST:

  • No top-level execution allowed
  • Only imports, functions, classes permitted
  • Unsafe plugins are quarantined automatically

Reload plugins inside ZDTT:

plugins reload

Install via URL:

zps install <url>

See:

  • example_plugin.py
  • PLUGINS.md

⚙ Configuration

Aliases

Store aliases in:

~/.zdtt/aliases

Or create them live:

alias ll=ls -la
unalias ll

Banner

Add a custom banner in:

~/.zdtt/banner.txt

Status Bar Color

statusbar color blue

Colors supported: blue red green cyan magenta yellow white black


🖥 Supported Systems

✔ Full Support

  • Debian-based distros
  • Arch-based distros
  • macOS (Status bar disabled automatically)

⚠ Limited Support

Other distros can run ZDTT but:

  • auto-install may not work
  • sysfetch may not detect tools
  • package-manager messages may be incorrect

🛠 Development

ZDTT is written in Python and uses:

  • readline for history & completion
  • threading for status bar updates
  • ast for plugin security
  • subprocess for system command execution
  • os and shutil for path and environment detection

Project Structure

ZDTT/
├── terminal.py
├── install.sh
├── version.txt
├── example_plugin.py
├── example_aliases
├── example_banner.txt
├── PLUGINS.md
└── README.md

🤝 Contributing

PRs welcome! ZDTT is early in development and evolving quickly.


🔗 Links


💬 Notes

ZDTT is not a full standalone shell yet — it wraps your system shell and enhances it. A full independent shell may come in the future. Plugins may import Python modules, but may not execute code at import time.


AltStyle によって変換されたページ (->オリジナル) /