Skip to content

Commit

Permalink
Merge branch 'wailsapp:v3-alpha' into v3-alpha
Browse files Browse the repository at this point in the history
  • Loading branch information
atterpac authored Feb 7, 2024
2 parents 34cf7d7 + 471d626 commit 4d96c0a
Show file tree
Hide file tree
Showing 41 changed files with 2,484 additions and 152 deletions.
2 changes: 1 addition & 1 deletion mkdocs-website/docs/en/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ Please note that this is an alpha version of Wails v3. Features may be added, re

## Feedback and Contributions

Your feedback is vital to making Wails better. If you encounter any issues or have suggestions, please let us know through our [GitHub repository](https://github.com/wailsapp/wails). Contributions to the project are also welcome!
Your feedback is vital to making Wails better. If you encounter any issues or have suggestions, please use our [Feedback process](getting-started/feedback.md). Contributions to the project are also welcome!

Thank you for trying out Wails v3 Alpha!

57 changes: 57 additions & 0 deletions mkdocs-website/docs/en/learn/runtime.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Runtime

The Wails runtime is the standard library for Wails applications. It provides a number of features that may
be used in your applications, including:

- Window management
- Dialogs
- Browser integration
- Clipboard
- Frameless dragging
- Tray icons
- Menu management
- System information
- Events
- Calling Go code
- Context Menus
- Screens
- WML (Wails Markup Language)

The runtime is required for integration between Go and the frontend. There are 2 ways to integrate the runtime:

- Using the `@wailsio/runtime` package
- Using a pre-built version of the runtime

## Using the `@wailsio/runtime` package

The `@wailsio/runtime` package is a JavaScript package that provides access to the Wails runtime. It is used in by all
the standard templates and is the recommended way to integrate the runtime into your application. By using the package,
you will only include the parts of the runtime that you use.

The package is available on npm and can be installed using:

```shell
npm install --save @wailsio/runtime
```

## Using a pre-built version of the runtime

Some projects will not use a Javascript bundler and may prefer to use a pre-built version of the runtime. This is
the default for the examples in `v3/examples`. The pre-built version of the runtime can be generated using the
following command:

```shell
wails3 generate runtime
```

This will generate a `runtime.js` (and `runtime.debug.js`) file in the current directory.
This file can be used by your application by adding it to your assets directory (normally `frontend/dist`) and then including it in your HTML:

```html
<html>
<head>
<script src="/runtime.js"></script>
</head>
<!--- ... -->
</>
```
41 changes: 21 additions & 20 deletions mkdocs-website/docs/en/roadmap.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,26 @@ we are aiming to achieve. These are subject to change.

## Alpha milestones

### Current: Alpha 4
### Current: Alpha 5

#### Goals

The Alpha 5 cycle aims to bring Linux to parity (Alpha 4)with the other platforms.

#### How Can I Help?

!!! note
Report any issues you find using [this guide](./getting-started/feedback.md).

- Test all the things on Linux!

## Upcoming milestones

## Alpha 6

## Previous milestones

### Alpha 4 - Completed 2024-02-01

#### Goals

Expand All @@ -37,7 +56,7 @@ The `wails package` command should do the following:
Report any issues you find using [this guide](./getting-started/feedback.md).


- Install the CLI using the instructions [here](./getting-started/installation).
- Install the CLI using the instructions [here](./getting-started/installation.md).
- Run `wails3 doctor` and ensure that all dependencies are installed.
- Generate a new project using `wails3 init`.

Expand Down Expand Up @@ -135,24 +154,6 @@ Examples:

- [ ] All examples working on Linux

## Upcoming milestones

### Alpha 4

#### Goals


### Alpha 5

#### Goals

- [ ] Keyboard shortcuts
- Window Level shortcuts
- Application Level shortcuts (applies to all windows)
- Ensure Keydown/Keyup events are sent to JS if not handled by Go

## Previous milestones

### Alpha 2

#### Goals
Expand Down
2 changes: 2 additions & 0 deletions mkdocs-website/mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,8 @@ nav:
# - Links: community/links.md
- Your First Application: getting-started/your-first-app.md
- Next Steps: getting-started/next-steps.md
- Learn More:
- Runtime: learn/runtime.md
- Feedback: getting-started/feedback.md
- Feedback: getting-started/feedback.md
- What's New in v3?: whats-new.md
Expand Down
6 changes: 5 additions & 1 deletion mkdocs-website/shared/alpha3-bindings-callbyname.csv
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
Scenario,Windows,Mac,Linux
Same package,:material-check-bold:,:material-check-bold:,:material-check-bold:
Same package,: clipboardLock.RLock()
defer clipboardLock.RUnlock()
clipboardText := C.getClipboardText()
result := C.GoString(clipboardText)
return result, true:,:material-check-bold:,:material-check-bold:
Different package,:material-check-bold:,:material-check-bold:,:material-check-bold:
Different package with same name,"on hold","on hold","on hold"
Containing another struct from same package,:material-check-bold:,:material-check-bold:,:material-check-bold:
Expand Down
7 changes: 3 additions & 4 deletions mkdocs-website/shared/alpha4-wails3-package.csv
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
" ",Mac,Windows,Linux
Standard Executable," "," "," "
macOS Application Bundle," ",:material-cancel:,:material-cancel:
NSIS," "," "," "
macOS DMG," ",:material-cancel:,:material-cancel:
Standard Executable,:material-check-bold:,:material-check-bold:,:material-check-bold:
macOS Application Bundle,:material-check-bold:,:material-cancel:,:material-cancel:
NSIS,:material-cancel:,:material-check-bold:,:material-cancel:
2 changes: 2 additions & 0 deletions v3/cmd/wails3/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ func main() {
generate.NewSubCommandFunction("constants", "Generate JS constants from Go", commands.GenerateConstants)
generate.NewSubCommandFunction(".desktop", "Generate .desktop file", commands.GenerateDotDesktop)
generate.NewSubCommandFunction("appimage", "Generate Linux AppImage", commands.GenerateAppImage)
generate.NewSubCommandFunction("runtime", "Generate the latest compiled runtime", commands.GenerateRuntime)

plugin := app.NewSubCommand("plugin", "Plugin tools")
//plugin.NewSubCommandFunction("list", "List plugins", commands.PluginList)
Expand All @@ -54,6 +55,7 @@ func main() {
tool := app.NewSubCommand("tool", "Various tools")
tool.NewSubCommandFunction("checkport", "Checks if a port is open. Useful for testing if vite is running.", commands.ToolCheckPort)
tool.NewSubCommandFunction("watcher", "Watches files and runs a command when they change", commands.Watcher)
tool.NewSubCommandFunction("cp", "Copy files", commands.Cp)

app.NewSubCommandFunction("version", "Print the version", commands.Version)

Expand Down
1 change: 1 addition & 0 deletions v3/examples/frameless/assets/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
padding: 20px;
}
</style>
<script src="runtime.js"></script>
</head>
<body>
<div class="container">
Expand Down
1 change: 1 addition & 0 deletions v3/examples/frameless/assets/runtime.js

Large diffs are not rendered by default.

40 changes: 22 additions & 18 deletions v3/examples/frameless/go.mod
Original file line number Diff line number Diff line change
@@ -1,46 +1,50 @@
module frameless

go 1.21
go 1.21.1

toolchain go1.21.0
toolchain go1.21.5

require github.com/wailsapp/wails/v3 v3.0.0-alpha.0

require (
github.com/Microsoft/go-winio v0.4.16 // indirect
dario.cat/mergo v1.0.0 // indirect
github.com/Microsoft/go-winio v0.6.1 // indirect
github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 // indirect
github.com/bep/debounce v1.2.1 // indirect
github.com/cloudflare/circl v1.3.3 // indirect
github.com/cyphar/filepath-securejoin v0.2.4 // indirect
github.com/ebitengine/purego v0.4.0-alpha.4 // indirect
github.com/emirpasic/gods v1.12.0 // indirect
github.com/go-git/gcfg v1.5.0 // indirect
github.com/go-git/go-billy/v5 v5.2.0 // indirect
github.com/go-git/go-git/v5 v5.3.0 // indirect
github.com/emirpasic/gods v1.18.1 // indirect
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
github.com/go-git/go-billy/v5 v5.5.0 // indirect
github.com/go-git/go-git/v5 v5.11.0 // indirect
github.com/go-ole/go-ole v1.2.6 // indirect
github.com/godbus/dbus/v5 v5.1.0 // indirect
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
github.com/google/uuid v1.3.0 // indirect
github.com/imdario/mergo v0.3.12 // indirect
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
github.com/jchv/go-winloader v0.0.0-20210711035445-715c2860da7e // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351 // indirect
github.com/kevinburke/ssh_config v1.2.0 // indirect
github.com/leaanthony/go-ansi-parser v1.6.1 // indirect
github.com/leaanthony/u v1.1.0 // indirect
github.com/lmittmann/tint v1.0.0 // indirect
github.com/lmittmann/tint v1.0.3 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect
github.com/mattn/go-isatty v0.0.19 // indirect
github.com/mitchellh/go-homedir v1.1.0 // indirect
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect
github.com/pjbgf/sha1cd v0.3.0 // indirect
github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 // indirect
github.com/rivo/uniseg v0.4.4 // indirect
github.com/samber/lo v1.38.1 // indirect
github.com/sergi/go-diff v1.2.0 // indirect
github.com/skeema/knownhosts v1.2.1 // indirect
github.com/wailsapp/go-webview2 v1.0.9 // indirect
github.com/wailsapp/mimetype v1.4.1 // indirect
github.com/xanzy/ssh-agent v0.3.0 // indirect
golang.org/x/crypto v0.9.0 // indirect
github.com/xanzy/ssh-agent v0.3.3 // indirect
golang.org/x/crypto v0.16.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.13.0 // indirect
golang.org/x/mod v0.12.0 // indirect
golang.org/x/net v0.19.0 // indirect
golang.org/x/sys v0.15.0 // indirect
golang.org/x/tools v0.13.0 // indirect
gopkg.in/warnings.v0 v0.1.2 // indirect
)

Expand Down
Loading

0 comments on commit 4d96c0a

Please sign in to comment.