Skip to content

Commit ead28cd

Browse files
committed
Update Readme
1 parent 30965c5 commit ead28cd

File tree

1 file changed

+73
-35
lines changed

1 file changed

+73
-35
lines changed

README.md

Lines changed: 73 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -2,47 +2,50 @@
22

33
<img src="data/media/icon_256.png" alt="App Icon" width="128" />
44

5-
<h1>
6-
SSH-Studio
7-
</h1>
5+
<h1>SSH-Studio</h1>
86

97
<img src="https://img.shields.io/badge/GTK-4.0-4A90E2?style=for-the-badge&logo=gtk&logoColor=white" alt="GTK" />
108
<img src="https://img.shields.io/badge/License-GPL%20v3-00D4AA?style=for-the-badge&logo=gnu&logoColor=white" alt="License" />
119
<img src="https://img.shields.io/badge/Python-3.12+-3776AB?style=for-the-badge&logo=python&logoColor=white" alt="Python" />
10+
<img src="https://img.shields.io/flathub/v/io.github.BuddySirJava.SSH-Studio?logo=flathub&style=for-the-badge">
1211

1312
<p>A native <strong>GTK4 desktop app</strong> for editing and validating your <code>~/.ssh/config</code>.</p>
1413
<p>Search, edit, and validate SSH hosts with a clean UI — no need to touch terminal editors.</p>
1514

1615
</div>
1716

18-
### Preview
17+
---
18+
19+
## Preview
1920

2021
<div align="center">
2122
<img src="assets/screenshots/ss1.png" alt="Main Interface" width="45%" style="margin-right: 2%;" />
2223
<img src="assets/screenshots/ss2.png" alt="Preferences Dialog" width="45%" />
2324
</div>
2425

25-
### Features
26+
---
2627

27-
- **Visual host editor**: Edit common fields (Host, HostName, User, Port, IdentityFile, ForwardAgent, etc.).
28-
- **Inline validation**: Field-level errors are shown directly under inputs; parser checks for duplicate aliases and invalid ports.
29-
- **Search and filter**: Quickly find hosts across aliases, hostnames, users, and identities.
30-
- **Raw/Diff view**: Edit raw `ssh_config` text with instant diff highlighting.
31-
- **Quick actions**: Copy SSH command, test connection, and revert changes.
32-
- **SSH Key Management**: Easily import, generate and use your Public/Private keys.
33-
- **Safe saves**: Automatic backups (configurable), atomic writes, and include support.
34-
- **Keyboard- and mouse-friendly**: Smooth GTK 4 UI, dark theme preference.
28+
## Features
3529

30+
- **Visual host editor** – Edit common fields (Host, HostName, User, Port, IdentityFile, ForwardAgent, etc.).
31+
- **Inline validation** – Field-level errors shown directly under inputs; parser checks for duplicates and invalid ports.
32+
- **Search and filter** – Quickly find hosts across aliases, hostnames, users, and identities.
33+
- **Raw/Diff view** – Edit raw `ssh_config` text with instant diff highlighting.
34+
- **Quick actions** – Copy SSH command, test connection, and revert changes.
35+
- **SSH Key Management** – Import, generate, and use your keys without leaving the app.
36+
- **Safe saves** – Automatic backups (configurable), atomic writes, and include support.
37+
- **Keyboard & mouse friendly** – Smooth GTK 4 UI with dark theme preference.
38+
- **Translations** – Ready for localization (gettext support via `po/`).
3639

40+
---
3741

3842
## Install
3943

