Compare commits

...

153 Commits

Author SHA1 Message Date
Travis McLane c808d513ac [linux] events related 2023-11-27 09:25:21 -06:00
Travis McLane 08faf0d1fa [linux] process window close events
- this triggers the event properly but does not seem
  to actually close the window although it will be deleted
  from the Application itself.  What is supposed to actually
  close the window?
2023-11-27 09:25:21 -06:00
Travis McLane f1739138c3 [linux] generate events.common.ApplicationStarted 2023-11-27 09:25:21 -06:00
Travis McLane 84023d543a ensure setupCommonEvents is called 2023-11-27 09:25:21 -06:00
Travis McLane 69e492beb1 [events] move 'setupCommonEvents' to application
the platform specific parts stay behind
2023-11-27 09:25:21 -06:00
Lea Anthony 8242834fbd [windows] improvements to dev 2023-11-27 21:24:58 +11:00
Lea Anthony 814e1ec059 [windows] initial wails dev support 2023-11-27 20:38:42 +11:00
Lea Anthony 12efb8b981 Update default taskfile. WIP linux packaging 2023-11-20 20:41:17 +11:00
Lea Anthony b9558cc3cb Update default taskfile. WIP linux packaging 2023-11-18 13:08:59 +11:00
Lea Anthony 022baad9e5 Update default taskfile. Update copyright symbol 2023-11-17 21:53:45 +11:00
Lea Anthony 9629b1414e Improve default taskfile 2023-11-16 22:59:04 +11:00
Lea Anthony ea44cf850c Improve default taskfile 2023-11-16 22:53:52 +11:00
Lea Anthony 61c8c9eac0 Improve default taskfile 2023-11-16 22:48:08 +11:00
Lea Anthony c89f59dc7c Update nav 2023-11-16 09:00:39 +11:00
Lea Anthony 1fed110afd Update bug reporting docs 2023-11-16 08:52:00 +11:00
Lea Anthony 4ea6a2d120 Support wails package on Windows 2023-11-15 20:45:38 +11:00
Travis McLane f84bb6a287 chore: update alpha2 status linux 2023-11-13 09:18:27 -06:00
Lea Anthony 869a6f761a [docs] Update alpha2 status 2023-11-12 21:47:00 +11:00
Lea Anthony 2d3029482d [docs] Update alpha2 status 2023-11-12 21:45:57 +11:00
Lea Anthony 250e9f91ba [darwin] Wrappers for init, build, dev, package. Refactored default Taskfile. 2023-11-12 21:41:10 +11:00
Lea Anthony df49f49c60 v3.0.0-alpha.2 2023-11-12 21:37:09 +11:00
Lea Anthony 3e0ff5edbd [darwin] Update docs 2023-11-12 20:16:19 +11:00
Lea Anthony 1142e81348 [darwin] fix CATransaction errors. Update docs. 2023-11-12 17:06:11 +11:00
Lea Anthony ae38d1e020 Fix taskfile in templates. Sanitize the project name 2023-11-12 16:36:01 +11:00
Lea Anthony eefeadc018 [darwin] fix hiding in window example 2023-11-12 16:13:09 +11:00
Lea Anthony 4593b52863 Include javascriptcore lib for build 2023-11-12 15:59:56 +11:00
Lea Anthony 7333ca6c61 Change order of steps for build 2023-11-12 15:51:17 +11:00
Lea Anthony 5b5a4ba4cc Fix windows build 2023-11-12 14:23:13 +11:00
Lea Anthony 9af14015e4 [chore] add javascriptcoregtk dep in actions 2023-11-12 14:07:11 +11:00
Lea Anthony ef80562a0f [chore] fix go.mod 2023-11-12 14:01:48 +11:00
Lea Anthony 0b48c3456b [linux] Add webkit version detection + capabilities 2023-11-12 08:21:31 +11:00
Lea Anthony 1f16655769 [linux] Allow devtools by default 2023-11-11 19:05:03 +11:00
Travis McLane b8d780ba4a Feature/template consolidation (#3046)
* remove 'test' project

* dynamic template list generation

- uses a single fs.Embed to contain all templates
- walks and rebuilds the list of TemplateData using the cached data
- pulls the `description` out of the required `template.json` file in
  the template directory

* [v3] template handling update

- move "common" template files to a _common directory
- update generator to render from _common/* first
- render selected template last to overwrite anything provided by
  _common if needed
- remove duplicate files from all templates that do not change

* cleanup template project directory after test

* add linux to _common/Taskfile.yaml

* noop: whitespace cleanup _common/Taskfile.yaml
2023-11-11 12:26:28 +11:00
Travis McLane 965460edb7 [v3 linux] update status matrix 2023-11-09 21:12:56 -06:00
Travis McLane 53ea6511fc [v3 linux] correct bug in getScreenByIndex 2023-11-09 21:11:35 -06:00
Light eae73dfa18 Update roadmap.md (#3044)
Fix weird characters on roadmap page, seems funky to me.
2023-11-09 21:55:19 +11:00
Travis McLane 27c4c5e6f6 [v3 linux] bail early if bad dbus message
Need at least two elements to decide what theme it is and if it is
a theme message at all.

Addresses #3040
2023-11-08 22:41:35 -06:00
Travis McLane 6f197f67f1 [linux] remove deprecated version of webkit callback handling 2023-11-08 22:31:05 -06:00
Light 412c3a5ed1 update windows drag and drop to working (#3039)
* update windows drag and drop to working

* add pr to changelog
2023-11-08 22:36:47 +11:00
Travis McLane 385b1dbfd4 [linux] implement 'script-message-received' handling
- use unsafe.Pointers for 'signal_connect'
- add handler for 'script-message-received::external'
  need to update this to handle older versions of webkit2gtk better
  currently removed the ifdef guards (since they don't work in Go code
  directly) - need to reimplement using build tags if required.
2023-11-06 23:29:03 -06:00
Travis McLane 0a4c596ecb [v3 darwin] typecast as ApplicationEventType 2023-11-06 12:20:10 -06:00
Travis McLane d2e0e0ed81 [v3 windows] avoid casting ApplicationEvent as int 2023-11-06 12:14:18 -06:00
Travis McLane f787cf4bc2 [v3 linux] show dev tools if OpenInspectorAtStartup=true 2023-11-06 12:04:20 -06:00
Travis McLane ca21a3b79d [v3 linux] initial pass at event generation 2023-11-06 10:49:14 -06:00
Travis McLane a773da2651 [v3 linux] use dbus for monitoring theme changes 2023-11-06 10:49:14 -06:00
Travis McLane 1a90b45f18 add linux status for examples 2023-11-06 10:49:14 -06:00
Travis McLane 9f6cd35155 [v3 linux] stop key-press event propagation 2023-11-06 10:49:14 -06:00
atterpac f122db2e7b Linux Keybinds
- Adds getKeyboardState into linux_cgo to parse keypress event and transfer it into
  an accelerator for the handleKeyEvent using GDK keycodes
2023-11-06 10:49:11 -06:00
Travis McLane d65f1b1647 [v3 docs] update status.md 2023-11-06 10:48:42 -06:00
Travis McLane 0fc535f2f1 [v3 linux] contextMenus 2023-11-06 10:41:14 -06:00
Travis McLane e420900e55 [v3 examples] go.* update 2023-11-06 10:41:14 -06:00
Travis McLane 0cd64d1fbc [v3 linux] noop: remove commented code 2023-11-06 10:41:14 -06:00
Travis McLane 46a0030387 [v3] noop: gofmt changes 2023-11-06 10:41:14 -06:00
Travis McLane 495da9b292 [v3 linux] implement logPlatformInfo 2023-11-06 10:41:14 -06:00
Travis McLane efb300c9f0 [v3] update go.sum 2023-11-06 10:41:14 -06:00
Travis McLane 7f1706fc74 [v3 examples/build] Taskfile update
- add Linux production build
- remove OS X env from basic build
2023-11-06 10:41:14 -06:00
Travis McLane 8dbbdc4bf2 [v3 linux] sanitize appId more thoroughly 2023-11-06 10:41:14 -06:00
Light 7c15f9098c Add extra check for GPU device info for null pointer (#3032)
* add check for GPU device info

* add changelog note

* change return to continue

* Small refactor

---------

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2023-11-06 20:51:03 +11:00
Lea Anthony 36a3e90b1d Small doc fixes 2023-11-05 19:34:22 +11:00
Lea Anthony 3882201434 Add mkdocs-static-i18n dep 2023-11-05 18:13:20 +11:00
Lea Anthony 857bf40072 Update parser and bindings generation
Update tests
2023-11-05 18:06:11 +11:00
Lea Anthony 075eb1fa3f Update parser and bindings generation
Update tests
2023-11-05 18:02:36 +11:00
Lea Anthony dbb7c6e7d0 Update docs workflow 2023-11-05 15:05:44 +11:00
Lea Anthony 947d429688 Build status table from CSV 2023-11-05 14:42:32 +11:00
Lea Anthony f49d42678b Add todo project list 2023-11-03 15:41:17 +11:00
Lea Anthony f28c9515ad Update installation instructions 2023-11-02 20:53:59 +11:00
Travis McLane c6ecbd56e5 [v3 examples/bindings] correct binding output + example
- disable output of `import <model> from models` line
- update README to generate bindings in usable location for HTML
- update HTML to reference bindings correctly
- update javascript to call and process the bound Greet function
2023-10-31 17:24:00 -05:00
Travis McLane 144567410d [v3 linux] disable noisy onKeyPressEvent handler 2023-10-31 17:22:36 -05:00
Travis McLane 1b850662ed [v3 example/bindings] enable DevTools 2023-10-31 17:15:16 -05:00
Travis McLane c7c4cacc29 [v3 linux] auto-toggle devtools (if enabled) 2023-10-31 17:15:16 -05:00
Travis McLane 7e63355353 [v3 linux] correct type of window 2023-10-31 17:08:12 -05:00
Travis McLane 01652c7940 [v3 linux] update devtools behavior to match win/mac 2023-10-31 14:02:36 -05:00
Travis McLane b379e3b0eb Revert "Merge branch 'linux-keycodes' into v3-alpha"
This reverts commit a2fde7f2c3, reversing
changes made to 985c5bf8e2.
2023-10-31 11:09:11 -05:00
Travis McLane a2fde7f2c3 Merge branch 'linux-keycodes' into v3-alpha 2023-10-30 10:31:11 -05:00
Atterpac 2beb452207 Update changelog.md 2023-10-30 10:28:24 -05:00
Michael Capretta 73384a562b Add Linux Keycodes that match existing strings for keybinds 2023-10-30 10:27:21 -05:00
Lea Anthony 985c5bf8e2 [darwin] Support Ignore mouse events
[darwin] Support applicationSupportsSecureRestorableState
Update video example
2023-10-29 20:29:45 +11:00
Lea Anthony daec8a9a64 Update installation instructions 2023-10-29 15:40:06 +11:00
Lea Anthony f88a7a6f99 Update installation instructions 2023-10-29 15:34:12 +11:00
Lea Anthony dc16d145c2 Update installation instructions 2023-10-29 15:31:26 +11:00
Lea Anthony 8432ddc2a8 Update installation instructions 2023-10-29 15:25:34 +11:00
Lea Anthony d072393149 Add another CNAME file (thanks ghpages :/) 2023-10-29 10:03:33 +11:00
Lea Anthony a8e95bf7f1 Add another CNAME file (thanks ghpages :/) 2023-10-29 09:57:38 +11:00
Lea Anthony 1735bdc9a2 Update roadmap link 2023-10-29 09:49:30 +11:00
Lea Anthony f00685d592 Add CNAME 2023-10-29 09:48:37 +11:00
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
391 changed files with 12935 additions and 7648 deletions
+25 -5
View File
@@ -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
+1 -1
View File
@@ -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
+1
View File
@@ -0,0 +1 @@
v3alpha.wails.io
+1
View File
@@ -0,0 +1 @@
v3alpha.wails.io
+1
View File
@@ -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).
@@ -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
@@ -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
@@ -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

@@ -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?
@@ -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
@@ -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