5
0
mirror of https://github.com/wailsapp/wails.git synced 2025-05-03 20:22:08 +08:00
Commit Graph

1042 Commits

Author SHA1 Message Date
Lea Anthony
33a0c9e634
Fixed icon warning on Windows 2024-07-03 07:51:10 +10:00
Atterpac
5fcebd0274
fix windows file dialog panic when directory doesnt exist (#3582) 2024-07-02 18:49:19 +10:00
DeltaLaboratory
749c433ca6
feat: disable spinner in ci or non terminal (#3574)
* added nospinner flag to disable spinner in ci environment

Signed-off-by: delta <delta@deltalab.dev>

* deduplicated result message

Signed-off-by: delta <delta@deltalab.dev>

* removed flag and added terminal check

Signed-off-by: delta <delta@deltalab.dev>

* added changelog entry

Signed-off-by: delta <delta@deltalab.dev>

---------

Signed-off-by: delta <delta@deltalab.dev>
2024-07-02 18:35:39 +10:00
Travis McLane
cfe2424f4d
WindowDidMove / WindowDidResize events for Linux and Windows
* [linux] emit system specific event for theme change

Code was incorrectly emitting the `events.Common.ThemeChanged` event
instead of the OS Specific `events.Linux.SystemThemeChanged` event.
It is the reponsibility of the code in events_common_linux.go to map
it to the common variety.

* [linux] implement WindowDidMove

* [linux] implement debounce for WindowDidMove

* [example] listen for events.Common.WindowDidMove

* [windows] move WindowDidMove mapper outside of DnD guard

* WindowDidResize implementation

* windows: WindowDidResize

* chore: changelog update

* events.Common.WindowDidMove and events.Common.WindowDidResize
2024-06-30 16:11:45 -05:00
Lea Anthony
ed88987308
Added a new menu item to create window that listens to movement event. 2024-06-28 21:25:13 +10:00
Lea Anthony
86e43c92b3
[Windows] Check systray menu before destroying it 2024-06-26 21:05:46 +10:00
Lea Anthony
ae3b92f1ef
Add README.md to templates 2024-06-24 21:48:58 +10:00
Lea Anthony
932f1e9161
Remove unused command 2024-06-24 21:28:26 +10:00
Lea Anthony
b0ac644e9b
Update docs text 2024-06-24 21:27:30 +10:00
Lea Anthony
25cccc32db
Add docs and sponsor subcommands 2024-06-24 20:50:17 +10:00
Lea Anthony
2b5adacbb9
Remove OpenDirectoryDialog 2024-06-17 08:06:32 +10:00
Lea Anthony
ab06920e74 Fix non-windows build issues 2024-06-09 08:28:38 +10:00
Lea Anthony
c937c3bd8b
@wailsio/runtime v3.0.0-alpha.25 2024-06-08 20:45:53 +10:00
Lea Anthony
9d488c97e0
Support raw messages from JS 2024-06-08 20:43:24 +10:00
Lea Anthony
9d24c039fe Fix linux window button methods 2024-06-08 15:56:17 +10:00
Lea Anthony
f738f1e246 Add more macOS version checks 2024-06-08 15:16:33 +10:00
Lea Anthony
95c751d4ac Fix compilation issue on Darwin < 12.3 2024-06-08 13:53:31 +10:00
Lea Anthony
bf9e17a6c8
[WEP] Customise Window Titlebars (#3508)
* Add proposal.
Reference Mac implementation

* Add windows support. Update proposal.

* Update example

* Rename Active->Enable,Inactive->Disabled. Ensure window can get controls back after hiding close on windows. Added guide. Updated example.

* Add ExStyle option for setting titlebar style.

* Fix linux builds

* Tidy up
2024-06-08 13:42:27 +10:00
Lea Anthony
2baca5d57d Update dependencies 2024-06-08 13:39:00 +10:00
Lea Anthony
b0fb67451d Fix icon issue for darwin. 2024-06-08 13:05:06 +10:00
Lea Anthony
f454abf45a
Slight clarification to the WEP guidelines 2024-06-02 10:03:00 +10:00
Atterpac
0dd73e249d
Revert "Remove OpenContextMenu" (#3524)
This reverts commit 54140e9adb.
2024-06-02 06:30:17 +10:00
Lea Anthony
54140e9adb
Remove OpenContextMenu 2024-06-01 15:04:35 +10:00
Travis McLane
45195d5bd6
linux: theme handling bugfix (#3515)
* linux: theme handling bugfix

* update changelog
2024-05-28 11:06:30 -05:00
Lea Anthony
2a056a7855
Fix ctrl key accelerator on macOS 2024-05-25 16:33:43 +10:00
Atterpac
940d0f1906
fix windows cross volume init (#3512)
changelog
2024-05-25 16:20:42 +10:00
Lea Anthony
1d2e1b15ea
Update Linux docs + doctor to suggest webkit2gtk-4.1 2024-05-21 07:47:19 +10:00
Lea Anthony
e424a85a99
Menu improvements (#3492)
* Expose `DefaultApplicationMenu`.
Add `FindByLabel` and `ItemAt` for finding menu items in a menu

* Add `Menu.RemoveMenuItem()`, `MneuItem.GetAccelerator()` and `MenuItem.RemoveAccelerator()`

* Remove `Update`

* Iterate when removing menu items

* Add `GetSubmenu()`
2024-05-20 21:15:02 +10:00
Fabio Massaioli
939d22d670
[v3] Enforce stricter typing for generated bindings (#3498)
* Subject generator output to stricter TS linting

* Fix runtime support code typing

* Relax tsconfig for templates

* Update test data

* Update binding example
2024-05-19 23:28:45 +10:00
Fabio Massaioli
90b7ea944d
[v3] New binding generator (#3468)
* Support variadic arguments and slice, pointer types

* Fix computation of type namespaces

* Improve comments and general formatting

* Set default values correctly for composite types

* Add templates for bindings

Additionally:
* fixes generation of tuple return type
* improves imports and namespacing in JS mode
* general cleanup of generated code

* Simplify import list construction

* Refactor type generation code

Improves support for unknown types (encoded as any) and maps (using
Typescript index signatures)

* Support slices with pointer elements

* Match encoding/json behaviour in struct parser

* Update tests and example

* Add tests for complex method signatures and json tag parsing

* Add test `function_multiple_files`

* Attempt looking up idents with missing denotation

* Update test data

* fix quoted bool field

* Test quoted booleans

* Delete old parser code

* Remove old test data

* Update bindgen flags

* Makes call by ID the default

* Add package loading code

* Add static analyser

* Temporarily ignore binding generation code

* Add complex slice expressions test

* Fix variable reference analysis

* Unwrap casts to interface types

* Complete code comments

* Refactor static analyser

* Restrict options struct usage

* Update tests

* Fix method selector sink and source processing

* Improve Set API

* Add package info collector

* Rename analyser package to analyse

* Improve template functions

* Add index file templates

* Add glue code for binding generation

* Refactor collection and rendering code

* Implement binding generator

* Implement global index generation

* Improve marshaler and alias handling

* Use package path in binding calls by name

* Implement model collection and rendering

* Fix wrong exit condition in analyser

* Fix enum rendering

* Generate shortcuts for all packages.

* Implement generator tests

* Ignore non-pointer bound types

* Treat main package specially

* Compute stats

* Plug new API into generate command

* Support all named types

* Update JS runtime

* Report dual role types

* Remove go1.22 syntax

* Fix type assertion in TS bindings

* encoding/json compliance for arrays and slices

* Ignore got files in testdata

* Cleanup type rendering mechanism

* Update JS runtime

* Implement generic models

* Add missing field in renderer initialisation

* Improve generic creation code

* Add generic model test

* Add error reporting infrastructure

* Support configurable file names

* Detect file naming collisions

* Print final error report

* New shortcut file structure + collision detection

* Update test layout and data

* Autoconfiguration for analyser tests

* Live progress reporting

* Update code comments

* Fix model doc rendering

* Simplify name resolution

* Add test for out of tree types

* Fix generic creation code

* Fix potential collisions between methods and models

* Fix generic class alias rendering

* Report model discovery in debug mode

* Add interface mode for JS

* Collect interface method comments

* Add interface methods test

* Unwrap generic instantiations in method receivers

* Fix rendering of nullable types in interface mode

* Fix rendering of class aliases

* Expose promise cancel method to typescript

* Update test data

* Update binding example

* Fix rendering of aliased quoted type params

* Move to strongly typed bindings

* Implement lightweight analyser

* Update test cases

* Update binding example

* Add complex instantiation test

* Load full dependency tree

* Rewrite collector

* Update renderer to match new collector

* Update generator to match new collector

* Update test data

* Update binding example

* Configure includes and injections by language

* Improve system path resolution

* Support rich conditions in inject/include directives

* Fix error handling in Generator.Generate

* Retrieve compiled go file paths from fileset

* Do not rely on struct info in struct flattening algorithm

* Fix doc comment for findDeclaraion

* Fix bugs in embedded field handling

* Fix bugs and comments in package collection

* Remove useless fields from ServiceInfo

* Fix empty line at the beginning of TS indexes

* Remove global index and shortcuts

* Remove generation tests for individual packages

* Enforce lower-case file names

* Update test data

* Improve error reporting

* Update binding example

* Reintroduce go1.22 syntax

* Improve relative import path computation

* Improve alias support

* Add alias test

* Update test data

* Remove no services error

* Rename global analyser test

* Add workaround and test for bug in typeutil.Map

* Update test data

* Do not split fully qualified names

* Update typeutil package and remove workaround

* Unify alias/named type handling

* Fix rendering of generic named class aliases

* Fix rendering of array types

* Minor tweaks and cleanups

* Rmove namespaced export construct

* Update test data

* Update binding example

* Break type cycles

* Fix typo in comment

* Fix creation code for cyclic types

* Fix type of variadic params in interface mode

* Update test data

* Fix bad whitespace

* Refactor type assertions inside bound methods

* Update test data

* Rename field application.Options.Bind to Services

* Rename parser package to generator

* Update binding example

* Update test data

* Update generator readme

* Add typescript test harness

* Move test output to new subfolder

* Fix code generation bugs

* Use .js extensions in TS mode imports

* Update test data

* Revert default generator output dir to frontend/bindings

* Bump runtime package version

* Update templates

* Update changelog

* Improve newline handling

---------

Co-authored-by: Andreas Bichinger <andreas.bichinger@gmail.com>
2024-05-19 20:40:44 +10:00
Atterpac
04a33e2206
refresh version up (#3495)
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2024-05-19 19:03:08 +10:00
Lea Anthony
95956f6362
Update WEP README 2024-05-19 16:02:22 +10:00
Lea Anthony
e5d82915dd
Update WEP 2024-05-19 15:55:57 +10:00
Lea Anthony
e3f673d9db
Update WEP 2024-05-19 11:44:30 +10:00
Lea Anthony
4fd21432c5
Add WEP docs 2024-05-18 07:10:51 +10:00
Atterpac
9c4b412aea
fix react template css (#3477)
changelog
2024-05-14 06:39:20 +10:00
Atterpac
71b2edc0fe
[V3-Linux] Upgrade to Webkitgtk4.1 (#3461)
* webkitgtk4.0->webkitgtk4.1

changelog

* Update mkdocs-website/docs/en/changelog.md

* Update deps in pipeline

* Update deps in pipeline

* Install 4.1 only when v3

* Install 4.1 only when v3

---------

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2024-05-08 18:08:14 +10:00
Lea Anthony
7661cd189f
Fix Go version 2024-05-08 08:27:38 +10:00
Mike D Pilsbury
0833a6d6d3
[v3] Correct detection of npm with acceptable version (#3458)
* Correct detection of npm with acceptable version

* Update changelog
2024-05-06 08:29:28 +10:00
Lea Anthony
7d851d8434
Fix disable min/max buttons on windows 2024-05-06 08:26:41 +10:00
Atterpac
2c29e1ca76
update devmode to use types and yaml (#3454)
go mod update
2024-05-05 17:27:53 +10:00
Travis McLane
5a57ee99ac example: environment - change css
text was colored white and therefore invisible.
2024-05-03 12:52:15 -05:00
Travis McLane
735b6b6c87 noop: remove Println for events.Linux.ApplicationStartup 2024-05-02 15:31:49 -05:00
Travis McLane
7ea0601fc6 remove Println
unknown key codes shouldn't print out to stdout
2024-05-02 11:02:21 -05:00
Travis McLane
99537f2816 remove Register/UnregisterWindow functionality
- this is no longer needed
2024-05-02 09:37:23 -05:00
Harry Fox
b384bb885b
add missing map init from application.init() (#3426)
* add missing map init from `application.init()`

* add changelog entry for #3426

---------

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2024-05-02 21:57:51 +10:00
abichinger
2255af1c45
[v3] Add port flag to dev command (#3429)
* Add `port` flag to dev command, ...

Add support for environment variable WAILS_VITE_PORT

* Check if port is already in use

* Update changelog

---------

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2024-05-02 21:48:50 +10:00
Fabio Massaioli
f55b781d86
[v3] Binding runtime fixes (#3431)
* Unmarshal arguments to appropriate type in binding calls

* Marshal multiple return values to arrays in binding calls

* Improve logging of remote method calls

* Add tests for `BoundMethod.Call`

* Fix return value if error is nil

* Update changelog

---------

Co-authored-by: Andreas Bichinger <andreas.bichinger@gmail.com>
2024-05-02 21:46:07 +10:00
Lea Anthony
38d9a9551f
Add -trimpath for production build in project taskfile 2024-04-29 17:58:48 +10:00
Lea Anthony
c38cee0a4a
More optimised production build in project taskfile 2024-04-29 17:40:46 +10:00
Lea Anthony
0f9c7b1bbf
Fix nanoid dep for npm package 2024-04-28 19:43:37 +10:00
Lea Anthony
32ddbd8e05
set target branch to v3-alpha 2024-04-28 17:13:59 +10:00
Lea Anthony
67c493f1a8
Fix example building 2024-04-27 17:43:58 +10:00
Lea Anthony
69c513e33d
Fix pipeline tests 2024-04-27 17:38:10 +10:00
Lea Anthony
5d0a58cc6a
Update GetRelative/AbsolutePosition to take border size into account 2024-04-25 15:59:33 +10:00
Lea Anthony
368ca13314
Update window interface 2024-04-25 15:26:31 +10:00
Lea Anthony
2cee1edcb5
Add window.GetBorderSizes 2024-04-25 15:22:01 +10:00
Travis McLane
1b288a0a1a removing experimental server plugin 2024-04-23 09:32:21 -05:00
Harry Fox
81aba310d0
update Taskfile.tmpl.yml to include darwin run task (#3417)
* update Taskfile.tmpl.yml to include darwin run task

* add changelog line for #3417
2024-04-23 18:19:25 +10:00
Atterpac
b050a07362
dev mode adapt to OS (#3412)
changelog
2024-04-22 12:44:10 +10:00
Travis McLane
021efab84d
allow for non-Window WailsEvent listeners (#3406)
* allow for non-Window WailsEvent listeners

- adds a RegisterListener function on the App struct such
  that code can listen for WailsEvent(s) even if it isn't a Window
- rename dispatchEventToWindows -> dispatchEventToListeners
- add all windows and WailsEventListeners to slice before emitting

* Update v3/pkg/application/application.go

---------

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2024-04-20 09:39:57 +10:00
Atterpac
0a42a050bd
fix dev mode windows pipe (#3402) 2024-04-18 23:14:20 +10:00
abichinger
9ca1b30da1
[v3 alpha] Fix drag-n-drop on some linux distros (#3346)
* Fix drag and drop on linux

- Move C code

* Use GTK_DEST_DEFAULT_DROP

* Update changelog

* Move C code back into `linux_cgo.go`
2024-04-15 10:05:23 -05:00
Atterpac
220d5535f7
revert dialog channel close (#3395)
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2024-04-15 18:03:35 +10:00
Atterpac
0895e6a508
refresh version up (#3391) 2024-04-15 16:57:19 +10:00
Lea Anthony
6f41dbf954
Merge branch 'refs/heads/v3-alpha-feature/plugin-updates' into v3-alpha 2024-04-14 21:42:16 +10:00
Lea Anthony
c7ed7e72d4
Major plugin updates 2024-04-14 21:41:33 +10:00
abichinger
7c921d6a81
[v3 alpha] implement setIcon on linux (#3354)
* implement `linuxApp.setIcon`

* Move code into `linux_cgo.go`
2024-04-09 11:04:54 -05:00
Travis McLane
16a029754f disable 'server' example
Doesn't compile currently.
Disabling such that the workflow succeeds
2024-04-08 13:29:42 -05:00
Travis McLane
3c9fd67fd0 doctor: correct compilation errors 2024-04-08 13:23:12 -05:00
atterpac
6f75b00463 Proper syncing and canceling of dialogs
s

s

s
2024-04-08 11:17:05 -05:00
Travis McLane
105d9f0d3a allow directory selection 2024-04-07 16:42:33 -05:00
atterpac
38f6b1297d Call linux dialog on main thread 2024-04-07 16:42:33 -05:00
Lea Anthony
cf130a6e25
[windows] Fix directory select in Open Dialog 2024-04-06 14:38:43 +11:00
Lea Anthony
e91c30fad0 Small doctor improvements 2024-04-03 20:48:55 +11:00
Lea Anthony
88ff84f5a5
[windows] Improve Set window icon when in debug mode 2024-04-01 05:02:39 +11:00
Lea Anthony
eee373f15a
[windows] Set window icon when in debug mode 2024-04-01 04:55:34 +11:00
Lea Anthony
c839c053cb
[windows] Fix min/max buttons 2024-03-29 21:44:59 +11:00
Lea Anthony
238b9ede78 Update plugin example 2024-03-26 21:11:35 +11:00
Lea Anthony
c7bd39abc7 Update plugin example 2024-03-26 21:02:26 +11:00
Lea Anthony
85b1f909a7 Plugin updates 2024-03-26 20:56:58 +11:00
Calle Gustafsson
675f502802
wails3 alpha windows: fix crash when systray icon is clicked without an attached window (#3271)
* Fix: #3270

removes an unnessecary check which returned a double nil wich in turned causes a crash if systray doesn't have an attached window.

* Add iconIsInFlyout method to systray_windows

and use it to determine if the icon is in the
flyout or not when positioning an attached window.

* optimize the windows systray window positioning

we only need to get the systray bounds if
the icon is in the flyout area.

* Use correct behavior for placing the window

if the systray icon is visible in the taskbar the
window should be centered on the systray icon
otherwise the icon is in a flyout are and the
window should be placed in the corner.

Added comments to explain placement logic

* consistent placing of systray menu on right vs left click

* add PR info in changelog

---------

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2024-03-24 17:04:40 +11:00
abichinger
db5553ec75
[linux] fix closing of custom context menu #3329 (#3330)
* [linux] fix closing of custom context menu

* Update changelog

---------

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2024-03-24 16:51:45 +11:00
Fabio Massaioli
413191411f
Remove class fields (#3333) 2024-03-24 16:42:41 +11:00
Fabio Massaioli
45b2681dfc
[v3] Fix binding generator output and import paths (#3334)
* Fix relative import path computation

* Fix models output path

* Add option to generate bindings using bundled runtime

* Update binding example

* Fix testdata

* Update changelog

---------

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2024-03-22 21:18:04 +11:00
Travis McLane
f0986a6441 chore: version.txt == v3.0.0-alpha.4 2024-03-21 14:16:39 -05:00
stffabi
e6645136f9 [windows] Set HiDPI size scaling before setting up chromium 2024-03-21 09:42:23 +01:00
stffabi
189820135a [windows] Use options for window name 2024-03-21 09:42:23 +01:00
Lea Anthony
f19cc528d4 Fix context menu example 2024-03-20 21:18:46 +11:00
Fabio Massaioli
2b9891da2c
[v3] Update and fix runtime JS API (#3295)
* Cleanup bundled runtime entry point

* Fix JS representation of Screen struct

* Expose IsFocused method in Window interface

* Update JS window API

* Fix cleanup of WML listeners

* Bundle runtime as ES module

* Update runtime dependencies

* Update runtime types and events

* Update bundled runtime

* Update changelog

---------

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2024-03-20 20:30:14 +11:00
Lea Anthony
d1968489b7 Don't build server plugin 2024-03-20 07:43:27 +11:00
Lea Anthony
33946a7aac Don't build server plugin 2024-03-19 21:56:54 +11:00
Lea Anthony
aba82cc527 Update system.Environment 2024-03-19 20:37:03 +11:00
atterpac
e92994d2e7
Refresh Version Update (CPU Thread Leak Fix) (#3322)
* Fix appimage file sourcing

Add findGTKFiles to source webkit files for appimage generation

s

* Update refresh version to fix CPU usage

s

* update changelong

* refresh version up

---------

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2024-03-19 08:41:47 +11:00
Lea Anthony
98aff7778e Support ProgramName on linux 2024-03-17 21:09:20 +11:00
Lea Anthony
4ab6352504 Set default size for linux windows 2024-03-17 20:57:46 +11:00
Lea Anthony
b325381ca0 Normalise app/webview options
Update deps
2024-03-17 20:57:46 +11:00
Lea Anthony
bc0a9b2e52 Add BundledAssetFileServer for bundled /wails/runtime.js. Update examples. 2024-03-17 15:08:30 +11:00
atterpac
75c0236a04
[v3] Fix Dev mode <defunct> processes (#3320)
* Fix appimage file sourcing

Add findGTKFiles to source webkit files for appimage generation

s

* Update refresh version to fix CPU usage

s

* update changelong
2024-03-17 14:17:21 +11:00
atterpac
ec2ce3fcfb
Fix appimage file sourcing (#3306)
Add findGTKFiles to source webkit files for appimage generation

s
2024-03-17 11:17:17 +11:00
Lea Anthony
e9a9420e5c Refactor options.
Update deps
2024-03-17 09:42:27 +11:00
Travis McLane
209e097ba6 rename linux options file
`linux` suffix means it won't compile on non-Linux platforms.
Shorten the name to avoid:

../../pkg/application/options_webview_window.go:104:8: undefined: LinuxWindow
../../pkg/application/options_application.go:28:8: undefined: LinuxOptions
../../pkg/application/options_webview_window.go:104:8: undefined: LinuxWindow
2024-03-14 13:25:23 -05:00
Lea Anthony
8d234cc842 Update execjs signature 2024-03-14 08:57:10 +11:00
Lea Anthony
e6805707d8 Fix mac compilation issues 2024-03-14 08:52:10 +11:00
Lea Anthony
acd6f7af5b Merge remote-tracking branch 'origin/v3-alpha-linux' into v3-alpha 2024-03-14 08:39:19 +11:00
Josh Drake
f38532bcf5
Correctly compute 'startURL' when using a frontend development server. (#3299)
* Fix computing 'startURL' when 'FRONTEND_DEVSERVER_URL' is present.

* Respect provided URL when computing 'startURL' and 'FRONTEND_DEVSERVER_URL' is present.

* Update changelog.

* Correctly produce absolute URI in 'GetStartURL' when input is provided.
2024-03-08 18:06:14 +11:00
Travis McLane
4b2189ba51 allow keypress propagation
- this allows the webkit to add values to the `input` when typed
FIXME: does this need to be configurable?
2024-03-07 09:03:47 -06:00
Travis McLane
fb46cce963 simplify key handling logic 2024-03-07 09:03:32 -06:00
Travis McLane
eedd5eb7d2 reuse the 'wv' variable 2024-03-07 09:02:39 -06:00
Travis McLane
716f4af808 [linux] add missing implementations 2024-03-06 17:10:41 -06:00
Travis McLane
c21784037d wip: fixing rebase issue 2024-03-06 16:59:13 -06:00
Travis McLane
6d90c1678c move install_signal_handlers to proper location 2024-03-06 16:59:13 -06:00
Lea Anthony
a7fb568aff Fix signal handlers 2024-03-06 16:59:13 -06:00
Lea Anthony
065ca5f6d3 Move to latest webkit2 and remove older code.
Fix screen demo.
Update examples.
2024-03-06 16:59:13 -06:00
Lea Anthony
ab9eec12eb Update status. Make wml demo non-drag 2024-03-06 16:59:13 -06:00
Lea Anthony
430736a4f2 Remove need for javascriptcore 2024-03-06 16:59:13 -06:00
Lea Anthony
161444107a Support linux systrays, of sorts... 2024-03-06 16:59:13 -06:00
Lea Anthony
12e2e2101a fix screens 2024-03-06 16:59:13 -06:00
Lea Anthony
e39097a17e fix min/max 2024-03-06 16:59:13 -06:00
Lea Anthony
be7c723c47 Fix window close issues
Update docs
Make uri scheme registration thread safe
2024-03-06 16:59:13 -06:00
Lea Anthony
a60b198b03 Fix window close issues 2024-03-06 16:59:13 -06:00
Lea Anthony
e06df85f02 WindowID now correctly processed by postMessage calls. 2024-03-06 16:59:13 -06:00
Lea Anthony
288a4757f8 WindowID now correctly passed with webview request. 2024-03-06 16:59:13 -06:00
Lea Anthony
29363fc07f ToggleDevTools -> OpenDevTools
More refactor CGO methods.
2024-03-06 16:59:13 -06:00
Lea Anthony
02a1b540ce [WIP] refactor CGO methods 2024-03-06 15:43:50 -06:00
Lea Anthony
a048233f4c Added menu cloning.
Introduced the ability to clone a menu, along with its submenus, in Linux-based web applications to create a full deep copy. This fixes reusing the application menu for window menus.
2024-03-06 15:40:28 -06:00
Lea Anthony
758c4c2c8d Refactor Linux application handling in webview
This update introduces a LinuxOptions struct for Linux-specific application configurations and refines webview for Linux. The 'windows' map has been renamed to 'windowMap' to avoid confusion. Moreover, a method to unregister Windows has been added to ensure the Linux application automatically quits when the last window closes, unless explicitly disabled in the new LinuxOptions structure. Reset Window position after hiding. Some debug output has been removed.
2024-03-06 11:52:06 -06:00
Lea Anthony
adae39efee Add webview GPU policy and update Linux options
The commit introduces a set of webview GPU policies to control hardware acceleration. These policies define when hardware acceleration is enabled on the webview. An option for this has been added to the LinuxWindow struct for Linux specific windows. Additional code modification was carried out to use this new GPU policy option when calling `windowNew` function. Finally, the sequence of the GPU Policies in the const declaration has been updated for better readability.
2024-03-06 11:49:11 -06:00
Lea Anthony
84e1bb4d9b Improve Linux application events and refactor app method receivers
This commit includes the addition of common events for the Linux platform. Refactored and standardized the method receivers for the application from 'm' to 'l'. Also, the application startup events in the window example have been updated according to the new naming scheme.
2024-03-06 11:48:26 -06:00
Lea Anthony
6b0daf3da9 Update windowSetupSignalHandlers & linux events 2024-03-06 11:44:55 -06:00
Lea Anthony
b6c5d90c9d Window Flash for Linux
Set Min/Max window buttons
2024-03-06 11:43:16 -06:00
Lea Anthony
a34ccbff33 ToggleDevTools -> OpenDevTools
More refactor CGO methods.
2024-03-06 11:43:12 -06:00
Lea Anthony
4cd4b46772 [WIP] refactor CGO methods 2024-03-06 11:42:19 -06:00
Lea Anthony
3d93c83920 Added menu cloning.
Introduced the ability to clone a menu, along with its submenus, in Linux-based web applications to create a full deep copy. This fixes reusing the application menu for window menus.
2024-03-06 11:42:19 -06:00
Lea Anthony
809863d61a Refactor Linux application handling in webview
This update introduces a LinuxOptions struct for Linux-specific application configurations and refines webview for Linux. The 'windows' map has been renamed to 'windowMap' to avoid confusion. Moreover, a method to unregister Windows has been added to ensure the Linux application automatically quits when the last window closes, unless explicitly disabled in the new LinuxOptions structure. Reset Window position after hiding. Some debug output has been removed.
2024-03-06 11:42:19 -06:00
Lea Anthony
4c7b643295 Add webview GPU policy and update Linux options
The commit introduces a set of webview GPU policies to control hardware acceleration. These policies define when hardware acceleration is enabled on the webview. An option for this has been added to the LinuxWindow struct for Linux specific windows. Additional code modification was carried out to use this new GPU policy option when calling `windowNew` function. Finally, the sequence of the GPU Policies in the const declaration has been updated for better readability.
2024-03-06 11:42:19 -06:00
Lea Anthony
05b16f1d63 Improve Linux application events and refactor app method receivers
This commit includes the addition of common events for the Linux platform. Refactored and standardized the method receivers for the application from 'm' to 'l'. Also, the application startup events in the window example have been updated according to the new naming scheme.
2024-03-06 11:42:19 -06:00
Lea Anthony
bfa53dfd6c Update windowSetupSignalHandlers & linux events 2024-03-06 11:42:19 -06:00
stffabi
4467a1ffa2 [parser] Move context tests into a separate file 2024-03-04 12:38:21 +01:00
stffabi
bfe9a9d015 [runtime] Add cancelation of bound method calls and context passing 2024-03-04 10:34:14 +01:00
Fabio Massaioli
7e687750b2
[v3] Add option for showing the toolbar in fullscreen mode on macOS (#3282)
* Add option for showing the toolbar in fullscreen mode on macOS

* Add an example demonstrating the ShowToolbarWhenFullscreen option

* Update docs

* Add changelog entry

* Run go mod tidy
2024-03-02 20:10:25 +11:00
Fabio Massaioli
0c3025d695
[v3] Fix ordering of if branches in WebviewWindow.Restore method (#3279)
* Add JS Window API example

* Fix ordering of if branches in Window.Restore method

* Add changelog entry
2024-03-02 16:04:02 +11:00
5aaee9
a9c22f0588
fix: wrong baseURL if open window twice (#3273) 2024-02-29 08:47:25 +11:00
Fabio Massaioli
b8537d1c96
[v3] Restore ToggleMaximise method in Window interface (#3281)
* Add JS Window API example

* Add ToggleMaximise button to Window API example

* Restore ToggleMaximise method in Window interface

* Update docs and changelog
2024-02-29 08:42:57 +11:00
stffabi
1956f95f9f [templates] Update templates to latest assetserver options 2024-02-16 08:04:16 +01:00
stffabi
723dd976b4 [v3, assetServer] Use middlewares for runtime, caps and falgs instead of having the implementation in the assetserver 2024-02-16 07:38:28 +01:00
stffabi
65251cdafa [v3, assetServer] Remove fs.FS from options and always use a http.Handler 2024-02-16 07:38:27 +01:00
Lea Anthony
471d626043
Add control to disable window buttons on Mac
Three new options have been introduced in the application options for MacOS to disable the minimize, maximize, and close buttons on the window. Corresponding functionality has been added in the webview window for darwin to handle these new options. These changes have been showcased in the window example main.go file.
2024-02-08 08:31:58 +11:00
Lea Anthony
0b82968c0f
Add option to disable min/max windows buttons
This commit introduces the functionality to disable the minimise and maximise buttons on windows. These options have been added to the `application.WebviewWindowOptions` and integrated in the Windows application logic. Effectively, developers can now control the availability of these buttons in their windows applications.
2024-02-07 10:06:07 +11:00
Lea Anthony
1ec3b4ecab
v3.0.0-alpha.4 2024-02-01 21:09:03 +11:00
Lea Anthony
6e2bbe31ac
[windows] fix frameless resize 2024-02-01 06:47:49 +11:00
Lea Anthony
5670c1e655
Update compiled runtime 2024-01-31 21:39:46 +11:00
Lea Anthony
cbaf859103
@wailsio/runtime@3.0.0-alpha.20
This fixes dragging by working around Vite's aggressive tree shaking
2024-01-30 21:01:32 +11:00
Lea Anthony
5115b294ee
Fixed runtime. cp tool. 2024-01-29 21:29:16 +11:00
Lea Anthony
c01bc4dbd7
Update runtime 2024-01-29 19:07:44 +11:00
Lea Anthony
7674f8eb2b Fixed dialogs on macOS. Update WML example to use compiled runtime. 2024-01-25 21:00:33 +11:00
Lea Anthony
773bdf8ea2
Fix small bugs in assetserver 2024-01-21 21:46:45 +11:00
Lea Anthony
b249f0d0ce
Bring linux up to date with dev changes 2024-01-21 21:24:30 +11:00
Lea Anthony
6522657893
Refactor menu functions and streamline devtools toggle across systems
This update adds implementation to several menu item functions, replacing their previous 'not implemented' state. This includes actions for close, reload, forcing reload, toggling of fullscreen, reset zoom, and others. The update also includes modifications for the handling of developer tools toggle under different build configurations. This refactoring is aimed to standardize devtools configuration across different operating systems.
2024-01-21 20:52:32 +11:00
Lea Anthony
c82facd6ff
Move startURL calculation to assetserver 2024-01-20 11:50:20 +11:00
Lea Anthony
bcb390f611
@wailsio/runtime v3.0.0-alpha.16 2024-01-20 11:38:56 +11:00
Lea Anthony
a805d6c2b1
@wailsio/runtime v3.0.0-alpha.15 2024-01-20 11:34:36 +11:00
Lea Anthony
3d08f92705
Update status. Fix dev task. 2024-01-20 08:45:44 +11:00
Lea Anthony
e5c14d24ae
Initial implementation of dev mode.
Huge thanks to @atterpac!
2024-01-19 21:34:49 +11:00
Thomas Sénéchal
23c1a7d1d8
[v3/Windows] Fix failing Windows build due to undefined options (#3208)
* Fix failing Windows build due to undefined options

* Update changelog
2024-01-18 05:33:51 +11:00
Thomas Sénéchal
44bbce125b
[V3/macos] Fix systray click handling when no attached window (#3207)
* Fix systray click handling

* Open Menu if no window is attached in defaultClickHandler()

* Remove systemTraySetMenu function

* Fix a crash in hide-window example

* Update changelog
2024-01-17 22:36:22 +11:00
Lea Anthony
dff47263d5 Set default extension for save dialog file filter
The code update sets the default extension to the first pattern in the save dialog file filter when options.Filters is populated. This improvement applies to Windows platform interface function for 'Save File Dialog' and provides a more intuitive user experience.
2024-01-17 22:35:58 +11:00
Lea Anthony
861ddea1b2
Add option to prevent application shutdown
This update allows the application shutdown to be cancelled. It implements the shouldQuit function, which can prevent the application from quitting if it returns false. Additional checks have been added to ensure cleanup and quit processes are performed only if required. The darwin delegate and linux and windows applications were modified to include this new functionality.
2024-01-17 20:45:30 +11:00
Lea Anthony
a6757c352f
Add shutdown tasks functionality to application
A new method OnShutdown was introduced to allow adding tasks to be run when the application shuts down. The shutdown tasks are run on the main thread and in the order they were added, with the application option `OnShutdown` being run first. This allows more controlled and managed shutdown of the application.
2024-01-14 08:17:17 +11:00
Lea Anthony
2d97776caa
[bindings] Support aliases in package imports 2024-01-14 08:07:47 +11:00
ALMAS
3cd26a2220
[v3] Improve OnShutdown (#3190)
* [v3] Improve OnShutdown

* add change log
2024-01-10 23:28:15 +11:00
Lea Anthony
6c3bd124ce
Added option to disable AssetServer logging.
An option to disable AssetServer logging has been introduced in the application options. This will suppress every request log from the AssetServer if set to true. This adjustment is useful for preventing log saturation in certain scenarios or environments.
2024-01-09 22:15:42 +11:00
Lea Anthony
68b12d4fff
Refactored application shutdown process to streamline app termination.
The application shutdown process has been significantly reworked to be more efficient and robust. The refactored code removes the event listener for the 'ApplicationTerminate' event. Instead, an in-process flag is added to the 'Quit' method to prevent recursive calls. Additionally, an optional 'OnShutdown' function variable is introduced to allow custom cleanup operations upon app termination.
2024-01-09 18:19:09 +11:00
Lea Anthony
1195464acb Improve window teardown on termination
This commit adds a robust teardown process for windows on application shutdown. It introduces a field to track the destruction state of each window and checks such before performing window operations. Also, it enhances the destroy functions within application for thorough clean up. Finally, redundant event handlers related to application termination were removed while fixing file generating challenge in go tasks.
2024-01-09 07:45:56 +11:00
Lea Anthony
68e779d64e
[darwin] add support for quitting app 2024-01-08 21:22:33 +11:00
Lea Anthony
df0419a7d6
@wails/runtime@v3.0.0-alpha.14 2024-01-08 21:21:24 +11:00
Lea Anthony
07421ead41
@wailsio/runtime@3.0.0-alpha.13 2024-01-07 20:12:17 +11:00
Lea Anthony
b6dc199993
Update bindings tests 2024-01-07 20:11:34 +11:00
Lea Anthony
6d8a004f4a
Fixed Call.ByID JSDoc + TS type 2024-01-07 10:44:18 +11:00
Lea Anthony
1dae9f613f
Improved templates 2024-01-07 08:19:07 +11:00
Lea Anthony
34f7f24e7e
Support Vite 5 templates + @wailsio/runtime module 2024-01-06 16:38:51 +11:00
Lea Anthony
40bd6125f5
Better pass through of args to task 2024-01-02 21:25:09 +11:00
stffabi
012eeab3aa [windows] Fix #2359 by not redirecting the accelerators to wndproc
If someone wants to handle accelerators they could use the key
bindings in a cross-platform way.
2023-12-30 23:34:54 +01:00
stffabi
2f3eb70a4d [windows] Use msWebView2BrowserHitTransparent for non working NC area clicks on unfocused window
Without this patch there's a really strange behaviour if there are
multiple windows.
Having two windows with a webview open with an input field.
Focusing the input field on one window, then focusing the input
field on the second one. Then clicking directly on the non client
area of the first one, e.g. to trigger a minimze, the minimize is
not executed until the mouse is getting moved. As long as the
mouse is not moved the event for the click is blocked and not
executed.

Using this new mode fixes that problem, but we need to handle
‘alt+f4’ on our own.
2023-12-30 23:34:54 +01:00
stffabi
b37d0f1cf4 [windows] Improved focus handling
Make sure the webview is focused on initial show if the window
is focused and make behaviour consistent with macOS
2023-12-30 23:34:53 +01:00
Lea Anthony
6262a4fac7
Update @wailsio/runtime version to 3.0.0-alpha.10 2023-12-31 07:24:40 +11:00
Lea Anthony
c531c714d4
Update vanilla+js template and dependencies
The frontend interaction has been significantly updated, including improvements to the Greet function and the addition of an ongoing time display. Additionally, dependencies in package.json have been updated to their latest versions. Also, redundant print statement was removed from messageprocessor_call.go and changes were made to layout structure and styles in the main.go.tmpl and index.html files.
2023-12-30 21:11:38 +11:00
Lea Anthony
d423c1c366
Fix drag logic 2023-12-30 21:05:17 +11:00
Lea Anthony
5b51e0fad3
@wailsio/runtime alpha.9 - Fix call responses. 2023-12-30 15:49:23 +11:00
Lea Anthony
d8f9ea7a33
Add NSIS to doctor checks 2023-12-29 20:13:23 +11:00
Lea Anthony
46127c8d4d
Support Typescript in JS Runtime module 2023-12-29 18:12:01 +11:00
Lea Anthony
8a12a32d31
Vanilla template: Update to use runtime module 2023-12-29 12:50:25 +11:00
Lea Anthony
9f567fe2bc
Application: increase message buffer sizes, process all messages in goroutine, Add IsDebug to environment info. 2023-12-29 12:48:26 +11:00
Lea Anthony
7f8c1c8a68
Remove redundant IPC endpoint.
Don't auto-inject runtime.
2023-12-29 12:42:03 +11:00
Lea Anthony
4a910a7197
Update Bindings Generation
Better flow for improved CLI output
Fixed number of methods calculation
2023-12-29 12:39:11 +11:00
Lea Anthony
4c3cbc3535
Update Wails runtime and increase version
The Wails runtime has been updated to correctly handle debug checks and the version in the package.json has been bumped to 3.0.0-alpha.6. Fixed reference to global wails object in WML.
2023-12-29 11:15:40 +11:00
Lea Anthony
0974a3ad18
Use relative paths in go.mod for replace line. 2023-12-28 19:33:37 +11:00
Lea Anthony
b08126d745
Radical JS runtime overhaul. New @wailsio/runtime package 2023-12-28 19:18:26 +11:00
Lea Anthony
d1255d3a9d
Support TS bindings. Update tests. Tidy up. 2023-12-23 08:49:58 +11:00
Lea Anthony
2bb25b12ff
Update bindings generator to generate bindings in packages and files.
Remove unused JavaScript files
Update tests.
Update v3 docs
2023-12-22 20:01:42 +11:00
Lea Anthony
cdf4bdd2ba
Support generating enums from imported package 2023-12-20 08:06:35 +11:00
ALMAS
e0b8da86ed
[v3] export SetIcon method (#3147)
* export `SetIcon` method

* add change log
2023-12-19 23:43:28 +11:00
Lea Anthony
472288b2e3
Support generating bindings by name 2023-12-19 21:28:23 +11:00
ALMAS
51afac4f22
[v3/windows] Fix dpi scaling on start up (#3145)
* [v3/windows] Fix dpi scaling on start up

* add change log
2023-12-19 19:31:38 +11:00
Marcus Crane
daed4141f5
(v3/linux): Add Taskfile template entry for run:linux (#3146)
* Add Taskfile entry for run:linux, used by task dev

Signed-off-by: Marcus Crane <marcus@utf9k.net>

* Add updated CHANGELOG entry

Signed-off-by: Marcus Crane <marcus@utf9k.net>

* Correct CHANGELOG entry

---------

Signed-off-by: Marcus Crane <marcus@utf9k.net>
2023-12-19 19:29:46 +11:00
Lea Anthony
2b3c96ab3d
Fix hex keys5 (#3140)
* [v3 darwin] change hex values for arrow keys pulled from "Key Codes" app

* Update changelog

---------

Co-authored-by: Josh <josh@nerdy.co.nz>
2023-12-18 08:54:55 +11:00
Lea Anthony
371e57588f
Update bindings example 2023-12-16 20:57:00 +11:00
Lea Anthony
182f43004a
Improved bindings generation: support JS Models. 2023-12-16 14:02:19 +11:00
Lea Anthony
ea409a2cb2
Improve documentation 2023-12-13 22:40:35 +11:00
Lea Anthony
984db8620a
Support enums in interface generation 2023-12-12 22:25:51 +11:00
Lea Anthony
4b04c10f14
Support bindings, model & enum generation 2023-12-12 21:51:40 +11:00
Lea Anthony
89b5f0af20
v3.0.0-alpha.3 2023-12-11 08:43:32 +11: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
4ea6a2d120
Support wails package on Windows 2023-11-15 20:45:38 +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
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
5b5a4ba4cc
Fix windows build 2023-11-12 14:23:13 +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
53ea6511fc [v3 linux] correct bug in getScreenByIndex 2023-11-09 21:11:35 -06: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
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
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