40-
### Build from source
41-
You can clone and run from GNOME Builder.
42-
43-
### Build (Flatpak)
44+
### From Flathub
45+
[![Download on Flathub](https://flathub.org/api/badge?svg&locale=en)](https://flathub.org/en/apps/io.github.BuddySirJava.SSH-Studio)
4446

45-
If you prefer Flatpak, use the manifest to build the project.
47+
### Build from source
48+
You can build and run with GNOME Builder or `flatpak-builder`:
4649

4750
```bash
4851
flatpak-builder --user --force-clean --install-deps-from=flathub build-dir io.github.BuddySirJava.SSH-Studio.json --install
@@ -51,25 +54,60 @@ flatpak-builder --user --force-clean --install-deps-from=flathub build-dir io.gi
5154
flatpak run io.github.BuddySirJava.SSH-Studio
5255
```
5356

54-
### Usage
57+
---
58+
59+
## Project structure
60+
61+
- `src/ssh_config_parser.py` → Parse/validate/generate SSH config safely.
62+
- `src/ui/` → Custom Adwaita widgets (`MainWindow`, `HostList`, `HostEditor`, `SearchBar`, `PreferencesDialog`, `TestConnectionDialog`, `SSH Key Manager`).
63+
- `data/ui/*.ui` → GTK Builder UI blueprints.
64+
- `data/ssh-studio.gresource.xml` → GResource manifest.
65+
- `data/media/` → App icon and screenshots.
66+
- `src/main.py` → Application entry point.
67+
- `meson.build`, `data/meson.build`, `src/meson.build` → Build and install rules.
68+
- `io.github.BuddySirJava.SSH-Studio.json` → Flatpak manifest.
69+
- `po/` → Translations.
70+
71+
---
72+
73+
## Development
74+
75+
Requirements:
76+
- **Python 3.12+**
77+
- **GTK 4 / libadwaita 1.4+**
78+
- **Meson & Ninja**
79+
- **Flatpak / flatpak-builder**
80+
81+
Clone and run in dev mode:
82+
83+
```bash
84+
git clone https://github.com/BuddySirJava/SSH-Studio.git
85+
cd SSH-Studio
86+
meson setup builddir
87+
meson compile -C builddir
88+
./builddir/src/ssh-studio
89+
```
90+
91+
---
92+
93+
## Contributing
94+
95+
Contributions are welcome!
96+
- Report bugs or request features in the [issue tracker](https://github.com/BuddySirJava/SSH-Studio/issues).
97+
- Submit pull requests with improvements, translations, or new features.
98+
- Follow [GNOME HIG](https://developer.gnome.org/hig/) for UI changes.
99+
100+
---
101+
102+
## License
55103

56-
1. The app loads `~/.ssh/config` by default. Use the menu → Preferences to choose a different config file or backup directory.
57-
2. Click “+” to add a new host or select a host to edit.
58-
3. Use the Raw/Diff tab for low-level edits; changes are highlighted before saving.
59-
4. Click Save to write changes. A backup can be created automatically (configurable).
104+
This project is licensed under the **GNU GPLv3**.
105+
See [LICENSE](LICENSE) for details.
60106

61-
### Project structure (high-level)
107+
---
62108

63-
- `src/ssh_config_parser.py`: Parse/validate/generate SSH config safely.
64-
- `src/ui/`: Adw widgets (`MainWindow`, `HostList`, `HostEditor`, `SearchBar`, `PreferencesDialog`, `TestConnectionDialog`, `SSH Key Manager`).
65-
- `data/ui/*.ui`: GTK Builder UI blueprints.
66-
- `data/ssh-studio.gresource.xml`: GResource manifest.
67-
- `data/media/`: App icon and screenshots.
68-
- `src/main.py`: Application entry point.
69-
- `meson.build`, `data/meson.build`, `src/meson.build`: Build and install rules.
70-
- `io.github.BuddySirJava.SSH-Studio.json`: Flatpak manifest.
71-
- `po/`: Translations.
109+
## Support & Contact
72110

73-
### Support
111+
- [Open an issue](https://github.com/BuddySirJava/SSH-Studio/issues) on GitHub.
112+
- Check [Flathub page](https://flathub.org/en/apps/io.github.BuddySirJava.SSH-Studio).
74113

75-
- Open an issue on GitHub: `

0 commit comments

Comments
 (0)