5
0
mirror of https://github.com/wailsapp/wails.git synced 2025-05-08 11:42:04 +08:00
Commit Graph

404 Commits

Author SHA1 Message Date
stffabi
7c1490a8b1
[assetServer] Improve release/close handling of webview requests (#2612) 2023-04-20 12:06:37 +02:00
stffabi
39a7ab5856
[assetserver, linux] Add support for WebKit2GTK 2.40+ features (#2592) 2023-04-14 11:16:27 +02:00
Misite Bao
eddc949295
fix: fix console printing (#2483) 2023-04-01 18:22:27 +11:00
stffabi
db527c0fc2
[assetserver] Add linux platform implementation (#2543) 2023-03-31 10:08:31 +02:00
Lea Anthony
5949e305ea
Reorder startup sequence
Add plugin scripts to asset server
Add InjectJS support in plugins
2023-03-24 08:43:00 +11:00
stffabi
d7a8406640
[options] Mergo doesn't play well with reference types (#2452)
Remove mergo and just use a simple hardcoded defaults approach.
2023-03-07 07:04:37 +01:00
Lea Anthony
bcde850bac Revert changes to file output 2023-02-26 15:11:24 +11:00
Lea Anthony
76371fcb27
Refactor recent mac updates (#2419) 2023-02-25 20:28:27 +11:00
Gwyn
017ce1e33e
The outputFile was only being set for darwin universal builds. I move… (#2358)
* The outputFile was only being set for darwin universal builds. I moved the
variable assignment to a location where it will take place for all builds.

The ProjectData entries are used in generating the .app plist file, so
setting them here ensures that the app will run with the custom binary name.

* Increases the reach of the output flag.

* Updates the changelog with a record of this fix.
2023-02-25 06:13:27 +11:00
stffabi
cccd708b2b
[assetserver] Add more builtin mimetypes by extension (#2391) 2023-02-21 18:20:01 +11:00
stffabi
260fd061f6
[nsis] Adjust template to install shortcuts for all users (#2373) 2023-02-13 18:40:42 +11:00
Lea Anthony
5dbda4aead
Feature: AssetServer Runtime (#2335)
* Tidy up runtime JS

* Initial implementation of runtime over http

* Update runtime deps. Fix test task.

* Support Clipboard.
Message Processor refactor.

* Add `Window.Screen()`
Clipboard `GetText` -> `Text`

* Support most dialogs
Better JS->Go object mapping
Implement Go->JS callback mechanism
Rename `window.runtime` -> `window.wails` to better reflect the Go API

* Support SaveFile dialog

* Remove go.work

* Tidy up

* Event->CustomEvent to prevent potential clash with native JS Event object
Support Eventing

* Support application calls

* Support logging

* Support named windows
Remove debug info

* Update v3 changes
2023-02-06 20:50:11 +11:00
Sebastian Bauer
180eef34a2
Remove all systray related for v2. (#2329)
Possible fix for #2265. Close systray separately after the application ran.
2023-01-26 18:11:31 +11:00
stffabi
caa0b6c804
[assetServer, darwin] Use AssetServer native WKWebView request handling (#2283) 2023-01-16 13:02:18 +01:00
stffabi
8f92cf1074
[assetHandler] Allow middleware to set the content-type for an assets file (#2286) 2023-01-16 21:05:25 +11:00
Gwyn
8c7fa4cf4c
Updates all default gitignore templates to be newline terminated. (#2306)
This allows echoing new patterns to the end of the file without
causing a string concatenation error.
2023-01-16 21:02:52 +11:00
Lea Anthony
54ca6c7059
Refactor assetserver into pkg (#2260) 2023-01-08 11:25:21 +01:00
Zámbó, Levente
add10df5ff
fix missing bin dir on build hook (#2273)
* fix missing bin dir on build hook

* add fix to changelog
2023-01-07 06:51:01 +11:00
stffabi
284e20a290
Add EnableFraudulentWebsiteDetection to options (#2269)
This allows to explicitly opt-in to scan services for fraudulent
content, such as malware or phishing attempts.
2023-01-06 00:06:26 +11:00
Zámbó, Levente
0a32c1124e
Add common text clipboard support (#2228) 2023-01-05 16:41:07 +11:00
Zámbó, Levente
ef5f547d27
Support GPU acceleration settings on Windows & Linux (#2266)
* support GPU acceleration settings Window & Linux

* fix linux empty option crash

* fix change linux gpu policy switch case

* add PR to changelog
2023-01-02 09:38:53 +11:00
stffabi
006b0c65b4
[webview2loader] Add missing windows build constraint (#2201) 2022-12-13 13:51:01 +01:00
stffabi
4aab1e6b93
[webview2loader] Promote go loader from experimental to stable (#2199)
Default webview2loader is now the go loader
2022-12-13 23:27:50 +11:00
stffabi
eb2d929824
[bindings] Pass ts_generation flags as env variable (#2194)
Otherwise this will clash if an app also uses flags internally
2022-12-11 07:38:06 +11:00
Lea Anthony
b84a2e5255
Windows tray menus (#2181)
* Add example

* Add windows systray

* Add gitkeep

* use windows.GUID
2022-12-06 20:55:56 +11:00
Travis McLane
d2339de5ff
chore: remove unreachable code (#2182)
pkg/menu/styledlabel.go:255:2: unreachable code
2022-12-06 08:27:48 +11:00
Misite Bao
f70d9de366
fix: fix go test errors (#2169)
* fix: fix go test errors

* Add flags to mac test

* Run on all branches

* Update PR workflow

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2022-12-06 06:45:06 +11:00
stffabi
5cc012d763
[darwin] Inspector tools should also be included into a debug build (#2162) 2022-12-01 09:20:18 +01:00
Lea Anthony
ea6aee91f1
Refactored build command (#2123)
* Refactored build command

* Update v2/cmd/wails/build.go

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

* WIP

* Refactor `wails doctor`

* Refactor `wails dev`

* Refactor `wails dev`

* Fix merge conflict

* Fix test

* Update build_and_test.yml

Co-authored-by: stffabi <stffabi@users.noreply.github.com>
2022-12-01 18:18:02 +11:00
stffabi
5418b879c4
[linux] Add support for WebKit2GTK 2.36+ features (#2151) 2022-11-30 11:04:12 +01:00
stffabi
993f87af97
[assetserver] Add support for serving the index.html file when requesting a directory (#2110)
* [assets] Improve error message if no `index.html` could be found in the assets

* [assetoptions] Valide options that at least one property has been set

* [assetserver] Move defaultHTML handling for 404 from assethandler to assetserver

* [assetserver] Add support for serving the index.html file when requesting a directory

* [docs] Update changelog
2022-11-29 09:29:08 +01:00
Oleg Gulevskyy
ca8a1fab36
Ability to define prefix / suffix for TS module (#2101)
* add tspostfix and tsprefix flags + organise under struct

* postifx -> suffix

* tsPrefix options on bindings struct

* pass prefix and suffix to the executable

* add support for CLI flags for generating module

* method to set TSpref/suff to bindings

* use passed ts prefix for typescriptify

* add brief Readme udpate to include new flags

* create reusable common flags

* use common flags instead of hardcoded text

* support tsprefix & suffix for dev

* add tsPrefix & tsSuffix for build cmd

* take pref & suff in account when gen d.ts

* export colorsful log functions into utils for reuse

* detect and warn the user about usage of reserved keyword

* fmt

* add TrimSpace on fn input

* refactor utils -> logutils

* add bindings -> ts_generation options to wailsjson parse

* use wailsjson for ts generation

* update warning message + extract to func

* remove suff/pref info from readme

* update json schema

* add tests for prefix and suffix case

* rename suffix method

* Update v2/internal/typescriptify/typescriptify.go

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

* Update website/static/schemas/config.v2.json

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

* Update website/static/schemas/config.v2.json

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

* update changelog

* Minor tweaks

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2022-11-24 21:33:58 +11:00
Dieter Zhu
011d8e3094
Supplement the missing WindowSetAlwaysOnTop in runtime.d.ts and runtime.js (#2128) 2022-11-24 06:08:15 +11:00
Oleg Gulevskyy
b3d7682efc
Fix multiple nested build/bin folders in dev mode (#2103)
* stop circular assigning to OutputFilename

* update changelog

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2022-11-19 10:04:46 +11:00
stffabi
f6e46ac1c3
[debug] Introducing debug options for debug builds to allow opening the inspector on startup (#2080) 2022-11-12 19:51:54 +11:00
Lea Anthony
18b2d315dd
Modularize wails (#2009)
Co-authored-by: stffabi <stffabi@users.noreply.github.com>
2022-11-03 21:21:40 +11:00
stffabi
638caf72f0
[assetserver] Introduce middleware and extract options (#2016)
* [assetserver] Add support for HTTP Middlewares

* [dev] Disable frontend DevServer if no Assets has been defined and inform user

* [dev] Consistent WebSocket behaviour in dev and prod mode for assets handler and middleware

In prod mode we can't support WebSockets so make sure the
assets handler and middleware never see WebSockets in dev mode.

* [templates] Migrate to new AssetServer option

* [docs] Add assetserver.Options to the reference
2022-10-29 23:15:15 +02:00
Joshua Hull
9f751d66e0
Add single listener deregistration (#1969)
* Add single listener deregistration

* Return function to stop listening, updates types

* Add missing returns, improve documentation

* Duplicate interface in go

* Define eventName

* Use lo instead for filtering

* Move logger to Interface. Add sample test.

* Add vite test for events

* Add js test workflow

* Add corresponding go method to remove all events

* Update documentation

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2022-10-23 09:03:37 +11:00
Binyamin Aron Green
4bff4af2b0
Add JSON schema for config file (#1864)
* Add JSON schema for config file

* Fix typo in wails config schema

* Update wails.tmpl.json

* Update wails.tmpl.json

* Add reference to schema in docs

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2022-10-22 21:07:37 +11:00
stffabi
0a20c8db96
[webview2loader] Add full featured go implementation (#1974)
* [webview2loader] Add full featured go implementation

The new go loader can be activated with the exp_gowebview2loader build tag.

* [build] Add information for using the new webvie2loader
2022-10-22 00:29:16 +11:00
Lea Anthony
a5fba5b218
Release/v2.1.0 (#1988)
* Add changelog. Fix zoom docs. Add Info.dev.plist info

* Update build assets README.md

* Update changelog

* actions/checkout@v2 => v3

* Docs
2022-10-18 07:21:07 +11:00
Lea Anthony
96fa18846c
Feature/static analysis (#1983)
* Support parsing embed directives from package

* Validate `embed` directives on build

* `.gitkeep` -> `gitkeep`

* Make step silent. Fix for `wails dev`
2022-10-16 23:08:34 +11:00
Pierre Joye
f4adff1cb3
#1057 expose ZoomFactor get/set and add the respective windows only options (#1463)
* #1057 expose ZoomFactor get/set and add the respective windows only options

* Remove debug log, use IsZoomControlEnabled as well

* use math.float to/from 64bits functions instead

* Add new windows options ZoomFactor and IsZoomControlEnabled doc

* Grammar

* Update options.mdx

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2022-10-14 08:46:14 +11:00
Lea Anthony
7effede62b
Add support for Info.dev.plist (#1960) 2022-10-14 07:58:43 +11:00
Lea Anthony
eee6797907
Add WindowExecJS method (#1927)
* Add WindowExecJS

* [devserver] Embed the base frontend into the DevServer struct

* Update docs

Co-authored-by: stffabi <stffabi@users.noreply.github.com>
2022-10-05 08:44:23 +11:00
Zámbó, Levente
2690250378
Add window transparency for linux (#1926) 2022-10-01 15:44:38 +10:00
Lea Anthony
b2069c871d
Refactor app (#1909)
* Application refactor

* [windows] refactor out main loop. Create new application struct. Refactor assethandler/assetserver signatures.

* Refactor darwin app

* Refactor app for linux

* Update v2/internal/frontend/assetserver/assethandler.go

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

* Update v2/internal/frontend/assetserver/assethandler.go

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

* Update v2/internal/frontend/assetserver/assetserver.go

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

* Update v2/internal/frontend/assetserver/assetserver.go

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

Co-authored-by: stffabi <stffabi@users.noreply.github.com>
2022-09-29 18:43:35 +10:00
Lea Anthony
1571b10b84
Quote command arguments if they have a space (#1892) 2022-09-25 22:20:01 +10:00
Lea Anthony
74133c9ae3
v2.0.0 2022-09-22 11:00:57 +10:00
Lea Anthony
b93cdcd942
Releasetest/release workflow (#1869)
* Test release workflow

* Update release.yml

* Update release.yml

* add linux deps

* Update release.yml

* Update release.yml

* Update release.yml

* Update release.yml

* Update release.yml

* Update release.yml

* Update release.yml

* Update release.yml

* Update release.yml

* Fix: Misc tests

* Fix: Misc tests + linux build tags

* Fix: Bindings tests + move templates to pkg. Add json schema for templates

* Fix: template tests

* Add tests to release workflow. Test for go 1.18 + go 1.19
Fix: ignore .m files for non darwin builds. Fix watcher test. Fix warning in clilogger.

* Fix release pipeline

* Matrix for tests

* Rename templates to make tests work

* Update template test

* Debug template test

* Debug template test

* Debug template test

* Fix gitignore

* Update release.yml
2022-09-18 08:55:21 +10:00
stffabi
f97f5bb602
[build] Fix buildtags parsing if only one tag is specified (#1858)
* [build] Fix buildtags parsing if only one tag is specified
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2022-09-15 17:04:00 +10:00
Lea Anthony
052b9222c1
Add garble support (#1793)
Co-authored-by: AlbinoDrought <sean@albinodrought.com>
Co-authored-by: stffabi <stffabi@users.noreply.github.com>
2022-09-13 10:05:37 +10:00
imgbot[bot]
eef99ee577
[ImgBot] Optimize images (#1812)
*Total -- 5,696.04kb -> 5,003.34kb (12.16%)

/v2/pkg/commands/build/internal/packager/icon32.png -- 7.95kb -> 2.95kb (62.83%)
/v2/internal/frontend/desktop/windows/winc/dock_topbottom.png -- 4.27kb -> 1.82kb (57.31%)
/assets/images/jetbrains-grayscale.png -- 102.85kb -> 52.29kb (49.16%)
/v2/internal/frontend/desktop/windows/winc/dock_topleft.png -- 3.47kb -> 1.88kb (45.81%)
/cmd/templates/svelte/frontend/public/favicon.png -- 3.05kb -> 1.91kb (37.45%)
/website/static/img/icon-windows-dark.svg -- 0.63kb -> 0.45kb (28.35%)
/v2/pkg/buildassets/build/appicon.png -- 174.74kb -> 129.52kb (25.88%)
/website/static/img/favicon.svg -- 0.99kb -> 0.76kb (23.37%)
/website/static/img/go_js.svg -- 4.49kb -> 3.45kb (23.14%)
/website/static/img/go_js_dark.svg -- 4.54kb -> 3.50kb (22.97%)
/cmd/templates/vuetify2-basic/frontend/src/assets/images/logo.png -- 300.95kb -> 234.35kb (22.13%)
/cmd/templates/vuetify-basic/frontend/src/assets/images/logo.png -- 300.95kb -> 234.35kb (22.13%)
/cmd/templates/create-react-app/frontend/src/logo.png -- 300.95kb -> 234.35kb (22.13%)
/cmd/templates/vuebasic/frontend/src/assets/images/logo.png -- 300.95kb -> 234.35kb (22.13%)
/cmd/templates/svelte/frontend/src/logo.png -- 300.95kb -> 234.35kb (22.13%)
/website/static/img/architecture.svg -- 3.83kb -> 3.04kb (20.6%)
/website/static/img/Terminal-icon-dark.svg -- 0.99kb -> 0.79kb (20.37%)
/website/static/img/Terminal-icon.svg -- 0.99kb -> 0.79kb (19.84%)
/website/static/img/wails-logo-textless.svg -- 4.11kb -> 3.40kb (17.31%)
/assets/images/pace.jpeg -- 3.06kb -> 2.55kb (16.57%)
/website/static/img/icon-apple-dark.svg -- 1.10kb -> 0.92kb (16.33%)
/website/static/img/Go_Logo_Blue.svg -- 2.20kb -> 1.86kb (15.21%)
/website/static/img/logo-dark.svg -- 7.19kb -> 6.18kb (14.12%)
/website/static/img/wails-logo-horizontal-dark.svg -- 6.29kb -> 5.41kb (14.02%)
/website/static/img/logo-light.svg -- 7.12kb -> 6.13kb (14%)
/website/static/img/wails-logo-horizontal.svg -- 6.22kb -> 5.36kb (13.87%)
/website/static/img/icon-windows.svg -- 0.42kb -> 0.39kb (8.14%)
/v2/cmd/wails/internal/commands/generate/template/base/frontend/dist/assets/images/logo-universal.png -- 146.83kb -> 136.42kb (7.09%)
/v2/cmd/wails/internal/commands/initialise/templates/templates/vue-ts/frontend/src/assets/images/logo-universal.png -- 146.83kb -> 136.42kb (7.09%)
/v2/cmd/wails/internal/commands/initialise/templates/templates/plain/frontend/src/assets/images/logo-universal.png -- 146.83kb -> 136.42kb (7.09%)
/assets/images/logo-universal.png -- 146.83kb -> 136.42kb (7.09%)
/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/lit/frontend/src/assets/images/logo-universal.png -- 146.83kb -> 136.42kb (7.09%)
/v2/cmd/wails/internal/commands/initialise/templates/templates/react-ts/frontend/src/assets/images/logo-universal.png -- 146.83kb -> 136.42kb (7.09%)
/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/src/assets/images/logo-universal.png -- 146.83kb -> 136.42kb (7.09%)
/v2/cmd/wails/internal/commands/initialise/templates/templates/lit-ts/frontend/src/assets/images/logo-universal.png -- 146.83kb -> 136.42kb (7.09%)
/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte-ts/frontend/src/assets/images/logo-universal.png -- 146.83kb -> 136.42kb (7.09%)
/v2/cmd/wails/internal/commands/initialise/templates/templates/lit/frontend/src/assets/images/logo-universal.png -- 146.83kb -> 136.42kb (7.09%)
/v2/cmd/wails/internal/commands/initialise/templates/templates/svelte/frontend/src/assets/images/logo-universal.png -- 146.83kb -> 136.42kb (7.09%)
/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/assets/images/logo-universal.png -- 146.83kb -> 136.42kb (7.09%)
/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/preact/frontend/src/assets/images/logo-universal.png -- 146.83kb -> 136.42kb (7.09%)
/v2/cmd/wails/internal/commands/initialise/templates/generate/plain/frontend/src/assets/images/logo-universal.png -- 146.83kb -> 136.42kb (7.09%)
/v2/cmd/wails/internal/commands/initialise/templates/templates/react/frontend/src/assets/images/logo-universal.png -- 146.83kb -> 136.42kb (7.09%)
/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla/frontend/src/assets/images/logo-universal.png -- 146.83kb -> 136.42kb (7.09%)
/v2/cmd/wails/internal/commands/initialise/templates/templates/vue/frontend/src/assets/images/logo-universal.png -- 146.83kb -> 136.42kb (7.09%)
/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/react/frontend/src/assets/images/logo-universal.png -- 146.83kb -> 136.42kb (7.09%)
/v2/cmd/wails/internal/commands/initialise/templates/templates/vanilla-ts/frontend/src/assets/images/logo-universal.png -- 146.83kb -> 136.42kb (7.09%)
/v2/cmd/wails/internal/commands/initialise/templates/templates/preact-ts/frontend/src/assets/images/logo-universal.png -- 146.83kb -> 136.42kb (7.09%)
/v2/cmd/wails/internal/commands/initialise/templates/generate/assets/vue/frontend/src/assets/images/logo-universal.png -- 146.83kb -> 136.42kb (7.09%)
/cmd/templates/vue3-js/frontend/src/assets/logo.png -- 6.69kb -> 6.33kb (5.4%)
/v2/cmd/wails/internal/commands/initialise/templates/templates/preact/frontend/src/assets/preact.svg -- 1.57kb -> 1.49kb (4.99%)
/website/static/img/icon-apple.svg -- 0.76kb -> 0.72kb (4.52%)
/website/static/img/desktop-application-app-dark.svg -- 4.56kb -> 4.37kb (4.34%)
/website/static/img/desktop-application-app.svg -- 4.54kb -> 4.35kb (4.34%)
/website/static/img/logo.svg -- 6.55kb -> 6.29kb (4.05%)
/website/static/img/vitejs.svg -- 3.76kb -> 3.62kb (3.79%)
/cmd/templates/create-react-app/frontend/public/logo512.png -- 175.92kb -> 169.55kb (3.62%)
/v2/pkg/commands/build/internal/packager/icon128.png -- 16.10kb -> 15.52kb (3.58%)
/cmd/templates/vue3-full/frontend/src/assets/appicon.png -- 105.56kb -> 101.81kb (3.56%)
/cmd/packages/darwin/icon.png -- 105.56kb -> 101.81kb (3.56%)
/cmd/templates/vue3-js/frontend/src/assets/appicon.png -- 105.56kb -> 101.81kb (3.56%)
/cmd/packages/windows/icon.png -- 105.56kb -> 101.81kb (3.56%)
/cmd/templates/create-react-app/frontend/public/logo192.png -- 37.41kb -> 36.24kb (3.14%)
/cmd/templates/vuebasic/frontend/src/assets/fonts/roboto/roboto-v18-latin-regular.svg -- 47.83kb -> 46.81kb (2.13%)
/v2/pkg/commands/build/internal/packager/icon256.png -- 26.46kb -> 25.99kb (1.79%)
/website/static/img/icon-linux.svg -- 2.94kb -> 2.92kb (0.4%)

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
Co-authored-by: ImgBotApp <ImgBotHelp@gmail.com>
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2022-09-12 21:57:07 +10:00
Lea Anthony
d23108a49e
Make draggable CSS property customisable (#1828)
Co-authored-by: stffabi <stffabi@users.noreply.github.com>
2022-09-10 14:33:35 +10:00
Zámbó, Levente
7816b0b67f
[v2] feature: make EventsOff capable of removing multiple listeners (#1822)
[v2] feature: add missing wrapper
2022-09-02 07:34:59 +10:00
ZanderCodes
70c484f603
Add Some WindowState (#1349)
* Add Check for WindowState IsMaximised, IsMinimized, IsNormal and IsFullscreen

Solve conflicts

# Conflicts:
#	v2/internal/frontend/desktop/darwin/WailsContext.m
#	v2/internal/frontend/desktop/darwin/frontend.go
#	v2/internal/frontend/desktop/linux/window.go
#	v2/internal/frontend/desktop/windows/window.go

* Add Check for WindowState IsMaximised, IsMinimized, IsNormal and IsFullscreen

Solve conflict
# Conflicts:
#	v2/pkg/runtime/window.go

* Forgot some function to use it

# Conflicts:
#	v2/internal/frontend/desktop/darwin/WailsContext.h
#	v2/internal/frontend/desktop/windows/win32/consts.go
#	v2/internal/frontend/desktop/windows/win32/window.go

* Modify the instructions

# Conflicts:
#	v2/internal/frontend/devserver/devserver.go

* Add Functions to DevServer

# Conflicts:
#	v2/internal/frontend/dispatcher/systemcalls.go
#	v2/internal/frontend/runtime/desktop/window.js
#	v2/internal/frontend/runtime/package-lock.json
#	v2/internal/frontend/runtime/runtime_prod_desktop.js
#	v2/internal/frontend/runtime/wrapper/runtime.d.ts
#	v2/internal/frontend/runtime/wrapper/runtime.js

* Add Callback and JavaScript Functions

# Conflicts:
#	v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/runtime/runtime.js
#	v2/internal/frontend/runtime/package-lock.json
#	v2/internal/frontend/runtime/runtime_dev_desktop.js

* Remove Merge lines

* Fix IsMaximised

* Add WindowState Docs

* Update docs

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2022-08-30 06:52:01 +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
57c9158551
Chore/tidy up (#1713)
* Tidy up dev mode output

* Rename `appng` package to `app`

* Remove `crypto`,`parse`,`messagedispatcher`,`servicebus`,`runtime`,`subsystem`,`ffenestri` packages and `.vscode` dir

* Remove misc `fs` functions

* Remove `str` package

* Fix redundant alias
2022-08-09 07:42:11 +10:00
stffabi
501f7a129e
[v2, dev] Build frontend only before starting the dev watcher command (#1694)
* [v2, dev] Improve logging of dev watcher command during stop

* [v2, dev] Build frontend only before starting the dev watcher command

Breaking Change: Ignore flags take precedence over Force flag.
2022-08-05 20:01:47 +10:00
LGiki
b33211495e
Change frontend:dev to frontend:dev:build (#1691) 2022-08-03 21:19:06 +10:00
stffabi
42ef125fb4
[v2, build] gcflags don't need to be quoted (#1689)
This seemed to work for Go < 1.19 but since 1.19 this gives
an error.
2022-08-03 17:15:56 +10:00
LGiki
568015972a
Add frontend:dev:install configuration (#1666)
* Add frontend:dev:install configuration

* When building the frontend in dev mode, use `frontend:dev:install` (if it has been defined) to install the dependencies

* Simplified logic for determining installation command

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
2022-08-03 17:15:22 +10:00
Lea Anthony
57f506fa66
Better "context is nil" errors 2022-07-30 09:20:18 +10:00
Lea Anthony
7ea6f6d28e
Fix BackgroundColour documentation. Update changelog. Move contributors into website. Create changelog link. 2022-07-25 20:11:04 +10:00
Lea Anthony
5a3d45b535
Override platform with GOOS and GOARCH (#1618)
* Override platform with GOOS and GOARCH

* Update v2/cmd/wails/internal/commands/build/build.go

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

* Only use GOOS and GOARCH env vars for default target

* Update docs. Add dryrun flag for testing

* Update v2/cmd/wails/internal/commands/build/build.go

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

* Fix scenario where no arch specified

* Fixed banner

Co-authored-by: stffabi <stffabi@users.noreply.github.com>
2022-07-21 21:25:57 +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
Lea Anthony
f46e825d24
Add pre-build hooks. Print command output when verbosity flag set. (#1578)
* Add pre-build hooks. Print command output when verbosity flag set.

* Refactor build hooks
2022-07-17 22:08:55 +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
Lea Anthony
f068c33dcf
Add support for production log levels (#1555) 2022-07-14 21:45:13 +10:00
Lea Anthony
39cebffa87
Fix: use correct json value for buildtype 2022-07-08 10:58:38 +10:00
Lea Anthony
4726b72708
feature: Add -windowsconsole flag 2022-07-04 22:52:50 +10:00
Lea Anthony
3e42d2da05
Rename WindowSetRGBA -> WindowSetBackgroundColour (#1506)
* Rename WindowSetRGBA -> WindowSetBackgroundColour

* Fix Typos
2022-06-29 22:31:49 +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
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
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
Zámbó, Levente
f6425a64a6
feature - add race detector to build & dev (#1426) 2022-05-27 19:07:39 -10: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
Lea Anthony
41f9c07c88 Fixes #1343 2022-04-27 21:29:54 +10:00
Lea Anthony
e7aa74905a
Initial commit (#1352) 2022-04-27 19:10:20 +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
4e03c84fbb
Feature/default templates (#1334) 2022-04-15 20:30:10 +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
Lea Anthony
3fbe4f71c4 Ensure there's a default wailsJS dir 2022-04-12 20:13:05 +10:00
Lea Anthony
ebf4cf13f2
Feature: Add menu helpers 2022-04-09 20:36:48 +10:00
Lea Anthony
dce5fd442f fix: i18n messages/bug + docs bug. 2022-04-05 21:41:49 +10:00
Lea Anthony
8e8b88ef48 Translations refactor 2022-04-03 17:22:37 +10:00
Lea Anthony
4a20655b29 Translations + Tidy Up 2022-04-03 17:18:36 +10:00
Lea Anthony
7af39e4819 Feature: Go logger "f" equivalents 2022-04-01 12:27:40 +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
Lea Anthony
2376062008 Update NSIS guide. Backport docs to .34. Fix references. Fix titles. 2022-03-31 12:23:28 +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
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
9c5600d8f3 Ensure default icon is generated regardless of icon.ico availability 2022-03-14 22:35:21 +11:00
fengweiqiang
f4d1d02ded
Build added win32 compatibility (#1238) 2022-03-12 17:29:25 +11:00
stffabi
c5c0617c89
[v2, nsis] Seems like / as path separator works only for some directives in a cross platform way (#1227)
Especially the File directive seems not to work with a `/` on
Windows. Whereas `\` works for all directives and on all platforms.
So the `\` in NSIS can be used also on Linux and MacOS.
2022-03-08 20:35:16 +11:00
stffabi
b02dbfaddf
[v2] NSIS installer support for Windows (#1184)
* [v2] Add support for post build hooks

Currently only supports build-level hooks

* [v2] Improve build assets handling and use single source for manifest generation

The manifest asset files are now a go template and data will be
resolved before they are included into the build output.

Breaking Change: Windows manifest file must be named
“wails.exe.manifest” and doesn’t depend on the project name
anymore.

* [v2, windows] NSIS installer generation
2022-03-02 19:44:31 +11:00