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

77 Commits

Author SHA1 Message Date
stffabi
2a0673f99f
[v2, linux] Improve switching to main thread for callbacks (#1392)
Make sure no pointers to the stack are passed to g_idle_add,
because at the time the callback gets executed on the
main thread, the pointer might be invalid.
Go might have reused the stack or grown the stack and the
pointer is invalid.

The concept used on Windows has been ported to Linux.
2022-05-31 20:28:37 +10:00
Zámbó, Levente
794a8ce19f
feature - support linux/arm (#1427) 2022-05-27 19:09:50 -10:00
stffabi
c97e1c50af
[v2, linux] Make sure to execute the menu callbacks on a new goroutine (#1403)
* Make sure to execute the menu callbacks on a new goroutine
* Fix assertion message when opening file dialogs by passing the correct parent window
2022-05-17 20:45:48 +10:00
stffabi
524411964f
[v2] WindowReloadApp should use the startURL of the frontend to support reloading when a frontend dev server is used (#1347) 2022-04-23 07:09:53 +10:00
Lea Anthony
f6257d3d31 Add Environment and WindowReloadApp calls to runtime. Updated default templates. 2022-04-20 20:28:41 +10:00
stffabi
6d09a45a30
[v2] Add support for AssetsHandler (#1325)
* [website] Fix devserver default value doc

* [v2] Add support for AssetsHandler

AssetsHandler is a http.Handler delegate, which gets called
as a fallback for all Non-GET requests and for GET requests
for which the Assets didn’t find the file.

Known Limitations on Linux:
- All requests are GET requests
- No request headers
- No request body
- No response status code, only StatusOK will be returned
- No response headers

Known Limitations on Windows:
-  Request body is leaking memory. Seems to be a bug in
    WebView2, investigation angoing.

Most of these limitations on Linux will be fixed in the future with
adding support for Webkit2Gtk 2.36.0+.

* [v2, linux] Add response streaming support

The complete response won’t be held anymore in memory and will
be streamed to WebKit2.

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2022-04-12 20:18:27 +10:00
Florent
c3a98b058e
ensure webkit/gtk callbacks run on main thread (#1320)
prevent close event being propagated when handled in app
closes #1268
closes #1288
2022-04-08 06:42:17 +10:00
Sebastian Bauer
7dd3f96915 [Feature/1149] Dark mode: functions for manually switching theme (#1291)
* [Feature/1149] Dark mode: functions for manually switching theme
2022-04-01 08:21:37 +11:00
stffabi
65fb42d9e7
[v2] Add support for external frontend dev servers (#1290)
* [v2] Consolidate AssetServers

* [v2] Support starturl for webview on linux and darwin

* [v2] Add support for frontend DevServer

* [v2] Activate frontend DevServer in svelte template

* [website] Add bleeding edge guide for PRs

* DoNotMerge: Bump Version for testing

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2022-03-31 00:40:44 +11:00
bearsh
d8bcf7ac70
v2: linux: add icon to linux specific app option and load it during w… (#1272)
* v2: linux: add icon to linux specific app option and load it during window creation

Signed-off-by: Martin Gysel <me@bearsh.org>

* doc: linux specific option: icon
2022-03-30 18:15:58 +11:00
Florent
ec31d49b59
prevent close event being propagated when handled in app (#1297)
closes #1288
2022-03-30 18:13:01 +11:00
Florent
d9e5cce2b2
add support for 'DomReady' callback on linux (#1249)
* add support for 'DomReady' callback on linux
cosmetic: use bodyLen instead of len() in processRequest()

* reformat webViewLoadChanged() for consistency

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2022-03-14 18:42:38 +11:00
Ian M. Jones
64480ff1ab
Ensure Linux IsFullScreen uses GDK_WINDOW_STATE_FULLSCREEN bitmask appropriately. (#1245) 2022-03-11 15:41:28 +11:00
Lea Anthony
1048782eb4
Initial commit (#1241) 2022-03-10 21:20:41 +11:00
Florent
622c4adad6
ensure binary resources can be served (#1240)
* ensure binary resources can be served
fixes #1235

* use free instead of g_free
check that C.malloc does not fail before using C.memcpy
2022-03-10 21:17:24 +11:00
Ian M. Jones
e9aa0d5c5a
Fix fullscreen on linux arm64 (#1209)
* Fix fatal error on otherwise clean exit.

* Fix race condition while setting title during window creation.

* Fix unexpected signal error when clicking webview should initiate a drag window operation.

* Ensure ExecuteOnMainThread callbacks are removed from the event source list on completion.

* Ensure all ExecuteOnMainThread callbacks use the expected return value on completion.

* Fix potential memory leak when exiting early from startDrag.

* Fix using runtime.WindowFullscreen on Linux ARM64.
2022-03-04 23:07:40 +11:00
Ian M. Jones
c378d935f3
Fix linux unexpected signal errors (#1200)
* Fix fatal error on otherwise clean exit.

* Fix race condition while setting title during window creation.

* Fix unexpected signal error when clicking webview should initiate a drag window operation.

* Ensure ExecuteOnMainThread callbacks are removed from the event source list on completion.

* Ensure all ExecuteOnMainThread callbacks use the expected return value on completion.

* Fix potential memory leak when exiting early from startDrag.
2022-03-04 17:50:43 +11:00
Lea Anthony
c7c068ade0 Add Javascriptcore include. #1198 2022-03-02 20:17:30 +11:00
stffabi
c63b1f1981
[v2] Consolidate processRequest, improve logging and error handling (#1158) 2022-02-28 19:14:03 +11:00
Lea Anthony
a445db1b7b
Feature/linux v2 beta (#1171)
* Update docusaurus version

* Add install instructions

* Add Linus Distro Support Page

* Update Linus Distro Support Page

* v2.0.0-beta.30

* image

* update blog

* Update blog

* Remove exp tag

* Update banner

* Update banner

* [linux] Fix warning
2022-02-22 21:35:03 +11:00
Lea Anthony
93491eb2eb
Feature/align api (#1161)
* Fix WindowSetRGBA API

* Change WindowUnFullscreen -> WindowUnfullscreen for consistency
RGBA bugfix
2022-02-19 20:29:55 +11:00
Lea Anthony
f059c35d9e
Feature: WindowToggleMaximise (#1159)
* [windows] Add WindowToggleMaximise

* Add mac support

* Update docs

* [linux] Toggle Maximise
2022-02-18 20:28:16 +11:00
Lea Anthony
6e8d65e3aa
[linux] Add stdint.h include 2022-02-17 21:23:24 +11:00
Lea Anthony
99ca6d5e77 [Linux] Restore min/max after fullscreen 2022-02-10 19:55:04 +11:00
Lea Anthony
3d02a314b9
[linux] Fix min/max size after fullscreen 2022-02-08 07:04:45 +11:00
Lea Anthony
30a4f47cba
[linux] Fix min/max size 2022-02-08 06:51:52 +11:00
Lea Anthony
668da3a827
[linux] Fix disabling context menu 2022-02-08 06:20:41 +11:00
Lea Anthony
322aad166b
[linux] Fix fullscreen 2022-02-08 05:29:26 +11:00
Lea Anthony
3decd70319
Move more runtime methods to main thread 2022-02-07 20:17:25 +11:00
Lea Anthony
a016f39e97
[linux] Move SetPosition, Center, Fullscreen and UnFullscreen to main thread 2022-02-07 08:48:21 +11:00
Lea Anthony
8699bf7521
[linux] Move SetTitle and startDrag to main thread 2022-02-07 08:47:11 +11:00
Lea Anthony
0971857e7e
Fix position runtime (#1123)
* [linux] Move SetTitle and startDrag to main thread

* [linux] Move SetPosition, Center, Fullscreen and UnFullscreen to main thread

* Fix runtime Window Get/Set Position signatures

* Fix vanilla template keyboard handling
2022-02-03 21:42:14 +11:00
Lea Anthony
db9e0fd0d3
[linux] Remove Go based dispatcher 2022-01-31 21:22:17 +11:00
Lea Anthony
a624ee5e35
[linux] better error handling 2022-01-30 21:03:39 +11:00
Lea Anthony
be15644b96
Ignore setenv error 2022-01-29 11:42:17 +11:00
Lea Anthony
f3783c9800
Fix fullscreen drag 2022-01-29 11:41:50 +11:00
Lea Anthony
ac3808f9c3
Support RGBA, fix compilation error 2022-01-29 11:38:25 +11:00
Lea Anthony
30deec4224
Support MenuUpdateApplicationMenu 2022-01-29 10:13:29 +11:00
Lea Anthony
642fa42f25
Feature/v2 linux menus (#1114)
* Render menubar + text menu items

* Support disabled menuitems + callbacks

* Support checkboxes

* Support reusing checkboxes

* Support submenus

* Support Radio menuitems

* Support Menu Accelerators
2022-01-29 07:19:14 +11:00
Travis McLane
e713c439f0
ensure data doesn't get garbage collected too soon (#1113)
* ensure data doesn't get garbage collected too soon

* Update v2/internal/frontend/desktop/linux/frontend.go

Co-authored-by: stffabi <stffabi@users.noreply.github.com>

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
Co-authored-by: stffabi <stffabi@users.noreply.github.com>
2022-01-28 07:37:17 +11:00
Travis McLane
ac69577182
remove unused import (#1107) 2022-01-27 07:01:29 +11:00
Lea Anthony
c5036187c2
Merge branch 'master' into feature/fix-linux-dialogs 2022-01-26 14:18:12 +11:00
Lea Anthony
7ede3ed08a
[linux] 404 handling 2022-01-26 14:01:31 +11:00
Lea Anthony
bb867832e1
Disable 404 handling for now 2022-01-26 09:55:12 +11:00
Lea Anthony
f3cc4b5ebd Support message dialog 2022-01-25 16:27:39 -06:00
Lea Anthony
c58252386f Support default directory, Fixed label, removed TreatPackagesAsDirectories 2022-01-25 16:27:39 -06:00
Travis McLane
a7e516a43d [linux] implement SaveFileDialog 2022-01-25 16:27:39 -06:00
Travis McLane
d0feeb938c implement SaveFileDialog 2022-01-25 16:27:39 -06:00
Travis McLane
2c2e053bd1 [linux] implement OpenDirectoryDialog 2022-01-25 16:27:39 -06:00
Travis McLane
b7647b3992 allow action to be overridden by caller 2022-01-25 16:27:39 -06:00