MCPcopy Index your code
hub / github.com/Julien-cpsn/desktop-tui

github.com/Julien-cpsn/desktop-tui @v0.3.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.3.2 ↗ · + Follow
41 symbols 68 edges 8 files 2 documented · 5%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Desktop-TUI 🖥️

License: MIT GitHub Release Crates.io

[!WARNING] This is an experimental project made in 2 days. It is not meant to be used as is nor to become the new desktop environnement standard. Feel free to fork and send PRs

A desktop environment without graphics (tmux-like).

Features: - [x] Parse shortcut files containing apps - [x] Custom additional commands - [x] Custom window options - [x] Custom terminal options - [x] Display any application or command that uses stdout - [x] Move and resize windows - [x] Handle and display application error - [x] Change tilling options - [x] Can let the user select a file or a folder to use its path as a command argument - [x] Clock

demo

How to use

Install

cargo install desktop-tui

Compile

cargo build
cargo build --release

Run

You can replace cargo run -- with desktop-tui

cargo run -- <shortcut_folder_path>

If no path is provided, desktop-tui will try using theses paths: - Linux: /home/my_username/.config/desktop-tui - macOS: /Users/MyUsername/Library/Application Support/com.Julien-cpsn.desktop-tui - Windows: C:\Users\MyUsername\AppData\Roaming\Julien-cpsn\desktop-tui\config

Shortcut file

Example helix.toml shortcut file:

# Window name
name = "Text editor"

# Command to execute
command = "hx"
# Each command argument
args = []

[taskbar]
# Shortcut position on the action bar
# Optional
position = 3

# Optional
[[taskbar.additional_commands]]
# Command name
name = "Open folder"
# Command to execute
command = "hx"
# <FILE_PATH> or <FOLDER_PATH> will be replaced by a path selected in a dialog
args = ["<FOLDER_PATH>"]

[[taskbar.additional_commands]]
name = "Open file"
command = "hx"
args = ["<FILE_PATH>"]

[window]
resizable = true
close_button = true
fixed_position = false
# Optional
size = { width = 10, height = 5 }

[terminal]
# Pad inner window
padding = [0, 0]
# Optional
background_color = { r = 30, g = 30, b = 30 }

Star history

Star History Chart

License

The MIT license for this project can be seen here

Core symbols most depended-on inside this repo

csi_mod_tilde
called by 12
src/keyboard.rs
ansi_16_color
called by 6
src/terminal_emulation.rs
csi_mod
called by 6
src/keyboard.rs
ss3_or_csi
called by 4
src/keyboard.rs
create_window
called by 3
src/desktop.rs
close_command
called by 3
src/tui_window.rs
time_to_string
called by 2
src/utils.rs
reset
called by 2
src/terminal_emulation.rs

Shape

Method 24
Function 11
Class 6

Languages

Rust100%

Modules by API surface

src/terminal_emulation.rs16 symbols
src/desktop.rs9 symbols
src/tui_window.rs7 symbols
src/keyboard.rs5 symbols
src/utils.rs1 symbols
src/shortcut.rs1 symbols
src/main.rs1 symbols
src/args.rs1 symbols

For agents

$ claude mcp add desktop-tui \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact