diff --git a/mkdocs-website/docs/roadmap.md b/mkdocs-website/docs/roadmap.md new file mode 100644 index 00000000..e8f2c043 --- /dev/null +++ b/mkdocs-website/docs/roadmap.md @@ -0,0 +1,42 @@ +# Roadmap + +The roadmap is a living document and is subject to change. If you have any suggestions, please open an issue. +Each milestone will have a set of goals that we are aiming to achieve. These are subject to change. + +## Alpha milestones + +### Alpha 1 + +#### Goals +Alpha 1 is the initial release. It is intended to get feedback on the new API and to get people experimenting with it. +The main goal is to get most of the examples working on all platforms. + +#### Status + +- W - Working +- P - Partially working +- N - Not working + +| Example | Mac | Windows | Linux | +|--------------|-----|---------|-------| +| binding | | W | | +| build | | W | | +| clipboard | | W | | +| contextmenus | | N | | +| dialog | | W | | +| events | | N | | +| frameless | | W | | +| keybindings | | W | | +| menu | | W | | +| plain | | W | | +| screen | | W | | +| systray | | W | | +| window | | W | | +| wml | | W | | + + +### Alpha 2 + +- [ ] Most examples working on Linux +- [ ] Project creation via `wails init` + diff --git a/mkdocs-website/overrides/home.html b/mkdocs-website/overrides/home.html index 228cf396..dbd21865 100644 --- a/mkdocs-website/overrides/home.html +++ b/mkdocs-website/overrides/home.html @@ -105,6 +105,8 @@

How do I provide feedback?

Please read this page for details on how to provide feedback. +

Is there a Roadmap

+ Yes, you can find it here. Please feel free to raise PRs against this website. Every single PR helps us get closer to a release.

Thank you for sharing this journey with us.

