Passer au contenu principal
Version: Prochaine version 🚧

Options

Options de l'application​

La structure Options.App contient la configuration de l'application. Il est passé à la méthode wails.Run():

Example
import (
"github.com/wailsapp/wails/v2/pkg/options"
"github.com/wailsapp/wails/v2/pkg/options/assetserver"
"github.com/wailsapp/wails/v2/pkg/options/linux"
"github.com/wailsapp/wails/v2/pkg/options/mac"
"github.com/wailsapp/wails/v2/pkg/options/windows"
)

func main() {

err := wails.Run(&options.App{
Title: "Menus Demo",
Width: 800,
Height: 600,
DisableResize: false,
Fullscreen: false,
WindowStartState: options.Maximised,
Frameless: true,
MinWidth: 400,
MinHeight: 400,
MaxWidth: 1280,
MaxHeight: 1024,
StartHidden: false,
HideWindowOnClose: false,
BackgroundColour: &options.RGBA{R: 0, G: 0, B: 0, A: 255},
AlwaysOnTop: false,
AssetServer: &assetserver.Options{
Assets: assets,
Handler: assetsHandler,
Middleware: assetsMidldeware,
},
Menu: app.applicationMenu(),
Logger: nil,
LogLevel: logger.DEBUG,
LogLevelProduction: logger.ERROR,
OnStartup: app.startup,
OnDomReady: app.domready,
OnShutdown: app.shutdown,
OnBeforeClose: app.beforeClose,
CSSDragProperty: "--wails-draggable",
CSSDragValue: "drag",
EnableDefaultContextMenu: false,
EnableFraudulentWebsiteDetection: false,
ZoomFactor: 1.0,
IsZoomControlEnabled: false,
Bind: []interface{}{
app,
},
ErrorFormatter: func(err error) any { return err.Error() },
Windows: &windows.Options{
WebviewIsTransparent: false,
WindowIsTranslucent: false,
BackdropType: windows.Mica,
DisableWindowIcon: false,
DisableFramelessWindowDecorations: false,
WebviewUserDataPath: "",
WebviewBrowserPath: "",
Theme: windows.SystemDefault,
CustomTheme: &windows.ThemeSettings{
DarkModeTitleBar: windows.RGB(20, 20, 20),
DarkModeTitleText: windows.RGB(200, 200, 200),
DarkModeBorder: windows.RGB(20, 0, 20),
LightModeTitleBar: windows.RGB(200, 200, 200),
LightModeTitleText: windows.RGB(20, 20, 20),
LightModeBorder: windows.RGB(200, 200, 200),
},
// User messages that can be customised
Messages *windows.Messages
// OnSuspend is called when Windows enters low power mode
OnSuspend func()
// OnResume is called when Windows resumes from low power mode
OnResume func(),
WebviewGpuDisabled: false,
},
Mac: &mac.Options{
TitleBar: &mac.TitleBar{
TitlebarAppearsTransparent: true,
HideTitle: false,
HideTitleBar: false,
FullSizeContent: false,
UseToolbar: false,
HideToolbarSeparator: true,
},
Appearance: mac.NSAppearanceNameDarkAqua,
WebviewIsTransparent: true,
WindowIsTranslucent: false,
About: &mac.AboutInfo{
Title: "My Application",
Message: "© 2021 Me",
Icon: icon,
},
},
Linux: &linux.Options{
Icon: icon,
WindowIsTranslucent: false,
WebviewGpuPolicy: linux.WebviewGpuPolicyAlways,
ProgramName: "wails"
},
Debug: options.Debug{
OpenInspectorOnStartup: false,
},
})

if err != nil {
log.Fatal(err)
}
}

Title​

Le texte affichĂ© dans la barre de titre de la fenĂȘtre.

Nom : Title
Type : string

Width​

La largeur initiale de la fenĂȘtre.

Nom: Width
Type: int
DĂ©faut: 1024.

Height​

La hauteur initiale de la fenĂȘtre.

Nom: Height
Type: int
DĂ©faut: 768

DisableResize​

Par dĂ©faut, la fenĂȘtre principale est redimensionnable. Mettre ceci Ă  true le conservera une taille fixe.

