Zum Inhalt springen

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

KomponenteStack
FrontendReact + Vite (launcher/src/)
BackendRust + Tauri 2 (launcher/src-tauri/)
Update-Plugintauri-plugin-updater
Tray-Plugintauri-plugin-tray
IPC zu RhinoDateibasiert (kein Socket)

Settings-Files

Pfad-Hierarchie:

  1. Primär (Launcher schreibt): ~/Library/Application Support/ch.gabrielevarano.Dossier/dossier_settings.json
  2. Legacy-Fallback (read-only): ~/Library/Application Support/RhinoPanel/dossier_settings.json

Recent-Cache: ~/Library/Application Support/ch.gabrielevarano.Dossier/recent.json

Bekannte Settings-Keys

KeyBeschreibung
windowLayoutAktives Window-Layout (XML-Display-Name)
autoApplyLayoutBool — Layout beim Projekt-Wechsel anwenden?
pendingApplyLayoutPending Layout-Name — wird von oberleiste.tick_idle() gepollt und gelöscht
rhinoAppPfad zum Rhino-App-Bundle
templatePathDefault-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>.xml

Display-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 aktiv

Polling-Intervall: 500 ms im Rhino-Idle-Handler. Latenz spürbar < 1 s.

Setup

cd launcher
npm install
npm run tauri dev      # Development-Mode

Release-Build mit Code-Signing:

cd launcher
./scripts/release.sh   # → schreibt latest.json für Updater

Voraussetzungen 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.