mirror of
https://github.com/wavetermdev/wails.git
synced 2026-04-22 15:26:15 -07:00
Compare commits
153 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c808d513ac | |||
| 08faf0d1fa | |||
| f1739138c3 | |||
| 84023d543a | |||
| 69e492beb1 | |||
| 8242834fbd | |||
| 814e1ec059 | |||
| 12efb8b981 | |||
| b9558cc3cb | |||
| 022baad9e5 | |||
| 9629b1414e | |||
| ea44cf850c | |||
| 61c8c9eac0 | |||
| c89f59dc7c | |||
| 1fed110afd | |||
| 4ea6a2d120 | |||
| f84bb6a287 | |||
| 869a6f761a | |||
| 2d3029482d | |||
| 250e9f91ba | |||
| df49f49c60 | |||
| 3e0ff5edbd | |||
| 1142e81348 | |||
| ae38d1e020 | |||
| eefeadc018 | |||
| 4593b52863 | |||
| 7333ca6c61 | |||
| 5b5a4ba4cc | |||
| 9af14015e4 | |||
| ef80562a0f | |||
| 0b48c3456b | |||
| 1f16655769 | |||
| b8d780ba4a | |||
| 965460edb7 | |||
| 53ea6511fc | |||
| eae73dfa18 | |||
| 27c4c5e6f6 | |||
| 6f197f67f1 | |||
| 412c3a5ed1 | |||
| 385b1dbfd4 | |||
| 0a4c596ecb | |||
| d2e0e0ed81 | |||
| f787cf4bc2 | |||
| ca21a3b79d | |||
| a773da2651 | |||
| 1a90b45f18 | |||
| 9f6cd35155 | |||
| f122db2e7b | |||
| d65f1b1647 | |||
| 0fc535f2f1 | |||
| e420900e55 | |||
| 0cd64d1fbc | |||
| 46a0030387 | |||
| 495da9b292 | |||
| efb300c9f0 | |||
| 7f1706fc74 | |||
| 8dbbdc4bf2 | |||
| 7c15f9098c | |||
| 36a3e90b1d | |||
| 3882201434 | |||
| 857bf40072 | |||
| 075eb1fa3f | |||
| dbb7c6e7d0 | |||
| 947d429688 | |||
| f49d42678b | |||
| f28c9515ad | |||
| c6ecbd56e5 | |||
| 144567410d | |||
| 1b850662ed | |||
| c7c4cacc29 | |||
| 7e63355353 | |||
| 01652c7940 | |||
| b379e3b0eb | |||
| a2fde7f2c3 | |||
| 2beb452207 | |||
| 73384a562b | |||
| 985c5bf8e2 | |||
| daec8a9a64 | |||
| f88a7a6f99 | |||
| dc16d145c2 | |||
| 8432ddc2a8 | |||
| d072393149 | |||
| a8e95bf7f1 | |||
| 1735bdc9a2 | |||
| f00685d592 | |||
| ee194f3e46 | |||
| 82a9c5b1dd | |||
| fdd8875986 | |||
| 3b50e0cbc5 | |||
| fb7fda2256 | |||
| d9beb6126e | |||
| a81581129a | |||
| e95a91861a | |||
| fa5948f40e | |||
| ad4c8aacfb | |||
| afbc09f1e7 | |||
| 1a1e5b743a | |||
| 24853a7e3b | |||
| 1ce83913bd | |||
| 1650e26da7 | |||
| bc01fd8ea3 | |||
| 3422c40e19 | |||
| e661052c89 | |||
| ff08a5ca2b | |||
| f8250fb0d8 | |||
| d1c3f8af7a | |||
| 36b4b3695b | |||
| fb17ec8064 | |||
| 51f52656cc | |||
| 18746c7819 | |||
| 8463c01123 | |||
| 8e0671306a | |||
| 131a6da554 | |||
| 59273fcdab | |||
| 7795a2a46f | |||
| 2269f64b0a | |||
| 439da97573 | |||
| 2b478a4608 | |||
| 3b95725f09 | |||
| 3a23ad1382 | |||
| 61a7f1fba5 | |||
| a8641672cd | |||
| 320fc20461 | |||
| 69f05c39ec | |||
| e55ffedc35 | |||
| 0577fefd75 | |||
| 02713670c9 | |||
| e6de878395 | |||
| 4c75b288bb | |||
| 263e1b527a | |||
| 3d88bf8795 | |||
| 740b2b0979 | |||
| 2b843fc12e | |||
| 473cf1cae3 | |||
| 65d4266400 | |||
| 8d5b86fff7 | |||
| 92843c8237 | |||
| 13b588b555 | |||
| 839a9ff498 | |||
| ef8c16d773 | |||
| 602fafafea | |||
| 83ed7fd2df | |||
| f07e4093be | |||
| bf13afd895 | |||
| 9ffc06d42e | |||
| ebe91ba11d | |||
| 48aef46f57 | |||
| c77c823c3c | |||
| ccccea1e50 | |||
| a6163849c6 | |||
| 130aab3598 | |||
| 78b85ce0cc | |||
| dbcf65b2d6 |
@@ -23,13 +23,23 @@ jobs:
|
||||
|
||||
- name: Install linux dependencies
|
||||
if: matrix.os == 'ubuntu-latest'
|
||||
run: sudo apt-get update -y && sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libayatana-appindicator3-dev build-essential pkg-config
|
||||
run: sudo apt-get update -y && sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev javascriptcoregtk-4.1-dev build-essential pkg-config
|
||||
|
||||
- name: Setup Go
|
||||
uses: actions/setup-go@v3
|
||||
with:
|
||||
go-version: ${{ matrix.go-version }}
|
||||
|
||||
- name: Install Task
|
||||
uses: arduino/setup-task@v1
|
||||
with:
|
||||
version: 3.x
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Build Examples
|
||||
working-directory: ./v3
|
||||
run: task test:examples
|
||||
|
||||
- name: Run tests (mac)
|
||||
if: matrix.os == 'macos-latest'
|
||||
env:
|
||||
@@ -100,16 +110,26 @@ jobs:
|
||||
with:
|
||||
go-version: ${{ matrix.go-version }}
|
||||
|
||||
- name: Setup Golang caches
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
~/.cache/go-build
|
||||
~/go/pkg/mod
|
||||
key: ${{ runner.os }}-golang-${{ hashFiles('**/go.sum') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-golang-
|
||||
|
||||
- name: Install linux dependencies
|
||||
if: matrix.os == 'ubuntu-latest'
|
||||
run: sudo apt-get update -y && sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev javascriptcoregtk-4.1-dev build-essential pkg-config
|
||||
|
||||
- name: Build Wails3 CLI
|
||||
run: |
|
||||
cd ./v3/cmd/wails3
|
||||
go install
|
||||
wails3 -help
|
||||
|
||||
- name: Install linux dependencies
|
||||
if: matrix.os == 'ubuntu-latest'
|
||||
run: sudo apt-get update -y && sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libayatana-appindicator3-dev build-essential pkg-config
|
||||
|
||||
- name: Generate template '${{ matrix.template }}'
|
||||
run: |
|
||||
go install github.com/go-task/task/v3/cmd/task@latest
|
||||
|
||||
@@ -27,7 +27,7 @@ jobs:
|
||||
restore-keys: |
|
||||
mkdocs-material-
|
||||
- run: sudo apt-get install pngquant
|
||||
- run: pip install pillow cairosvg
|
||||
- run: pip install pillow cairosvg mkdocs-table-reader-plugin mkdocs-static-i18n
|
||||
- run: pip install git+https://${GH_TOKEN}@github.com/squidfunk/mkdocs-material-insiders.git
|
||||
- run: mkdocs build --config-file mkdocs.insiders.yml
|
||||
- run: mkdocs gh-deploy --force
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
v3alpha.wails.io
|
||||
@@ -0,0 +1 @@
|
||||
v3alpha.wails.io
|
||||
File diff suppressed because it is too large
Load Diff
@@ -19,11 +19,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
### Added
|
||||
|
||||
- [darwin] add Event ApplicationShouldHandleReopen to be able to handle dock icon
|
||||
click by @5aaee9 in [#2991](https://github.com/wailsapp/wails/pull/2991)
|
||||
- [darwin] add getPrimaryScreen/getScreens to impl by @tmclane in
|
||||
https://github.com/wailsapp/wails/pull/2618
|
||||
[#2618](https://github.com/wailsapp/wails/pull/2618)
|
||||
- [linux] add onKeyPress logic to convert linux keypress into an accelerator @[Atterpac](https://github.com/Atterpac) in[#3022](https://github.com/wailsapp/wails/pull/3022])
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fixed Doctor apt package verify by [Atterpac](https://github.com/Atterpac) in
|
||||
[#2972](https://github.com/wailsapp/wails/pull/2972).
|
||||
- Fixed application frozen when quit (Darwin) by @5aaee9 in
|
||||
[#2982](https://github.com/wailsapp/wails/pull/2982)
|
||||
- Fixed background colours of examples on Windows by
|
||||
[mmgvh](https://github.com/mmghv) in
|
||||
[#2750](https://github.com/wailsapp/wails/pull/2750).
|
||||
+2
-1
@@ -1,6 +1,7 @@
|
||||
# Changes for v3
|
||||
|
||||
!!! note This is currently an unsorted brain dump of changes. It will be
|
||||
!!! note
|
||||
This is currently an unsorted brain dump of changes. It will be
|
||||
organised into a more readable format soon.
|
||||
|
||||
## Options
|
||||
+15
-4
@@ -1,6 +1,7 @@
|
||||
# Introduction
|
||||
|
||||
!!! note This guide is a work in progress.
|
||||
!!! note
|
||||
This guide is a work in progress.
|
||||
|
||||
Thanks for wanting to help out with development of Wails! This guide will help
|
||||
you get started.
|
||||
@@ -45,6 +46,13 @@ The project has the following structure:
|
||||
|
||||
## Development
|
||||
|
||||
### Alpha Todo List
|
||||
|
||||
We are currently tracking known issues and tasks in the
|
||||
[Alpha Todo List](https://github.com/orgs/wailsapp/projects/6). If you want to
|
||||
help out, please check this list and follow the instructions in the
|
||||
[Feedback](../getting-started/feedback.md) page.
|
||||
|
||||
### Adding window functionality
|
||||
|
||||
The preferred way to add window functionality is to add a new function to the
|
||||
@@ -134,14 +142,17 @@ The `InjectJS()` method returns JavaScript that should be injected into all
|
||||
windows as they are created. This is useful for adding custom JavaScript
|
||||
functions that complement the plugin.
|
||||
|
||||
## Misc Tasks
|
||||
The built-in plugins can be found in the `v3/plugins` directory. Check them out
|
||||
for inspiration.
|
||||
|
||||
### Upgrading Taskfile
|
||||
## Tasks
|
||||
|
||||
The Wails CLI uses the [Task](https://taskfile.dev) build system. It is imported
|
||||
as a library and used to run the tasks defined in `Taskfile.yaml`. The main
|
||||
interfacing with Task happens in `v3/internal/commands/task.go`.
|
||||
|
||||
### Upgrading Taskfile
|
||||
|
||||
To check if there's an upgrade for Taskfile, run `wails3 task -version` and
|
||||
check against the Task website.
|
||||
|
||||
@@ -171,7 +182,7 @@ wails3 task -version
|
||||
Make sure that all PRs have a ticket associated with them providing context to
|
||||
the change. If there is no ticket, please create one first. Ensure that all PRs
|
||||
have updated the CHANGELOG.md file with the changes made. The CHANGELOG.md file
|
||||
is located in the `v3` directory.
|
||||
is located in the `mkdocs-website/docs` directory.
|
||||
|
||||
## Misc Tasks
|
||||
|
||||
+25
-55
@@ -53,9 +53,9 @@ Webview Window Interface Methods
|
||||
| isMinimised() bool | Y | Y | Y | |
|
||||
| maximise() | Y | Y | Y | |
|
||||
| minimise() | Y | Y | Y | |
|
||||
| nativeWindowHandle() (uintptr, error) | Y | Y | | |
|
||||
| nativeWindowHandle() (uintptr, error) | Y | Y | Y | |
|
||||
| on(eventID uint) | y | | Y | |
|
||||
| openContextMenu(menu *Menu, data *ContextMenuData) | y | | Y | |
|
||||
| openContextMenu(menu *Menu, data *ContextMenuData) | y | Y | Y | |
|
||||
| relativePosition() (int, int) | Y | Y | Y | |
|
||||
| reload() | y | Y | Y | |
|
||||
| run() | Y | Y | Y | |
|
||||
@@ -92,7 +92,7 @@ Webview Window Interface Methods
|
||||
| Feature | Windows | Linux | Mac | Notes |
|
||||
| ------- | ------- | ----- | --- | ----- |
|
||||
| Quit | Y | Y | Y | |
|
||||
| Hide | Y | | Y | |
|
||||
| Hide | Y | Y | Y | |
|
||||
| Show | Y | | Y | |
|
||||
|
||||
### Dialogs
|
||||
@@ -103,21 +103,21 @@ Webview Window Interface Methods
|
||||
| Warning | Y | Y | Y | |
|
||||
| Error | Y | Y | Y | |
|
||||
| Question | Y | Y | Y | |
|
||||
| OpenFile | Y | | Y | |
|
||||
| SaveFile | Y | | Y | |
|
||||
| OpenFile | Y | Y | Y | |
|
||||
| SaveFile | Y | Y | Y | |
|
||||
|
||||
### Clipboard
|
||||
|
||||
| Feature | Windows | Linux | Mac | Notes |
|
||||
| ------- | ------- | ----- | --- | ----- |
|
||||
| SetText | Y | | Y | |
|
||||
| Text | Y | | Y | |
|
||||
|---------|---------|-------|-----|-------|
|
||||
| SetText | Y | Y | Y | |
|
||||
| Text | Y | Y | Y | |
|
||||
|
||||
### ContextMenu
|
||||
|
||||
| Feature | Windows | Linux | Mac | Notes |
|
||||
| ---------------- | ------- | ----- | --- | ----- |
|
||||
| OpenContextMenu | Y | | Y | |
|
||||
|------------------|---------|-------|-----|-------|
|
||||
| OpenContextMenu | Y | Y | Y | |
|
||||
| On By Default | | | | |
|
||||
| Control via HTML | Y | | | |
|
||||
|
||||
@@ -165,7 +165,7 @@ Y = Supported U = Untested
|
||||
| Screen | Y | Y | Y | Get screen for window |
|
||||
| SetAlwaysOnTop | Y | Y | Y | |
|
||||
| SetBackgroundColour | Y | Y | Y | https://github.com/MicrosoftEdge/WebView2Feedback/issues/1621#issuecomment-938234294 |
|
||||
| SetEnabled | Y | U | U | Set the window to be enabled/disabled |
|
||||
| SetEnabled | Y | U | - | Set the window to be enabled/disabled |
|
||||
| SetMaxSize | Y | Y | Y | |
|
||||
| SetMinSize | Y | Y | Y | |
|
||||
| SetRelativePosition | Y | Y | Y | |
|
||||
@@ -190,8 +190,8 @@ applied when the window is created. An 'X' indicates that the option is not
|
||||
supported by the platform.
|
||||
|
||||
| Feature | Windows | Linux | Mac | Notes |
|
||||
| ------------------------------- | ------- | ----- | --- | ------------------------------------------ |
|
||||
| AlwaysOnTop | Y | | | |
|
||||
|---------------------------------|---------|-------|-----|--------------------------------------------|
|
||||
| AlwaysOnTop | Y | Y | | |
|
||||
| BackgroundColour | Y | Y | | |
|
||||
| BackgroundType | | | | Acrylic seems to work but the others don't |
|
||||
| CSS | Y | Y | | |
|
||||
@@ -236,24 +236,24 @@ To log or not to log? System logger vs custom logger.
|
||||
## Tray Menus
|
||||
|
||||
| Feature | Windows | Linux | Mac | Notes |
|
||||
| ------------------ | ------- | ----- | --- | -------------------------------------------------------------------- |
|
||||
| Icon | Y | | Y | Windows has default icons for light/dark mode & supports PNG or ICO. |
|
||||
| Label | - | | Y | |
|
||||
|--------------------|---------|-------|-----|----------------------------------------------------------------------|
|
||||
| Icon | Y | Y | Y | Windows has default icons for light/dark mode & supports PNG or ICO. |
|
||||
| Label | - | Y | Y | |
|
||||
| Label (ANSI Codes) | - | | | |
|
||||
| Menu | Y | | Y | |
|
||||
| Menu | Y | Y | Y | |
|
||||
|
||||
### Methods
|
||||
|
||||
| Method | Windows | Linux | Mac | Notes |
|
||||
| ----------------------------- | ------- | ----- | --- | ----- |
|
||||
| setLabel(label string) | - | | Y | |
|
||||
| run() | Y | | Y | |
|
||||
| setIcon(icon []byte) | Y | | Y | |
|
||||
| setMenu(menu \*Menu) | Y | | Y | |
|
||||
| setIconPosition(position int) | - | | Y | |
|
||||
| setTemplateIcon(icon []byte) | - | | Y | |
|
||||
| destroy() | Y | | Y | |
|
||||
| setDarkModeIcon(icon []byte) | Y | | Y | |
|
||||
| setLabel(label string) | - | Y | Y | |
|
||||
| run() | Y | Y | Y | |
|
||||
| setIcon(icon []byte) | Y | Y | Y | |
|
||||
| setMenu(menu \*Menu) | Y | Y | Y | |
|
||||
| setIconPosition(position int) | - | Y | Y | |
|
||||
| setTemplateIcon(icon []byte) | - | Y | Y | |
|
||||
| destroy() | Y | Y | Y | |
|
||||
| setDarkModeIcon(icon []byte) | Y | Y | Y | Darkmode isn't handled yet (linux) |
|
||||
|
||||
## Cross Platform Events
|
||||
|
||||
@@ -385,33 +385,3 @@ The examples can be compiled using the following command:
|
||||
CGO_ENABLED=0 go build -tags purego
|
||||
|
||||
Note: things are currently not working after the refactor
|
||||
|
||||
## Examples
|
||||
|
||||
| Example | Windows | Linux | Mac |
|
||||
| ------------ | -------------------- | ----- | --- |
|
||||
| binding | NO | | |
|
||||
| build | Yes (Debug + Prod) | | |
|
||||
| clipboard | Yes | | |
|
||||
| contextmenus | Yes | | |
|
||||
| dialogs | Almost | | |
|
||||
| drag-n-drop | NO | | |
|
||||
| events | NO | | |
|
||||
| frameless | Yes | | |
|
||||
| kitchensink | Yes | | |
|
||||
| menu | Yes | | |
|
||||
| plain | Yes | | |
|
||||
| plugins | Yes | | |
|
||||
| screen | Yes | | |
|
||||
| systray | Yes | | Yes |
|
||||
| window | Yes | | |
|
||||
| windowjs | Example not complete | | |
|
||||
| wml | Yes | | |
|
||||
|
||||
# Alpha Release TODO
|
||||
|
||||
- [ ] Check all runtime methods are available in the JS runtime
|
||||
|
||||
# Beta Release TODO
|
||||
|
||||
- [ ] Make better looking examples
|
||||
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
+17
-7
@@ -1,22 +1,29 @@
|
||||
# Feedback
|
||||
|
||||
We welcome (and encourage) your feedback! Here are the different ways to provide
|
||||
feedback:
|
||||
We welcome (and encourage) your feedback! Please search for existing tickets or
|
||||
posts before creating new ones. Here are the different ways to provide feedback:
|
||||
|
||||
=== "Bugs"
|
||||
|
||||
If you find a bug, please let us know by posting into the [v3 Alpha Feedback](https://discord.gg/3mgVyGua) channel on Discord:
|
||||
|
||||
If you find a bug, please let us know by posting into the [v3 Alpha Feedback](https://discord.gg/3mgVyGua) channel on Discord.
|
||||
|
||||
- The post should clearly state what the bug is and have a simple reproducible example. If the docs are unclear what *should* happen, please include that in the post.
|
||||
- The post should be given the `Bug` tag.
|
||||
- Please include the output of `wails doctor` in your post.
|
||||
- *Remember* unexpected behaviour isn't necessarily a bug - it might just not do what you expect it to do. Use [Suggestions](#suggestions) for this.
|
||||
- If the bug is behaviour that does not align with current documentation, e.g. a window does not resize properly, please do the following:
|
||||
- Update an existing example in the `v3/example` directory or create a new example in the `v3/examples` folder that clearly shows the issue.
|
||||
- Open a [PR](https://github.com/wailsapp/wails/pulls) with the title `[v3 alpha test] <description of bug>`.
|
||||
- Please include a link to the PR in your post.
|
||||
|
||||
!!! warning
|
||||
*Remember*, unexpected behaviour isn't necessarily a bug - it might just not do what you expect it to do. Use [Suggestions](#suggestions) for this.
|
||||
|
||||
|
||||
=== "Fixes"
|
||||
|
||||
If you have a fix for a bug or an update for documentation, please do the following:
|
||||
|
||||
- Open a pull request on the [Wails repository](https://github.com/wailsapp/wails). The title of the PR should start with `[v3]`.
|
||||
- Open a pull request on the [Wails repository](https://github.com/wailsapp/wails). The title of the PR should start with `[v3 alpha]`.
|
||||
- Create a post in the [v3 Alpha Feedback](https://discord.gg/3mgVyGua) channel.
|
||||
- The post should be given the `PR` tag.
|
||||
- Please include a link to the PR in your post.
|
||||
@@ -35,7 +42,10 @@ feedback:
|
||||
- Please *don't* just add comments like "+1" or "me too".
|
||||
- Please feel free to comment if there is more to add to the post, such as "this bug also affect ARM builds" or "Another option would be to ....."
|
||||
|
||||
Things we are looking for feedback on:
|
||||
There is a list of known issues & work in progress can be found
|
||||
[here](https://github.com/orgs/wailsapp/projects/6).
|
||||
|
||||
## Things we are looking for feedback on
|
||||
|
||||
- The API
|
||||
- Is it easy to use?
|
||||
+6
-2
@@ -4,7 +4,11 @@ To install the Wails CLI, ensure you have [Go 1.21+](https://go.dev/dl/)
|
||||
installed and run:
|
||||
|
||||
```shell
|
||||
go install github.com/wailsapp/wails/v3/cmd/wails3@latest
|
||||
git clone https://github.com/wailsapp/wails.git
|
||||
cd wails
|
||||
git checkout v3-alpha
|
||||
cd v3/cmd/wails3
|
||||
go install
|
||||
```
|
||||
|
||||
## Supported Platforms
|
||||
@@ -12,7 +16,7 @@ go install github.com/wailsapp/wails/v3/cmd/wails3@latest
|
||||
- Windows 10/11 AMD64/ARM64
|
||||
- MacOS 10.13+ AMD64
|
||||
- MacOS 11.0+ ARM64
|
||||
- Linux AMD64/ARM64
|
||||
- Ubuntu 22.04 AMD64/ARM64 (other Linux may work too!)
|
||||
|
||||
## Dependencies
|
||||
|
||||
+2
@@ -15,6 +15,8 @@ go run .
|
||||
|
||||
in the example directory.
|
||||
|
||||
The status of the examples is on the [roadmap](../roadmap.md).
|
||||
|
||||
## Creating a new project
|
||||
|
||||
To create a new project, you can use the `wails3 init` command. This will create
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user