Status
Status of features in v3. Incomplete - please add as you see fit.
Application
Application interface methods
Method |
Windows |
Linux |
Mac |
Notes |
run() error |
|
|
Y |
|
destroy() |
|
|
Y |
|
setApplicationMenu(menu *Menu) |
|
|
Y |
|
name() string |
|
|
Y |
|
getCurrentWindowID() uint |
|
|
Y |
|
showAboutDialog(name string, description string, icon []byte) |
|
|
Y |
|
setIcon(icon []byte) |
|
|
Y |
|
on(id uint) |
|
|
Y |
|
dispatchOnMainThread(fn func()) |
Y |
|
Y |
|
hide() |
Y |
|
Y |
|
show() |
Y |
|
Y |
|
getPrimaryScreen() (*Screen, error) |
|
|
Y |
|
getScreens() ([]*Screen, error) |
|
|
Y |
|
Webview Window
Webview Window Interface Methods
Method |
Windows |
Linux |
Mac |
Notes |
center() |
Y |
|
Y |
|
close() |
|
|
Y |
|
destroy() |
|
|
Y |
|
execJS(js string) |
|
|
Y |
|
focus() |
Y |
|
Y |
|
forceReload() |
|
|
Y |
|
fullscreen() |
Y |
|
Y |
|
getScreen() (*Screen, error) |
|
|
Y |
|
getZoom() float64 |
|
|
Y |
|
height() int |
Y |
|
Y |
|
hide() |
Y |
|
Y |
|
isFullscreen() bool |
Y |
|
Y |
|
isMaximised() bool |
Y |
|
Y |
|
isMinimised() bool |
Y |
|
Y |
|
maximise() |
Y |
|
Y |
|
minimise() |
Y |
|
Y |
|
nativeWindowHandle() (uintptr, error) |
Y |
|
Y |
|
on(eventID uint) |
|
|
Y |
|
openContextMenu(menu *Menu, data *ContextMenuData) |
|
|
Y |
|
position() (int, int) |
Y |
|
Y |
|
reload() |
|
|
Y |
|
run() |
Y |
|
Y |
|
setAlwaysOnTop(alwaysOnTop bool) |
Y |
|
Y |
|
setBackgroundColour(color RGBA) |
Y |
|
Y |
|
setFrameless(bool) |
|
|
Y |
|
setFullscreenButtonEnabled(enabled bool) |
- |
|
Y |
There is no fullscreen button in Windows |
setHTML(html string) |
|
|
Y |
|
setMaxSize(width, height int) |
Y |
|
Y |
|
setMinSize(width, height int) |
Y |
|
Y |
|
setPosition(x int, y int) |
Y |
|
Y |
|
setResizable(resizable bool) |
Y |
|
Y |
|
setSize(width, height int) |
Y |
|
Y |
|
setTitle(title string) |
Y |
|
Y |
|
setURL(url string) |
|
|
Y |
|
setZoom(zoom float64) |
|
|
Y |
|
show() |
Y |
|
Y |
|
size() (int, int) |
Y |
|
Y |
|
toggleDevTools() |
|
|
Y |
|
unfullscreen() |
Y |
|
Y |
|
unmaximise() |
Y |
|
Y |
|
unminimise() |
Y |
|
Y |
|
width() int |
Y |
|
Y |
|
zoom() |
|
|
Y |
|
zoomIn() |
|
|
Y |
|
zoomOut() |
|
|
Y |
|
zoomReset() |
|
|
Y |
|
Runtime
Application
Feature |
Windows |
Linux |
Mac |
Notes |
Quit |
|
|
Y |
|
Hide |
Y |
|
Y |
|
Show |
Y |
|
Y |
|
Dialogs
Feature |
Windows |
Linux |
Mac |
Notes |
Info |
|
|
Y |
|
Warning |
|
|
Y |
|
Error |
|
|
Y |
|
Question |
|
|
Y |
|
OpenFile |
|
|
Y |
|
SaveFile |
|
|
Y |
|
Clipboard
Feature |
Windows |
Linux |
Mac |
Notes |
SetText |
|
|
Y |
|
Text |
|
|
Y |
|
Feature |
Windows |
Linux |
Mac |
Notes |
OpenContextMenu |
|
|
Y |
|
Screens
Feature |
Windows |
Linux |
Mac |
Notes |
GetAll |
Y |
|
Y |
|
GetPrimary |
|
|
Y |
|
GetCurrent |
|
|
Y |
|
Window
Feature |
Windows |
Linux |
Mac |
Notes |
SetTitle |
Y |
|
Y |
|
SetSize |
Y |
|
Y |
|
Size |
Y |
|
Y |
|
SetPosition |
Y |
|
Y |
|
Position |
Y |
|
Y |
|
Focus |
Y |
|
Y |
|
FullScreen |
Y |
|
Y |
|
UnFullscreen |
Y |
|
Y |
|
Minimise |
Y |
|
Y |
|
UnMinimise |
Y |
|
Y |
|
Maximise |
Y |
|
Y |
|
UnMaximise |
Y |
|
Y |
|
Show |
Y |
|
Y |
|
Hide |
Y |
|
Y |
|
Center |
Y |
|
Y |
|
SetBackgroundColour |
Y |
|
Y |
https://github.com/MicrosoftEdge/WebView2Feedback/issues/1621#issuecomment-938234294 |
SetAlwaysOnTop |
Y |
|
Y |
|
SetResizable |
Y |
|
Y |
|
SetMinSize |
Y |
|
Y |
|
SetMaxSize |
Y |
|
Y |
|
Width |
Y |
|
Y |
|
Height |
Y |
|
Y |
|
ZoomIn |
|
|
Y |
Increase view scale |
ZoomOut |
|
|
Y |
Decrease view scale |
ZoomReset |
|
|
Y |
Reset view scale |
GetZoom |
|
|
Y |
Get current view scale |
SetZoom |
|
|
Y |
Set view scale |
Screen |
|
|
Y |
Get screen for window |
Window Options
A 'Y' in the table below indicates that the option has been tested and is applied when the window is created.
An 'X' indicates that the option is not supported by the platform.
Feature |
Windows |
Linux |
Mac |
Notes |
Name |
|
|
|
|
Title |
Y |
|
|
|
Width |
Y |
|
|
|
Height |
Y |
|
|
|
AlwaysOnTop |
Y |
|
|
|
URL |
|
|
|
|
DisableResize |
Y |
|
|
|
Frameless |
Y |
|
|
|
MinWidth |
Y |
|
|
|
MinHeight |
Y |
|
|
|
MaxWidth |
Y |
|
|
|
MaxHeight |
Y |
|
|
|
StartState |
Y |
|
|
|
Mac |
- |
- |
|
|
BackgroundType |
|
|
|
Acrylic seems to work but the others don't |
BackgroundColour |
Y |
|
|
|
HTML |
|
|
|
|
JS |
|
|
|
|
CSS |
|
|
|
|
X |
|
|
|
|
Y |
|
|
|
|
HideOnClose |
Y |
|
|
|
FullscreenButtonEnabled |
|
|
|
|
Hidden |
Y |
|
|
|
EnableFraudulentWebsiteWarnings |
|
|
|
|
Zoom |
|
|
|
|
EnableDragAndDrop |
|
|
|
|
Windows |
Y |
- |
- |
|
Focused |
Y |
|
|
|
Log
To log or not to log? System logger vs custom logger.
Event |
Windows |
Linux |
Mac |
Notes |
Default Application Menu |
|
|
Y |
|
Feature |
Windows |
Linux |
Mac |
Notes |
Icon |
Y |
|
Y |
Windows has default icons for light/dark mode & supports PNG or ICO. |
Label |
- |
|
Y |
|
Label (ANSI Codes) |
- |
|
|
|
Menu |
|
|
Y |
|
Cross Platform Events
Mapping native events to cross-platform events.
Event |
Windows |
Linux |
Mac |
Notes |
WindowWillClose |
|
|
WindowWillClose |
|
WindowDidClose |
|
|
|
|
WindowDidResize |
|
|
|
|
WindowDidHide |
|
|
|
|
ApplicationWillTerminate |
|
|
|
|
... Add more
Bindings Generation
TBD
Models Generation
TBD
Task file
TBD
Theme
Mode |
Windows |
Linux |
Mac |
Notes |
Dark |
Y |
|
|
|
Light |
Y |
|
|
|
System |
Y |
|
|
|
NSIS Installer
TBD
Templates
TBD
Plugins
Built-in plugin support:
Plugin |
Windows |
Linux |
Mac |
Notes |
Browser |
|
|
Y |
|
KV Store |
|
|
Y |
|
Log |
|
|
Y |
|
Single Instance |
|
|
Y |
|
SQLite |
|
|
Y |
|
Start at login |
|
|
Y |
|
Server |
|
|
|
|
Packaging
|
Windows |
Linux |
Mac |
Notes |
Icon Generation |
|
|
Y |
|
Icon Embedding |
|
|
Y |
|
Info.plist |
|
|
Y |
|
NSIS Installer |
|
|
- |
|
Mac bundle |
|
|
Y |
|
Windows exe |
|
|
- |
|
Frameless Windows
Feature |
Windows |
Linux |
Mac |
Notes |
Resize |
|
|
|
|
Drag |
|
|
|
|
Mac Specific
Mac Options
Feature |
Default |
Notes |
Backdrop |
MacBackdropNormal |
Standard solid window |
DisableShadow |
false |
|
TitleBar |
|
Standard window decorations by default |
Appearance |
DefaultAppearance |
|
InvisibleTitleBarHeight |
0 |
Creates an invisible title bar for frameless windows |
Windows Specific
Windows Options
Feature |
Default |
Notes |
BackdropType |
|
|
DisableIcon |
|
|
Theme |
|
|
CustomTheme |
|
|
DisableFramelessWindowDecorations |
|
|
WindowMask |
nil |
Makes the window the contents of the bitmap |
Linux Specific