docs: update README with sidebar, notifications, layout diagram

This commit is contained in:
x3
2026-09-07 15:25:47 +00:00
parent c5df1fd5f5
commit 16ae7ffde2
+51 -11
View File
@@ -1,17 +1,19 @@
# x3-ssh # x3-ssh
A GTK3-based SSH client with a tabbed terminal interface, server management, and SSH key storage. A GTK3-based SSH client with a tabbed terminal interface, server sidebar, notifications, and SSH key storage.
![Icon](icons/x3-ssh.png) ![Icon](icons/x3-ssh.svg)
## Features ## Features
- **Tabbed terminal** - Multiple SSH sessions in tabs - **Tabbed terminal** - Multiple SSH sessions in tabs
- **Server management** - Save, edit, and remove SSH server configurations - **Server sidebar** - Saved servers displayed in a sidebar, double-click to connect
- **Quick connect** - Connect directly via host/user/port fields in the toolbar
- **SSH key management** - Generate, import, and manage SSH keys - **SSH key management** - Generate, import, and manage SSH keys
- **Quick connect** - Connect directly via host/user/port fields - **Notifications** - Animated notification bar for status messages (saved, connected, disconnected, errors)
- **VTE terminal** - Full terminal emulation with 256 color support - **VTE terminal** - Full terminal emulation with 256 color support
- **Resizable pty** - Terminal auto-resizes the remote pty on window resize - **Resizable pty** - Terminal auto-resizes the remote pty on window resize
- **System integration** - `.desktop` file and icon for application menu entry
## Dependencies ## Dependencies
@@ -35,10 +37,16 @@ autoreconf -fi
./configure ./configure
make make
# Install (optional) # Install (installs binary, .desktop file, and icon system-wide)
sudo make install sudo make install
``` ```
## Uninstall
```bash
sudo make uninstall
```
## Configuration ## Configuration
Server configurations are stored in: Server configurations are stored in:
@@ -54,12 +62,44 @@ SSH keys are stored in:
## Usage ## Usage
1. Start the application: `./x3-ssh` 1. Start the application: `x3-ssh`
2. **Quick Connect**: Enter host, user, and port in the toolbar, click "Connect" 2. **Server Sidebar**: Saved servers appear in the left sidebar. Double-click to connect.
3. **Saved Servers**: Click "Servers" to add/edit/remove saved server configurations 3. **Quick Connect**: Enter host, user, and port in the toolbar, click "Connect"
4. **SSH Keys**: Click "Keys" to generate or import SSH keys 4. **Add Server**: Click the `+` button in the sidebar header, or use the "Add Server" dialog
5. **Tabs**: Click "+ Tab" for a new empty tab, "Close Tab" to close the current one 5. **SSH Keys**: Click "Keys" in the toolbar to generate or import SSH keys
6. Select a saved server from the dropdown to auto-fill connection details 6. **Tabs**: Click "+ Tab" for a new empty tab, "Close Tab" to close the current one
## Notifications
The notification bar at the top shows status messages:
- `Server saved: <name>` - when a server config is saved
- `Server connected: <user>@<host>:<port>` - on successful connection
- `Server disconnected` - when disconnecting
- `Server removed: <name>` - when a server is deleted
- `Key generated: <name>` / `Key imported: <name>` / `Key deleted: <name>`
- `Failed to connect to <host>` - on connection failure (red)
Notifications auto-hide after 4 seconds.
## Layout
```
┌────────────────────────────────────────────────────┐
│ [Notification bar - auto-hiding] │
├────────────────────────────────────────────────────┤
│ [Server▼] [host___] [user___] [port] [Connect] ...│
├───────────┬────────────────────────────────────────┤
│ Servers │ [Tab: MyServer] [Tab: Prod] [+] │
│ ─────── │ │
│ MyServer │ user@host:~$ │
│ root@h:22 │ │
│ │ │
│ Prod │ │
│ admin@p:22│ │
├───────────┴────────────────────────────────────────┤
│ Connected to root@host:22 │
└────────────────────────────────────────────────────┘
```
## License ## License