desktop-tui 0.3.2

A desktop environment without graphics (tmux-like)
desktop-tui-0.3.2 is not a library.

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:

  • Parse shortcut files containing apps
    • Custom additional commands
    • Custom window options
    • Custom terminal options
  • Display any application or command that uses stdout
    • Move and resize windows
    • Handle and display application error
  • Change tilling options
  • Can let the user select a file or a folder to use its path as a command argument
  • 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

License

The MIT license for this project can be seen here