Menüleisten-Panel öffnet sich außerhalb des Bildschirms (Mac-VM): Y um eine Bildschirmhöhe versetzt #247
Labels
No labels
herkunft/alpha-feedback
status
blockiert
status
zu-testen
typ
bug
typ
docs
typ
enhancement
typ
feature
typ
idea
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
iris/Iris#247
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Befund
Auf der Mac-VM (UTM, macOS 26, Iris 2.0.1 Build 1, 1920×1200) tut ein Klick auf das Iris-Symbol in der Menüleiste nichts: kein Panel, kein Fenster.
Messung (2026-10-31, per ssh auf der VM)
log streamzeigt je Klick abwechselnd „order window front“ / „order window“ (Fenster 108).onscreen = 1, 400×365, aber bei X=1448, Y=−1166 (CG-Koordinaten) — eine Bildschirmhöhe (1200) über dem sichtbaren Bereich.statusItem.button.window.frame.minYinMenuBarPanelManager.positionPanelBelowStatusItem≈ 2370 gewesen sein statt 1170.[SkyLight] Invalid display 0x00000000. Ein Testprogramm per ssh meldetNSScreen.frame = (0, −1200, 1920, 1200)undCGMainDisplayID() = 0(ssh-Sitzung, nicht belegt für die App selbst).Ursache
Nicht geklärt. Verdacht: AppKit-Nullpunkt in der VM um eine Bildschirmhöhe verschoben (virtuelle Anzeige, Display-ID 0). Ob die App selbst oder die VM schuld ist, ist offen.
Plan
positionPanelBelowStatusItemloggtbutton.window.frame,button.window.screen,NSScreen.screens(frame, visibleFrame) und das berechnete Panel-Frame.PR #248 gemergt: fix(menueleiste): Panel liegt immer im sichtbaren Bereich, Platz im Log (iris/Iris#247)
http://docker:3000/iris/Iris/pulls/248
Commits:
Stand: Panel-Platz begrenzt, Diagnose im Log
Geändert:
Iris/MenuBarPanelPlacement.swift: reine Geometrie, das Panel liegt immer im sichtbaren Bereich des Bildschirms, auf dem die Mitte des Status-Items liegt (sonst des ersten). Höhe und Position werden begrenzt. Normalfall unverändert.MenuBarPanelManager:positionPanelBelowStatusItemundupdatePanelHeightnutzen die Funktion.com.alflewerken.iris, KategorieMenuBarPanel): beim Öffnen eine Zeile „Panel-Platz — Status-Item-Fenster … | Bildschirm des Fensters … | Hauptbildschirm … | Bildschirme …“; wird begrenzt, zusätzlich ein Fehler „Panel-Platz begrenzt … ungrenzt → begrenzt“.Geprüft:
scripts/test-menu-bar-panel-placement.sh: 13 Prüfungen, 0 Fehler (Normalfall, Y eine Bildschirmhöhe zu hoch wie in der VM, zu tief, linker/rechter Rand, zu hohes Panel, zweiter Bildschirm, verschobener Nullpunkt, keine Bildschirme).swiftc -parseaufMenuBarPanelManager.swiftohne Fehler.Nicht geprüft: Kein Xcode-Build (kein xcodebuild erlaubt), nicht auf der VM probiert. Ob die Begrenzung dort das Panel sichtbar macht, hängt davon ab, ob
NSScreenselbst verschoben ist.Offen: Die eigentliche Ursache (warum
button.window.frame.minYin der VM eine Bildschirmhöhe zu hoch ist) ist nicht geklärt. Nach dem Test das Log lesen:log show --last 5m --predicate 'process == "Iris" AND category == "MenuBarPanel"'. Zeigt es die Zahlen, wird die Ursache dort behoben.