From ddb2f63f7b027bf1527bd98e34b76c3d5aed9dee Mon Sep 17 00:00:00 2001 From: Lea Anthony Date: Sun, 11 Dec 2022 14:39:53 +1100 Subject: [PATCH] Support Window aliases --- exp/.gitignore | 2 +- exp/pkg/application/application.go | 9 ++++++++- exp/pkg/application/window.go | 1 + exp/pkg/options/window.go | 2 ++ 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/exp/.gitignore b/exp/.gitignore index 3fa7f363f..5fbf23563 100644 --- a/exp/.gitignore +++ b/exp/.gitignore @@ -1,2 +1,2 @@ -examples/basic/basic +examples/kitchensink/kitchensink cmd/wails/wails \ No newline at end of file diff --git a/exp/pkg/application/application.go b/exp/pkg/application/application.go index 62c443db2..a2dd95210 100644 --- a/exp/pkg/application/application.go +++ b/exp/pkg/application/application.go @@ -22,7 +22,8 @@ type App struct { options *options.Application applicationEventListeners map[uint][]func() - windows map[uint]*Window + windows map[uint]*Window + windowAliases map[string]uint // Running running bool @@ -47,6 +48,12 @@ func (a *App) NewWindow(options *options.Window) *Window { a.windows = make(map[uint]*Window) } a.windows[id] = newWindow + if options.Alias != "" { + if a.windowAliases == nil { + a.windowAliases = make(map[string]uint) + } + a.windowAliases[options.Alias] = id + } if a.running { newWindow.Run() } diff --git a/exp/pkg/application/window.go b/exp/pkg/application/window.go index c91ad4a7d..b62d539ae 100644 --- a/exp/pkg/application/window.go +++ b/exp/pkg/application/window.go @@ -48,6 +48,7 @@ func getWindowID() uint { } func NewWindow(options *options.Window) *Window { + return &Window{ id: getWindowID(), options: options, diff --git a/exp/pkg/options/window.go b/exp/pkg/options/window.go index 8c94114c3..ae7cd923b 100644 --- a/exp/pkg/options/window.go +++ b/exp/pkg/options/window.go @@ -10,6 +10,8 @@ const ( ) type Window struct { + // Alias is a human-readable name for the window. This can be used to reference the window in the frontend. + Alias string Title string Width, Height int AlwaysOnTop bool