mirror of
https://github.com/wavetermdev/wails.git
synced 2026-08-05 13:53:43 -07:00
Fix windows icon for about box.
Add NewRGBA and NewRGB methods. Added README.md to all examples. Add roadmap.md to docs
This commit is contained in:
@@ -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`
|
||||
|
||||
@@ -105,6 +105,8 @@
|
||||
<h3>How do I provide feedback?</h3>
|
||||
Please read <a href="/getting-started/feedback/">this page</a> for details on how to provide feedback.
|
||||
</div>
|
||||
<h3>Is there a Roadmap</h3>
|
||||
Yes, you can find it <a href="/roadmap/">here</a>.
|
||||
|
||||
Please feel free to raise PRs against this website. Every single PR helps us get closer to a release.<br/><br/>
|
||||
Thank you for sharing this journey with us.<br/><br/>
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
| Platform | Status |
|
||||
|----------|---------|
|
||||
| Mac | |
|
||||
| Windows | Working |
|
||||
| Linux | |
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
# Drag-n-Drop Example
|
||||
|
||||
This example is not ready for testing yet.
|
||||
@@ -0,0 +1,3 @@
|
||||
# Events Example
|
||||
|
||||
This example is not ready for testing yet.
|
||||
+13
-11
@@ -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()
|
||||
|
||||
@@ -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 | |
|
||||
@@ -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
|
||||
)
|
||||
|
||||
|
||||
@@ -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=
|
||||
|
||||
@@ -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)
|
||||
@@ -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()
|
||||
},
|
||||
},
|
||||
|
||||
@@ -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)
|
||||
@@ -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,
|
||||
},
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
# OAuth Example
|
||||
|
||||
This example is not ready for testing yet.
|
||||
@@ -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 | |
|
||||
@@ -0,0 +1,3 @@
|
||||
# Plugins Example
|
||||
|
||||
This example is not ready for testing yet.
|
||||
File diff suppressed because one or more lines are too long
@@ -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
|
||||
|
||||
@@ -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=
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user