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

446 Commits

Author SHA1 Message Date
stffabi
7e030f3f2b
[webviewloader] Prevent env variables and registry overrides from changing behaviour (#1771) 2022-08-22 07:37:00 +02:00
Lea Anthony
317e0a6fef
Preact templates for vite 3 (#1770) 2022-08-20 14:55:07 +10:00
Lea Anthony
f2568f1899
Experimental support for CSS Drag detection (#1750)
* Support CSS Drag

* Support CSS Drag as experimental option
2022-08-18 20:39:05 +10:00
Lea Anthony
add21f6411
fix: handling of default folder for windows dialogs 2022-08-13 16:52:35 +10:00
Lea Anthony
d86daaa211
Allow frameless window to be miniturisable (#1705) 2022-08-08 17:28:11 +10:00
Lea Anthony
b6dee773c5
Attempted fix for both drag and doubleclick (#1704)
* Attempted fix for both drag and doubleclick

* Shameful hack for windows doubleclick events

* Handle end of drag

* Remove dbClickInterval
2022-08-08 17:27:23 +10:00
Lea Anthony
baff28bb20
Bugfix/linux warnings (#1656)
* Use scaling when setting min/max window

* Fix compile issue. Add debug

* Fix scaling issue

* Fix window widget warnings & shutdown issue. Remove debug lines for linux

* Update dev build with shutdown fix
2022-08-03 21:17:38 +10:00
Lea Anthony
224f7c0c56
Move SetMin/Max calls to main thread (#1684)
* Move SetMin/MAx calls to main thread

* Move setsize back to original location

* Remove debug
2022-08-02 06:51:20 +10:00
stffabi
3d24a9b4c4
[v2, darwin] Assign a unique requestId to every WKWebView request (#1681)
This makes sure we always use the correct WKURLSchemeTask during
processURLResponse. Only using the URL is not unique enough and
might result in pending requests if two requests with the same URL
are getting processed.
2022-08-01 18:55:25 +10:00
stffabi
53e875d96f
[v2, darwin] Make sure to copy the uri during processURLRequest (#1668)
There's no guarantee that the pointer is still valid when
processURLRequest is finished. So we might end up with an
invalid pointer when the request is asynchronously processed.
2022-07-28 08:56:11 +02:00
Lea Anthony
a229e04e3e
Windows dialogs - Handle scenario when window is not visible yet. (#1662)
* Handle scenario when window is not visible yet.

* Handle scenario when window is not visible yet for all dialogs
2022-07-27 19:38:56 +10:00
stffabi
229d36207c
[v2] Fix formatting of some error messages (#1665) 2022-07-27 19:20:30 +10:00
Lea Anthony
8e21061e78
Remove debug info for linux 2022-07-26 08:29:00 +10:00
Lea Anthony
0f7bd65815
Update Svelte to Vite 3 (#1643)
Updates to svelte template.
Refactor url detector to strip ANSI codes at point of source
Ignore frontend if external dev server used.
[AssetServer] WebSockets can always directly be forwarded to the handler

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

Co-authored-by: stffabi <stffabi@users.noreply.github.com>
2022-07-24 20:20:02 +10:00
Lea Anthony
ae756a8409
Use scaling when setting min/max window (#1557)
* Use scaling when setting min/max window

* Fix compile issue. Add debug

* Fix scaling issue
2022-07-23 17:15:22 +10:00
Lea Anthony
29912785fa
Add Show() and Hide() to runtime to show/hide application (#1599)
* Add Show() and Hide() to runtime to show/hide application

* Fix devserver

* Update API docs
2022-07-20 20:59:49 +10:00
stffabi
1247c8aa28
[windows] Fix stack corruption when using ICoreWebView2HttpHeadersCollectionIterator (#1589)
The API expects a `BOOL *` with `typedef int BOOL` therefore
we need to use a `int32` on the stack.
2022-07-18 18:57:30 +10:00
Lea Anthony
af1c530442
Remove usage of unsafe.Pointer in winc (#1556)
* Remove usage of unsafe.Pointer

* [windows] Remove MakeIntResource and add overloads for Load functions

* Fix `EnumProc` race condition.

* Refactor `EnumDisplayMonitors` to use `unsafe.Pointer` instead of `uintptr`

Co-authored-by: stffabi <stffabi@users.noreply.github.com>
2022-07-18 18:22:46 +10:00
Lea Anthony
ee988dfb9e
Update runtime 2022-07-16 12:37:56 +10:00
skamensky
04d35410de
Expose screen dimensions (#1519)
* get dimensions working for linux

* Cleaning up some GTK code

I was getting the following errors due to some bad casts.

Gdk-CRITICAL **: 18:58:51.943: gdk_monitor_get_geometry: assertion 'GDK_IS_MONITOR (monitor)' failed
Gdk-CRITICAL **: 18:58:51.943: gdk_display_get_monitor_at_window: assertion 'GDK_IS_DISPLAY (display)' failed

This commit fixes these errors

* Adding Screen namespace along with linux implementation

* moving ScreenGetAll into a more appropriate place

* Fixing typescript definition mistake, documentation, ordering of functions, and formatting

* add ScreenGetAll to more templates

* moving screen into its own javascript file

* fixing bug where screen objects are not returned from the runtime function

* rebuilding frontend wrapper package

* adding windows implementation of ScreenGetAll

* adding screen get all implementation for darwin

* reverting a change that is unrelated to the work on expose-dimensions

* removing duplicate comparison

* changing GetNthScreen in screen API on macos

To use frame instead of visibleframe to keep into account the space the the dock takes up
We want to include that space in the calculation in order to keep the sizes of screens consistent across platforms

* Correcting screen jsdoc

It used to say it returned a single screen object. Now it says that it returns an array of screen objects

* Fixing typo in function name

* reverting pointless spacing change

* reverting pointless spacing change

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
Co-authored-by: shmuel.kamensky <shmuel.kamensky@shutterfly.com>
2022-07-16 12:33:37 +10:00
dependabot[bot]
60e4127b24
Bump svelte from 3.42.5 to 3.49.0 in /v2/internal/frontend/runtime (#1573)
Bumps [svelte](https://github.com/sveltejs/svelte) from 3.42.5 to 3.49.0.
- [Release notes](https://github.com/sveltejs/svelte/releases)
- [Changelog](https://github.com/sveltejs/svelte/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/svelte/compare/v3.42.5...v3.49.0)

---
updated-dependencies:
- dependency-name: svelte
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-16 03:58:15 +10:00
dependabot[bot]
db7f24ff93
Bump svelte from 3.42.2 to 3.49.0 in /v2/internal/frontend/runtime/dev (#1572)
Bumps [svelte](https://github.com/sveltejs/svelte) from 3.42.2 to 3.49.0.
- [Release notes](https://github.com/sveltejs/svelte/releases)
- [Changelog](https://github.com/sveltejs/svelte/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/svelte/compare/v3.42.2...v3.49.0)

---
updated-dependencies:
- dependency-name: svelte
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-16 03:58:05 +10:00
Lea Anthony
69016c6c6f
Fix OnBeforeClose code for Mac (#1558)
* Fix OnBeforeClose code for Mac

* Fix OnBeforeClose for linux
2022-07-14 21:04:45 +10:00
Lea Anthony
cd35536a79
[linux] Fix SetBackgroundColour 2022-07-04 22:29:51 +10:00
Lea Anthony
3e42d2da05
Rename WindowSetRGBA -> WindowSetBackgroundColour (#1506)
* Rename WindowSetRGBA -> WindowSetBackgroundColour

* Fix Typos
2022-06-29 22:31:49 +10:00
Lea Anthony
7141c972fd
Move WindowGet* to main thread (#1464) 2022-06-29 20:07:16 +10:00
Nan0
2065600096
Feature: set browser path (#1448)
* Added option to specify webview2 path

* Added `manual` webview strategy

* Update documentation

* Fixed build with manual tag

* Check for browser directory existence

* Added version check for manually specified webview, removed fallback for installed webview in manual strategy

* Update WebviewBrowserPath documentation

* Replaced deprecated StringToUTF16Ptr

* Return on error

* Removed manual strategy, return error in wv2installer for fixed runtime

* Removed manual strategy from CLI
2022-06-25 07:49:00 +10:00
stffabi
c61ce1e2de
[v2, windows] Make SetBackgroundColour compatible for windows/386 (#1493)
* [v2, windows] Remove duplicate SetBackgroundColour

* [v2, windows] Make SetBackgroundColour compatible for windows/386
2022-06-25 06:46:23 +10:00
Lea Anthony
16581ceff9
Regenerate templates to use BackgroundColour 2022-06-23 20:30:18 +10:00
Lea Anthony
e504d1124a
Fix AlwaysOnTop code for Mac 2022-06-22 21:36:57 +10:00
dependabot[bot]
91afa396ba
Bump shell-quote from 1.7.2 to 1.7.3 in /v2/internal/frontend/runtime (#1485)
Bumps [shell-quote](https://github.com/substack/node-shell-quote) from 1.7.2 to 1.7.3.
- [Release notes](https://github.com/substack/node-shell-quote/releases)
- [Changelog](https://github.com/substack/node-shell-quote/blob/master/CHANGELOG.md)
- [Commits](https://github.com/substack/node-shell-quote/compare/v1.7.2...1.7.3)

---
updated-dependencies:
- dependency-name: shell-quote
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-22 20:56:16 +10:00
dependabot[bot]
08eee061ab
Bump shell-quote in /v2/internal/frontend/runtime/dev (#1486)
Bumps [shell-quote](https://github.com/substack/node-shell-quote) from 1.7.2 to 1.7.3.
- [Release notes](https://github.com/substack/node-shell-quote/releases)
- [Changelog](https://github.com/substack/node-shell-quote/blob/master/CHANGELOG.md)
- [Commits](https://github.com/substack/node-shell-quote/compare/v1.7.2...1.7.3)

---
updated-dependencies:
- dependency-name: shell-quote
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-22 20:56:01 +10:00
chenxiao
072929689c
feature: add runtime func WindowSetAlwaysOnTop (#1442)
* feature: add runtime func WindowSetAlwaysOnTop

* add runtime WindowSetUnalwaysOnTop

* add  JavaScript runtime method  ,  docs update

* WindowSetAlwaysOnTop(b bool)

* Add AlwaysOnTop for MacOS

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2022-06-22 20:55:02 +10:00
stffabi
4493a05fb9
[v2] AssetsHandler remove retry logic in dev mode (#1479) 2022-06-22 20:06:20 +10:00
Lea Anthony
1687906376
Improve theme change at runtime (#1473)
* Improve theme change at runtime

* Handle change to dark mode

* Refactor theme calculation

* Ensure theme is updated for WM_ACTIVATE and WM_SETTINGCHANGE events
2022-06-22 08:34:41 +10:00
Lea Anthony
381909696b
[Windows] Add Suspend/Resume callback support (#1474)
* Add Suspend/Resume callback support

* Fix comment
2022-06-22 06:37:18 +10:00
Lea Anthony
c477100374
Add BackgroundColour and deprecate RGBA (#1475) 2022-06-21 19:47:05 +10:00
Lea Anthony
cb169611b1
Set Window Background colour if provided + debounce redraw option (#1466)
* Set Window Background colour if provided. Added debounce option for Webview2 redraw on resize

* [windows] Workaround resize flickering in frameless mode

Co-authored-by: stffabi <stffabi@users.noreply.github.com>
2022-06-20 17:47:13 +10:00
Lea Anthony
a7f1ea21ef Bugfix: Better support for showing window 2022-06-19 13:32:48 +10:00
Lea Anthony
e4f2bfe699 Bugfix: Windows start maximised
Fixes #1462
2022-06-18 16:21:32 +10:00
stffabi
884773a218
[v2, windows] Fix WebView2 minimum runtime version check (#1456)
* [v2, windows] CompareBrowserVersions needs a int32 pointer

Otherwise 4294967295 will be returned instead of -1 and the
minimum version check can't detect an older version.
So an older version than the minimum might be used and will
result in AccessViolationExceptions.

* [v2, windows] Use the correct minimum runtime version for SDK 1.0.992.28

The Webview2Loader.dll are already at version 1.0.992.28 for all platforms.
2022-06-16 18:43:19 +10:00
stffabi
664f6a952c
[v2, windows] Unlock OSThread after native calls have been finished (#1441)
* [v2, windows] Remove unnecessary LockOSThread

Form.Invoke makes sure the call is on the correct thread and does
lock the OSThread during the call.

* [v2, windows] Unlock OSThread after native calls have been finished

This makes sure the OSThread can be reused by other go
routines after a native call has been finished. Otherwise the
OSThread will be destroyed as soon as the goroutine has
finished.
2022-06-08 20:56:07 +10:00
Lea Anthony
6a07cbd505 Move go-common-file-dialog into project. Fix Title bug. 2022-06-01 21:00:52 +10:00
stffabi
614f50d5d3
[v2, windows] Load WebView2 loader from embedded only (#1432) 2022-05-31 10:00:02 -10:00
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
yuzu
316a24f6da
update runtime.d.ts & templates (#1421) 2022-05-24 21:20:53 +02:00
Lea Anthony
953bc09343
Merge pull request #1400 from wailsapp/feature/native-translucency
Initial support for new native translucency in Windows Preview
2022-05-18 18:52:45 +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
Travis McLane
b84fd76e86 bugfix: correct typo 2022-05-10 21:56:19 -05:00
stffabi
5f612301f9
[v2] During wails dev only use reload logic if no AssetsHandler are in use (#1385)
This slows down every GET request to the AssetsHandler taking 5s
2022-05-07 09:11:07 +10:00
Aleksey Polyakov
531d7cfb62
replace OnMultiple with EventsOnMultiple (#1369) 2022-05-02 22:10:33 +10:00
Lea Anthony
912d7cf34b
Add startup method to templates by default 2022-05-01 10:19:15 +10:00
stffabi
22d3f93b52
[v2, darwin] Initialize native variables on stack to prevent segfault (#1362) 2022-04-30 06:11:19 +10:00
Lea Anthony
bd344bf32c Update runtime.d.ts + regenerate templates 2022-04-27 20:53:24 +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
7f3f56663f
Fix: wails dev 2022-04-21 07:40:56 +10:00
Lea Anthony
f6257d3d31 Add Environment and WindowReloadApp calls to runtime. Updated default templates. 2022-04-20 20:28:41 +10:00
Lea Anthony
2e3c90c096 Update runtime.d.ts documentation. Regenerate templates 2022-04-19 21:48:26 +10:00
Lea Anthony
4e9eda8e1f Fix bug in WindowSet*Theme 2022-04-19 17:44:40 +10:00
Lea Anthony
02fcf738d3 Update runtime wrapper. Update base templates. 2022-04-19 17:43:55 +10:00
Lea Anthony
4e03c84fbb
Feature/default templates (#1334) 2022-04-15 20:30:10 +10:00
Lea Anthony
7fbae0d333
Fix: event data processing (#1326) 2022-04-15 20:26:13 +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
stffabi
c70d93b482
Suppress resizing during minimize of a frameless window (#1322)
If the window is frameless and we are minimizing, then we need to suppress
the Resize on the WebView2. If we don't do this, restoring does not work as
expected and first restores with some wrong size during the restore animation
and only fully renders when the animation is done.
This highly depends on the content in the WebView.
Possible fix for #1319
2022-04-10 18:45:09 +10:00
Lea Anthony
f08176079c
Feature: Support double click in drag areas 2022-04-09 10:27:54 +10:00
归位
65a97a668e
If the element adds the data-rails-drag attribute, it can trigger the dbclick event. (#1317)
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2022-04-09 10:18:01 +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
Lea Anthony
b94db409dd Fixes #1315 2022-04-06 21:53:40 +10:00
Lea Anthony
95b70de01f
chore: add build tags to win32 package 2022-04-04 20:55:25 +10:00
Ariel
2c8d94ca48
Add missing method declaration (#1308)
* Add missing method declaration

* Add eventsoff to the wrapper
2022-04-03 22:01:31 +10:00
Lea Anthony
4a20655b29 Translations + Tidy Up 2022-04-03 17:18:36 +10:00
Lea Anthony
073f8202e5 Fix windows/frontend compile error 2022-04-01 09:59:33 +11:00
Florent
8f860c9ea6
[Feature #1300] mime check for bom and comments (#1302)
* check for BOM and SVG comments
2022-04-01 08:39:54 +11:00
Lea Anthony
f734d26adb Use wailsapp/mimetype module 2022-04-01 08:21:57 +11: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
Lea Anthony
6883337a18 Update headers code 2022-03-29 22:17:41 +11:00
Lea Anthony
ec59eff352 Update go-webview. Fix wails doctor 2022-03-29 22:05:56 +11:00
Lea Anthony
b6de689400 Update go-webview 2022-03-29 21:55:34 +11:00
Lea Anthony
1da68cfc7c Remove unused directories + tidy up 2022-03-29 21:47:26 +11:00
Lea Anthony
a5bf76b30f Fix up dev. Pull in go-webview and winc 2022-03-29 21:45:16 +11:00
Lea Anthony
48254b73e5
[Feature/1149] Dark mode (#1281)
* Add Windows version helper

* Initial theme support

* Support custom themes

* Update docs

* Honour HighContrast theme. Remove import "C". Refactor

* Small refactor

* Support inactive theme

* Update Docs
2022-03-27 22:57:45 +11:00
Lea Anthony
55f2a24a94
[Mac] Close window immediately on quit 2022-03-26 19:48:34 +11:00
Lea Anthony
a278c9e164
Try to focus window when Show() is called. (#1212)
* Try to focus window when Show() is called.

* Ensure Focus is regained by Webview2 when tabbing

* Run restore code on main thread
2022-03-15 20:16:38 +11:00
Lea Anthony
60c6dce07d
Ensure Focus is regained by Webview2 when tabbing (#1257) 2022-03-15 20:15:21 +11:00
Stefanos Papadakis
e78557ec24
Windows switch scheme: https -> http (#1255) 2022-03-15 05:58:43 +11:00
Lea Anthony
97b24a51a1
Show extension by default (#1228) 2022-03-14 22:05:33 +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
Lea Anthony
3d12935e2e
Fix memory leak in ExecJS for Mac (#1230) 2022-03-11 23:43:51 +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
stffabi
abe8ba9266
[v2, windows] Fix maximised start state (#1243) 2022-03-11 06:26:59 +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
Lea Anthony
ae6da05e9d
Feature/1175 default index page (#1229)
* Initial commit

* Retry index.html every 500ms for 5s before defaulting to the default index page.

* Load all files using the same technique

* Remove reload script
2022-03-09 23:49:27 +11:00
Lea Anthony
31b609dff0 Print friendlier file path when file does not exist 2022-03-05 13:33:24 +11:00
stffabi
fbf75b1d14
[v2, windows] Move assets from file://wails to https://wails.localhost (#1211)
This should allow web workers to be used
2022-03-05 13:32:28 +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
stffabi
a750d2d507
[v2, windows] Invert the frameless border flag and rename it (#1157)
This is a breaking change for all users of the flag.
2022-02-16 20:28:46 +11:00
stffabi
331e0268a3
[v2, windows] Do not show caption buttons if frameless and translucent+transparency (#1152) 2022-02-16 18:53:17 +11:00
Lea Anthony
99ca6d5e77 [Linux] Restore min/max after fullscreen 2022-02-10 19:55:04 +11:00
Lea Anthony
876b845762 [Windows] Restore min/max after fullscreen 2022-02-10 19:55:04 +11:00
stffabi
7bc51725c0
[v2, windows] Apply suggested window size during DPI changed event (#1131)
* [v2, windows] Apply suggested window size during DPI changed event

This adjusts the window size if the window is moved from one
monitor to another with a different DPI scaling

* [v2, windows] Do not block processing of messages during frameless drag/resize

* [v2, windows] Bump winc

Improves the HiDPI handling by using newer APIs if available

* [v2, windows] Constrain frameless maximize to MaxWidth/MaxHeight
2022-02-08 07:56:01 +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
0c6864c7ed [windows] Fix pos/getpos calls 2022-02-04 07:45:44 +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
6a5937bd90 [windows] Do not allow maximise via runtime if disableResize is true 2022-02-03 07:31:05 +11:00
Lea Anthony
aa8a8f80f0 Fix logging bug in runtime 2022-02-02 20:42:30 +11:00
Lea Anthony
e17f556c25 [windows] Update frameless border size to 6px 2022-02-01 20:18:57 +11:00
Lea Anthony
db9e0fd0d3
[linux] Remove Go based dispatcher 2022-01-31 21:22:17 +11:00
Lea Anthony
6a10bf4d98
[linux] Better Go 1.16 support 2022-01-31 21:21:48 +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
4a89508b50
Fixes #1108 (#1115) 2022-01-29 10:21:07 +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
MikeSchaap
965187a8bb
Updated windows window/frontend to fix issue with html select positioning (#1082)
* Updated windows window/frontend to fix issue with html select positioning

* Moved notifyParentWindowPositionChanged to the Window struct and moved RegMsgHandler to Run

* Update v2/internal/frontend/desktop/windows/window.go

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>

* Moved winc.RegMsgHandler back to old location

* fixed error with merge

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2022-01-26 18:48:39 +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
Lea Anthony
6c68e59113 Support OpenFile /
OpenMultipleFiles
2022-01-25 16:27:39 -06:00
Lea Anthony
6e30c6770b Tidy up and slight refactor 2022-01-25 16:27:39 -06:00
Travis McLane
a2d447aecf implement opendialog as callback function 2022-01-25 16:27:39 -06:00
Travis McLane
3bcddd5b4c add function argument to ExecuteOnMainThread 2022-01-25 16:27:39 -06:00
Travis McLane
b11964f0eb remove xlib thread initialization 2022-01-25 16:27:39 -06:00