An open API service indexing awesome lists of open source software.

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.

Awesome Lists containing this project

README

          

#

💻

spv logo

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


spv slate
spv pink

### ✨ 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.




Check out my silly web-page -> non-erx.dev