docs: add TUI demo, screenshots, and update README
- Add demo.gif showcasing TUI workflow - Add screenshots for dashboard, repos, help, and filter views - Update README with demo GIF at top - Add Screenshots section with 2x2 grid - Document TUI feature and keybindings - Update installation to recommend --features tui
This commit is contained in:
52
README.md
52
README.md
@@ -5,8 +5,11 @@
|
||||
|
||||
A plugin manager for [mpv](https://mpv.io/) scripts. Manage your mpv scripts declaratively with simple commands - add repos, install, update, and keep everything in sync.
|
||||
|
||||

|
||||
|
||||
## Features
|
||||
|
||||
- **Interactive TUI** - Vim-style terminal interface for managing everything
|
||||
- **Declarative config** - Define your scripts in `config.toml`, run `install` to sync
|
||||
- **Git-based** - Scripts are cloned from GitHub (or any git URL) with shallow clones
|
||||
- **Multi-target support** - Manage multiple mpv configs (mpv, jellyfin-mpv-shim, celluloid, etc.)
|
||||
@@ -18,6 +21,19 @@ A plugin manager for [mpv](https://mpv.io/) scripts. Manage your mpv scripts dec
|
||||
- **Lockfile support** - Create reproducible installations across machines
|
||||
- **Diagnostics** - Built-in doctor command to diagnose and fix issues
|
||||
|
||||
## Screenshots
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td><img src="assets/screenshots/dashboard.png" alt="Dashboard" width="400"/><br/><em>Dashboard - overview and quick actions</em></td>
|
||||
<td><img src="assets/screenshots/repos.png" alt="Repos" width="400"/><br/><em>Repos - manage repositories</em></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="assets/screenshots/help.png" alt="Help" width="400"/><br/><em>Help - keybinding reference</em></td>
|
||||
<td><img src="assets/screenshots/filter.png" alt="Filter" width="400"/><br/><em>Filter - search and filter</em></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
## Installation
|
||||
|
||||
### From source (recommended)
|
||||
@@ -27,7 +43,10 @@ A plugin manager for [mpv](https://mpv.io/) scripts. Manage your mpv scripts dec
|
||||
git clone https://somegit.dev/vikingowl/empeve.git
|
||||
cd empeve
|
||||
|
||||
# Build and install
|
||||
# Build and install with TUI (recommended)
|
||||
cargo install --path . --features tui
|
||||
|
||||
# Or without TUI (CLI only)
|
||||
cargo install --path .
|
||||
```
|
||||
|
||||
@@ -35,26 +54,39 @@ cargo install --path .
|
||||
|
||||
- Rust 1.70+ (for building)
|
||||
- Git (for cloning repositories)
|
||||
- Terminal with truecolor support (for TUI)
|
||||
|
||||
## Quick Start
|
||||
|
||||
```bash
|
||||
# First run - detects mpv configs and prompts for setup
|
||||
# Launch the TUI (if built with --features tui)
|
||||
empeve
|
||||
|
||||
# Or use CLI commands directly
|
||||
empeve status
|
||||
|
||||
# Browse popular scripts and add interactively
|
||||
empeve browse -i
|
||||
|
||||
# Or add a specific repo
|
||||
empeve add tomasklaen/uosc
|
||||
|
||||
# Install all configured repos
|
||||
empeve install
|
||||
|
||||
# Update all repos to latest
|
||||
empeve update
|
||||
```
|
||||
|
||||
## TUI
|
||||
|
||||
Launch the interactive TUI by running `empeve` without arguments. Navigate with vim-style keybindings.
|
||||
|
||||
| Key | Action |
|
||||
|-----|--------|
|
||||
| `j/k` | Move down/up |
|
||||
| `g/G` | Jump to top/bottom |
|
||||
| `Tab/S-Tab` | Next/previous view |
|
||||
| `/` | Filter mode |
|
||||
| `?` | Help |
|
||||
| `q` | Quit |
|
||||
|
||||
**Views:** `D` Dashboard · `R` Repos · `S` Scripts · `C` Catalog · `T` Targets
|
||||
|
||||
Each view has context-specific actions shown in the footer.
|
||||
|
||||
## Usage
|
||||
|
||||
### Adding Scripts
|
||||
|
||||
BIN
assets/demo.gif
Normal file
BIN
assets/demo.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 499 KiB |
110
assets/demo.tape
Normal file
110
assets/demo.tape
Normal file
@@ -0,0 +1,110 @@
|
||||
# VHS documentation
|
||||
#
|
||||
# Output:
|
||||
# Output <path>.gif Create a GIF output at the given <path>
|
||||
# Output <path>.mp4 Create an MP4 output at the given <path>
|
||||
# Output <path>.webm Create a WebM output at the given <path>
|
||||
#
|
||||
# Require:
|
||||
# Require <string> Ensure a program is on the $PATH to proceed
|
||||
#
|
||||
# Settings:
|
||||
# Set FontSize <number> Set the font size of the terminal
|
||||
# Set FontFamily <string> Set the font family of the terminal
|
||||
# Set Height <number> Set the height of the terminal
|
||||
# Set Width <number> Set the width of the terminal
|
||||
# Set LetterSpacing <float> Set the font letter spacing (tracking)
|
||||
# Set LineHeight <float> Set the font line height
|
||||
# Set LoopOffset <float>% Set the starting frame offset for the GIF loop
|
||||
# Set Theme <json|string> Set the theme of the terminal
|
||||
# Set Padding <number> Set the padding of the terminal
|
||||
# Set Framerate <number> Set the framerate of the recording
|
||||
# Set PlaybackSpeed <float> Set the playback speed of the recording
|
||||
# Set MarginFill <file|#000000> Set the file or color the margin will be filled with.
|
||||
# Set Margin <number> Set the size of the margin. Has no effect if MarginFill isn't set.
|
||||
# Set BorderRadius <number> Set terminal border radius, in pixels.
|
||||
# Set WindowBar <string> Set window bar type. (one of: Rings, RingsRight, Colorful, ColorfulRight)
|
||||
# Set WindowBarSize <number> Set window bar size, in pixels. Default is 40.
|
||||
# Set TypingSpeed <time> Set the typing speed of the terminal. Default is 50ms.
|
||||
#
|
||||
# Sleep:
|
||||
# Sleep <time> Sleep for a set amount of <time> in seconds
|
||||
#
|
||||
# Type:
|
||||
# Type[@<time>] "<characters>" Type <characters> into the terminal with a
|
||||
# <time> delay between each character
|
||||
#
|
||||
# Keys:
|
||||
# Escape[@<time>] [number] Press the Escape key
|
||||
# Backspace[@<time>] [number] Press the Backspace key
|
||||
# Delete[@<time>] [number] Press the Delete key
|
||||
# Insert[@<time>] [number] Press the Insert key
|
||||
# Down[@<time>] [number] Press the Down key
|
||||
# Enter[@<time>] [number] Press the Enter key
|
||||
# Space[@<time>] [number] Press the Space key
|
||||
# Tab[@<time>] [number] Press the Tab key
|
||||
# Left[@<time>] [number] Press the Left Arrow key
|
||||
# Right[@<time>] [number] Press the Right Arrow key
|
||||
# Up[@<time>] [number] Press the Up Arrow key
|
||||
# Down[@<time>] [number] Press the Down Arrow key
|
||||
# PageUp[@<time>] [number] Press the Page Up key
|
||||
# PageDown[@<time>] [number] Press the Page Down key
|
||||
# Ctrl+<key> Press the Control key + <key> (e.g. Ctrl+C)
|
||||
#
|
||||
# Display:
|
||||
# Hide Hide the subsequent commands from the output
|
||||
# Show Show the subsequent commands in the output
|
||||
|
||||
# VHS tape file for empeve demo
|
||||
Output assets/demo.gif
|
||||
|
||||
Set FontSize 14
|
||||
Set Width 1200
|
||||
Set Height 700
|
||||
Set Theme "Catppuccin Mocha"
|
||||
|
||||
# Start empeve
|
||||
Type "empeve"
|
||||
Enter
|
||||
Sleep 2s
|
||||
|
||||
# Show dashboard
|
||||
Sleep 1s
|
||||
|
||||
# Navigate to Repos
|
||||
Type "R"
|
||||
Sleep 1.5s
|
||||
|
||||
# Move through list
|
||||
Type "j"
|
||||
Sleep 500ms
|
||||
Type "j"
|
||||
Sleep 500ms
|
||||
Type "k"
|
||||
Sleep 1s
|
||||
|
||||
# Show help
|
||||
Type "?"
|
||||
Sleep 2s
|
||||
Escape
|
||||
Sleep 500ms
|
||||
|
||||
# Filter mode
|
||||
Type "/"
|
||||
Sleep 1s
|
||||
Type "po5"
|
||||
Sleep 2s
|
||||
Escape
|
||||
Sleep 500ms
|
||||
|
||||
# Tab through views
|
||||
Tab
|
||||
Sleep 1s
|
||||
Tab
|
||||
Sleep 1s
|
||||
Tab
|
||||
Sleep 1s
|
||||
|
||||
# Quit
|
||||
Type "q"
|
||||
Sleep 500ms
|
||||
BIN
assets/screenshots/dashboard.png
Normal file
BIN
assets/screenshots/dashboard.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 49 KiB |
BIN
assets/screenshots/filter.png
Normal file
BIN
assets/screenshots/filter.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 41 KiB |
BIN
assets/screenshots/help.png
Normal file
BIN
assets/screenshots/help.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 64 KiB |
BIN
assets/screenshots/repos.png
Normal file
BIN
assets/screenshots/repos.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 54 KiB |
Reference in New Issue
Block a user