docs: update README with sidebar, notifications, layout diagram
This commit is contained in:
@@ -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.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## 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
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user