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.
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
Showblendet das vorhandene native Fenster ein. Bei aktivierter Animation gleitet es von oberhalb des Bildschirms nach unten.Hidelä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 mussShowaufrufen, um es wieder einzublenden.Visibilitymeldet den aktuellen nativen Sichtbarkeitsstatus.Closezerstö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.