Nom: DisableResize
Type: bool

Fullscreen​

ObsolĂšte: Veuillez utiliser WindowStartState.

WindowStartState​

DĂ©finit comment la fenĂȘtre devrait se prĂ©senter au dĂ©marrage.

ValeurWinMacLin
Fullscreen✅✅✅
Maximised✅✅✅
Minimised✅❌✅

Nom: WindowStartState
Type: options.WindowStartState

Frameless​

Quand rĂ©glĂ© sur true, la fenĂȘtre n'aura pas de bordure ou de barre de titre. Voir aussi les fenĂȘtres sans cadre sous Windows.

Nom: Frameless
Type: bool

MinWidth​

DĂ©finit la largeur minimale de la fenĂȘtre. Si la valeur donnĂ©e dans Width est infĂ©rieure Ă  cette valeur, la fenĂȘtre sera dĂ©finie Ă  MinWidth par dĂ©faut.

Nom: MinWidth
Type: int

MinHeight​

DĂ©finit la hauteur minimale de la fenĂȘtre. Si la valeur donnĂ©e dans Height est infĂ©rieure Ă  cette valeur, la fenĂȘtre sera dĂ©finie Ă  MinHeight par dĂ©faut.

Nom: MinHeight
Type: int

MaxWidth​

DĂ©finit la largeur maximale de la fenĂȘtre. Si la valeur donnĂ©e dans Width est supĂ©rieure Ă  cette valeur, la fenĂȘtre sera dĂ©finie Ă  MaxWidth par dĂ©faut.

Nom: MaxWidth
Type: int

MaxHeight​

DĂ©finit la hauteur maximale de la fenĂȘtre. Si la valeur donnĂ©e en Height est supĂ©rieure Ă  cette valeur, la fenĂȘtre sera dĂ©finie Ă  MaxHeight par dĂ©faut.

Nom: MaxHeight
Type: int

StartHidden​

Lorsque réglé sur true, l'application sera masquée jusqu'à ce que WindowShow soit appelé.

Nom: StartHidden
Type: bool

HideWindowOnClose​

Par dĂ©faut, la fermeture de la fenĂȘtre fermera l'application. DĂ©finir ceci Ă  true signifie que

la fenĂȘtre sera cachĂ©e Ă  la place.

Nom: HideWindowOnClose
Type: bool

BackgroundColour​

Cette valeur est la couleur de fond par dĂ©faut de la fenĂȘtre. Exemple: options.NewRGBA(255,0,0,128) - Rouge Ă  50% de transparence

Nom: BackgroundColour
Type: *options.RGBA
DĂ©faut: white

AlwaysOnTop​

Indique que la fenĂȘtre doit rester au-dessus des autres fenĂȘtres lors de la perte de focus.

Nom: AlwaysOnTop
Type: bool

Assets​

ObsolÚte: Veuillez utiliser des actifs sur les options AssetServer spécifiques.

AssetsHandler​

ObsolÚte : Veuillez utiliser AssetsHandler sur Options spécifiques à AssetServer.

AssetServer​

Ceci dĂ©finit les options spĂ©cifiques Ă  AssetServer. Il permet de personnaliser l'AssetServer avec des actifs statiques, servant les assets dynamiquement avec un http.Handler ou brancher dans la chaĂźne de requĂȘtes avec un assetserver.Middleware.

Toutes les fonctionnalités d'une http.Request ne sont pas actuellement prises en charge, veuillez consulter la matrice de fonctionnalité suivante :

FonctionalitéWinMacLin
GET✅✅✅
POST✅✅✅ 1
PUT✅✅✅ 1
PATCH✅✅✅ 1
DELETE✅✅✅ 1
Request Headers✅✅✅ 1
Request Body✅✅✅ 2
Request Body Streaming✅✅✅ 2
Response StatusCodes✅✅✅ 1
Response Headers✅✅✅ 1
Response Body✅✅✅
Response Body Streaming❌✅✅
WebSockets❌❌❌
HTTP Redirects 30x✅❌❌

Nom: AssetServer
Type: *assetserver.Options

Assets​

Les ressources statiques du frontend Ă  ĂȘtre utilisĂ©es par l'application.

