feat(panel): entkoppeltes Panel als Fenster mit Seitenleiste und Detailbereich #202

Closed
opened 2026-10-27 16:59:19 +00:00 by alf · 2 comments
Owner

Problem

Das entkoppelte Menüleisten-Panel (#167) ist dasselbe schmale Panel in einem Fenster: eine lange Spalte mit Chat-Liste (320 pt hoch), eingeklappten Einstellungs-Blöcken und Textzeilen. In einem großen Fenster bleibt die Struktur unbrauchbar.

Ziel (grill-me, 2026-10-27)

Aufbau Seitenleiste + Detailbereich (wie Systemeinstellungen), nur im entkoppelten Fenster; das Menüleisten-Panel bleibt die kompakte Variante. Hauptzwecke: Chats/Jobs ansehen und öffnen, Einstellungen finden und ändern, Status/Überwachung.

Bereiche der Seitenleiste: Chats · Status · Modelle · Schlüssel & Sprache · Embedding · Server & Geräte · Vault & Protokoll · Werkzeuge · Hilfe. Detailbereich in Fensterhöhe, Chat-Liste füllt das Fenster, Einstellungsblöcke sind dort aufgeklappt.

Randbedingung

Derselbe NSHostingView wird zwischen Panel und Fenster umgehängt (nie eine zweite CompanionPanelView, ~40 @State): das Layout schaltet über Argumente von isDetached, der Fensterinhalt füllt das Fenster statt in einem ScrollView zu hängen.

Offen

Suche über alle Einstellungen, merkbare Seitenleistenauswahl, Feinschliff nach erstem Ansehen.

## Problem Das entkoppelte Menüleisten-Panel (#167) ist dasselbe schmale Panel in einem Fenster: eine lange Spalte mit Chat-Liste (320 pt hoch), eingeklappten Einstellungs-Blöcken und Textzeilen. In einem großen Fenster bleibt die Struktur unbrauchbar. ## Ziel (grill-me, 2026-10-27) Aufbau **Seitenleiste + Detailbereich** (wie Systemeinstellungen), nur im entkoppelten Fenster; das Menüleisten-Panel bleibt die kompakte Variante. Hauptzwecke: Chats/Jobs ansehen und öffnen, Einstellungen finden und ändern, Status/Überwachung. Bereiche der Seitenleiste: Chats · Status · Modelle · Schlüssel & Sprache · Embedding · Server & Geräte · Vault & Protokoll · Werkzeuge · Hilfe. Detailbereich in Fensterhöhe, Chat-Liste füllt das Fenster, Einstellungsblöcke sind dort aufgeklappt. ## Randbedingung Derselbe `NSHostingView` wird zwischen Panel und Fenster umgehängt (nie eine zweite `CompanionPanelView`, ~40 `@State`): das Layout schaltet über Argumente von `isDetached`, der Fensterinhalt füllt das Fenster statt in einem ScrollView zu hängen. ## Offen Suche über alle Einstellungen, merkbare Seitenleistenauswahl, Feinschliff nach erstem Ansehen.
Author
Owner

PR #203 angelegt, noch nicht gemergt: feat(panel): entkoppeltes Panel als Fenster mit Seitenleiste und Detailbereich (#202)
#203

Commits:

  • feat(panel): entkoppeltes Panel als Fenster mit Seitenleiste und Detailbereich (#202)

Stand

Befund: Das entkoppelte Panel war die schmale Panel-Spalte in einem Fenster (Chat-Liste 320 pt hoch, Einstellungsblöcke eingeklappt, Textzeilen).

Geändert: Im entkoppelten Fenster zeigt CompanionPanelView (detachedLayout) eine Seitenleiste (Chats · Status · Modelle · Schlüssel & Sprache · Embedding · Server & Geräte · Vault & Protokoll · Werkzeuge · Hilfe & Info) mit Detailbereich: die Chat-Liste füllt die Fensterhöhe, Einstellungsblöcke öffnen aufgeklappt in ihrem Bereich (Karten für die Werkzeug-Zeilen), Status zeigt Berechtigungen/Warnungen mit Warnpunkt in der Seitenleiste; Beenden unten in der Seitenleiste. Das Menüleisten-Panel bleibt unverändert. DetachedPanelWindowController hält statt eines ScrollViews einen einfachen Container, Fenster 1000×720 (min. 720×480); MenuBarPanelManager ignoriert die gemessene Höhe im Fenster. CLAUDE.md-Satz zum Panel-Muster angepasst.

Geprüft: swiftc -parse aller geänderten Dateien.
Nicht geprüft: Bau, Aussehen und Verhalten — Fensterfüllung, Seitenleiste, Entkoppeln/Andocken mit erhaltenem Zustand, Chat-Liste in voller Höhe, alle Bereiche gegen echte Daten. Der Screenshot des Nutzers war für mich nicht lesbar.

Offen: Suche über alle Einstellungen, Merken der Seitenleistenauswahl, Feinschliff nach dem ersten Ansehen.

PR #203 angelegt, noch nicht gemergt: feat(panel): entkoppeltes Panel als Fenster mit Seitenleiste und Detailbereich (#202) https://forgejo.lewerken.duckdns.org/iris/Iris/pulls/203 Commits: - feat(panel): entkoppeltes Panel als Fenster mit Seitenleiste und Detailbereich (#202) --- ## Stand **Befund:** Das entkoppelte Panel war die schmale Panel-Spalte in einem Fenster (Chat-Liste 320 pt hoch, Einstellungsblöcke eingeklappt, Textzeilen). **Geändert:** Im entkoppelten Fenster zeigt `CompanionPanelView` (`detachedLayout`) eine Seitenleiste (Chats · Status · Modelle · Schlüssel & Sprache · Embedding · Server & Geräte · Vault & Protokoll · Werkzeuge · Hilfe & Info) mit Detailbereich: die Chat-Liste füllt die Fensterhöhe, Einstellungsblöcke öffnen aufgeklappt in ihrem Bereich (Karten für die Werkzeug-Zeilen), Status zeigt Berechtigungen/Warnungen mit Warnpunkt in der Seitenleiste; Beenden unten in der Seitenleiste. Das Menüleisten-Panel bleibt unverändert. `DetachedPanelWindowController` hält statt eines ScrollViews einen einfachen Container, Fenster 1000×720 (min. 720×480); `MenuBarPanelManager` ignoriert die gemessene Höhe im Fenster. CLAUDE.md-Satz zum Panel-Muster angepasst. **Geprüft:** `swiftc -parse` aller geänderten Dateien. **Nicht geprüft:** Bau, Aussehen und Verhalten — Fensterfüllung, Seitenleiste, Entkoppeln/Andocken mit erhaltenem Zustand, Chat-Liste in voller Höhe, alle Bereiche gegen echte Daten. Der Screenshot des Nutzers war für mich nicht lesbar. **Offen:** Suche über alle Einstellungen, Merken der Seitenleistenauswahl, Feinschliff nach dem ersten Ansehen.
Author
Owner

PR #203 gemergt: feat(panel): entkoppeltes Panel als Fenster mit Seitenleiste und Detailbereich (#202)
#203

Commits:

  • feat(panel): entkoppeltes Panel als Fenster mit Seitenleiste und Detailbereich (#202)
PR #203 gemergt: feat(panel): entkoppeltes Panel als Fenster mit Seitenleiste und Detailbereich (#202) https://forgejo.lewerken.duckdns.org/iris/Iris/pulls/203 Commits: - feat(panel): entkoppeltes Panel als Fenster mit Seitenleiste und Detailbereich (#202)
alf 2026-10-27 17:19:12 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
iris/Iris#202
No description provided.