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 cinq onglets : General, Tools, Advanced, About et Purchases.
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 vérification d'état 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 vérification d'état est en échec. Il disparaît dès que la vérification d'état redevient saine. Voir Vérifications d'état.
Afficher la tasse pleine quand Garder éveillé est actif
Ajoute un glyphe ☕ à droite de l'icône d'état Runyard quand caffeinate est activé manuellement. La tasse est cachée lors d'une activation déclenchée par un service. Activé par défaut.
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.
Garder éveillé
Durée par défaut
Définit la durée utilisée lorsque vous cliquez sur le bouton Garder éveillé sans choisir de durée. Choix : 15 minutes, 30 minutes, 1 heure, 2 heures, ou Jusqu'à désactivation (indéfiniment). 1 heure par défaut.
Empêcher aussi la veille de l'écran lors d'une activation manuelle
Équivalent à caffeinate -d : garde aussi l'écran éveillé, pas seulement le système. Désactivé par défaut, car cela empêche l'écran de se mettre en veille ou de se verrouiller. Cela s'applique uniquement à l'activation manuelle, pas aux services avec keepSystemAwake.
Popover
État par défaut à l'ouverture
Un contrôle segmenté avec trois choix pour l'apparence des cartes à l'ouverture du popover : Tout déplier, Tout réduire ou Dernier utilisé (par défaut). Les choix déplier/réduire s'appliquent la première fois qu'un outil apparaît ; les choix de réduction par carte sont mémorisés ensuite.
Afficher le résumé dans l'en-tête
Quand cette option est activée (par défaut), l'en-tête du popover affiche le nombre d'outils actifs et en erreur sous l'étiquette Runyard.
Réinitialiser l'état de réduction des cartes
Un bouton Réinitialiser… (avec confirmation) efface la mémoire de réduction de chaque carte pour que toutes les cartes se déplient à la prochaine ouverture.
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. L'onglet est divisé en une barre latérale à gauche et un volet d'édition à droite (maître-détail). La barre latérale reflète l'ordre de config.json, avec les enfants imbriqués indentés sous leur groupe parent. Le volet d'édition adapte ses champs au type de l'outil sélectionné.
À 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 barre latérale liste chaque outil dans l'ordre de config.json, sans regroupement par type. Les outils de premier niveau sont alignés à gauche ; les enfants d'un groupe sont indentés en dessous avec un chevron sur le parent pour les déplier ou les replier.
- L'icône de type identifie chaque outil : engrenage (service), antenne (vérification d'état), flèche (raccourci), dossier (groupe).
- Recherche en haut de la barre latérale filtre au fur et à mesure de la frappe. L'ordre est préservé, les outils non correspondants sont masqués et les groupes parents restent visibles si un descendant correspond. Une ligne « N outils masqués » apparaît en bas quand le filtre cache des éléments. Le nombre de correspondances (« 3 correspondances ») s'affiche à côté des groupes filtrés.
- Clic droit sur une ligne pour Supprimer (avec confirmation) et, pour les services, Afficher dans le Finder.
- + Ajouter un outil ▾ en bas de la barre latérale ouvre un sélecteur de type (Service / Vérification d'état / Raccourci / Groupe). Les nouveaux outils sont insérés en bas de la liste avec des valeurs par défaut raisonnables et immédiatement sélectionnés pour édition.
Le type est défini à la création et ne peut plus être modifié. Pour changer le type d'un outil, supprimez-le et recréez-le.
Volet d'édition
Le côté droit affiche un en-tête fixe suivi d'un formulaire défilant. L'en-tête montre le nom de l'outil, un petit badge de type en majuscules et une rangée de boutons d'action :
- ? Aide : ouvre le menu d'aide (Guide d'utilisation et exemples de configuration).
- Exporter (icône de flèche vers le haut) : écrit cet outil dans un fichier
.runyardportable. Voir Exporter et importer des outils. - 🗑 corbeille : supprime l'outil sélectionné (avec confirmation). Raccourci clavier : ⌘⌫.
- Annuler : abandonne les modifications non enregistrées et recharge depuis le disque. Si vous avez des modifications non enregistrées au moment de sélectionner un autre outil, Runyard demande confirmation avant d'abandonner.
- Enregistrer (⌘S) : valide, écrit dans
config.jsonet recharge le registre. Désactivé tant qu'une erreur de validation est présente ou qu'aucune modification n'attend.
La validation est ancrée aux champs : les erreurs apparaissent en rouge directement sous le champ fautif. Le bouton Enregistrer reste désactivé tant qu'une erreur existe.
Éditeur de service
Sections dans l'ordre du cycle de vie :
- Général : Nom (requis), Répertoire (requis, avec sélecteur Parcourir…), Démarrage automatique au lancement.
- Commande d'installation : toujours visible. La première ligne est Activer l'installation automatique ; les champs commande, arguments et chemin marqueur sont éditables quand le commutateur est activé et grisés sinon. Le désactiver préserve votre configuration (l'étape d'installation est ignorée au runtime au lieu d'être supprimée).
- Commandes de démarrage : liste rétractable de processus. Par entrée : libellé, commande, arguments, répertoire de travail, URL de vérification de démarrage (avec placeholder
{{port}}), Port de repli au démarrage, Délai de requête au démarrage et Attendre (dépend du libellé d'une commande précédente). - Commandes d'arrêt : même structure que les commandes de démarrage mais seuls les quatre premiers champs s'appliquent.
- Actions : liste rétractable de boutons d'action. Chaque ligne sélectionne : Ouvrir URL, Exécuter commande, Afficher dans le Finder, AppleScript (inline), Fichier AppleScript ou Vérification d'état. Le sélecteur Afficher quand (Toujours / En cours / Arrêté) apparaît pour les actions de niveau service. La case Confirmation (Demander une confirmation avant d'exécuter) place l'action derrière une alerte de confirmation, utile pour les actions destructives comme tuer des serveurs de dev.
- Chemins spécifiques à l'outil : entrées
PATHadditionnelles pour ce service. Remplacer les chemins globaux remplace le PATH global au lieu de fusionner.
Partout où une commande accepte des Arguments (commande d'installation, commandes de démarrage et d'arrêt, actions de type Exécuter commande), le champ est une liste avec une ligne par argument. Utilisez Ajouter un argument pour ajouter une ligne et le bouton ✕ pour en retirer une. Chaque ligne est transmise à la commande comme un seul argument littéral (Runyard ne sépare jamais une ligne sur les espaces), donc une valeur qui contient légitimement des espaces (comme --command=zsh -lc 'npm start') reste un seul argument. Saisissez chaque option et chaque valeur dans sa propre ligne plutôt que de taper une ligne de commande entière dans une seule.
Éditeur de vérification d'état
- Général : Nom, Démarrage automatique au lancement.
- Point d'accès : Sélecteur de protocole (HTTP / TCP). HTTP : URL, codes de statut attendus, sous-chaîne optionnelle « le corps contient », délai de requête. TCP : hôte, port, délai de connexion.
- Sondage : Intervalle (secondes, minimum 5), Seuil d'échec (échecs consécutifs avant de marquer la vérification d'état en échec).
Éditeur de raccourci
- Général : Nom uniquement.
- Actions : même éditeur de liste que pour les services. Les raccourcis n'ont pas d'état d'exécution, donc le sélecteur Afficher quand est masqué et
showWhenn'est pas écrit dans le JSON pour les actions de raccourci.
Éditeur de groupe
- Général : Nom uniquement.
- Actions du groupe : actions qui apparaissent dans le pied du popover du groupe. Le sélecteur Afficher quand est masqué ici (les groupes n'ont pas d'état d'exécution).
- Outils imbriqués : liste des outils enfants (Service / Raccourci / Vérification d'état ; pas de groupes imbriqués). Cliquez sur le nom d'un enfant pour aller à son éditeur (la sélection de la barre latérale se met à jour). L'icône corbeille retire un enfant après confirmation.
Suppression d'outils
Trois points d'entrée passent tous par la même alerte de confirmation :
- Cliquer sur l'icône corbeille dans l'en-tête de l'éditeur.
- Clic droit sur une ligne de la barre latérale puis Supprimer.
- Sélectionner une ligne et appuyer sur ⌘⌫.
Après confirmation, le frère suivant (ou précédent, s'il s'agissait du dernier) est sélectionné automatiquement. La suppression d'un enfant imbriqué ré-enregistre le groupe parent ; la suppression d'un outil de premier niveau recharge le registre en arrière-plan.
État vide
Quand la configuration ne contient aucun outil, la barre latérale affiche « Aucun outil configuré » en italique et le volet de droite montre une invite centrée avec quatre boutons primaires (un par type d'outil) pour un démarrage rapide.
Exporter et importer
L'éditeur de chaque outil possède un bouton Exporter (icône de flèche vers le haut) dans la barre supérieure, et un clic droit sur un outil dans la barre latérale propose Exporter…. Les deux écrivent un fichier .runyard portable. Le contrôle Importer un outil… à côté de + Add (et le double-clic sur un fichier .runyard dans le Finder) ouvre la fenêtre d'importation (revue et configuration). Voir Exporter et importer des outils.
Onglet Advanced
Règle la temporisation du démarrage, de l'arrêt et de l'installation des processus, ainsi que la rotation des journaux. Tous les champs advanced sont optionnels dans config.json, mais modifier l'un d'eux écrit un bloc advanced complet dans config.json avec toutes les valeurs renseignées (les valeurs par défaut sont écrites explicitement).
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 |
Journaux
Contrôle la rotation et le nettoyage des journaux. Runyard fait la rotation de chaque journal lorsqu'il atteint la taille maximale, compresse les plus anciennes archives en gzip, et supprime au démarrage celles qui dépassent l'âge maximal.
| Champ | Défaut | Plage |
|---|---|---|
| Taille maximale par fichier | 5 Mo | 1–100 |
| Rotations conservées | 3 fichiers | 1–20 |
| Âge maximal | 30 jours | 1–365 |
Réinitialiser par défaut
Rétablit chaque champ à sa valeur par défaut. Cela réécrit ces valeurs par défaut dans un bloc advanced complet ; cela ne retire pas le bloc advanced de config.json.
Onglet About
Affiche l'icône Runyard, la version et le copyright, suivis d'une section Nouveautés et d'une rangée de boutons.
La section Nouveautés affiche les notes de version de la version courante. Un lien Voir toutes les versions ouvre l'historique complet des versions. Les notes se rafraîchissent depuis le flux de mises à jour en direct à l'affichage de l'onglet, donc les corrections publiées après une version apparaissent quand même.
La rangée de boutons :
- Visit Website : ouvre le site web de Runyard.
- Acknowledgements : affiche les remerciements aux projets open source.
- Check for Updates : lance la même vérification de mise à jour que la tuile Mises à jour du pied du popover.
- Help (menu déroulant) : ouvre un menu avec le Guide d'utilisation et des exemples de configuration.
- 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
Onglet Purchases
Gère l'achat unique Outils illimités et la boîte à pourboires facultative. Deux sections.
Outils illimités
Le contenu de la section dépend de l'état d'activation de ce Mac.
Quand ce Mac n'est pas activé, vous voyez la carte de présentation du forfait gratuit et un des deux boutons :
- Le bouton de déblocage ouvre la page de paiement Dodo Payments dans votre navigateur par défaut, avec le prix courant intégré au libellé. Après un paiement réussi, ce Mac est activé automatiquement via l'URL de retour
runyard://activate. - J'ai une clé de licence révèle un champ de texte. Collez une clé d'un achat précédent et cliquez sur Activer pour la rattacher à ce Mac sans repasser par la page de paiement.
Quand ce Mac est activé, la section affiche la clé de licence masquée, la date d'activation et deux actions :
- Désactiver ce Mac retire l'activation pour libérer la licence et l'utiliser sur un autre Mac.
- Gérer les activations → ouvre le portail client de Dodo Payments dans votre navigateur, où vous pouvez vous connecter avec votre courriel pour voir tous vos Macs actifs sur l'ensemble de vos licences.
Pourboire
Quatre tuiles côte à côte : ☕ Café, 🥪 Dîner, 🍱 Souper et 🍽️ À votre choix (Payez ce que vous voulez). Chaque tuile ouvre sa propre page de paiement Dodo Payments dans votre navigateur par défaut. Les trois premières sont à montant fixe (affiché sur chaque tuile) ; la quatrième vous laisse choisir le montant sur la page hébergée par Dodo.
Dès qu'au moins un pourboire a été donné, une rangée de compteurs cumulés apparaît au-dessus des tuiles, avec un chiffre par tuile. Les compteurs sont stockés dans votre compte iCloud et donc partagés entre vos Macs.
Voir Achats pour la référence complète, incluant les remboursements et la confidentialité.