Une requĂȘte GET est d'abord tentĂ©e d'ĂȘtre servie Ă  partir de ce fs.FS. Si le fs.FS retourne os. rrNotExist pour ce fichier, le traitement des requĂȘtes va revenir au Handler et essaie de rĂ©pondre Ă  la requĂȘte GET.

Si la valeur est nulle, toutes les requĂȘtes GET seront envoyĂ©es Ă  Handler.

Nom: Assets
Type: fs.FS

Handler​

Le gestionnaire d'assets est un http.Handler gĂ©nĂ©rique pour la gestion de secours des assets qui ne peuvent pas ĂȘtre trouvĂ©s.

Le gestionnaire sera appelĂ© pour chaque requĂȘte GET qui ne peut pas ĂȘtre servie Ă  partir de Assets, en raison de os.ErrNotExist. De plus, toutes les requĂȘtes non GET seront toujours servies par ce gestionnaire. Si non dĂ©fini, le rĂ©sultat est le suivant dans les cas oĂč le Gestionnaire aurait Ă©tĂ© appelĂ© :

  • RequĂȘte GET : http.StatusNotFound
  • Autre requĂȘte : http.StatusMethodNotAllowed

REMARQUE : Lorsqu'il est utilisé en combinaison avec un serveur de développement Frontend, il peut y avoir des limitations, par exemple. Vite affiche l'index.html sur chaque chemin qui ne contient pas d'extension de fichier.

Nom: AssetsHandler
Type: http.Handler

Middleware​

Middleware est un Middleware HTTP qui permet de se connecter Ă  la chaĂźne de requĂȘtes AssetServer. Il permet de sauter dynamiquement le gestionnaire de requĂȘte par dĂ©faut, par exemple implĂ©menter un routage spĂ©cialisĂ©, etc. Le Middleware est appelĂ© pour construire un nouveau http.Handler utilisĂ© par l'AssetSever et reçoit Ă©galement le gestionnaire par dĂ©faut utilisĂ© par le serveur AssetServer comme argument.

Si elle n'est pas dĂ©finie, la chaĂźne de requĂȘte AssetServer par dĂ©faut est exĂ©cutĂ©e.

Nom: Middleware
Type: assetserver.Middleware

Le menu à utiliser par l'application. Plus de détails sur les menus dans la Référence des Menu.

note

Sur Mac, si aucun menu n'est spécifié, un menu par défaut sera créé.

Nom: Menu
Type: *menu.Menu

Logger​

Le logger à utiliser par l'application. Plus de détails sur la connexion dans la Référence du logger.

Nom: Logger
Type: logger.Logger
Défaut: Logs envoyé à Stdout

LogLevel​

Le niveau de log par défaut. Plus de détails sur la connexion dans la Référence du logger.

Nom: LogLevel
Type: logger.LogLevel
DĂ©faut: Info en mode dev, Error en mode production

LogLevelProduction​

Le niveau de log par défaut pour les compilations de production. Plus de détails sur la connexion dans la Référence du logger.

Nom: LogLevelProduction
Type: logger.LogLevel
DĂ©faut: Error

OnStartup​

Ce callback est appelé aprÚs la création du frontend, mais avant que index.html n'ait été chargé. Il lui donne le contexte de l'application.

Nom: OnStartup
Type: func(ctx context.Context)

OnDomReady​

Ce callback est appelé aprÚs que le frontend ait chargé index.html et ses ressources. Il lui donne le contexte de l'application.

Nom: OnDomReady
Type: func(ctx context.Context)

OnShutdown​

Ce calllback est appelé aprÚs que le frontend ait été détruit, juste avant la fin de l'application. Il lui donne le contexte de l'application.

Nom: OnShutdown
Type: func(ctx context.Context)

OnBeforeClose​

Si ce callback est dĂ©fini, il sera appelĂ© lorsque l'application est sur le point de quitter, soit en cliquant sur la fenĂȘtre fermez le bouton ou en appelant runtime.Quit. Retourner "true" dans cette mĂ©thode entraĂźnera la poursuite de l'application, "false" continuera Ă  Ă©teindre comme d'habitude. C'est un bon exemple pour confirmer avec l'utilisateur si il souhaite quitter le programme.

