feat(ssh-launcher): add /ssh launcher for SSH config hosts (#138)

* feat(ssh-launcher): add /ssh launcher for SSH config hosts

Provide a launcher provider that reads ~/.ssh/config, lists host aliases
with fuzzy search, and opens an SSH session in the terminal on activate.

* docs(ssh-launcher): update store thumbnail

Replace the plugin card image with the final SSH Launcher artwork,
blur server IP addresses, and fix the displayed category tags.

* fix(ssh-launcher): parse SSH config directives case-insensitively

Match Host, Hostname, and User keywords regardless of casing so
lowercase blocks are included, consistent with OpenSSH behavior.
This commit is contained in:
Cleboost
2026-07-29 08:48:14 -04:00
committed by GitHub
parent 6cee9bbcc7
commit a2b1062856
6 changed files with 348 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
{
"config-empty": "No SSH hosts found in config",
"config-missing": "SSH config file not found",
"err-no-ssh": "ssh command not found",
"err-no-ssh-subtitle": "Install OpenSSH client and ensure ssh is on PATH",
"err-terminal": "Could not open a terminal",
"filter-empty": "Filter: \"{filter}\"",
"loading": "Loading…",
"loading-subtitle": "Reading SSH config",
"no-hosts-found": "No SSH hosts found",
"settings": {
"config_path": {
"description": "Path to your SSH config file.",
"label": "SSH config path"
},
"extra_args": {
"description": "Extra arguments appended to every ssh command (for example -A).",
"label": "Extra SSH arguments"
},
"max_results": {
"description": "Maximum number of hosts shown in the launcher.",
"label": "Maximum results"
},
"terminal": {
"description": "Custom terminal command. Leave empty to use Noctalia's terminal discovery.",
"label": "Terminal command"
}
}
}
+29
View File
@@ -0,0 +1,29 @@
{
"config-empty": "Aucun hôte SSH trouvé dans la config",
"config-missing": "Fichier de config SSH introuvable",
"err-no-ssh": "Commande ssh introuvable",
"err-no-ssh-subtitle": "Installez le client OpenSSH et vérifiez que ssh est dans le PATH",
"err-terminal": "Impossible d'ouvrir un terminal",
"filter-empty": "Filtre : « {filter} »",
"loading": "Chargement…",
"loading-subtitle": "Lecture de la config SSH",
"no-hosts-found": "Aucun hôte SSH trouvé",
"settings": {
"config_path": {
"description": "Chemin vers votre fichier de config SSH.",
"label": "Chemin de la config SSH"
},
"extra_args": {
"description": "Arguments ajoutés à chaque commande ssh (par exemple -A).",
"label": "Arguments SSH supplémentaires"
},
"max_results": {
"description": "Nombre maximum d'hôtes affichés dans le launcher.",
"label": "Nombre maximum de résultats"
},
"terminal": {
"description": "Commande terminal personnalisée. Laissez vide pour la détection automatique de Noctalia.",
"label": "Commande terminal"
}
}
}