Dossier-Launcher
Der Dossier-Launcher ist eine separate Tauri 2 Standalone-App. Sie verwaltet Projekte, hält Settings, liefert Auto-Updates und lebt im System-Tray.
Was er macht
Technologie
| Komponente | Stack |
|---|---|
| Frontend | React + Vite (launcher/src/) |
| Backend | Rust + Tauri 2 (launcher/src-tauri/) |
| Update-Plugin | tauri-plugin-updater |
| Tray-Plugin | tauri-plugin-tray |
| IPC zu Rhino | Dateibasiert (kein Socket) |
Settings-Files
Pfad-Hierarchie:
- Primär (Launcher schreibt):
~/Library/Application Support/ch.gabrielevarano.Dossier/dossier_settings.json - Legacy-Fallback (read-only):
~/Library/Application Support/RhinoPanel/dossier_settings.json
Recent-Cache:
~/Library/Application Support/ch.gabrielevarano.Dossier/recent.json
Bekannte Settings-Keys
| Key | Beschreibung |
|---|---|
windowLayout | Aktives Window-Layout (XML-Display-Name) |
autoApplyLayout | Bool — Layout beim Projekt-Wechsel anwenden? |
pendingApplyLayout | Pending Layout-Name — wird von oberleiste.tick_idle() gepollt und gelöscht |
rhinoApp | Pfad zum Rhino-App-Bundle |
templatePath | Default-Template für neue Projekte |
Window-Layouts auf Mac
Mac Rhino 8 speichert Window-Layouts als XML unter:
~/Library/Application Support/McNeel/Rhinoceros/8.0/settings/Scheme__Default/workspaces/<GUID>.xmlDisplay-Name aus dem <RhinoUI name="…"> Attribut. Der Launcher liest diese Datei direkt — kein .rwl wie auf Windows.
Apply via Reflection über Rhino.UI.WindowLayout.*, Fallback _-SetActiveLayout "Name" _Enter.
Live-Push Workflow
Launcher ─writes─▶ pendingApplyLayout key ──▶ dossier_settings.json
│
▼
Rhino-Plugin: oberleiste.tick_idle() ─polls─▶ liest + clearet
│
▼
Window-Layout aktivPolling-Intervall: 500 ms im Rhino-Idle-Handler. Latenz spürbar < 1 s.
Setup
cd launcher
npm install
npm run tauri dev # Development-ModeRelease-Build mit Code-Signing:
cd launcher
./scripts/release.sh # → schreibt latest.json für UpdaterVoraussetzungen siehe Tauri Prerequisites.
Standalone
Rhino läuft ohne Launcher — Settings haben sinnvolle Defaults, Plugin funktioniert direkt aus dem PackageManager-Install.
Launcher läuft ohne Rhino — Projekt-Verwaltung, Settings-Editor und Updates funktionieren auch ohne installiertes Rhino. IPC ist bewusst dateibasiert.