Exemple:

windowsapp.go
func (b *App) beforeClose(ctx context.Context) (prevent bool) {
dialog, err := runtime.MessageDialog(ctx, runtime.MessageDialogOptions{
Type: runtime.QuestionDialog,
Title: "Quit?",
Message: "Are you sure you want to quit?",
})

if err != nil {
return false
}
return dialog != "Yes"
}

Nom: OnBeforeClose
Type: func(ctx context.Context) bool

CSSDragProperty​

Indique la propriĂ©tĂ© CSS Ă  utiliser pour identifier quels Ă©lĂ©ments peuvent ĂȘtre utilisĂ©s pour faire glisser la fenĂȘtre. Par dĂ©faut : --wails-draggable.

Nom: CSSDragProperty
Type: string

CSSDragValue​

Indique quelle valeur le style CSSDragProperty doit avoir pour faire glisser la fenĂȘtre. Par dĂ©faut: drag.

Nom: CSSDragValue
Type: string

EnableDefaultContextMenu​

EnableDefaultContextMenu active le menu contextuel par défaut du navigateur en production.

By default, the browser's default context-menu is only available in development and in a -debug build along with the devtools inspector, Using this option you can enable the default context-menu in production while the devtools inspector won't be available unless the -devtools build flag is used.

Lorsque cette option est activĂ©e, par dĂ©faut, le menu contextuel ne sera affichĂ© que pour du texte (oĂč Couper/Copier/Coller est nĂ©cessaire), pour remplacer ce comportement, vous pouvez utiliser la propriĂ©tĂ© CSS --default-contextmenu sur n'importe quel Ă©lĂ©ment HTML (y compris le corps ``) avec les valeurs suivantes :

Style CSSComportement
--default-contextmenu: auto;(défaut) n'affichera le menu contextuel par défaut que si :
contentEditable est vrai OU le texte a été sélectionné OU l'élément est entrée ou la zone de texte
--default-contextmenu: show;affichera toujours le menu de contexte par défaut
--default-contextmenu: hide;masquera toujours le menu contextuel par défaut

Cette rÚgle est héritée comme n'importe quelle rÚgle CSS normale, donc l'imbrication fonctionne comme prévu.

note

Cette fonctionnalité de filtrage n'est activée qu'en production, donc en développement et en construction de débogage, le menu contextuel complet est toujours disponible partout.

danger

