diff --git a/v2/internal/frontend/desktop/darwin/WailsContext.h b/v2/internal/frontend/desktop/darwin/WailsContext.h index fe66f3549dd..99b6ce2def7 100644 --- a/v2/internal/frontend/desktop/darwin/WailsContext.h +++ b/v2/internal/frontend/desktop/darwin/WailsContext.h @@ -58,6 +58,7 @@ struct Preferences { bool *tabFocusesLinks; bool *textInteractionEnabled; + bool *fullscreenEnabled; }; - (void) CreateWindow:(int)width :(int)height :(bool)frameless :(bool)resizable :(bool)fullscreen :(bool)fullSizeContent :(bool)hideTitleBar :(bool)titlebarAppearsTransparent :(bool)hideTitle :(bool)useToolbar :(bool)hideToolbarSeparator :(bool)webviewIsTransparent :(bool)hideWindowOnClose :(NSString *)appearance :(bool)windowIsTranslucent :(int)minWidth :(int)minHeight :(int)maxWidth :(int)maxHeight :(bool)fraudulentWebsiteWarningEnabled :(struct Preferences)preferences; diff --git a/v2/internal/frontend/desktop/darwin/WailsContext.m b/v2/internal/frontend/desktop/darwin/WailsContext.m index 379b2fe9c4b..f1e5d85e811 100644 --- a/v2/internal/frontend/desktop/darwin/WailsContext.m +++ b/v2/internal/frontend/desktop/darwin/WailsContext.m @@ -224,6 +224,12 @@ - (void) CreateWindow:(int)width :(int)height :(bool)frameless :(bool)resizable config.preferences.textInteractionEnabled = *preferences.textInteractionEnabled; } } + + if (@available(macOS 12.3, *)) { + if (preferences.fullscreenEnabled != NULL) { + config.preferences.elementFullscreenEnabled = *preferences.fullscreenEnabled; + } + } // [config.preferences setValue:[NSNumber numberWithBool:true] forKey:@"developerExtrasEnabled"]; diff --git a/v2/internal/frontend/desktop/darwin/window.go b/v2/internal/frontend/desktop/darwin/window.go index 803d04c1ef8..c0f62741920 100644 --- a/v2/internal/frontend/desktop/darwin/window.go +++ b/v2/internal/frontend/desktop/darwin/window.go @@ -95,6 +95,10 @@ func NewWindow(frontendOptions *options.App, debug bool, devtools bool) *Window if mac.Preferences.TextInteractionEnabled.IsSet() { preferences.textInteractionEnabled = bool2CboolPtr(mac.Preferences.TextInteractionEnabled.Get()) } + + if mac.Preferences.FullscreenEnabled.IsSet() { + preferences.fullscreenEnabled = bool2CboolPtr(mac.Preferences.FullscreenEnabled.Get()) + } } windowIsTranslucent = bool2Cint(mac.WindowIsTranslucent) diff --git a/v2/pkg/options/mac/preferences.go b/v2/pkg/options/mac/preferences.go index 2c690e7f718..dbc20c805a3 100644 --- a/v2/pkg/options/mac/preferences.go +++ b/v2/pkg/options/mac/preferences.go @@ -13,4 +13,7 @@ type Preferences struct { // A Boolean value that indicates whether to allow people to select or otherwise interact with text. // Set to true by default. TextInteractionEnabled u.Bool + // A Boolean value that indicates whether a web view can display content full screen. + // Set to false by default + FullscreenEnabled u.Bool } diff --git a/website/docs/reference/options.mdx b/website/docs/reference/options.mdx index 67e89707701..9aab876e69b 100644 --- a/website/docs/reference/options.mdx +++ b/website/docs/reference/options.mdx @@ -812,6 +812,7 @@ You can specify the webview preferences. type Preferences struct { TabFocusesLinks u.Bool TextInteractionEnabled u.Bool + FullscreenEnabled u.Bool } ``` @@ -819,6 +820,7 @@ type Preferences struct { | -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | TabFocusesLinks | A Boolean value that indicates whether pressing the tab key changes the focus to links and form controls. [Apple Docs](https://developer.apple.com/documentation/webkit/wkpreferences/2818595-tabfocuseslinks?language=objc) | | TextInteractionEnabled | A Boolean value that indicates whether to allow people to select or otherwise interact with text. [Apple Docs](https://developer.apple.com/documentation/webkit/wkpreferences/3727362-textinteractionenabled?language=objc) | +| FullscreenEnabled | A Boolean value that indicates whether a web view can display content full screen. [Apple Docs](https://developer.apple.com/documentation/webkit/wkpreferences/3917769-elementfullscreenenabled?language=objc) | Example: @@ -827,6 +829,7 @@ Mac: &mac.Options{ Preferences: &mac.Preferences{ TabFocusesLinks: mac.Enabled, TextInteractionEnabled: mac.Disabled, + FullscreenEnabled: mac.Enabled, } } ```