Remote-Desktop: Drehen, Fenstergröße, Zoom auf Cursor #84

Open
opened 2026-11-02 09:38:00 +00:00 by alf · 3 comments
Owner

Warum: Beim Drehen des iPhones/iPads blieb das Hochformat-Bild unverändert und saß klein in der Mitte. Der Zoom ging immer auf die Bildmitte statt auf den Mauszeiger, und die Fenstergröße war fest (800 pt Mindestbreite).

**Warum:** Beim Drehen des iPhones/iPads blieb das Hochformat-Bild unverändert und saß klein in der Mitte. Der Zoom ging immer auf die Bildmitte statt auf den Mauszeiger, und die Fenstergröße war fest (800 pt Mindestbreite).
Author
Owner

PR #85 gemergt: feat(remote): Drehen, Fenstergröße wählbar, Zoom auf Cursor (#84)
http://docker:3000/iris/2ndbrain-ios/pulls/85

Commits:

  • feat(remote): Drehen, Fenstergröße wählbar, Zoom auf Cursor (#84)

Stand (iOS)

Befund: Drehen veränderte das Bild nicht (Hochformat-Streifen im Querformat), Pinch-Zoom ging auf die Bildmitte, Fenstergröße fest bei 800 pt Mindestbreite.

Geändert (RemoteAppSessionView.swift):

  • Wechsel Hoch-/Querformat → /screen/resize, Stream-Neustart mit bestätigter Größe (streamGeneration verhindert doppelten Reconnect).
  • Im Fenstermodus hält der Zoom den Cursor an seiner Position, Ausschnitt am Rand begrenzt.
  • Größenwahl im Overlay (Zwei-Finger-Doppeltipp): Automatisch/1000/1280/1600/2000 pt, in @AppStorage gemerkt.

Geprüft: Auf dem iPhone von Hand: Drehen, Größenstufen, Zoom auf Cursor funktionieren. xcodebuild (generisches iOS-Ziel) erfolgreich.

Nicht geprüft: iPad (auch Split View: Zielgröße nutzt UIScreen.main.bounds), Desktop-Modus (dort unverändert: Zoom auf Bildmitte, keine Größenwahl), gemerkte Stufe beim erneuten Start im Detail.

Offen: Verschieben des gezoomten Bildes (Geste noch zu entscheiden); Display-Auswahl und virtuelles Display. Voraussetzung: Mac-Server mit /screen/resize (iris/Iris#291).

PR #85 gemergt: feat(remote): Drehen, Fenstergröße wählbar, Zoom auf Cursor (#84) http://docker:3000/iris/2ndbrain-ios/pulls/85 Commits: - feat(remote): Drehen, Fenstergröße wählbar, Zoom auf Cursor (#84) --- **Stand (iOS)** **Befund:** Drehen veränderte das Bild nicht (Hochformat-Streifen im Querformat), Pinch-Zoom ging auf die Bildmitte, Fenstergröße fest bei 800 pt Mindestbreite. **Geändert (`RemoteAppSessionView.swift`):** - Wechsel Hoch-/Querformat → `/screen/resize`, Stream-Neustart mit bestätigter Größe (`streamGeneration` verhindert doppelten Reconnect). - Im Fenstermodus hält der Zoom den Cursor an seiner Position, Ausschnitt am Rand begrenzt. - Größenwahl im Overlay (Zwei-Finger-Doppeltipp): Automatisch/1000/1280/1600/2000 pt, in `@AppStorage` gemerkt. **Geprüft:** Auf dem iPhone von Hand: Drehen, Größenstufen, Zoom auf Cursor funktionieren. `xcodebuild` (generisches iOS-Ziel) erfolgreich. **Nicht geprüft:** iPad (auch Split View: Zielgröße nutzt `UIScreen.main.bounds`), Desktop-Modus (dort unverändert: Zoom auf Bildmitte, keine Größenwahl), gemerkte Stufe beim erneuten Start im Detail. **Offen:** Verschieben des gezoomten Bildes (Geste noch zu entscheiden); Display-Auswahl und virtuelles Display. Voraussetzung: Mac-Server mit `/screen/resize` (iris/Iris#291).
Author
Owner

PR #87 gemergt: feat(remote): Desktop-Zoom im Client, Zeiger als Overlay, 4K-Strom (#84)
http://docker:3000/iris/2ndbrain-ios/pulls/87

Commits:

  • feat(remote): Desktop-Zoom im Client, Zeiger als Overlay, 4K-Strom (#84)

Stand (iOS, Desktop-Modus)

Befund: Im Desktop-Modus zoomte der Client auf die Bildmitte und der Server schnitt beim Loslassen zusätzlich zu (doppelter Zoom, Fingerbewegung passte nicht zur Cursorbewegung). Der vom Server ins Bild gemalte Mauszeiger war auf der Ultrawide nur wenige Pixel groß und verschwand.

Geändert:

  • Zoom in beiden Modi nur im Client, am Cursor verankert; die viewport-Weitergabe an den Server ist entfernt.
  • Desktop-Strom mit Budget 3840×2160 (vorher 2560×1440), damit Text beim Zoomen lesbar bleibt; der Server begrenzt auf die Pixelzahl des Displays.
  • Mauszeiger im Desktop-Modus als Overlay im Client (18×30 pt, fest), Strom mit cursor=0 angefordert.

Geprüft: Auf dem iPhone mit Ultrawide (Mac Studio, 7680×2160) von Hand: Zoom und Verschieben, Zeiger sichtbar. xcodebuild (generisches iOS-Ziel) erfolgreich.

Nicht geprüft: Normales 16:9-Display im Desktop-Modus mit 3840×2160 (Bandbreite, Flüssigkeit), iPad, Zeigergröße als Einstellung.

Grenzen: Der Zeiger ist im Desktop-Modus immer ein Pfeil (wie bisher); die Form (Textcursor, Hand) wird nicht übertragen. Voraussetzung: Mac-Server mit cursor=0 (iris/Iris#291).

PR #87 gemergt: feat(remote): Desktop-Zoom im Client, Zeiger als Overlay, 4K-Strom (#84) http://docker:3000/iris/2ndbrain-ios/pulls/87 Commits: - feat(remote): Desktop-Zoom im Client, Zeiger als Overlay, 4K-Strom (#84) --- **Stand (iOS, Desktop-Modus)** **Befund:** Im Desktop-Modus zoomte der Client auf die Bildmitte und der Server schnitt beim Loslassen zusätzlich zu (doppelter Zoom, Fingerbewegung passte nicht zur Cursorbewegung). Der vom Server ins Bild gemalte Mauszeiger war auf der Ultrawide nur wenige Pixel groß und verschwand. **Geändert:** - Zoom in beiden Modi nur im Client, am Cursor verankert; die `viewport`-Weitergabe an den Server ist entfernt. - Desktop-Strom mit Budget 3840×2160 (vorher 2560×1440), damit Text beim Zoomen lesbar bleibt; der Server begrenzt auf die Pixelzahl des Displays. - Mauszeiger im Desktop-Modus als Overlay im Client (18×30 pt, fest), Strom mit `cursor=0` angefordert. **Geprüft:** Auf dem iPhone mit Ultrawide (Mac Studio, 7680×2160) von Hand: Zoom und Verschieben, Zeiger sichtbar. `xcodebuild` (generisches iOS-Ziel) erfolgreich. **Nicht geprüft:** Normales 16:9-Display im Desktop-Modus mit 3840×2160 (Bandbreite, Flüssigkeit), iPad, Zeigergröße als Einstellung. **Grenzen:** Der Zeiger ist im Desktop-Modus immer ein Pfeil (wie bisher); die Form (Textcursor, Hand) wird nicht übertragen. Voraussetzung: Mac-Server mit `cursor=0` (iris/Iris#291).
Author
Owner

PR #88 gemergt: feat(remote): Datei im Smartphone-Modus in der Mac-App öffnen und streamen (#84)
http://docker:3000/iris/2ndbrain-ios/pulls/88

Commits:

  • feat(remote): Datei im Smartphone-Modus in der Mac-App öffnen und streamen (#84)

Stand (iOS: Datei öffnen im Smartphone-/Bildschirm-Modus)

Befund: Ein Tipp auf eine Datei im Chat (Chip, Raster) führte nur zu QuickLook; .solidcraft/.step ließen sich nicht in ihrer Mac-App öffnen.

Geändert:

  • RemoteSessionLauncher.swift (neu): gemeinsame Start-Funktion für App oder Datei (filePath), nutzt die im Overlay gewählte Fenstergröße und übernimmt die vom Mac bestätigte Größe. Beide alten Start-Funktionen (Chat-Chips in AgentChatView, Raster in MediaReferenceGridView) rufen sie auf.
  • RemoteFileOpenPolicy: Im Smartphone-Modus bleibt lokal, was das Gerät anzeigen kann (Bilder, PDF, Text, Office, Audio, Video, HTML, Markdown, Archive); alles andere öffnet in der Standard-App des Macs und wird gestreamt (Doppelklick-Verhalten).
  • Bildschirm-Modus: Dateien öffnen im Raster jetzt auf dem Mac (vorher lokale Vorschau).
  • RemoteAppSessionView: Größen-Wechsel ohne Änderung wird übersprungen.

Geprüft: Von Hand auf dem iPhone: SolidCraft-Datei tippen → Session auf dem iPhone, Mac-Bildschirm unberührt. xcodebuild (generisches iOS-Ziel) erfolgreich.

Nicht geprüft: Bildschirm-Modus mit Bild/PDF im Raster, iPad, STEP/STL im Alltag, Grenzfälle der Dateityp-Liste.

Offen: Agent-Weg (Chat-Befehl → Session auf dem iPhone), siehe iris/Iris#291.

PR #88 gemergt: feat(remote): Datei im Smartphone-Modus in der Mac-App öffnen und streamen (#84) http://docker:3000/iris/2ndbrain-ios/pulls/88 Commits: - feat(remote): Datei im Smartphone-Modus in der Mac-App öffnen und streamen (#84) --- **Stand (iOS: Datei öffnen im Smartphone-/Bildschirm-Modus)** **Befund:** Ein Tipp auf eine Datei im Chat (Chip, Raster) führte nur zu QuickLook; `.solidcraft`/`.step` ließen sich nicht in ihrer Mac-App öffnen. **Geändert:** - `RemoteSessionLauncher.swift` (neu): gemeinsame Start-Funktion für App oder Datei (`filePath`), nutzt die im Overlay gewählte Fenstergröße und übernimmt die vom Mac bestätigte Größe. Beide alten Start-Funktionen (Chat-Chips in `AgentChatView`, Raster in `MediaReferenceGridView`) rufen sie auf. - `RemoteFileOpenPolicy`: Im Smartphone-Modus bleibt lokal, was das Gerät anzeigen kann (Bilder, PDF, Text, Office, Audio, Video, HTML, Markdown, Archive); alles andere öffnet in der Standard-App des Macs und wird gestreamt (Doppelklick-Verhalten). - Bildschirm-Modus: Dateien öffnen im Raster jetzt auf dem Mac (vorher lokale Vorschau). - `RemoteAppSessionView`: Größen-Wechsel ohne Änderung wird übersprungen. **Geprüft:** Von Hand auf dem iPhone: SolidCraft-Datei tippen → Session auf dem iPhone, Mac-Bildschirm unberührt. `xcodebuild` (generisches iOS-Ziel) erfolgreich. **Nicht geprüft:** Bildschirm-Modus mit Bild/PDF im Raster, iPad, STEP/STL im Alltag, Grenzfälle der Dateityp-Liste. **Offen:** Agent-Weg (Chat-Befehl → Session auf dem iPhone), siehe iris/Iris#291.
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/2ndbrain-ios#84
No description provided.