Cette fonctionnalitĂ© de filtrage n'est PAS une mesure de sĂ©curitĂ©, le dĂ©veloppeur devrait s'attendre Ă  ce que le menu contextuel complet puisse ĂȘtre divulguĂ© Ă  tout moment qui pourrait contenir des commandes comme (TĂ©lĂ©charger l'image, Recharger, Enregistrer la page web), si c'est une prĂ©occupation, le dĂ©veloppeur DEVRAIT NE PAS activer le menu contextuel par dĂ©faut.

Nom: EnableDefaultContextMenu
Type: bool

EnableFraudulentWebsiteDetection​

EnableFraudulentWebWebDetection permet de rechercher des contenus frauduleux, tels que des programmes malveillants ou des tentatives d'hameçonnage. Ces services peuvent envoyer des informations à partir de votre application, telles que les URL vers lesquelles vous avez navigué et éventuellement d'autres contenus vers le cloud, des services d'Apple et de Microsoft.

Nom: EnableFraudulentWebsiteDetection
Type: bool

ZoomFactor​

Nom: ZoomFactor
Type: float64

Ceci définit le facteur de zoom pour WebView2. Il s'agit de l'option correspondant au zoom avant ou arriÚre défini par l'utilisateur.

IsZoomControlEnabled​

Nom : IsZoomControlEnabled
Type : bool

Cela permet de modifier le facteur de zoom par l'utilisateur. Veuillez noter que le facteur de zoom peut ĂȘtre dĂ©fini dans les options tandis que ne permet pas Ă  l'utilisateur de le modifier Ă  l'exĂ©cution (f.e. pour une application vitrine ou similaire).

Bind​

La liste des structs Go dĂ©finissant des mĂ©thodes qui doivent ĂȘtre liĂ©es au frontend.

Nom: Bind
Type: []interface{}

ErrorFormatter​

Une fonction qui détermine comment les erreurs sont formatées lorsqu'elles sont retournées par un appel de méthode JS-to-Go. La valeur retournée sera sous format JSON.

Nom: ErrorFormatter
Type: func (error) any

Windows​

Ceci définit les options spécifiques à Windows.

Nom: Windows
Type: *windows.Options

WebviewIsTransparent​

Mettre ceci Ă  true rendra l'arriĂšre-plan du webview transparent quand une valeur alpha de 0 est utilisĂ©e. Cela signifie que si vous utilisez rgba(0,0,0,0) pour la couleur d'arriĂšre-plan dans votre CSS, la fenĂȘtre d'hĂŽte sera affichĂ©e. Souvent combinĂ© avec WindowIsTranslucent pour faire des applications d'apparence de givre.

Nom : WebviewIsTransparent
Type : bool

WindowIsTranslucent​

DĂ©finir ceci Ă  true rendra l'arriĂšre-plan de la fenĂȘtre translucide. Souvent combinĂ© avec WebviewIsTransparent.

Pour les versions de Windows 11 avant la version 22621, cela utilisera la mĂ©thode BlurBehind pour la transluciditĂ©, qui peut ĂȘtre lente. Pour les versions de Windows 11 aprĂšs la version 22621, cela activera les nouveaux types de transparence qui sont beaucoup plus rapides. Par dĂ©faut, le type de transparence utilisĂ© sera dĂ©terminĂ© par Windows. Pour configurer ceci, utilisez l'option BackdropType.

Nom: WindowIsTranslucent
Type: bool

BackdropType​

note

Nécessite Windows 11 version 22621 ou supérieure.

DĂ©finit le type de transparence de la fenĂȘtre. Ceci n'est applicable que si WindowIsTranslucent est dĂ©fini Ă  true.

Nom: BackdropType
Type windows.BackdropType

La valeur peut ĂȘtre l'une des valeurs suivantes :

ValeurDescription
AutoLaisser Windows décider quel arriÚre-plan utiliser
NoneNe pas utiliser de transparence
AcrylicUtilisez l'effet Acrylique
MicaUtiliser l'effet Mica
TabbedUtiliser Tabbed. C'est un arriĂšre-plan qui est similaire Ă  Mica.

DisableWindowIcon​

Définir ceci à true supprimera l'icÎne dans le coin supérieur gauche de la barre de titre.

Nom: DisableWindowIcon
Type: bool

DisableFramelessWindowDecorations​

DĂ©finir ceci Ă  true supprimera les dĂ©corations de fenĂȘtre en mode sans cadre. Cela signifie qu'il n'y aura pas de « Aero Shadow» et aucun « Coins arrondis» ne sera affichĂ© pour la fenĂȘtre. Veuillez noter que les "coins arrondis" ne sont pris en charge que sur Windows 11.

Nom: DisableFramelessWindowDecorations
Type: bool

WebviewUserDataPath​

Ceci dĂ©finit le chemin oĂč WebView2 stocke les donnĂ©es de l'utilisateur. Si vide, %APPDATA%\[BinaryName.exe] sera utilisĂ©.

Nom: WebviewUserDataPath
Type: string

WebviewBrowserPath​

Ceci définit le chemin vers un répertoire avec les fichiers exécutables et bibliothÚques WebView2. Si l'option est vide, l'instance de webview2 installé dans le systÚme sera utilisé.

Informations importantes sur la version corrigée :

Nom: WebviewBrowserPath
Type: string

Theme​

Version minimale de Windows : Windows 10 2004/20H1

Ceci définit le thÚme que l'application doit utiliser :

ValeurDescription
SystemDefaultDefault. Le thÚme sera basé sur la valeur par défaut du systÚme. Si l'utilisateur change de thÚme, l'application se mettra à jour pour utiliser le nouveau paramÚtre
DarkL'application utilisera uniquement un thĂšme sombre
LightL'application utilisera uniquement un thĂšme clair

Nom: Theme
Type: windows.Theme

CustomTheme​

note

Version minimale de Windows : Windows 10/11 2009/21H2 Build 22000

Vous permet de spĂ©cifier des couleurs personnalisĂ©es pour la barre de titre, le texte de titre et la bordure pour le mode clair et foncĂ©. ainsi que lorsque la fenĂȘtre est active ou inactive.

Nom: CustomTheme
Type: windows.CustomTheme

Type CustomTheme​

Le struct CustomTheme utilise int32 pour spécifier les valeurs de couleurs. Celles-ci sont au format standard(!) Windows soit : 0x00BBGGAA. Une fonction d'aide est fournie pour effectuer les conversions de RGB dans ce format : windows.RGB(r,g,b uint8).

NOTE : Toute valeur non fournie sera par défaut noire.

type ThemeSettings struct {
DarkModeTitleBar int32
DarkModeTitleBarInactive int32
DarkModeTitleText int32
DarkModeTitleTextInactive int32
DarkModeBorder int32
DarkModeBorderInactive int32
LightModeTitleBar int32
LightModeTitleBarInactive int32
LightModeTitleText int32
LightModeTitleTextInactive int32
LightModeBorder int32
LightModeBorderInactive int32
}

Exemple:

    CustomTheme: &windows.ThemeSettings{
// Theme to use when window is active
DarkModeTitleBar: windows.RGB(255, 0, 0), // Red
DarkModeTitleText: windows.RGB(0, 255, 0), // Green
DarkModeBorder: windows.RGB(0, 0, 255), // Blue
LightModeTitleBar: windows.RGB(200, 200, 200),
LightModeTitleText: windows.RGB(20, 20, 20),
LightModeBorder: windows.RGB(200, 200, 200),
// Theme to use when window is inactive
DarkModeTitleBarInactive: windows.RGB(128, 0, 0),
DarkModeTitleTextInactive: windows.RGB(0, 128, 0),
DarkModeBorderInactive: windows.RGB(0, 0, 128),
LightModeTitleBarInactive: windows.RGB(100, 100, 100),
LightModeTitleTextInactive: windows.RGB(10, 10, 10),
LightModeBorderInactive: windows.RGB(100, 100, 100),
},

Messages​

Un struct de chaßnes utilisées par l'installateur webview2 si un runtime webview2 valide n'est pas trouvé.

Nom: Messages
Type: *windows.Messages

Personnalisez ceci pour n'importe quelle langue que vous choisissez de supporter.

ResizeDebounceMS​

ResizeDebounceMS est le temps entre deux rĂ©ajustements du contenu de la fenĂȘtre lors du redimensionnement de la fenĂȘtre. La valeur par dĂ©faut (0) effectuera des rĂ©ajustements aussi vite qu'il le peut.

Nom: ResizeDebounceMS
Type: uint16

OnSuspend​

Si défini, cette fonction sera appelée lorsque Windows passera en mode économie d'énergie

Nom: OnSuspend
Type: func()

OnResume​

Si défini, cette fonction sera appelée lorsque Windows sortira du mode économie d'énergie

Nom: OnResume
Type: func()

WebviewGpuIsDisabled​

Définir ceci à true désactivera l'accélération matérielle GPU pour la webview.

Nom: WebviewGpuIsDisabled
Type: bool

EnableSwipeGestures​

Setting this to true will enable swipe gestures for the webview.

Name: EnableSwipeGestures
Type: bool

Mac​

Ceci définit les options spécifiques à Mac.

Nom: Mac
Type: *mac.Options

TitleBar​

La structure TitleBar permet de configurer l'apparence de la barre de titre.

Nom: TitleBar
Type: *mac.TitleBar

Struct de la Titlebar​

La barre de titre de l'application peut ĂȘtre personnalisĂ©e en utilisant les options suivantes de TitleBar :

type TitleBar struct {
TitlebarAppearsTransparent bool
HideTitle bool
HideTitleBar bool
FullSizeContent bool
UseToolbar bool
HideToolbarSeparator bool
}
NomDescription
TitlebarAppearsTransparentRend la barre de titre transparente. Cela a pour effet de masquer la barre de titre et le contenu remplit la fenĂȘtre. Apple Docs
HideTitleMasque le titre de la fenĂȘtre. Apple Docs
HideTitleBarSupprime NSWindowStyleMaskTitled du style
FullSizeContentFait que la webview remplisse toute la fenĂȘtre. Apple Docs
UseToolbarAjoute une barre d'outils par dĂ©faut Ă  la fenĂȘtre. Apple Docs
HideToolbarSeparatorSupprime la ligne située sous la barre d'outils. Apple Docs

Des paramÚtres préconfigurés sont disponibles :

ConfigurationExemple
mac.TitleBarDefault()
mac.TitleBarHidden()
mac.TitleBarHiddenInset()

Exemple:

Mac: &mac.Options{
TitleBar: mac.TitleBarHiddenInset(),
}

Cliquez sur ici si vous voulez de l'inspiration sur la personnalisation de la barre de titre.

Appearance​

L'apparence est utilisée pour définir le style de votre application en accord avec les noms NSAppearance d'Apple.

Nom: Appearance
Type: mac.AppearanceType

Type d'Appearance​

Vous pouvez spécifier l'apparence de l'application.

ValeurDescription
DefaultAppearanceDefaultAppararance utilise la valeur systÚme par défaut
NSAppearanceNameAquaUtilise l'apparence thĂšme clair standard
NSAppearanceNameDarkAquaUtilise l'apparence thĂšme sombre standard
NSAppearanceNameVibrantLightUtilise une apparence avec une lumiĂšre vibrante
NSAppearanceNameAccessibilityHighContrastAquaUtilise l'apparence thÚme clair standard avec un constrate élevé
NSAppearanceNameAccessibilityHighContrastDarkAquaUtilise l'apparence thÚme sombre standard avec un contraste élevé
NSAppearanceNameAccessibilityHighContrastVibrantLightUtilise l'apparence lumiÚre vibrante avec un constrate élevé
NSAppearanceNameAccessibilityHighContrastVibrantDarkUtilise l'apparence du thÚme sombre vibrant avec un constrate élevé

Exemple:

Mac: &mac.Options{
Appearance: mac.NSAppearanceNameDarkAqua,
}

WebviewIsTransparent​

Mettre ceci Ă  true rendra l'arriĂšre-plan du webview transparent quand une valeur alpha de 0 est utilisĂ©e. Cela signifie que si vous utilisez rgba(0,0,0,0) pour la couleur d'arriĂšre-plan dans votre CSS, la fenĂȘtre d'hĂŽte sera affichĂ©e. Souvent combinĂ© avec WindowIsTranslucent pour faire des applications d'apparence de givre.

Nom : WebviewIsTransparent
Type : bool

WindowIsTranslucent​

DĂ©finir ceci Ă  true rendra l'arriĂšre-plan de la fenĂȘtre translucide. Souvent combinĂ© avec WebviewIsTransparent pour donner un aspect givrĂ© Ă  la fenĂȘtre.

Nom: WindowIsTranslucent
Type: bool

Preferences​

The Preferences struct provides the ability to configure the Webview preferences.

Name: Preferences
Type: *mac.Preferences

Preferences struct​

You can specify the webview preferences.

type Preferences struct {
TabFocusesLinks u.Bool
TextInteractionEnabled u.Bool
FullscreenEnabled u.Bool
}
NomDescription
TabFocusesLinksA Boolean value that indicates whether pressing the tab key changes the focus to links and form controls. Apple Docs
TextInteractionEnabledA Boolean value that indicates whether to allow people to select or otherwise interact with text. Apple Docs
FullscreenEnabledA Boolean value that indicates whether a web view can display content full screen. Apple Docs

Exemple:

Mac: &mac.Options{
Preferences: &mac.Preferences{
TabFocusesLinks: mac.Enabled,
TextInteractionEnabled: mac.Disabled,
FullscreenEnabled: mac.Enabled,
}
}

About​

Cette configuration vous permet de dĂ©finir le titre, le message et l'icĂŽne pour l'Ă©lĂ©ment de menu "À propos" dans le menu de l'application crĂ©Ă© par le rĂŽle "AppMenu".

Nom: About
Type: *mac.AboutInfo

Struct de About​

type AboutInfo struct {
Title string
Message string
Icon []byte
}

Si ces paramùtres sont fournis, un lien de menu "À propos" apparaütra dans le menu de l'application (lors de l'utilisation du rîle AppMenu). Exemple:

