https://github.com/non-erx/spv
A modern, elegant TUI for managing your GNU Screen sessions. Written in Go.
https://github.com/non-erx/spv
go open-source optimizer screen tool
Last synced: 11 months ago
JSON representation
A modern, elegant TUI for managing your GNU Screen sessions. Written in Go.
- Host: GitHub
- URL: https://github.com/non-erx/spv
- Owner: non-erx
- License: mit
- Created: 2025-07-19T05:06:59.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-07-19T05:47:18.000Z (12 months ago)
- Last Synced: 2025-07-19T09:44:43.040Z (12 months ago)
- Topics: go, open-source, optimizer, screen, tool
- Language: Go
- Homepage:
- Size: 104 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
- License: LICENSE
Awesome Lists containing this project
README
#
💻
Screen Process Viewer (spv)
A modern, elegant TUI for managing your GNU Screen sessions.
Made with love by @non-erx!❤️
`spv` is a terminal-based tool written in Go that provides a beautiful and responsive two-pane interface to monitor, manage, and interact with all your `screen` sessions. It's designed to be fast, intuitive, and highly customizable.
### 🚀 Installation
You can install `spv` in one of three ways:
**1. Using `go install` (Recommended)**
If you have Go installed, this is the easiest method:
```bash
go install github.com/non-erx/spv@v0.0.5
```
**2. From Source**
Clone the repository and build the binary yourself:
```bash
git clone https://github.com/non-erx/spv.git
cd spv
go build -ldflags="-s -w" -o spv
```
### 💡 Usage
Simply run the binary from your terminal:
```bash
./spv
```
#### Keybindings
All keybindings are conveniently displayed in the footer of the application:
| Key | Action |
| :--- | :--- |
| **↑↓** | Navigate through the session list |
| **Enter** | Attach to the selected session |
| **a** | Add a new session |
| **k** | Kill the selected session |
| **r** | Refresh the session list and stats |
| **t** | Toggle autostart for the selected session |
| **?** | Show the about screen |
| **q** | Quit the application |
#### 🎨 Theming
`spv` comes with a few built-in themes. To set a theme and save it as your default, run:
```bash
./spv theme
```
**Available Themes:** `slate` (default), `pink`, `forest`, `mellow`, `arctic`, `solarized`, `dracula`, `gruvbox`, `nord`.
### 🌠 Screenshots
### ✨ Features
- `🖥️` **Elegant TUI:** A beautiful and responsive two-pane interface for at-a-glance information, built with Bubble Tea.
- `🔄` **Live Data:** Auto-refreshes every second with real-time CPU, RAM, and session status updates.
- `🚀` **Dynamic Header:** Displays the latest commit message from this GitHub repository, keeping you in the loop.
- `🎨` **Customizable Themes:** Choose from multiple built-in themes and save your preference.
- `💾` **Persistent Sessions:** Remembers session commands and descriptions across restarts via a simple JSON configuration file.
- `⚡` **Autostart Configuration:** Easily flag sessions to be started on system reboot. For Linux systems, `spv` manages the necessary service files. Autostart is not supported on macOS or Windows.
- `📜` **Detailed View:** See a session's ID, status (Attached/Detached), autostart configuration, the command it's running, and a custom description.
- `⌨️` **Intuitive Workflow:** A multi-step wizard guides you through creating new sessions (Name → Command → Description). Autostart status is now toggled directly on existing sessions with the 't' key.