5
0
mirror of https://github.com/wailsapp/wails.git synced 2025-05-02 08:41:41 +08:00

[windows] Support drawing a frame for frameless to support hiding the titlebar

This commit is contained in:
stffabi 2021-12-01 15:06:46 +01:00
parent ec1a535acb
commit 47d783291d
4 changed files with 23 additions and 7 deletions

View File

@ -34,6 +34,9 @@ func NewWindow(parent winc.Controller, appoptions *options.App) *Window {
var dwStyle = w32.WS_OVERLAPPEDWINDOW
if appoptions.Frameless {
dwStyle = w32.WS_POPUP
if winoptions := appoptions.Windows; winoptions != nil && winoptions.EnableFramelessBorder {
dwStyle |= w32.WS_BORDER
}
}
winc.RegClassOnlyOnce("wailsWindow")

View File

@ -5,4 +5,7 @@ type Options struct {
WebviewIsTransparent bool
WindowIsTranslucent bool
DisableWindowIcon bool
// Draw a border around the window, even if the window is frameless
EnableFramelessBorder bool
}

View File

@ -41,9 +41,10 @@ func main() {
app,
},
Windows: &windows.Options{
WebviewIsTransparent: false,
WindowIsTranslucent: false,
DisableWindowIcon: false,
WebviewIsTransparent: false,
WindowIsTranslucent: false,
DisableWindowIcon: false,
EnableFramelessBorder: false,
},
Mac: &mac.Options{
TitleBar: &mac.TitleBar{
@ -316,8 +317,16 @@ Name: DisableWindowIcon
Type: bool
Setting this to true will remove the icon in the top left corner of the title bar.
Setting this to `true` will remove the icon in the top left corner of the title bar.
### EnableFramelessBorder
Name: EnableFramelessBorder
Type: bool
Setting this to `true` will add a border around the window if [Frameless](#Frameless) has been activated.
This allows hiding the title bar but still having a border around the window.
## Mac Specific Options

View File

@ -40,9 +40,10 @@ func main() {
app,
},
Windows: &windows.Options{
WebviewIsTransparent: false,
WindowIsTranslucent: false,
DisableWindowIcon: false,
WebviewIsTransparent: false,
WindowIsTranslucent: false,
DisableWindowIcon: false,
EnableFramelessBorder: false,
},
Mac: &mac.Options{
TitleBar: &mac.TitleBar{