Compare commits

...

68 Commits

Author SHA1 Message Date
Lea Anthony ee194f3e46 Update docs 2023-10-29 09:39:47 +11:00
Lea Anthony 82a9c5b1dd Update docs 2023-10-28 17:26:29 +11:00
Lea Anthony fdd8875986 Update docs 2023-10-28 15:54:42 +11:00
Lea Anthony 3b50e0cbc5 Update docs 2023-10-28 15:44:36 +11:00
Lea Anthony fb7fda2256 Upgrade mkdocs 2023-10-28 12:22:21 +11:00
Lea Anthony d9beb6126e Add CNAME 2023-10-28 11:54:03 +11:00
Travis McLane a81581129a [v3 linux] menu bitmap update handling 2023-10-27 16:45:10 -05:00
Travis McLane e95a91861a [v3 linux] noop: cleanup 2023-10-27 16:45:10 -05:00
Travis McLane fa5948f40e use windowId to avoid miscompilation 2023-10-27 15:46:25 -05:00
Travis McLane ad4c8aacfb [v3 linux] keypress handling stubout 2023-10-27 14:41:22 -05:00
Travis McLane afbc09f1e7 [v3 linux] menuItem.setBitmap support 2023-10-26 16:56:06 -05:00
Travis McLane 1a1e5b743a [v3 linux] dbus menu icon support 2023-10-26 16:56:06 -05:00
Lea Anthony 24853a7e3b Add events README.md 2023-10-25 20:17:41 +11:00
Lea Anthony 1ce83913bd Fix permissions build issues 2023-10-25 20:06:53 +11:00
Lea Anthony 1650e26da7 [windows] dnd fixes 2023-10-25 20:04:00 +11:00
Travis McLane bc01fd8ea3 [v3 windows] hide go-webview2 from non-windows 2023-10-24 15:40:58 -05:00
Lea Anthony 3422c40e19 [windows] ignore mouse events 2023-10-23 20:58:55 +11:00
Lea Anthony e661052c89 [windows] support permissions 2023-10-23 20:50:25 +11:00
Lea Anthony ff08a5ca2b [windows] html fullscreen support 2023-10-23 20:49:21 +11:00
5aaee9 f8250fb0d8 darwin: add event ApplicationShouldHandleReopen (#2991)
* darwin: add ApplicationShouldHandleReopen

* docs: update changelog with mr id

* events: update id

* feat: always return true

* Merge v3-alpha and regenerate events

* darwin: allow pass nsdirectory to processApplicationEvent

---------

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2023-10-22 21:12:12 +11:00
Lea Anthony d1c3f8af7a [darwin] Fix menu icon 2023-10-22 14:34:04 +11:00
Lea Anthony 36b4b3695b Initial menu item bitmap support 2023-10-22 09:32:04 +11:00
Atterpac fb17ec8064 Allow Wails3 Doctor recognize globally installed apt packages (#2972)
* Fixes doctor bug for apt package manager

* Actually fix it

* Pad the text " all" 

Adding a space to ensure checking against "all" doesn't always catch "install" or "not-installed" etc

* Update changelog.md

Doctor Apt Verify

---------

Co-authored-by: atterpac <michael@atterpac.dev>
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2023-10-21 16:32:50 +11:00
Lea Anthony 51f52656cc Update go-webview2 version 2023-10-21 12:02:19 +11:00
Travis McLane 18746c7819 V3 alpha linux dbus (#2996)
* [v3 linux/systray] dbus generation

* [v3 linux] systemtray dbus implementation

* [v3] add 'id' for MenuSeparator

This is needed in order to have a unique value for all
menuItem(s) such that the Linux implementation doesn't have to
generate new identifiers.
Allowing the reuse keeps a 1-1 mapping in place without any extra effort.

* [v3 example/systray] add radio group to example

* [v3 linux] stub out ExportStatusNotifierItem callbacks

Can only seem to get the `SecondaryActivate` to fire when doing a
3-finger click!  I was expecting a right-click interaction to trigger it.
2023-10-21 11:39:46 +11:00
Lea Anthony 8463c01123 [windows] Drag-n-drop support 2023-10-21 11:21:10 +11:00
Lea Anthony 8e0671306a Mac examples + readme updated 2023-10-17 20:25:36 +11:00
Lea Anthony 131a6da554 Fix resize on windows 2023-10-16 19:29:42 +11:00
Lea Anthony 59273fcdab Add basic hardware detection to wails doctor 2023-10-15 20:02:29 +11:00
Lea Anthony 7795a2a46f Fix modifier processing on windows.
Move info logs to debug.
2023-10-15 13:53:31 +11:00
Lea Anthony 2269f64b0a Fix build output name 2023-10-15 12:52:13 +11:00
Lea Anthony 439da97573 Fix go version 2023-10-15 12:48:11 +11:00
Lea Anthony 2b478a4608 More workflow improvements 2023-10-15 12:42:49 +11:00
Lea Anthony 3b95725f09 Try caching in workflow 2023-10-15 10:48:42 +11:00
Lea Anthony 3a23ad1382 Fix example building. Update workflow 2023-10-15 10:43:39 +11:00
Lea Anthony 61a7f1fba5 Reformat changelog 2023-10-15 09:33:48 +11:00
5aaee9 a8641672cd [v3] fix deadlock when quit (#2982)
* fix: dead lock when quit

* docs: update changelog
2023-10-14 20:34:00 +11:00
Lea Anthony 320fc20461 Add example build test windows fix 2023-10-12 21:18:42 +11:00
Lea Anthony 69f05c39ec Add example build test 2023-10-12 21:15:41 +11:00
Lea Anthony e55ffedc35 Add example build test 2023-10-12 21:13:53 +11:00
Lea Anthony 0577fefd75 Remove Browser plugin. Update plugin example 2023-10-12 08:41:18 +11:00
Lea Anthony 02713670c9 Custom icon shows app icon 2023-10-11 21:29:40 +11:00
Lea Anthony e6de878395 Move server plugin to experimental dir 2023-10-11 20:25:56 +11:00
Lea Anthony 4c75b288bb Add BrowserOpenURL and BrowserOpenFile to App.
Better WML assets for demo
Fix dialog responses.
Add `wml-openurl`
Rename: data-wml -> wml
Fix Alpha Feedback URL
2023-10-11 20:23:59 +11:00
Travis McLane 263e1b527a [v3 linux] lower signal memory usage
- drop the gtkSignalHandlers map entirely (wasn't used)
- use 'uint' for mapping signal IDs to MenuItem
- store and retrieve the menuitem identifier to/from the menu item widget
2023-10-10 12:38:10 -05:00
Lea Anthony 3d88bf8795 Fix context menu issues.
Fix WindowID for requests on windows.
Add `Windows.ApplicationStarted` event
2023-10-10 21:48:47 +11:00
Lea Anthony 740b2b0979 Fix windows icon for about box.
Add NewRGBA and NewRGB methods.
Added README.md to all examples.
Add roadmap.md to docs
2023-10-09 20:56:19 +11:00
Lea Anthony 2b843fc12e Update contextmenus/dev example 2023-10-09 17:38:46 +11:00
Lea Anthony 473cf1cae3 Update window example 2023-10-09 17:38:22 +11:00
Lea Anthony 65d4266400 Update systray example 2023-10-09 17:38:11 +11:00
Lea Anthony 8d5b86fff7 Update dialogs example 2023-10-09 17:38:03 +11:00
Lea Anthony 92843c8237 Update clipboard example 2023-10-09 17:37:50 +11:00
Lea Anthony 13b588b555 Update build example 2023-10-09 17:37:40 +11:00
Lea Anthony 839a9ff498 Update bindings example 2023-10-09 17:37:21 +11:00
Lea Anthony ef8c16d773 Fix bindings help text 2023-10-09 17:36:58 +11:00
Lea Anthony 602fafafea [windows] Better corner detection for frameless windows 2023-10-09 17:36:32 +11:00
Lea Anthony 83ed7fd2df [windows] Fix production logger. Add alpha assets 2023-10-09 17:36:06 +11:00
Lea Anthony f07e4093be [windows] Don't show menu for frameless window 2023-10-09 17:35:28 +11:00
Lea Anthony bf13afd895 [windows] Fix dialog icon 2023-10-09 17:34:56 +11:00
Lea Anthony 9ffc06d42e Update Task to v3.31.0. Update deps. 2023-10-09 10:39:09 +11:00
Lea Anthony ebe91ba11d [darwin] Disable listener caching. Run execJS on main thread. 2023-10-07 20:08:22 +11:00
Lea Anthony 48aef46f57 [darwin] Quick event fix 2023-10-07 12:28:50 +11:00
Lea Anthony c77c823c3c Revert "[linux] Implement events"
This reverts commit 8ddd29d285.
2023-10-07 12:21:49 +11:00
Travis McLane ccccea1e50 [v3] go mod tidy 2023-10-06 15:03:36 -05:00
Travis McLane a6163849c6 [v3 linux] match windows transparency logic 2023-10-06 14:38:38 -05:00
Travis McLane 130aab3598 [v3 linux] systray stubout
slim down the printouts and fix compilation
2023-10-05 17:25:45 -05:00
Travis McLane 78b85ce0cc [v3 linux] systray not implemented 2023-10-05 14:04:13 -05:00
Travis McLane dbcf65b2d6 Revert "Merge branch 'v3-alpha-linux-systray' into v3-alpha"
This reverts commit 92b26488da, reversing
changes made to 1c48d567e1.
2023-10-05 08:34:12 -05:00
188 changed files with 5789 additions and 1972 deletions
@@ -30,6 +30,16 @@ jobs:
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,6 +110,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: Build Wails3 CLI
run: |
cd ./v3/cmd/wails3
+7 -7
View File
@@ -19,16 +19,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added
- [darwin] add getPrimaryScreen/getScreens to impl by @tmclane in
https://github.com/wailsapp/wails/pull/2618
- [darwin] add Event ApplicationShouldHandleReopen to able 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)
### Fixed
- Fixed background colours of examples on Windows by
[mmgvh](https://github.com/mmghv) in
[#2750](https://github.com/wailsapp/wails/pull/2750).
- Fixed default context menus by [mmgvh](https://github.com/mmghv) in
[#2753](https://github.com/wailsapp/wails/pull/2753).
- 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).
- Fixed default context menus by [mmgvh](https://github.com/mmghv) in [#2753](https://github.com/wailsapp/wails/pull/2753).
### Changed
@@ -134,14 +134,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 +174,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
+21 -50
View File
@@ -16,7 +16,7 @@ Status of features in v3.
Application interface methods
| Method | Windows | Linux | Mac | Notes |
| ------------------------------------------------------------- | ------- | ----- | --- | ----- |
|---------------------------------------------------------------|---------|-------|-----|-------|
| run() error | Y | Y | Y | |
| destroy() | | Y | Y | |
| setApplicationMenu(menu \*Menu) | Y | Y | Y | |
@@ -36,7 +36,7 @@ Application interface methods
Webview Window Interface Methods
| Method | Windows | Linux | Mac | Notes |
| -------------------------------------------------- | ------- | ----- | --- | ---------------------------------------- |
|----------------------------------------------------|---------|-------|-----|------------------------------------------|
| center() | Y | Y | Y | |
| close() | y | Y | Y | |
| destroy() | | Y | Y | |
@@ -90,7 +90,7 @@ Webview Window Interface Methods
### Application
| Feature | Windows | Linux | Mac | Notes |
| ------- | ------- | ----- | --- | ----- |
|---------|---------|-------|-----|-------|
| Quit | Y | Y | Y | |
| Hide | Y | | Y | |
| Show | Y | | Y | |
@@ -98,7 +98,7 @@ Webview Window Interface Methods
### Dialogs
| Feature | Windows | Linux | Mac | Notes |
| -------- | ------- | ----- | --- | ----- |
|----------|---------|-------|-----|-------|
| Info | Y | Y | Y | |
| Warning | Y | Y | Y | |
| Error | Y | Y | Y | |
@@ -109,14 +109,14 @@ Webview Window Interface Methods
### Clipboard
| Feature | Windows | Linux | Mac | Notes |
| ------- | ------- | ----- | --- | ----- |
|---------|---------|-------|-----|-------|
| SetText | Y | | Y | |
| Text | Y | | Y | |
### ContextMenu
| Feature | Windows | Linux | Mac | Notes |
| ---------------- | ------- | ----- | --- | ----- |
|------------------|---------|-------|-----|-------|
| OpenContextMenu | Y | | Y | |
| On By Default | | | | |
| Control via HTML | Y | | | |
@@ -134,7 +134,7 @@ show the context menu unless it is explicitly set with
### Screens
| Feature | Windows | Linux | Mac | Notes |
| ---------- | ------- | ----- | --- | ----- |
|------------|---------|-------|-----|-------|
| GetAll | Y | Y | Y | |
| GetPrimary | Y | Y | Y | |
| GetCurrent | Y | Y | Y | |
@@ -142,7 +142,7 @@ show the context menu unless it is explicitly set with
### System
| Feature | Windows | Linux | Mac | Notes |
| ---------- | ------- | ----- | --- | ----- |
|------------|---------|-------|-----|-------|
| IsDarkMode | | | Y | |
### Window
@@ -152,7 +152,7 @@ Y = Supported U = Untested
- = Not available
| Feature | Windows | Linux | Mac | Notes |
| ------------------- | ------- | ----- | --- | ------------------------------------------------------------------------------------ |
|---------------------|---------|-------|-----|--------------------------------------------------------------------------------------|
| Center | Y | Y | Y | |
| Focus | Y | Y | | |
| FullScreen | Y | Y | 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,7 +190,7 @@ 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 | | | |
| BackgroundColour | Y | Y | | |
| BackgroundType | | | | Acrylic seems to work but the others don't |
@@ -230,13 +230,13 @@ To log or not to log? System logger vs custom logger.
## Menu
| Event | Windows | Linux | Mac | Notes |
| ------------------------ | ------- | ----- | --- | ----- |
|--------------------------|---------|-------|-----|-------|
| Default Application Menu | Y | Y | Y | |
## Tray Menus
| Feature | Windows | Linux | Mac | Notes |
| ------------------ | ------- | ----- | --- | -------------------------------------------------------------------- |
|--------------------|---------|-------|-----|----------------------------------------------------------------------|
| Icon | Y | | Y | Windows has default icons for light/dark mode & supports PNG or ICO. |
| Label | - | | Y | |
| Label (ANSI Codes) | - | | | |
@@ -245,7 +245,7 @@ To log or not to log? System logger vs custom logger.
### Methods
| Method | Windows | Linux | Mac | Notes |
| ----------------------------- | ------- | ----- | --- | ----- |
|-------------------------------|---------|-------|-----|-------|
| setLabel(label string) | - | | Y | |
| run() | Y | | Y | |
| setIcon(icon []byte) | Y | | Y | |
@@ -260,7 +260,7 @@ To log or not to log? System logger vs custom logger.
Mapping native events to cross-platform events.
| Event | Windows | Linux | Mac | Notes |
| ------------------------ | ------- | ----- | --------------- | ----- |
|--------------------------|---------|-------|-----------------|-------|
| WindowWillClose | | | WindowWillClose | |
| WindowDidClose | | | | |
| WindowDidResize | | | | |
@@ -284,7 +284,7 @@ Contains a lot needed for development.
## Theme
| Mode | Windows | Linux | Mac | Notes |
| ------ | ------- | ----- | --- | ----- |
|--------|---------|-------|-----|-------|
| Dark | Y | | | |
| Light | Y | | | |
| System | Y | | | |
@@ -302,7 +302,7 @@ All templates are working.
Built-in plugin support:
| Plugin | Windows | Linux | Mac | Notes |
| --------------- | ------- | ----- | --- | ----- |
|-----------------|---------|-------|-----|-------|
| Browser | Y | | Y | |
| KV Store | Y | Y | Y | |
| Log | Y | Y | Y | |
@@ -318,7 +318,7 @@ TODO:
## Packaging
| | Windows | Linux | Mac | Notes |
| --------------- | ------- | ----- | --- | ----- |
|-----------------|---------|-------|-----|-------|
| Icon Generation | Y | | Y | |
| Icon Embedding | Y | | Y | |
| Info.plist | - | | Y | |
@@ -329,7 +329,7 @@ TODO:
## Frameless Windows
| Feature | Windows | Linux | Mac | Notes |
| ------- | ------- | ----- | --- | ---------------------------------------------- |
|---------|---------|-------|-----|------------------------------------------------|
| Resize | Y | | Y | |
| Drag | Y | Y | Y | Linux - can always drag with `Meta`+left mouse |
@@ -340,7 +340,7 @@ TODO:
### Mac Options
| Feature | Default | Notes |
| ----------------------- | ----------------- | ---------------------------------------------------- |
|-------------------------|-------------------|------------------------------------------------------|
| Backdrop | MacBackdropNormal | Standard solid window |
| DisableShadow | false | |
| TitleBar | | Standard window decorations by default |
@@ -356,7 +356,7 @@ TODO:
### Windows Options
| Feature | Default | Notes |
| --------------------------------- | ------------- | ------------------------------------------- |
|-----------------------------------|---------------|---------------------------------------------|
| BackdropType | Solid | |
| DisableIcon | false | |
| Theme | SystemDefault | |
@@ -386,32 +386,3 @@ The examples can be compiled using the following command:
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,7 +1,7 @@
# 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"
@@ -16,7 +16,7 @@ feedback:
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 +35,9 @@ 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?
@@ -4,7 +4,9 @@ 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/cmd/wails3
go install
```
## Supported Platforms
@@ -15,6 +15,8 @@ go run .
in the example directory.
The status of the examples is on the [roadmap](/roadmap).
## Creating a new project
To create a new project, you can use the `wails3 init` command. This will create
+50
View File
@@ -0,0 +1,50 @@
# 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 | W | |
| build | W | W | |
| clipboard | W | W | |
| context menus | W | W | |
| dialogs | P | W | |
| drag-n-drop | W | N | |
| events | W | W | |
| frameless | W | W | |
| keybindings | W | W | |
| plain | W | W | |
| screen | W | W | |
| systray | W | W | |
| video | | W | |
| window | P | W | |
| wml | W | W | |
- Mac Dialogs work, however the file dialogs issue a warning that needs to be fixed.
#### TODO:
- [ ] Fix `+[CATransaction synchronize] called within transaction` warnings on Mac
- [ ] When hiding window, application terminates
### Alpha 2
- [ ] Most examples working on Linux
- [ ] Project creation via `wails init`
+14 -14
View File
@@ -1,7 +1,7 @@
# What's new in v3?
!!! note The features that will be included in the v3 release may change from
this list.
!!! note
The features that will be included in the v3 release may change from this list.
## Multiple Windows
@@ -311,24 +311,24 @@ An experimental feature to call runtime methods using plain html, similar to
<body style="margin-top:50px; color: white; background-color: #191919">
<h2>Wails ML Demo</h2>
<p>This application contains no Javascript!</p>
<button data-wml-event="button-pressed">Press me!</button>
<button data-wml-event="delete-things" data-wml-confirm="Are you sure?">
<button wml-event="button-pressed">Press me!</button>
<button wml-event="delete-things" wml-confirm="Are you sure?">
Delete all the things!
</button>
<button data-wml-window="Close" data-wml-confirm="Are you sure?">
<button wml-window="Close" wml-confirm="Are you sure?">
Close the Window?
</button>
<button data-wml-window="Center">Center</button>
<button data-wml-window="Minimise">Minimise</button>
<button data-wml-window="Maximise">Maximise</button>
<button data-wml-window="UnMaximise">UnMaximise</button>
<button data-wml-window="Fullscreen">Fullscreen</button>
<button data-wml-window="UnFullscreen">UnFullscreen</button>
<button data-wml-window="Restore">Restore</button>
<button wml-window="Center">Center</button>
<button wml-window="Minimise">Minimise</button>
<button wml-window="Maximise">Maximise</button>
<button wml-window="UnMaximise">UnMaximise</button>
<button wml-window="Fullscreen">Fullscreen</button>
<button wml-window="UnFullscreen">UnFullscreen</button>
<button wml-window="Restore">Restore</button>
<div
style="width: 200px; height: 200px; border: 2px solid white;"
data-wml-event="hover"
data-wml-trigger="mouseover"
wml-event="hover"
wml-trigger="mouseover"
>
Hover over me
</div>
+5
View File
@@ -2,6 +2,7 @@ site_name: "alpha"
site_description: The Wails Project - Build beautiful cross-platform applications using Go
repo_url: https://github.com/wailsapp/wails
edit_uri: edit/v3-alpha/mkdocs-website/docs/
site_url: https://v3alpha.wails.io
theme:
name: material
custom_dir: overrides
@@ -48,6 +49,9 @@ theme:
icon: material/toggle-switch
name: Switch to light mode
#plugins:
# - info
extra:
social:
- icon: fontawesome/brands/github-alt
@@ -95,6 +99,7 @@ nav:
- Introduction: development/introduction.md
- Status: development/status.md
- v3 Changes: development/changes.md
- Roadmap: roadmap.md
- Change Log: changelog.md
- Sponsor❤️: https://github.com/sponsors/leaanthony
+11 -4
View File
@@ -73,8 +73,13 @@
This site will be updated as we progress through the alpha and beta releases.<br/><br/>
v3 is a work in progress. Expect things to fail. Expect things to change. Expect the documentation to be wrong.<br/><br/>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
<h3>The v3 alpha release is intended for testers and contributors. It is not ready for use in any other capacity. Expect things to fail. Expect things to change. Expect the documentation to be wrong.<br/><br/>
</h3>
</div>
<h2>Status</h2>
<br/>
<table border="1">
<tr>
@@ -83,15 +88,15 @@
</tr>
<tr>
<td>Windows</td>
<td>Ready for alpha testing</td>
<td>All examples are working</td>
</tr>
<tr>
<td>Mac</td>
<td>Ready for alpha testing</td>
<td>Most examples are working</td>
</tr>
<tr>
<td>Linux</td>
<td>Not ready - still a work in progress</td>
<td>Some examples are working</td>
</tr>
</table>
<br/><br/>
@@ -105,6 +110,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/>
+32
View File
@@ -132,4 +132,36 @@ tasks:
- task: format
- task: docs:update:api
test:example:
dir: 'examples/{{.DIR}}'
cmds:
- echo "Building example {{.DIR}}"
- go mod tidy
- go build -o "testbuild-{{.DIR}}{{exeExt}}"
test:examples:
summary: Builds the examples
dir: examples
vars:
EXAMPLEDIRS: |
binding
build
clipboard
contextmenus
dialogs
drag-n-drop
events
frameless
keybindings
menu
plain
plugins
screen
systray
window
wml
cmds:
- for: { var: EXAMPLEDIRS }
task: test:example
vars:
DIR: "{{.ITEM}}"
+2 -6
View File
@@ -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 -1
View File
@@ -8,7 +8,7 @@ The examples in this directory may or may not compile / run at any given time.
cd v3/examples/<example>
go mod tidy
go run main.go
go run .
## Compiling the examples
+11
View File
@@ -0,0 +1,11 @@
# Bindings Example
This example demonstrates how to generate bindings for your application.
To generate bindings, run `wails3 generate bindings` in this directory.
See more options by running `wails3 generate bindings --help`.
## Notes
- The bindings generator is still a work in progress and is subject to change.
- The generated code uses `wails.CallByID` by default. This is the most secure and quickest way to call a function. In a future release, we will look at generating `wails.CallByName` too.
@@ -0,0 +1,28 @@
// @ts-check
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Ă‚ MODIWL
// This file is automatically generated. DO NOT EDIT
import {main} from './models';
window.go = window.go || {};
window.go.main = {
GreetService: {
/**
* GreetService.Greet
* Greet greets a person
* @param name {string}
* @returns {Promise<string>}
**/
Greet: function(name) { wails.CallByID(1411160069, ...Array.prototype.slice.call(arguments, 0)); },
/**
* GreetService.GreetPerson
* GreetPerson greets a person
* @param person {main.Person}
* @returns {Promise<string>}
**/
GreetPerson: function(person) { wails.CallByID(4021313248, ...Array.prototype.slice.call(arguments, 0)); },
},
};
File diff suppressed because one or more lines are too long
+24
View File
@@ -0,0 +1,24 @@
// @ts-check
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Ă‚ MODIWL
// This file is automatically generated. DO NOT EDIT
export namespace main {
export class Person {
name: string; // Warning: this is unexported in the Go struct.
static createFrom(source: any = {}) {
return new Person(source);
}
constructor(source: any = {}) {
if ('string' === typeof source) {
source = JSON.parse(source);
}
this.name = source['name'];
}
}
}
+2 -2
View File
@@ -7,7 +7,7 @@ import {main} from './models';
window.go = window.go || {};
window.go.main = {
GreetService: {
/**
* GreetService.Greet
* Greet greets a person
@@ -15,7 +15,7 @@ window.go.main = {
* @returns {Promise<string>}
**/
Greet: function(name) { wails.CallByID(1411160069, ...Array.prototype.slice.call(arguments, 0)); },
/**
* GreetService.GreetPerson
* GreetPerson greets a person
+4 -2
View File
@@ -23,24 +23,26 @@ require (
github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351 // indirect
github.com/kr/pretty v0.3.1 // 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/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/pkg/browser v0.0.0-20210911075715-681adbf594b8 // indirect
github.com/rivo/uniseg v0.4.4 // indirect
github.com/rogpeppe/go-internal v1.10.1-0.20230524175051-ec119421bb97 // indirect
github.com/samber/lo v1.38.1 // indirect
github.com/sergi/go-diff v1.2.0 // indirect
github.com/stretchr/testify v1.8.4 // indirect
github.com/wailsapp/go-webview2 v1.0.7 // 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
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df // indirect
golang.org/x/net v0.10.0 // indirect
golang.org/x/sys v0.11.0 // indirect
golang.org/x/sys v0.13.0 // indirect
gopkg.in/warnings.v0 v0.1.2 // indirect
)

Some files were not shown because too many files have changed in this diff Show More