diff --git a/v3/cmd/wails3/README.md b/v3/cmd/wails3/README.md index 317ef298..91ecdafe 100644 --- a/v3/cmd/wails3/README.md +++ b/v3/cmd/wails3/README.md @@ -5,13 +5,9 @@ There are a number of commands related to tooling, such as icon generation and a ## Commands -### run +### task -The run command is for running tasks defined in `Taskfile.yml`. - -| Flag | Type | Description | Default | -|--------------------|--------|------------------------------------------------------|-----------------------| -| `-t` | string | The name of the task to run | | +The `task` command is for running tasks defined in `Taskfile.yml`. It is a wrapper around [Task](https://taskfile.dev). ### generate diff --git a/v3/examples/dialogs/README.md b/v3/examples/dialogs/README.md index 051aa70a..2d01667b 100644 --- a/v3/examples/dialogs/README.md +++ b/v3/examples/dialogs/README.md @@ -1,6 +1,6 @@ # Dialogs Example -This example is a comprehensive example of using dialogs in Wails. +This example is a comprehensive example of using dialogs in Wails. ## Running the example @@ -24,15 +24,10 @@ To build the example to use application icons, simply run the following command: wails3 task package ``` - # Status -| Platform | Status | -|----------|-------------------| -| Mac | | -| Windows | Partially Working | -| Linux | | - -## TODO - -- [ ] Windows: Show application icon in about dialog \ No newline at end of file +| Platform | Status | +|----------|---------| +| Mac | | +| Windows | Working | +| Linux | | diff --git a/v3/examples/drag-n-drop/README.md b/v3/examples/drag-n-drop/README.md new file mode 100644 index 00000000..30e26455 --- /dev/null +++ b/v3/examples/drag-n-drop/README.md @@ -0,0 +1,3 @@ +# Drag-n-Drop Example + +This example is not ready for testing yet. \ No newline at end of file diff --git a/v3/examples/events/README.md b/v3/examples/events/README.md new file mode 100644 index 00000000..bf1f6869 --- /dev/null +++ b/v3/examples/events/README.md @@ -0,0 +1,3 @@ +# Events Example + +This example is not ready for testing yet. \ No newline at end of file diff --git a/v3/examples/events/main.go b/v3/examples/events/main.go index a92fc0b5..abad9209 100644 --- a/v3/examples/events/main.go +++ b/v3/examples/events/main.go @@ -28,13 +28,13 @@ func main() { // Custom event handling app.Events.On("myevent", func(e *application.WailsEvent) { - log.Printf("[Go] WailsEvent received: %+v\n", e) + app.Logger.Info("[Go] WailsEvent received: %+v\n", e) }) // OS specific application events - app.On(events.Mac.ApplicationDidFinishLaunching, func(event *application.Event) { + app.On(events.Common.ApplicationStarted, func(event *application.Event) { for { - log.Println("Sending event") + app.Logger.Info("Sending event from Go!") app.Events.Emit(&application.WailsEvent{ Name: "myevent", Data: "hello", @@ -44,21 +44,22 @@ func main() { }) app.On(events.Common.ThemeChanged, func(event *application.Event) { - log.Println("System theme changed!") + app.Logger.Info("System theme changed!") if event.Context().IsDarkMode() { - log.Println("System is now using dark mode!") + app.Logger.Info("System is now using dark mode!") } else { - log.Println("System is now using light mode!") + app.Logger.Info("System is now using light mode!") } }) // Platform agnostic events app.On(events.Common.ApplicationStarted, func(event *application.Event) { - println("events.Common.ApplicationStarted fired!") + app.Logger.Info("events.Common.ApplicationStarted fired!") }) win1 := app.NewWebviewWindowWithOptions(application.WebviewWindowOptions{ Title: "Events Demo", + Name: "Window 1", Mac: application.MacWindow{ Backdrop: application.MacBackdropTranslucent, TitleBar: application.MacTitleBarHiddenInsetUnified, @@ -71,15 +72,16 @@ func main() { win1.RegisterHook(events.Common.WindowClosing, func(e *application.WindowEvent) { countdown-- if countdown == 0 { - println("Closing!") + app.Logger.Info("Window 1 Closing!") return } - println("Nope! Not closing!") + app.Logger.Info("Window 1 Closing? Nope! Not closing!") e.Cancel() }) win2 := app.NewWebviewWindowWithOptions(application.WebviewWindowOptions{ Title: "Events Demo", + Name: "Window 2", Mac: application.MacWindow{ Backdrop: application.MacBackdropTranslucent, TitleBar: application.MacTitleBarHiddenInsetUnified, @@ -90,7 +92,7 @@ func main() { var cancel bool win2.RegisterHook(events.Common.WindowFocus, func(e *application.WindowEvent) { - println("---------------\n[Hook] Window focus!") + app.Logger.Info("[Hook] Window focus!") cancel = !cancel if cancel { e.Cancel() @@ -98,7 +100,7 @@ func main() { }) win2.On(events.Common.WindowFocus, func(e *application.WindowEvent) { - println("[Event] Window focus!") + app.Logger.Info("[Event] Window focus!") }) err := app.Run() diff --git a/v3/examples/frameless/README.md b/v3/examples/frameless/README.md new file mode 100644 index 00000000..7e49bb23 --- /dev/null +++ b/v3/examples/frameless/README.md @@ -0,0 +1,19 @@ +# Frameless Example + +This example is a demonstration of using frameless windows in Wails. + +## Running the example + +To run the example, simply run the following command: + +```bash +go run main.go +``` + +# Status + +| Platform | Status | +|----------|---------| +| Mac | | +| Windows | Working | +| Linux | | diff --git a/v3/examples/frameless/go.mod b/v3/examples/frameless/go.mod index e0fa1f7a..600dec39 100644 --- a/v3/examples/frameless/go.mod +++ b/v3/examples/frameless/go.mod @@ -38,7 +38,7 @@ require ( golang.org/x/crypto v0.9.0 // indirect golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df // indirect golang.org/x/net v0.10.0 // indirect - golang.org/x/sys v0.12.0 // indirect + golang.org/x/sys v0.13.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect ) diff --git a/v3/examples/frameless/go.sum b/v3/examples/frameless/go.sum index c71ed7f6..994816c1 100644 --- a/v3/examples/frameless/go.sum +++ b/v3/examples/frameless/go.sum @@ -125,12 +125,11 @@ golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.11.0 h1:eG7RXZHdqOJ1i+0lgLgCpSXAp6M3LYlAo6osgSi0xOM= -golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= +golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.11.0 h1:F9tnn/DA/Im8nCwm+fX+1/eBwi4qFjRT++MhtVC4ZX0= -golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU= +golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek= +golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= diff --git a/v3/examples/keybindings/README.md b/v3/examples/keybindings/README.md new file mode 100644 index 00000000..a0092ccb --- /dev/null +++ b/v3/examples/keybindings/README.md @@ -0,0 +1,24 @@ +# Keybindings Example + +This simple example demonstrates how to use keybindings in your application. +Run the example and press `Ctrl/CMD+Shift+C` to center the focused window. + +## Running the example + +To run the example, simply run the following command: + +```bash +go run main.go +``` + +# Status + +| Platform | Status | +|----------|----------------| +| Mac | | +| Windows | Mostly Working | +| Linux | | + +## Known Issues + +- [Some Keybindings not working on Windows](https://github.com/orgs/wailsapp/projects/6/views/1?pane=issue&itemId=40962823) \ No newline at end of file diff --git a/v3/examples/keybindings/main.go b/v3/examples/keybindings/main.go index 028a14d7..15a93bc9 100644 --- a/v3/examples/keybindings/main.go +++ b/v3/examples/keybindings/main.go @@ -15,7 +15,7 @@ func main() { ApplicationShouldTerminateAfterLastWindowClosed: true, }, KeyBindings: map[string]func(window *application.WebviewWindow){ - "CmdOrCtrl+Shift+C": func(window *application.WebviewWindow) { + "F11": func(window *application.WebviewWindow) { window.Center() }, }, diff --git a/v3/examples/menu/README.md b/v3/examples/menu/README.md new file mode 100644 index 00000000..025e4119 --- /dev/null +++ b/v3/examples/menu/README.md @@ -0,0 +1,23 @@ +# Menu Example + +This example is a demonstration of different ways to create applications without using npm. + +## Running the example + +To run the example, simply run the following command: + +```bash +go run main.go +``` + +# Status + +| Platform | Status | +|----------|---------| +| Mac | | +| Windows | Working | +| Linux | | + +# Known Issues + +- [Resize cursor still visible when not resizable](https://github.com/orgs/wailsapp/projects/6/views/1?pane=issue&itemId=40962163) \ No newline at end of file diff --git a/v3/examples/menu/main.go b/v3/examples/menu/main.go index d049525e..74686329 100644 --- a/v3/examples/menu/main.go +++ b/v3/examples/menu/main.go @@ -13,6 +13,7 @@ func main() { app := application.New(application.Options{ Name: "Menu Demo", Description: "A demo of the menu system", + //Assets: application.AlphaAssets, Mac: application.MacOptions{ ApplicationShouldTerminateAfterLastWindowClosed: true, }, diff --git a/v3/examples/oauth/README.md b/v3/examples/oauth/README.md new file mode 100644 index 00000000..ad19fb61 --- /dev/null +++ b/v3/examples/oauth/README.md @@ -0,0 +1,3 @@ +# OAuth Example + +This example is not ready for testing yet. diff --git a/v3/examples/plain/README.md b/v3/examples/plain/README.md new file mode 100644 index 00000000..432da4e4 --- /dev/null +++ b/v3/examples/plain/README.md @@ -0,0 +1,19 @@ +# Plain Example + +This example is a demonstration of different ways to create applications without using npm. + +## Running the example + +To run the example, simply run the following command: + +```bash +go run main.go +``` + +# Status + +| Platform | Status | +|----------|---------| +| Mac | | +| Windows | Working | +| Linux | | diff --git a/v3/examples/plugins/README.md b/v3/examples/plugins/README.md new file mode 100644 index 00000000..8b51a056 --- /dev/null +++ b/v3/examples/plugins/README.md @@ -0,0 +1,3 @@ +# Plugins Example + +This example is not ready for testing yet. \ No newline at end of file diff --git a/v3/examples/plugins/assets/index.html b/v3/examples/plugins/assets/index.html index f77c1829..c12b595c 100644 --- a/v3/examples/plugins/assets/index.html +++ b/v3/examples/plugins/assets/index.html @@ -2,9 +2,80 @@ - Title + Wails Alpha + - -HELLO! + + +
Alpha
+
+