//go:embed build/appicon.png
var icon []byte

func main() {
err := wails.Run(&options.App{
...
Mac: &mac.Options{
About: &mac.AboutInfo{
Title: "My Application",
Message: "© 2021 Me",
Icon: icon,
},
},
})

L'Ă©lĂ©ment de menu "À propos" apparaĂźtra dans le menu de l'application:


Lorsqu'il est cliqué, cela ouvrira la boßte de message "à propos" :


Linux​

Ceci définit les options spécifiques à Linux.

Nom: Linux
Type: *linux.Options

Icon​

DĂ©finit l'icĂŽne reprĂ©sentant la fenĂȘtre. Cette icĂŽne est utilisĂ©e lorsque la fenĂȘtre est rĂ©duite (aussi appelĂ©e iconified).

Nom: Icon
Type: []byte

Certains gestionnaires de fenĂȘtres ou environnements de bureau peuvent Ă©galement le placer dans le cadre de la fenĂȘtre, ou l'afficher dans d'autres contextes. Sur d'autres, l'icĂŽne n'est pas du tout utilisĂ©e, donc son utilisation peut varier.

NOTE : Gnome sur Wayland n'affiche pas cette icĂŽne. Pour y avoir une icĂŽne d'application, un fichier .desktop doit ĂȘtre utilisĂ©. Sous KDE, cela devrait fonctionner.

L’icĂŽne doit ĂȘtre fournie dans la taille qu’elle a Ă©tĂ© dessinĂ©e naturellement, c’est-Ă -dire ne pas redimensionner l’image avant de la passer. La mise Ă  l'Ă©chelle est reportĂ©e Ă  la derniĂšre minute, lorsque la taille finale dĂ©sirĂ©e est connue, pour permettre une meilleure qualitĂ©.

WindowIsTranslucent​

DĂ©finir ceci Ă  true rendra l'arriĂšre-plan de la fenĂȘtre translucide. Certains gestionnaires de fenĂȘtres peuvent l'ignorer, ou rĂ©sulter en une fenĂȘtre noire.

Nom: WindowIsTranslucent
Type: bool

WebviewGpuPolicy​

Cette option est utilisée pour déterminer la politique d'accélération matérielle effectuée par webview.

Nom: WebviewGpuPolicy
Type: options.WebviewGpuPolicy
DĂ©faut: WebviewGpuPolicyAlways

Type de WebviewGpuPolicy​
ValeurDescription
WebviewGpuPolicyAlwaysL'accélération matérielle est toujours activée
WebviewGpuPolicyOnDemandL'accélération matérielle est activée/désactivée à la demande du contenu web
WebviewGpuPolicyNeverL'accélération matérielle est toujours désactivée

ProgramName​

This option is used to set the program's name for the window manager via GTK's g_set_prgname(). This name should not be localized, see the docs.

When a .desktop file is created this value helps with window grouping and desktop icons when the .desktop file's Name property differs form the executable's filename.

Name: ProgramName
Type: string

Debug​

Ceci définit les options spécifiques au débogage qui s'appliquent aux compilations de débogage.

Nom: Debug
Type: options.Debug

OpenInspectorOnStartup​

Définir cette option à true ouvrira l'inspecteur Web au démarrage de l'application.

Nom: OpenInspectorOnStartup
Type: bool


  1. Cela nĂ©cessite la prise en charge de WebKit2GTK 2.36+ et votre application doit ĂȘtre construite avec la balise de compilation webkit2_36 pour activer le support de cette fonctionnalitĂ©. Cela augmente aussi la version minnimale de WebKit2GTK Ă  2.36 pour votre application.↩
  2. Cela nĂ©cessite la prise en charge de WebKit2GTK 2.40+ et votre application doit ĂȘtre construite avec la balise de compilation webkit2_40 pour activer le support de cette fonctionnalitĂ©. Cela augmente aussi la version minnimale de WebKit2GTK Ă  2.40 pour votre application.  [ ↩](#fnref2:2){.footnote-backref} ↩{.footnote-backref}↩