Fenêtre Réglages
Ouvrez la fenêtre Réglages depuis le menu déroulant de la barre de menus — Runyard → Settings… — ou avec le raccourci ⌘, lorsque Runyard est actif. La fenêtre comporte quatre onglets : General, Tools, Advanced et About.
La plupart des options de cette fenêtre reflètent des champs de config.json. Quelques-unes ne le font pas — le raccourci clavier global, le texte d'état dans la barre de menus et l'emplacement du fichier de configuration sont stockés par Mac dans UserDefaults.
Onglet General
Lancer à l'ouverture de session
Runyard s'enregistre auprès de macOS pour démarrer automatiquement à l'ouverture de session. Le commutateur appelle directement SMAppService — il n'existe pas de champ launchAtLogin dans config.json. macOS affiche la même entrée dans Réglages Système → Général → Ouverture & extensions.
Raccourci clavier global
Définissez un raccourci système qui ouvre le menu Runyard depuis n'importe où. Une seconde pression du raccourci ferme le menu.
Pour l'enregistrer :
- Cliquez sur le champ raccourci dans Réglages → General → Shortcut.
- Une bulle apparaît. Maintenez n'importe quelle combinaison de ⌃ ⌥ ⇧ ⌘ avec une touche non modificatrice.
- Le raccourci est enregistré immédiatement et la bulle se ferme. Appuyez sur Échap pour annuler sans changer le raccourci.
Si la combinaison est déjà utilisée par macOS (par exemple ⌘Espace pour Spotlight), Runyard la refuse et affiche une erreur dans la bulle. Choisissez-en une autre.
Pour effacer le raccourci, cliquez sur le champ et appuyez sur Échap, ou enregistrez une autre combinaison.
Barre de menus
Afficher le texte d'état
Lorsque cette option est activée, Runyard ajoute un court résumé à côté de son icône dans la barre de menus :
- Pendant qu'au moins un service démarre : le format de démarrage avec le jeton
{names}remplacé (par exempleDémarrage Backend, Frontend…). Trois outils en démarrage ou plus se condensent enPremier +N. - Pendant que des services tournent et qu'aucun ne démarre : le format en cours avec le jeton
{count}remplacé (par exemple2 actifs). - Au repos : seule l'icône s'affiche.
Les deux chaînes de format sont éditables. Cliquez sur le bouton crayon à côté d'un champ pour le déverrouiller, modifiez-le, puis cliquez sur la coche pour valider. Un avertissement apparaît si vous retirez le jeton requis ({names} pour le démarrage, {count} pour l'état actif).
Indicateur de sonde en échec
Indépendamment du texte d'état, un petit triangle rouge ⚠︎ apparaît à côté de l'icône Runyard dès qu'une sonde est en échec. Il disparaît dès que la sonde redevient saine. Voir Vérifications d'état.
Infobulle
Le survol de l'icône Runyard affiche une infobulle dynamique listant chaque service actif avec le port détecté et un glyphe d'état (●, ◐, ✕). Les outils arrêtés et les raccourcis sont omis.
Chemins (Paths)
La même liste que le tableau paths de premier niveau dans config.json. Ajoutez les répertoires à préfixer au PATH pour chaque commande lancée par Runyard. Utilisez le + pour ajouter, le − pour retirer (avec une bulle de confirmation).
Fichiers
Fichier de configuration
Affiche le chemin actuel de config.json (avec ~ et iCloud Drive abrégés). Lorsqu'un emplacement personnalisé est utilisé, un badge bleu Custom Location apparaît.
- Open in Editor — ouvre le fichier dans l'éditeur système par défaut pour
.json. - Reveal in Finder — sélectionne le fichier dans le Finder.
- Change Location… — choisissez un autre dossier ; Runyard y déplace
config.json. Si la destination contient déjà unconfig.json, vous pouvez l'utiliser tel quel ou le remplacer par votre fichier actuel. - Reset to Default — visible uniquement en emplacement personnalisé. Recopie
config.jsonvers~/Library/Application Support/Runyard/. La copie synchronisée n'est pas supprimée.
Voyez Dépannage → Synchroniser entre plusieurs Mac pour le flux recommandé.
Dossier des journaux
Affiche en lecture seule le chemin ~/Library/Logs/Runyard/. Le bouton Open in Finder révèle le dossier.
Reload Configuration
Relit config.json et reconstruit le menu. Les outils en cours d'exécution sont arrêtés au préalable. Équivalent à l'élément Reload Configuration du menu.
Onglet Tools — éditeur visuel
Une alternative guidée à l'édition manuelle de config.json. Les enregistrements sont écrits directement dans le même fichier, donc l'éditeur visuel et la vue JSON restent synchronisés.
À chaque enregistrement, Runyard recharge la configuration en arrière-plan — les services peuvent brièvement s'arrêter et redémarrer si leur définition a changé.
Barre latérale
La liste de chaque outil de premier niveau. Chaque ligne porte un petit badge indiquant le type :
| Badge | Type |
|---|---|
| ⚙️ sarcelle | Service |
| ⚡ jaune | Raccourci |
| 📁 gris | Groupe |
| 📡 bleu | Vérification d'état (sonde) |
- Glissez les lignes pour les réordonner. Les changements d'ordre s'enregistrent immédiatement et ne redémarrent aucun processus.
- Clic droit sur une ligne pour un menu Supprimer rapide.
- Le bouton + en bas ouvre un menu « Ajouter » — choisissez Service, Shortcut, Group ou Health Check pour insérer un nouvel outil avec des valeurs par défaut raisonnables.
- Le bouton − supprime l'outil sélectionné (avec une bulle de confirmation).
Volet de détail
L'édition d'un outil remplit un formulaire dont les sections apparaissent selon le type :
Identité
- Nom — requis.
- Type — Service / Shortcut / Group / Health Check. Le passage entre des types contenant des données incompatibles (par exemple un Service avec des commandes de démarrage qui passe en Shortcut) déclenche une alerte de confirmation ; confirmer efface les champs abandonnés.
Répertoire (service uniquement)
La racine du projet. ~ est développé. Les commandes s'exécutent depuis ce dossier sauf si un processus le redéfinit via workingDir.
Options (service uniquement)
- Démarrage automatique — démarre ce service au lancement de Runyard. Modifier ce réglage n'affecte que ce qui se passera au prochain lancement de Runyard ; il ne démarre ni n'arrête le service immédiatement. Utilisez les boutons Start/Stop dans le menu pour cela.
- Garder le menu ouvert — les clics Start/Stop ne ferment pas le menu, ce qui permet d'observer les transitions d'état en direct.
Commandes de démarrage / d'arrêt (service uniquement)
Éditeur de liste de processus. Chaque entrée est rétractable et expose les champs : commande, arguments, répertoire de travail, URL de vérification de démarrage, port de repli, délai de requête et waitFor. Utilisez les chevrons haut/bas de chaque ligne pour réordonner ou l'icône corbeille pour supprimer. Les commandes d'arrêt ignorent les champs liés à la vérification de démarrage.
Vérification d'état (probe uniquement)
- Démarrage automatique — activé par défaut. Modifier ce réglage n'affecte que ce qui se passera au prochain lancement de Runyard ; il ne met pas la sonde en pause ni ne la reprend immédiatement. Utilisez l'icône pause/lecture de la ligne de sonde dans le menu pour cela.
- Intervalle (secondes, minimum 5) et Seuil d'échec (1 ou plus).
- Forme — sélecteur segmenté HTTP / TCP.
- HTTP : URL, codes de statut attendus sous forme de pastilles supprimables (un ou plusieurs, validés entre 100–599), une sous-chaîne body contains optionnelle, et un délai de requête.
- TCP : hôte, port et délai de connexion.
Actions (service / raccourci / groupe)
Une liste rétractable d'actions. Cliquez sur une ligne pour la déplier et choisir parmi : Ouvrir URL, Exécuter commande, Afficher dans le Finder, AppleScript (inline), Fichier AppleScript, ou Vérification d'état. Utilisez les chevrons pour réordonner, le moins rouge pour supprimer.
showWhen n'est exposé que pour les actions des outils de type service — Always / Running / Stopped.
keepMenuOpen est un commutateur par action.
Outils imbriqués (groupe uniquement)
Ajoutez des entrées Service, Shortcut ou Health Check qui résident dans le sous-menu du groupe. Chaque outil imbriqué se déplie en ligne dans un sous-formulaire identique à celui de premier niveau. Les groupes eux-mêmes ne peuvent pas être imbriqués.
Commande d'installation (service uniquement)
Activez le commutateur pour ajouter une installation ponctuelle (par exemple npm install). Champs : commande, arguments, chemin de marquage. L'installation s'exécute une fois avant le premier démarrage chaque fois que le chemin de marquage est absent.
Chemins (service uniquement)
Entrées de chemin par outil, fusionnées avec la liste globale paths. Le commutateur Replace global paths (visible seulement quand au moins une entrée existe) règle pathsOverride: true.
Enregistrer / Annuler
La barre de pied de page affiche deux boutons dès qu'il y a des modifications non enregistrées :
- Revert — annule les modifications et recharge depuis le disque.
- Save (⌘S) — valide, écrit dans
config.jsonet recharge le registre.
Si la validation échoue, le message d'erreur apparaît à gauche du pied de page.
Onglet Advanced
Règle la temporisation du démarrage, de l'arrêt et de l'installation des processus. Toutes les valeurs sont optionnelles dans config.json (le bloc advanced) ; les laisser à leurs valeurs par défaut n'écrit rien.
Chaque ligne propose un champ numérique, un pas et une ligne d'aide indiquant la valeur par défaut, le minimum et le maximum. Les valeurs hors plage déclenchent un avertissement orange et sont écrêtées à l'enregistrement. Les modifications s'enregistrent automatiquement 300 ms après la fin de la saisie.
Démarrage des services
| Champ | Défaut | Plage |
|---|---|---|
| Délai de démarrage | 30 s | 1–300 |
| Intervalle de sondage | 1 s | 0,1–10 |
| Délai de requête de démarrage | 5 s | 1–30 |
Processus
| Champ | Défaut | Plage |
|---|---|---|
| Délai de grâce d'arrêt | 3 s | 1–30 |
| Délai d'installation | 300 s | 10–600 |
| Délai des commandes d'arrêt | 30 s | 1–300 |
Réinitialiser par défaut
Rétablit chaque champ à sa valeur par défaut et retire le bloc advanced de config.json.
Onglet About
Affiche l'icône Runyard, la version et le copyright.
- Visit Website — ouvre le site web de Runyard.
- Send Feedback — ouvre une alerte avec deux options :
- Une case Inclure config.json (cochée par défaut). Votre
config.jsonest joint à l'e-mail pour que nous puissions reproduire les problèmes. - L'alerte compose un nouveau message via votre client de messagerie par défaut (ou copie le corps dans le presse-papiers si aucun client compatible n'est configuré), pré-rempli avec le destinataire, le sujet (
Runyard <version> feedback) et un corps contenant les informations de version macOS et Runyard. - Si votre client de messagerie par défaut ne peut pas accepter de pièces jointes via le service de partage standard, un avertissement affiche le chemin du fichier pour que vous puissiez le joindre manuellement.
- Une case Inclure config.json (cochée par défaut). Votre