Files
ai-control/src-tauri/build.rs
T
marcus hinz 9de58d43e8 Archiv als eigenes Fenster: Trilium raus, Notizbaum mit In-Place-Bearbeitung
Trilium-Integration komplett zurückgenommen (Revert von 47951a6): keine
verwaltete Instanz, kein Runtime-Download, kein ETAPI, kein Keyring-Token,
kein Setup-Wizard. Das Archiv sind wieder Markdown-Dateien unter archiveHome
samt FTS5-Suche und Wikilinks.

Notizmodell (an Trilium orientiert, ohne dessen Überbau):
- Jeder Knoten besitzt eine Textdatei — ensure_node_texts legt fehlende beim
  Seitenaufbau an (Ordner: gleichnamiges .md daneben, Wurzel: index.md);
  Ordner und Zwillingsdatei sind EINE Notiz mit Inhalt und Kindern.
- Der angezeigte Titel steht im Frontmatter der Datei, der Datei-/Ordnername
  ist technischer Verwaltungsname; move_folder nimmt den Knotentext mit.

Archiv-Ansicht (wiki-view):
- Baum links: Knoten- und Blatt-Symbole, Führungslinien pro Ebene, Dokumente
  näher an der Linie als Ordner; ganze Zeile wählt aus, nur der Pfeil klappt.
- Notiz-Ansicht rechts: großer Titel (Klick bearbeitet ihn → archive_set_title),
  Zurück-Knopf mit Auswahl-Verlauf, Details als Popup am Info-Knopf, Kindliste
  als abgesetzter Karten-Block mit Anlage-/Änderungsdatum.
- Bearbeiten in place: Split-View aus Rohtext und Live-Vorschau, Speichern per
  Knopf oder Ctrl+S (archive_read/archive_write; Frontmatter bleibt).
- Rechte Maustaste im Baum als einziger Aktionsweg (eigenes Kontextmenü,
  Standard-Menü des Webviews aus); Anlegen/Umbenennen über modale Dialoge.

Feste Flächenaufteilung statt Ablösen/Andocken:
- Angedocktes Panel = Session-Begleiter (ToDo, Befehle, flüchtiger Entwurf);
  der Dokument-Tab ist aus der Leiste raus.
- Archiv-Fenster = Archiv + Suche, Größe und Position einmalig beim Öffnen
  aus dem Monitor des rufenden Terminal-Fensters (85 % / 92 %); Öffner-Klick
  bei stehendem Fenster fokussiert und schaltet den Tab (panel-mode).
- Terminal-Fenster zu → Archiv-Fenster geht mit.

Neue Commands: archive_read, archive_write, archive_set_title.
2026-07-26 14:44:06 +02:00

83 lines
2.2 KiB
Rust

fn main() {
// App-ACL-Manifest: erzeugt pro Command allow-/deny-Permissions. Sobald das
// Manifest existiert, gilt deny-by-default — jedes Command muss in einer
// Capability einem Fenster zugeteilt sein (capabilities/*.json), sonst
// lehnt Tauri den Aufruf ab. Neue Commands hier UND in der passenden
// Capability eintragen.
tauri_build::try_build(
tauri_build::Attributes::new().app_manifest(tauri_build::AppManifest::new().commands(&[
"list_projects",
"create_project_full",
"add_project",
"delete_preview",
"delete_project_scoped",
"project_work_dirs",
"set_project_dir",
"add_work_dir",
"remove_work_dir",
"list_pools",
"create_oauth_pool",
"create_apikey_pool",
"create_reference_pool",
"default_config_dir",
"rename_pool",
"delete_pool",
"assign_pool",
"unassign_pool",
"set_terminal_config",
"project_icon",
"pool_label",
"usage_stats",
"stop_project",
"restart_project",
"start_or_focus_cmd",
"open_main_window",
"quit_app",
"sync_setting",
"set_sync_setting",
"terminal_font_size",
"set_terminal_font_size",
"link_pool_runtime",
"oauth_login",
"keychain_status",
"set_apikey",
"panel_archive_dir_cmd",
"panel_archive_cmd",
"set_archive_home_cmd",
"change_archive_home_cmd",
"clear_archive_home_cmd",
"archive_docs_cmd",
"reveal_path_cmd",
"spellcheck_lang",
"open_terminal",
"term_start",
"term_log",
"term_write",
"term_resize",
"buffer_read",
"enabled_modules",
"module_registry",
"set_module",
"commands_delete",
"todos_delete",
"todos_add",
"todos_update",
"panel_set",
"search_run",
"panel_load",
"wiki_open",
"archive_move",
"archive_rename",
"archive_read",
"archive_write",
"archive_set_title",
"archive_delete",
"archive_move_folder",
"archive_create_folder",
"archive_create_doc",
"open_panel_window",
])),
)
.expect("tauri-build");
}