Options
Options de l'applicationâ
La structure Options.App contient la configuration de l'application. Il est passé à la méthode wails.Run():
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,
Bind: []interface{}{
app,
},
EnumBind: []interface{}{
AllWeekdays,
},
ErrorFormatter: func(err error) any { return err.Error() },
SingleInstanceLock: &options.SingleInstanceLock{
UniqueId: "c9c8fd93-6758-4144-87d1-34bdb0a8bd60",
OnSecondInstanceLaunch: app.onSecondInstanceLaunch,
},
DragAndDrop: &options.DragAndDrop{
EnableFileDrop: false,
DisableWebViewDrop: false,
CSSDropProperty: "--wails-drop-target",
CSSDropValue: "drop",
},
Windows: &windows.Options{
WebviewIsTransparent: false,
WindowIsTranslucent: false,
BackdropType: windows.Mica,
DisablePinchZoom: false,
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),
},
// ZoomFactor est le facteur de zoom pour WebView2. Il s'agit de l'option correspondant au zoom avant ou arriÚre défini par l'utilisateur.
ZoomFactor: float64,
// IsZoomControlEnabled permet Ă l'utilisateur de changer le facteur de zoom.
IsZoomControlEnabled: bool,
// Messages utilisateur qui peuvent ĂȘtre personnalisĂ©s
Messages: *fenĂȘtres. essages
// OnSuspend est appelé lorsque Windows entre en mode basse puissance
OnSuspend: func()
// OnResume est appelé lorsque Windows reprend le mode basse puissance
OnResume: func(),
// Désactive l'accélération matérielle GPU pour le webview
WebviewGpuDisabled: false,
// Nom de la classe pour la fenĂȘtre. Si vide, 'wailsWindow' sera utilisĂ©.
WindowClassName: "MyWindow",
},
Mac: &mac.Options{
TitleBar: &mac.TitleBar{
TitlebarAppearsTransparent: true,
HideTitle: false,
HideTitleBar: false,
FullSizeContent: false,
UseToolbar: false,
HideToolbarSeparator: true,
OnFileOpen: app.onFileOpen,
OnUrlOpen: app.onUrlOpen,
},
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.
| Valeur | Win | Mac | Lin |
|---|---|---|---|
| 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é | Win | Mac | Lin |
|---|---|---|---|
| GET | â | â | â |
| POST | â | â | â 1 |
| PUT | â | â | â 1 |
| PATCH | â | â | â 1 |
| DELETE | â | â | â 1 |
| Request Headers | â | â | â 1 |
| Request Body | â | â | â 2 |
| Request Body Streaming | â | â | â 2 |
| Response StatusCodes | â | â | â 1 |
| Response Headers | â | â |