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