Open the inspector and start playing around with the plugins.

+
\ No newline at end of file diff --git a/v3/examples/plugins/go.mod b/v3/examples/plugins/go.mod index f51aa11e..e6565861 100644 --- a/v3/examples/plugins/go.mod +++ b/v3/examples/plugins/go.mod @@ -47,7 +47,7 @@ require ( golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df // indirect golang.org/x/mod v0.12.0 // indirect golang.org/x/net v0.10.0 // indirect - golang.org/x/sys v0.12.0 // indirect + golang.org/x/sys v0.13.0 // indirect golang.org/x/tools v0.6.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect lukechampine.com/uint128 v1.2.0 // indirect diff --git a/v3/examples/plugins/go.sum b/v3/examples/plugins/go.sum index 7d133a31..8632e0a9 100644 --- a/v3/examples/plugins/go.sum +++ b/v3/examples/plugins/go.sum @@ -135,8 +135,8 @@ golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5o golang.org/x/net v0.0.0-20210505024714-0287a6fb4125/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E= -golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= +golang.org/x/sync v0.4.0 h1:zxkM55ReGkDlKSM+Fu41A+zmbZuaPVbGMzvvdUPznYQ= +golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -149,12 +149,11 @@ golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210616045830-e2b7044e8c71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.11.0 h1:eG7RXZHdqOJ1i+0lgLgCpSXAp6M3LYlAo6osgSi0xOM= -golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= +golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.11.0 h1:F9tnn/DA/Im8nCwm+fX+1/eBwi4qFjRT++MhtVC4ZX0= -golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU= +golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek= +golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= diff --git a/v3/examples/screen/README.md b/v3/examples/screen/README.md new file mode 100644 index 00000000..27e8b91f --- /dev/null +++ b/v3/examples/screen/README.md @@ -0,0 +1,19 @@ +# Screen Example + +This example will detect all attached screens and display their details. + +## Running the example + +To run the example, simply run the following command: + +```bash +go run main.go +``` + +# Status + +| Platform | Status | +|----------|---------| +| Mac | | +| Windows | Working | +| Linux | | diff --git a/v3/examples/server/README.md b/v3/examples/server/README.md new file mode 100644 index 00000000..30118868 --- /dev/null +++ b/v3/examples/server/README.md @@ -0,0 +1,3 @@ +# Server Example + +This example is not ready for testing yet. \ No newline at end of file diff --git a/v3/examples/server/go.mod b/v3/examples/server/go.mod index 956a1713..0cd58906 100644 --- a/v3/examples/server/go.mod +++ b/v3/examples/server/go.mod @@ -41,7 +41,7 @@ require ( golang.org/x/crypto v0.9.0 // indirect golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df // indirect golang.org/x/net v0.10.0 // indirect - golang.org/x/sys v0.12.0 // indirect + golang.org/x/sys v0.13.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect ) diff --git a/v3/examples/server/go.sum b/v3/examples/server/go.sum index b6ac887e..e27dd7fd 100644 --- a/v3/examples/server/go.sum +++ b/v3/examples/server/go.sum @@ -131,12 +131,11 @@ golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.11.0 h1:eG7RXZHdqOJ1i+0lgLgCpSXAp6M3LYlAo6osgSi0xOM= -golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= +golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.11.0 h1:F9tnn/DA/Im8nCwm+fX+1/eBwi4qFjRT++MhtVC4ZX0= -golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU= +golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek= +golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= diff --git a/v3/examples/server/main.go b/v3/examples/server/main.go index 6427e080..e21d7c1d 100644 --- a/v3/examples/server/main.go +++ b/v3/examples/server/main.go @@ -25,7 +25,7 @@ func main() { "log": log.NewPlugin(), "server": server.NewPlugin(&server.Config{ Host: "0.0.0.0", - Port: 31115, + Port: 34115, Enabled: true, }), }, diff --git a/v3/examples/systray/README.md b/v3/examples/systray/README.md new file mode 100644 index 00000000..3ff940f7 --- /dev/null +++ b/v3/examples/systray/README.md @@ -0,0 +1,17 @@ +# Systray Example + +This example creates a system tray with an attached window and a menu. +The window is hidden by default and toggled by left-clicking on the systray icon. +The window will hide automatically when it loses focus. +Right-clicking on the systray icon will show the menu. + +On Windows, if the icon is in the notification flyout, +then the window will be shown in the bottom right corner. + +# Status + +| Platform | Status | +|----------|---------| +| Mac | | +| Windows | Working | +| Linux | | diff --git a/v3/examples/window/README.md b/v3/examples/window/README.md new file mode 100644 index 00000000..0862e221 --- /dev/null +++ b/v3/examples/window/README.md @@ -0,0 +1,19 @@ +# Window Example + +This example is a demonstration of the Windows API. + +## Running the example + +To run the example, simply run the following command: + +```bash +go run main.go +``` + +# Status + +| Platform | Status | +|----------|---------| +| Mac | | +| Windows | Working | +| Linux | | diff --git a/v3/examples/window/main.go b/v3/examples/window/main.go index 491fb388..67b213e9 100644 --- a/v3/examples/window/main.go +++ b/v3/examples/window/main.go @@ -90,9 +90,10 @@ func main() { SetAccelerator("CmdOrCtrl+F"). OnClick(func(ctx *application.Context) { app.NewWebviewWindowWithOptions(application.WebviewWindowOptions{ - X: rand.Intn(1000), - Y: rand.Intn(800), - Frameless: true, + X: rand.Intn(1000), + Y: rand.Intn(800), + BackgroundColour: application.NewRGB(33, 37, 41), + Frameless: true, Mac: application.MacWindow{ InvisibleTitleBarHeight: 50, }, @@ -108,6 +109,7 @@ func main() { InvisibleTitleBarHeight: 25, }, }). + SetBackgroundColour(application.NewRGB(33, 37, 41)). SetTitle("WebviewWindow "+strconv.Itoa(windowCounter)). SetRelativePosition(rand.Intn(1000), rand.Intn(800)). SetHTML("

A MacTitleBarHiddenInset WebviewWindow example

"). @@ -384,6 +386,7 @@ func main() { }) app.NewWebviewWindowWithOptions(application.WebviewWindowOptions{ + BackgroundColour: application.NewRGB(33, 37, 41), Mac: application.MacWindow{ DisableShadow: true, }, diff --git a/v3/examples/windowjs/assets/index.html b/v3/examples/windowjs/assets/index.html deleted file mode 100644 index f77c1829..00000000 --- a/v3/examples/windowjs/assets/index.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - - Title - - -HELLO! - - \ No newline at end of file diff --git a/v3/examples/windowjs/main.go b/v3/examples/windowjs/main.go deleted file mode 100644 index 9b8f3a2c..00000000 --- a/v3/examples/windowjs/main.go +++ /dev/null @@ -1,65 +0,0 @@ -package main - -import ( - "embed" - _ "embed" - "log" - "math/rand" - "strconv" - - "github.com/wailsapp/wails/v3/pkg/application" -) - -//go:embed assets -var assets embed.FS - -func main() { - app := application.New(application.Options{ - Name: "WebviewWindow Javascript Demo", - Description: "A demo of the WebviewWindow API from Javascript", - Icon: nil, - Mac: application.MacOptions{ - ApplicationShouldTerminateAfterLastWindowClosed: true, - }, - Assets: application.AssetOptions{ - FS: assets, - }, - }) - - // Create a custom menu - menu := app.NewMenu() - menu.AddRole(application.AppMenu) - - windowCounter := 1 - - newWindow := func() { - windowName := "WebviewWindow " + strconv.Itoa(windowCounter) - app.NewWebviewWindowWithOptions(application.WebviewWindowOptions{ - Name: windowName, - }). - SetTitle(windowName). - SetRelativePosition(rand.Intn(1000), rand.Intn(800)). - Show() - windowCounter++ - } - - // Let's make a "Demo" menu - myMenu := menu.AddSubmenu("New") - - myMenu.Add("New WebviewWindow"). - SetAccelerator("CmdOrCtrl+N"). - OnClick(func(ctx *application.Context) { - newWindow() - }) - - newWindow() - newWindow() - - app.SetMenu(menu) - err := app.Run() - - if err != nil { - log.Fatal(err) - } - -} diff --git a/v3/examples/wml/README.md b/v3/examples/wml/README.md new file mode 100644 index 00000000..80a5989e --- /dev/null +++ b/v3/examples/wml/README.md @@ -0,0 +1,19 @@ +# WML Example + +This is an example of how to use the experimental WML, which provides HTMX style calling of the runtime API. + +## Running the example + +To run the example, simply run the following command: + +```bash +go run main.go +``` + +# Status + +| Platform | Status | +|----------|---------| +| Mac | | +| Windows | Working | +| Linux | | diff --git a/v3/pkg/application/application_windows.go b/v3/pkg/application/application_windows.go index 840e0400..b1f4d2b8 100644 --- a/v3/pkg/application/application_windows.go +++ b/v3/pkg/application/application_windows.go @@ -148,12 +148,10 @@ func (m *windowsApp) show() { w32.SetForegroundWindow(m.focusedWindow) } -func (m *windowsApp) on(eventID uint) { - //C.registerListener(C.uint(eventID)) +func (m *windowsApp) on(_ uint) { } -func (m *windowsApp) setIcon(icon []byte) { - //C.setApplicationIcon(unsafe.Pointer(&icon[0]), C.int(len(icon))) +func (m *windowsApp) setIcon(_ []byte) { } func (m *windowsApp) name() string { diff --git a/v3/pkg/application/assets/alpha/index.html b/v3/pkg/application/assets/alpha/index.html index c9dbea1f..fddda8f1 100644 --- a/v3/pkg/application/assets/alpha/index.html +++ b/v3/pkg/application/assets/alpha/index.html @@ -2,7 +2,7 @@ - index.html not found + Wails Alpha