mirror of
https://github.com/wavetermdev/wails.git
synced 2026-04-22 15:26:15 -07:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| def40786c8 |
@@ -23,23 +23,13 @@ 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 javascriptcoregtk-4.1-dev build-essential pkg-config
|
||||
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: 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:
|
||||
@@ -110,26 +100,16 @@ 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 mkdocs-table-reader-plugin mkdocs-static-i18n
|
||||
- run: pip install pillow cairosvg
|
||||
- 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
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
v3alpha.wails.io
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1 +0,0 @@
|
||||
v3alpha.wails.io
|
||||
@@ -19,18 +19,11 @@ 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
|
||||
[#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])
|
||||
https://github.com/wailsapp/wails/pull/2618
|
||||
|
||||
### 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).
|
||||
+1
-2
@@ -1,7 +1,6 @@
|
||||
# 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
|
||||
+4
-15
@@ -1,7 +1,6 @@
|
||||
# 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.
|
||||
@@ -46,13 +45,6 @@ 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
|
||||
@@ -142,17 +134,14 @@ 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.
|
||||
|
||||
The built-in plugins can be found in the `v3/plugins` directory. Check them out
|
||||
for inspiration.
|
||||
## Misc Tasks
|
||||
|
||||
## Tasks
|
||||
### Upgrading Taskfile
|
||||
|
||||
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.
|
||||
|
||||
@@ -182,7 +171,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 `mkdocs-website/docs` directory.
|
||||
is located in the `v3` directory.
|
||||
|
||||
## Misc Tasks
|
||||
|
||||
+55
-25
@@ -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 | Y | |
|
||||
| nativeWindowHandle() (uintptr, error) | Y | Y | | |
|
||||
| on(eventID uint) | y | | Y | |
|
||||
| openContextMenu(menu *Menu, data *ContextMenuData) | y | Y | Y | |
|
||||
| openContextMenu(menu *Menu, data *ContextMenuData) | 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 | Y | |
|
||||
| Hide | 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 | Y | |
|
||||
| SaveFile | Y | Y | Y | |
|
||||
| OpenFile | Y | | Y | |
|
||||
| SaveFile | Y | | Y | |
|
||||
|
||||
### Clipboard
|
||||
|
||||
| Feature | Windows | Linux | Mac | Notes |
|
||||
|---------|---------|-------|-----|-------|
|
||||
| SetText | Y | Y | Y | |
|
||||
| Text | Y | Y | Y | |
|
||||
| ------- | ------- | ----- | --- | ----- |
|
||||
| SetText | Y | | Y | |
|
||||
| Text | Y | | Y | |
|
||||
|
||||
### ContextMenu
|
||||
|
||||
| Feature | Windows | Linux | Mac | Notes |
|
||||
|------------------|---------|-------|-----|-------|
|
||||
| OpenContextMenu | Y | Y | Y | |
|
||||
| ---------------- | ------- | ----- | --- | ----- |
|
||||
| OpenContextMenu | 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 | - | Set the window to be enabled/disabled |
|
||||
| SetEnabled | Y | U | 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 | Y | | |
|
||||
| ------------------------------- | ------- | ----- | --- | ------------------------------------------ |
|
||||
| AlwaysOnTop | 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 | Y | Windows has default icons for light/dark mode & supports PNG or ICO. |
|
||||
| Label | - | Y | Y | |
|
||||
| ------------------ | ------- | ----- | --- | -------------------------------------------------------------------- |
|
||||
| Icon | Y | | Y | Windows has default icons for light/dark mode & supports PNG or ICO. |
|
||||
| Label | - | | Y | |
|
||||
| Label (ANSI Codes) | - | | | |
|
||||
| Menu | Y | Y | Y | |
|
||||
| Menu | Y | | Y | |
|
||||
|
||||
### Methods
|
||||
|
||||
| Method | Windows | Linux | Mac | Notes |
|
||||
| ----------------------------- | ------- | ----- | --- | ----- |
|
||||
| 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) |
|
||||
| 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 | |
|
||||
|
||||
## Cross Platform Events
|
||||
|
||||
@@ -385,3 +385,33 @@ 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
|
||||
@@ -1,44 +0,0 @@
|
||||
# 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 2
|
||||
|
||||
#### Goals
|
||||
|
||||
Alpha 2 aims to introduce [Taskfile](https://taskfile.dev) support. This will
|
||||
allow us to have a single, extensible build system that works on all platforms.
|
||||
We also want to get all examples working on Linux.
|
||||
|
||||
#### Status
|
||||
|
||||
- [ ] All examples working on Linux
|
||||
- [ ] Init, Build, Dev & Package commands
|
||||
|
||||
|
||||
- :material-check-bold: - Working
|
||||
- :material-minus: - Partially working
|
||||
- :material-close: - Not working
|
||||
|
||||
{{ read_csv("alpha2.csv") }}
|
||||
|
||||
### 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
|
||||
|
||||
- :material-check-bold: - Working
|
||||
- :material-minus: - Partially working
|
||||
- :material-close: - Not working
|
||||
|
||||
{{ read_csv("alpha1.csv") }}
|
||||
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
+7
-17
@@ -1,29 +1,22 @@
|
||||
# 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:
|
||||
We welcome (and encourage) your feedback! 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.
|
||||
- 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.
|
||||
|
||||
- *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 alpha]`.
|
||||
- Open a pull request on the [Wails repository](https://github.com/wailsapp/wails). The title of the PR should start with `[v3]`.
|
||||
- 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.
|
||||
@@ -42,10 +35,7 @@ posts before creating new ones. Here are the different ways to provide 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 ....."
|
||||
|
||||
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
|
||||
Things we are looking for feedback on:
|
||||
|
||||
- The API
|
||||
- Is it easy to use?
|
||||
+2
-6
@@ -4,11 +4,7 @@ To install the Wails CLI, ensure you have [Go 1.21+](https://go.dev/dl/)
|
||||
installed and run:
|
||||
|
||||
```shell
|
||||
git clone https://github.com/wailsapp/wails.git
|
||||
cd wails
|
||||
git checkout v3-alpha
|
||||
cd v3/cmd/wails3
|
||||
go install
|
||||
go install github.com/wailsapp/wails/v3/cmd/wails3@latest
|
||||
```
|
||||
|
||||
## Supported Platforms
|
||||
@@ -16,7 +12,7 @@ go install
|
||||
- Windows 10/11 AMD64/ARM64
|
||||
- MacOS 10.13+ AMD64
|
||||
- MacOS 11.0+ ARM64
|
||||
- Ubuntu 22.04 AMD64/ARM64 (other Linux may work too!)
|
||||
- Linux AMD64/ARM64
|
||||
|
||||
## Dependencies
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user