Mitwirken

Diese Dokumentation bearbeiten

Übersetzen Sie die Dokumentation oder öffnen Sie das vollständige Projekt auf Ihrem Computer.

Es wird nichts veröffentlicht, bevor Sie Ihre Arbeit zur Übermittlung freigeben.

Notch-Fenster

Erstellt native macOS-Fenster, die am Kameragehäuse angedockt sind.

NewNotchWindow erstellt ein geformtes, nicht aktivierendes macOS-Panel, das am Kameragehäuse angedockt ist. Wails steuert die native Positionierung, die schwarzen seitlichen Ansätze, die transparente äußere Zeichenfläche, die Fensterebene, das Verhalten in Spaces sowie optionale Ein- und Ausblendeanimationen. Ihre Webinhalte belegen nur das angeforderte innere Rechteck. Wenn Sie den Zeiger in das Fenster bewegen, wird dessen Webview sofort zum Key-Window, ohne die Anwendung zu aktivieren.

Eine Wails-Notch-Benachrichtigung, die vom Kameragehäuse des MacBook nach unten gleitet, Live-Systemmetriken anzeigt und sich wieder unter der Notch verbirgt
Eine animierte Notch-Benachrichtigung mit einer persistenten Webview und nativen Ein- und Ausblendübergängen.
go
alert := app.Window.NewNotchWindow(application.NotchWindowOptions{
    Width:    660,
    Height:   92,
    Animated: true,
    WindowOptions: application.WebviewWindowOptions{
        Name: "alert",
        URL:  "/alert",
    },
})

alert.Show()
alert.Hide()
visible := alert.Visibility()
alert.Close()

Optionen

Feld Typ Standardwert Beschreibung
Width int 660 Nutzbare Breite der Webview innerhalb der nativen geformten Ränder.
Height int 92 Nutzbare Höhe der Webview innerhalb der nativen geformten Ränder.
Animated bool false Schiebt das Fenster bei Show nach unten und bei Hide nach oben.
AnimationSpeed time.Duration 420ms Dauer des Einblendens. Das Ausblenden verwendet zwei Drittel dieses Werts, standardmäßig 280ms.
Screen *Screen primärer Bildschirm Verwendet einen bestimmten Bildschirm. Andernfalls verwendet Wails den primären Bildschirm.
WindowOptions WebviewWindowOptions Standardwerte Gibt den Namen, die URL oder HTML, CSS, JavaScript, Tastenbelegungen und weiteres Webview-Verhalten an.

NewNotchWindow steuert äußere Größe, Position, Rahmen, Transparenz, Richtlinie zur Größenänderung, native Panel-Klasse, Fensterebene und Sammlungsverhalten. Werte für diese Felder in WindowOptions werden absichtlich ersetzt. Andere Felder bleiben erhalten. Das native Ziehen über den Hintergrund und CSS-Ziehbereiche sind deaktiviert, damit das Fenster am Kameragehäuse angedockt bleibt.

Das zurückgegebene NotchWindow stellt absichtlich nur Show, Hide, Visibility und Close bereit; die native Geometrie kann über das abstrakte Handle nicht geändert werden.

Lebenszyklus

  • Show blendet das vorhandene native Fenster ein. Bei aktivierter Animation gleitet es von oberhalb des Bildschirms nach unten.
  • Hide lässt das Fenster zur Wiederverwendung bestehen. Bei aktivierter Animation gleitet es zurück über den Bildschirmrand, bevor es aus der Anzeigereihenfolge entfernt wird. Webview, JavaScript-Zustand, Bindings und Event-Listener bleiben geladen, aber das ausgeblendete Fenster bietet kein Hover-Ziel. Die Anwendung muss Show aufrufen, um es wieder einzublenden.
  • Visibility meldet den aktuellen nativen Sichtbarkeitsstatus.
  • Close zerstört das native Fenster dauerhaft. Erstellen Sie ein neues, bevor Sie diese Benachrichtigung erneut anzeigen.
  • Beim Eintritt des Zeigers wird dieses Notch-Fenster nach vorn gebracht und seine Webview für die sofortige Tastaturinteraktion fokussiert, während das nicht aktivierende Panel-Verhalten erhalten bleibt.

Jeder Aufruf von NewNotchWindow erstellt ein unabhängiges Fenster mit eigenem Inhalt, eigener Sichtbarkeit und eigenem Animationszustand. Die Fenster verwenden dieselbe native Ebene, sodass die zuletzt angezeigte oder mit dem Zeiger betretene Instanz im Vordergrund erscheint und frühere Instanzen überlagern kann. Wenn Fenster unterschiedliche Bildschirme verwenden, wird jedes mittig am Kameragehäuse des jeweiligen Bildschirms ausgerichtet. macOS koordiniert keine Notch-Fenster verschiedener Anwendungen. Wenn separate Anwendungen Fenster an derselben Position und auf derselben Ebene anzeigen, erscheint das zuletzt angeordnete Fenster im Vordergrund.

Für Benachrichtigungen verwenden Anwendungen häufig ein ausgeblendetes Fenster erneut oder verwalten eine eigene Warteschlange in einer Webview. Wails erzwingt weder eine Warteschlange noch Ersetzung, automatisches Schließen oder eine Einzelfenster-Richtlinie.

Siehe das Beispiel für Notch-Benachrichtigungen für einen kompakten Systemmonitor, dessen aktueller JavaScript-Zustand wiederholte Ein- und Ausblendzyklen der Benachrichtigung überdauert.

Seite bearbeiten

Zuletzt aktualisiert: