Format de configuration
Les exports de configuration SpaceLauncher sont des fichiers JSON que vous pouvez lire, comparer, copier sur un autre Mac ou traiter avec vos propres scripts.
Cette page est une référence axée sur la confiance, pas une spécification d’API complète. Le format peut évoluer ; les outils devraient préserver les champs inconnus dans la mesure du possible.
Types d’export
SpaceLauncher écrit deux types de paquets JSON.
.slbindings exporte uniquement les raccourcis :
format:name.guoc.SpaceLauncher.key-bindingsversion: actuellement1keyBindings: un tableau de règles de raccourci
.slbackup exporte une sauvegarde complète de l’app :
format:name.guoc.SpaceLauncher.backupversion: actuellement1configuration: l’AppConfigurationcomplète
La version du paquet est distincte du schemaVersion de la configuration de l’app. La version de schéma actuelle d’AppConfiguration est 2.
Configuration complète
Une AppConfiguration complète contient :
schemaVersioncommandTreesbindingsdisabledApplicationssuggestedDisabledApplicationPaths
commandTrees est la structure persistée actuelle. bindings est aussi encodé pour la compatibilité avec les outils et les anciens chemins d’import.
Règle de raccourci
Chaque règle est une FlatKeysAndActionRow avec ces champs principaux :
id: UUIDenabled: booléenapplicationScope: soitallBut(paths), soitonly(paths)keys: séquence de codes des touches de déclenchementaction: charge utile de l’action, avec une description lisible facultative dansdescriptionleaderKey: définition du leader à maintien ou à pressionholdContinuationIndexAfterAction: réglage de continuation facultatif pour les leaders à maintien
applicationScope a deux formes :
{
"allBut": {
"paths": []
}
}
{
"only": {
"paths": [
"/Applications/TextEdit.app"
]
}
}
Exemple
Cet exemple .slbindings contient un raccourci : maintenir Espace, puis presser F et D, pour ouvrir le dossier Téléchargements.
{
"appVersion": "3.0.0 (300)",
"exportedAt": "2026-06-07T12:00:00Z",
"format": "name.guoc.SpaceLauncher.key-bindings",
"keyBindings": [
{
"action": {
"description": "Open Downloads",
"openFolder": {
"applicationPath": null,
"folderPath": "~/Downloads"
}
},
"applicationScope": {
"allBut": {
"paths": []
}
},
"enabled": true,
"id": "11111111-2222-4333-8444-555555555555",
"keys": [
3,
2
],
"leaderKey": {
"hold": {
"info": {
"keepsTapFunction": true,
"keyCode": 49
}
}
}
}
],
"version": 1
}
Le code de touche 49 correspond à Espace sur la disposition de clavier Mac standard. Les codes 3 et 2 correspondent à F et D.
Comportement à l’import
L’import de raccourcis peut fusionner les nouvelles règles avec votre configuration actuelle, ou remplacer tous les raccourcis actuels. Lors d’une fusion, SpaceLauncher détecte les doublons d’après l’identité du raccourci : touche leader, touches de déclenchement et portée d’app.
La restauration d’une sauvegarde complète est différente : restaurer un .slbackup remplace la configuration de l’app. C’est prévu pour la récupération, pas pour une fusion partielle.
Pourquoi c’est important
Le format est lisible et scriptable. Vous pouvez inspecter un raccourci, comparer des changements dans un diff, migrer une configuration entre machines ou générer des règles avec vos propres outils. SpaceLauncher conserve aussi des sauvegardes locales successives et horodatées de la configuration enregistrée, et signale les conflits de raccourcis avant l’enregistrement.