--- sidebar_position: 3 --- # Options ## Application Options The `Options.App` struct contains the application configuration. It is passed to the `wails.Run()` method: ```go title="Example" import "github.com/wailsapp/wails/v2/pkg/options" func main() { err := wails.Run(&options.App{ Title: "Menus Demo", Width: 800, Height: 600, DisableResize: false, Fullscreen: false, Frameless: true, MinWidth: 400, MinHeight: 400, MaxWidth: 1280, MaxHeight: 1024, StartHidden: false, HideWindowOnClose: false, RGBA: &options.RGBA{R: 0, G: 0, B: 0, A: 255}, Assets: assets, Menu: app.applicationMenu(), Logger: nil, LogLevel: logger.DEBUG, OnStartup: app.startup, OnDomReady: app.domready, OnShutdown: app.shutdown, Bind: []interface{}{ app, }, Windows: &windows.Options{ WebviewIsTransparent: false, WindowIsTranslucent: false, DisableWindowIcon: false, }, }) if err != nil { log.Fatal(err) } } ``` ### Title Name: Title Type: string The text shown in the window's title bar. ### Width Name: Width Type: int The initial width of the window. Default: 1024. ### Height Name: Height Type: int The initial height of the window. Default: 768 ### DisableResize Name: DisableResize Type: bool By default, the main window is resizable. Setting this to `true` will keep it a fixed size. ### Fullscreen Name: Fullscreen Type: bool Setting this to `true` will make the window fullscreen at startup. ### Frameless Name: Frameless Type: bool When set to `true`, the window will have no borders or title bar. Also see [Frameless Windows](/docs/guides/frameless). ### MinWidth Name: MinWidth Type: int This sets the minimum width for the window. If the value given in `Width` is less than this value, the window will be set to `MinWidth` by default. ### MinHeight Name: MinHeight Type: int This sets the minimum height for the window. If the value given in `Height` is less than this value, the window will be set to `MinHeight` by default. ### MaxWidth Name: MaxWidth Type: int This sets the maximum width for the window. If the value given in `Width` is more than this value, the window will be set to `MaxWidth` by default. ### MaxHeight Name: MaxHeight Type: int This sets the maximum height for the window. If the value given in `Height` is more than this value, the window will be set to `MaxHeight` by default. ### StartHidden Name: StartHidden Type: bool When set to `true`, the application will be hidden until [WindowShow](/docs/reference/runtime/window#WindowShow) is called. ### HideWindowOnClose Name: HideWindowOnClose Type: bool By default, closing the window will close the application. Setting this to `true` means closing the window will hide the window instead. ### RGBA Name: RGBA Type: int (0xRRGGBBAA) Example: 0xFF000088 - Red at 50% transparency This value is the RGBA value to set the window by default. Default: 0xFFFFFFFF. ### Assets Name: Assets Type: \*embed.FS The frontend assets to be used by the application. Requires an `index.html` file. ### Menu Name: Menu Type: \*menu.Menu The menu to be used by the application. More details about Menus in the [Menu Reference](/docs/reference/runtime/menu). ### Logger Name: Logger Type: logger.Logger Default: Logger to Stdout The logger to be used by the application. More details about logging in the [Log Reference](/docs/reference/runtime/log). ### LogLevel Name: LogLevel Type: logger.LogLevel Default: `Info` in dev mode, `Error` in production mode The default log level. More details about logging in the [Log Reference](/docs/reference/runtime/log). ### OnStartup Name: OnStartup Type: func(ctx context.Context) This callback is called after the frontend has been created, but before `index.html` has been loaded. It is given the application context. ### OnDomReady Name: OnDomReady Type: func(ctx context.Context) This callback is called after the frontend has loaded `index.html` and the DOM is ready. It is given the application context. ### OnShutdown Name: OnShutdown Type: func(ctx context.Context) This callback is called after the frontend has been destroyed, just before the application terminates. It is given the application context. ### Bind Name: Bind Type: []interface{} A slice of struct instances defining methods that need to be bound to the frontend. ### Windows Name: Windows Type: \*windows.Options This defines [Windows specific options](#windows-specific-options). ## Windows Specific Options ### WebviewIsTransparent Name: WebviewIsTransparent Type: bool Setting this to `true` will make the webview background transparent when an alpha value of `0` is used. This means that if you use `rgba(0,0,0,0)`, the host window will show through. Often combined with [WindowIsTranslucent](#WindowIsTranslucent) to make frosty-looking applications. ### WindowIsTranslucent Name: WindowIsTranslucent Type: bool Setting this to `true` will make the window background translucent. Often combined with [WebviewIsTransparent](#WebviewIsTransparent) to make frosty-looking applications. ### DisableWindowIcon Name: DisableWindowIcon Type: bool Setting this to true will remove the icon in the top left corner of the title bar.