Compare commits

..

140 Commits

Author SHA1 Message Date
Lea Anthony
68f7c4c7bd Unicode updates 2019-10-30 08:21:12 +11:00
Lea Anthony
c07900e555 WIP 2019-10-29 21:36:53 +11:00
Lea Anthony
dafd9bcb24 fix: make binary name more os specific 2019-10-29 10:24:05 +11:00
Lea Anthony
7f75f27f6b fix: debug build should use terminal 2019-10-29 07:57:29 +11:00
Lea Anthony
d77fa1ee74 fix: npm/node version reporting 2019-10-26 05:36:00 +11:00
Lea Anthony
82e00ff83a hotfix: build issue for windows 2019-10-25 18:21:18 +11:00
Lea Anthony
14f91ab109 release v0.18.12-pre 2019-10-25 18:13:57 +11:00
Lea Anthony
19706a12a4 261 korean fonts (#276)
* fix: linting

* chore: bump version

* fix: unicode text for Windows

* fix: re-add webview_set_title
2019-10-25 18:12:56 +11:00
Lea Anthony
52e6091f0f release v0.18.11-pre 2019-10-25 17:39:12 +11:00
Lea Anthony
2db1624faf 274 support spaces in windows paths (#275)
* fix: escape windows commands

* fix: allow spaces in path to windres

* Update go.mod
2019-10-25 17:37:36 +11:00
Lea Anthony
f5d3fb0848 release v0.18.10-pre 2019-10-25 12:34:43 +11:00
Lea Anthony
85a64914aa 261 korean fonts (#273)
* fix: linting

* chore: bump version

* fix: unicode text for Windows
2019-10-25 12:33:29 +11:00
Lea Anthony
0819207e33 Bump version to v0.18.9-pre 2019-10-25 12:05:51 +11:00
Lea Anthony
50a0bc7701 fix: add flag to fix windows builds (#272) 2019-10-25 12:04:08 +11:00
Lea Anthony
c51f0cad6f chore: version bump 2019-10-24 16:13:42 +11:00
Lea Anthony
6795f6c678 Migrate tool (#270)
Experimental migration tool for projects < v1.0.0
2019-10-24 16:11:50 +11:00
Lea Anthony
315ef5f7ea fix: detect encoding on windows (#266)
* fix: linting

* chore: bump version
2019-10-24 16:04:32 +11:00
Lea Anthony
24530d9da4 fix: force install when node_modules missing (#268) 2019-10-24 09:36:42 +11:00
Lea Anthony
96fc70df26 Merge branch 'master' into develop 2019-10-23 14:07:22 +11:00
Lea Anthony
1c8d4c902a Merge branch 'develop' of github.com:wailsapp/wails into develop 2019-10-23 14:06:19 +11:00
Lea Anthony
08fc1d53d0 chore: version bump 2019-10-23 14:06:14 +11:00
Lea Anthony
6c5d5e40f4 262 add wails shutdown method (#264)
* feat: support close in bridge mode

* feat: WailsShutdown callback

Now handles proper shutdown through:
  * runtime.Window.Close()
  * Killing the main window
  * Ctrl-C
2019-10-23 14:04:41 +11:00
Lea Anthony
3f1dfe931c Update CONTRIBUTORS.md 2019-10-14 09:37:01 +11:00
Kris Raney
cb850c9653 Patch for file dialog on OSX (#258)
* Patch for file dialog on OSX
2019-10-14 09:34:50 +11:00
Lea Anthony
8d8f47363a chore: supress warnings 2019-10-12 20:19:05 +11:00
Lea Anthony
1b04b71254 fix: importing runtime (#254) 2019-10-09 19:33:13 +11:00
Lea Anthony
0b19ad1427 chore: version bump 2019-10-09 19:30:53 +11:00
Lea Anthony
9aca99911e Update CONTRIBUTORS.md 2019-10-09 04:47:00 +11:00
Robin Eklind
a7f61e335e cmd/wails: report error status code to OS (#252)
Fixes #251.
2019-10-09 04:44:32 +11:00
Lea Anthony
9fff0a513e chore: merge master 2019-10-08 06:30:22 +11:00
Lea Anthony
7fd5b77cbe chore: version bump 2019-10-08 06:06:02 +11:00
Lea Anthony
d2cac50f93 fix: update runtime 2019-10-07 22:16:29 +11:00
Lea Anthony
00f1f82520 Merge branch 'master' into develop 2019-10-07 21:35:52 +11:00
Lea Anthony
02fbb14e34 chore: version bump 2019-10-07 21:32:27 +11:00
Byron
f961659ada manjaro (#248)
* manjaro

* Update go.mod
2019-10-06 19:14:05 +11:00
Lea Anthony
93942111bc fix: multiple runtime fixes 2019-10-06 14:20:59 +11:00
Lea Anthony
dc5a68acce feat: add runtime typings 2019-10-06 13:36:20 +11:00
Lea Anthony
12ff0f8c97 fix: binding more than one struct method (#245) 2019-10-01 06:13:55 +10:00
Lea Anthony
c375c281ee chore: remove some debug output 2019-09-19 08:57:40 +10:00
Lea Anthony
7d86b0f7c4 chore: version bump 2019-09-14 05:56:52 +10:00
Byron
990f7dd06c feat: KDE neon support (#234) 2019-09-14 05:51:29 +10:00
Lea Anthony
0b6f256d55 docs: add Mattn 2019-09-10 06:34:40 +10:00
Byron
0a57fa4035 (FIX) 215 support distribution kali (#224)
* fix: kali support
2019-09-04 08:44:08 +10:00
Lea Anthony
af1a1a2498 chore: remove debug output 2019-09-03 19:36:21 +10:00
Lea Anthony
cc0617d247 chore: release v0.17.14-pre 2019-09-03 18:22:27 +10:00
Byron
99a3f87cef duplicate code spotted (#221)
* fix: duplicate code
2019-09-03 18:21:13 +10:00
Lea Anthony
1ccdb1bc4e fix: allow 0 return types 2019-09-01 15:52:35 +10:00
Byron
62b1967e45 215 support distribution kali (#219)
* test: azure pipeline

* fix: azure pipeline yaml

* feat: kali linux support

* feat: kali linux support
2019-08-30 23:21:54 +10:00
Lea Anthony
c10303e7c0 fix: upgrade eslint 2019-08-28 07:01:52 +10:00
Byron
4a61584827 Elementary support + readme update (#210)
* test: azure pipeline

* fix: azure pipeline yaml

* feat: elementary support+readme udpate
2019-08-28 06:19:48 +10:00
Lea Anthony
cf249ba836 chore: bump version 2019-08-26 17:58:20 +10:00
Byron
08fe7b64d6 Yaml bug (#207)
* test: azure pipeline

* fix: azure pipeline yaml

* feat: elementary support

* feat: opensuse support

* fix: 0_setup.go line 27

* fix: 0_setup.go line 27

* fix: opensuse yaml

* fix: opensuse yaml

* fix: opensuse yaml

* fix: opensuse yaml

* fix: opensuse yaml

* fix: opensuse yaml

* fix: yaml

* fix: yaml

* fix: yaml

* fix: opensuse yaml

* fix: opensuse

* fix: opensuse

* fix: opensuse

* fix: opensuse

* fix: string trim os osRelease field NAME

* fix: 0_setup.go if err typo

* test

* test

* fix: typo in linux.go

* test: remove quotes from opensuse case

* test: revert

* test: ""

* test: ""

* test: ""

* test: ""

* fix: replace trim with replace

* fix: drop 0_setup.go and run checks by system.go

* fix: elementary os yaml name

* fix: open suse yaml entry

* fix: commented out result.Release = version

* fix: commented out result.Release = version

* fix: revert Replace to Trim

* fix: Linux Mint yaml entry

* fix: capitalize distros entries

* fix: capitalize distros entries

* fix: capitalize distros entries

* test

* test

* fix: open suse yaml entry

* fix: yaml entris

* test

* test

* test

* test

* test

* test

* branch changing

* fix: bug in setup process

* debugging

* debugging

* debugging

* debugging

* fix: yaml entries & err == nil bug

* Update prerequisites.go

* fix: bug

* fix: 0_setup.go

* fix: yaml bug

* fix: yaml bug
2019-08-26 05:02:49 +10:00
Lea Anthony
77939ea414 Merge pull request #200 from Vaelatern/voidlinux-support
feat: VoidLinux support
2019-08-26 04:23:16 +10:00
Toyam Cox
468394d03c feat: VoidLinux support 2019-08-25 08:41:51 -04:00
Lea Anthony
dc87699a1e Merge pull request #205 from Vaelatern/undefined-webview
fix: undefined: webview during build
2019-08-25 19:44:53 +10:00
Toyam Cox
36e906507d fix: undefined: webview during build 2019-08-25 04:08:21 -04:00
Lea Anthony
a5f9688708 Merge branch 'develop' of github.com:wailsapp/wails into develop 2019-08-25 15:59:02 +10:00
Lea Anthony
880f900e51 Update contributors 2019-08-25 15:58:44 +10:00
Lea Anthony
349306cf73 chore: deduplicate library verificaation code (#203) 2019-08-25 15:56:42 +10:00
Toyam Cox
f140697857 chore: deduplicate library verificaation code 2019-08-25 00:14:39 -04:00
Lea Anthony
26ff8df7e5 chore: remove unused mewn file 2019-08-19 22:43:54 +10:00
Lea Anthony
b7dae216df Merge branch 'develop' of github.com:wailsapp/wails into develop 2019-08-19 22:23:32 +10:00
Byron
0b9d093d6c Azure Pipelines (#192)
* test: azure pipeline

* test: azure pipeline

* test: azure pipeline

* test: azure pipeline

* test: azure pipeline

* test: azure pipeline

* test: azure pipeline

* test: azure pipeline

* test: azure pipeline

* test: azure pipeline

* test: azure pipeline

* test: azure pipeline

* test: azure pipeline

* test: azure pipeline

* test: azure pipeline

* test: azure pipeline

* test: azure pipeline

* test: azure pipeline

* test: azure pipeline

* test: azure pipeline

* test: azure pipeline

* test: azure pipeline

* test: azure pipeline

* test: azure pipeline

* test: azure pipeline

* test: azure pipeline

* test: azure pipeline

* test: azure pipeline

* test: azure pipeline

* test: azure pipeline

* test: azure pipeline

* test: azure pipeline

* test: azure pipeline

* test: azure pipeline

* feat: azure pipelines

* feat: azure pipelines

* feat: azure pipelines

* feat: azure pipelines

* feat: azure pipelines

* feat: azure pipelines

* feat: azure pipelines

* feat: azure pipelines

* feat: azure pipelines

* feat: azure pipelines

* feat: azure pipelines

* feat: azure pipelines

* feat: azure pipelines

* feat: azure pipelines

* feat: azure pipelines

* feat: azure pipelines

* feat: azure pipelines

* feat: azure pipelines

* feat: azure pipelines

* feat: azure pipelines

* feat: azure pipelines

* feat: azure pipelines

* feat: azure pipelines

* feat: azure pipelines

* feat: azure pipelines

* feat: azure pipelines

* feat: azure pipelines

* feat: azure pipelines

* feat: azure pipelines
2019-08-19 19:11:43 +10:00
Lea Anthony
7f282ad071 chore: add inprogress label 2019-08-19 09:01:44 +10:00
Lea Anthony
d6ed583e07 chore: add stale issue bot config 2019-08-19 08:56:58 +10:00
Lea Anthony
930cab2d9d chore: rename webview for clarity 2019-08-16 19:12:55 +10:00
Lea Anthony
ae41f33dcc chore: merge webview back in 2019-08-16 08:28:43 +10:00
Lea Anthony
5af6b7cafe chore: bump version 2019-08-10 10:50:25 +10:00
Lea Anthony
68ac3763d0 chore: update linux db 2019-08-10 10:43:09 +10:00
admin_3.exe
cdc66b556e 188 support distribution linux mint (#189) 2019-08-10 10:42:02 +10:00
admin_3.exe
3ff16322c2 182 linux bd (#183)
* fix: linuxdb.yaml entries

* fix: typo

* fix: yaml syntax error
2019-08-09 20:21:01 +10:00
Lea Anthony
d60066a0b1 chore: linter fixes (#185) 2019-08-09 08:12:50 +10:00
Lea Anthony
9d6ebf0fd4 Linux db (#182)
* feat: refactor linux distro detection

* linux db updates

* feat: add gccversioncommand + windows support

* fix: build-essential
2019-08-08 21:04:59 +10:00
Lea Anthony
839815e2fb chore: bump version 2019-08-05 18:40:34 +10:00
admin_3.exe
846fe479bf 179 parrot distributionsupport (#181)
* feat: parrot support && git push

* feat: parrot support

* feat: parrot support

* fix: arch support

* fix: gentoos support

* Update README.md

* Update README.md
2019-08-05 18:35:04 +10:00
Lea Anthony
62f7070e0c chore: hotfix version bump 2019-07-31 18:26:12 +10:00
Lea Anthony
dd418b36c2 Merge pull request #178 from bh90210/169-improve-wails-issue-linux-quick-fixes
169 improve wails issue linux quick fixes
2019-07-31 18:04:51 +10:00
bh90210
f4f04f2199 fix: typo 2019-07-31 03:20:08 +03:00
bh90210
3a7514bbdc fix: issue report 2019-07-31 02:54:59 +03:00
admin_3.exe
213f07fed4 Merge pull request #3 from wailsapp/develop
Develop
2019-07-31 01:48:54 +03:00
Lea Anthony
ed3ed8aa18 chore: hotfix 2019-07-31 06:57:56 +10:00
Lea Anthony
d038dca37c Merge pull request #177 from wailsapp/gitbash-fixes
fix: gitbash fixes
2019-07-31 06:55:40 +10:00
Lea Anthony
bb86d770a1 fix: gitbash fixes 2019-07-31 06:54:07 +10:00
Lea Anthony
33daa8621e chore: version bump 2019-07-31 06:21:00 +10:00
Lea Anthony
6c124fcff4 Merge pull request #175 from bh90210/174-wails-init-does-not-work-on-centos-7
fixed centos & fedora support
2019-07-31 06:17:42 +10:00
Lea Anthony
45833574b3 Merge branch 'bh90210-169-improve-wails-issue' into develop 2019-07-31 06:09:12 +10:00
Lea Anthony
5cb00eb481 trim gcc string 2019-07-31 06:08:43 +10:00
Lea Anthony
e2105331c1 Merge branch '169-improve-wails-issue' of git://github.com/bh90210/wails into bh90210-169-improve-wails-issue 2019-07-31 06:02:41 +10:00
bh90210
21d2383e63 Merge branch '169-improve-wails-issue' of github.com:bh90210/wails into 169-improve-wails-issue 2019-07-30 16:11:51 +03:00
bh90210
6c945a4eed fix: crashing typo 2019-07-30 16:11:18 +03:00
admin_3.exe
6c8d34dfd3 Delete npm-debug.log 2019-07-30 16:00:16 +03:00
bh90210
b9b42c059e feat: show gcc, node, npm version on issue report 2019-07-30 15:57:51 +03:00
bh90210
3f657b34cf darwin working 2019-07-30 02:12:51 +03:00
bh90210
6e81a36ada linux working 2019-07-30 02:02:01 +03:00
bh90210
ddec01a429 feat: gcc,npm,node versions on issues 2019-07-29 23:53:43 +03:00
bh90210
21fdb3be7d fix(linux): fedora & centos support 2019-07-29 19:12:05 +03:00
admin_3.exe
c1a13ab6d0 Merge pull request #2 from wailsapp/develop
Develop
2019-07-29 16:09:33 +03:00
Lea Anthony
750a02efc6 chore: version bump 2019-07-29 17:54:41 +10:00
Lea Anthony
5e047debfc fix: add support back for ubuntu, redhat 2019-07-29 17:52:22 +10:00
Lea Anthony
9cac336708 docs: updated contributors 2019-07-29 09:03:17 +10:00
Lea Anthony
827c2b9a95 Merge pull request #172 from Chronophylos/dont-use-lsb_release
Drop lsb_release
2019-07-29 09:01:41 +10:00
Chronophylos
b36a3c4abb fix assumption
Signed-off-by: Chronophylos <nikolai@chronophylos.com>
2019-07-28 13:39:03 +02:00
Chronophylos
0bac205565 show distro id when creating a issue
Signed-off-by: Chronophylos <nikolai@chronophylos.com>
2019-07-28 13:16:56 +02:00
Chronophylos
67a8ad8e12 change DistributionID to NAME=
Signed-off-by: Chronophylos <nikolai@chronophylos.com>
2019-07-28 00:44:46 +02:00
Chronophylos
9de2f66f50 drop lsb_release
Signed-off-by: Chronophylos <nikolai@chronophylos.com>
2019-07-27 21:26:11 +02:00
admin_3.exe
9370030ff3 Merge pull request #1 from wailsapp/develop
Develop
2019-07-27 22:12:15 +03:00
Lea Anthony
e38d6e7ef0 Merge pull request #165 from bt/master
Fix Masterminds/semver reference import path (case-sensitivity)
2019-07-22 18:33:54 +10:00
Bertram Truong
2f21fc3575 Fix Masterminds/semver reference import path (case-sensitivity) 2019-07-22 10:25:23 +10:00
Lea Anthony
63e73f5f64 chore: Version Bump 2019-07-20 19:40:43 +10:00
Lea Anthony
e1adc1ba49 Merge pull request #163 from wailsapp/more-runtime-refactor
More runtime refactor
2019-07-20 19:35:59 +10:00
Lea Anthony
030e911ea4 feat: significant overhaul of runtime 2019-07-20 19:32:30 +10:00
Lea Anthony
d2f114e44e Update contributors 2019-07-19 08:08:26 +10:00
Lea Anthony
700d3f84d3 Merge pull request #161 from fdidron/145-Fix-React-Error-Windows
145 fix react error windows
2019-07-19 00:32:20 +10:00
Florian Didron
1d49042013 style: replace double quotes with single quotes 2019-07-18 21:46:25 +09:00
Florian Didron
8671b1e6cf fix: add promises polyfill for the windows target 2019-07-18 21:10:42 +09:00
Lea Anthony
517d6c44ec fix: Print stdout on error :rolleyes: 2019-07-18 09:12:57 +10:00
Lea Anthony
a082a659ea fix: renamed global logger 2019-07-16 18:29:15 +10:00
Lea Anthony
083153efc9 fix: eslintrc config 2019-07-13 22:32:19 +10:00
Lea Anthony
65a2560153 chore: bump version 2019-07-13 22:30:32 +10:00
Lea Anthony
29535c10a3 Merge pull request #157 from wailsapp/runtime-refactor
Runtime refactor
2019-07-13 22:27:36 +10:00
Lea Anthony
24c7362163 Even more fixes 2019-07-13 22:18:42 +10:00
Lea Anthony
f6ff7d7b16 fix: linting for hound 2019-07-13 22:12:49 +10:00
Lea Anthony
b0a075cdf2 fix: more lint fixes 2019-07-13 22:10:43 +10:00
Lea Anthony
98d4d6b33c config: eslint 2019-07-13 15:42:57 +10:00
Lea Anthony
9ba3e0512b fix: linting 2019-07-13 15:35:50 +10:00
Lea Anthony
eff63175e5 fix: lint 2019-07-13 15:34:00 +10:00
Lea Anthony
75a0b632bc fix: capitalisation and binding fix 2019-07-13 15:30:52 +10:00
Lea Anthony
a2af626477 fix: config errors 2019-07-12 10:22:19 +10:00
Lea Anthony
8aa97f64ef feat: major refactor 2019-07-12 10:12:15 +10:00
Lea Anthony
caa1e04b5a Update README.md 2019-07-08 21:29:59 +10:00
Lea Anthony
cddf6a0204 chore: version bump 2019-07-07 10:28:58 +10:00
Lea Anthony
9fa1f42dc7 Merge pull request #155 from wailsapp/154-Support-Distribution-'Fedora'
feat: test support for Fedora
2019-07-07 10:28:19 +10:00
Lea Anthony
c7e709d487 feat: test support for Fedora 2019-07-07 10:25:59 +10:00
Lea Anthony
6801398f3d docs: update contributors 2019-07-07 10:17:44 +10:00
Lea Anthony
982d14c049 Merge pull request #152 from fallendusk/master
Add support for Gentoo
2019-07-07 10:16:21 +10:00
fallendusk
ddbaf55ae7 Merge branch 'develop' into master 2019-07-06 17:31:21 -04:00
Greg Helton
5552a8501b Add support for Gentoo 2019-07-06 01:43:02 -04:00
Lea Anthony
b997becb2f chore: bump version 2019-07-03 19:47:03 +10:00
Lea Anthony
753516bab7 Merge pull request #149 from wailsapp/148-Support-Distribution-'Zorin'
148 support distribution 'zorin'
2019-07-03 19:46:20 +10:00
Lea Anthony
89992d8636 feat: attempt to support Zorin 2019-07-03 19:42:32 +10:00
28 changed files with 16617 additions and 807 deletions

3
.gitignore vendored
View File

@@ -16,4 +16,5 @@ examples/**/example*
cmd/wails/wails
.DS_Store
tmp
node_modules/
node_modules/
/runtime/js/runtime/dist

View File

@@ -20,3 +20,4 @@ Wails is what it is because of the time and effort given by these great people.
* [Toyam Cox](https://github.com/Vaelatern)
* [Robin Eklind](https://github.com/mewmew)
* [Kris Raney](https://github.com/kraney)
* [soon cheol shin](https://github.com/scshin0572)

8
app.go
View File

@@ -2,6 +2,7 @@ package wails
import (
"os"
"runtime"
"syscall"
"github.com/syossan27/tebata"
@@ -43,7 +44,7 @@ func CreateApp(optionalConfig ...*AppConfig) *App {
}
result := &App{
logLevel: "info",
logLevel: "debug",
renderer: renderer.NewWebView(),
ipc: ipc.NewManager(),
bindingManager: binding.NewManager(),
@@ -102,6 +103,11 @@ func (a *App) start() error {
return err
}
// Set debug mode
if runtime.GOOS == "windows" && BuildMode == cmd.BuildModeDebug {
a.renderer.EnableDebug()
}
// Start signal handler
t := tebata.New(os.Interrupt, os.Kill, syscall.SIGTERM, syscall.SIGINT, syscall.SIGKILL)
t.Reserve(func() {

File diff suppressed because one or more lines are too long

View File

@@ -9,4 +9,4 @@
last 2 versions
Firefox ESR
not dead
not IE 9-11 # For IE 9-11 support, remove 'not'.
IE 9-11 # For IE 9-11 support, remove 'not'.

View File

@@ -1,4 +1,4 @@
package cmd
// Version - Wails version
const Version = "v0.19.0"
const Version = "v0.18.14-pre"

View File

@@ -94,12 +94,12 @@ func (a *AppConfig) merge(in *AppConfig) error {
// Creates the default configuration
func newConfig(userConfig *AppConfig) (*AppConfig, error) {
result := &AppConfig{
Width: 800,
Height: 600,
Resizable: true,
Title: "My Wails App",
Colour: "#FFF", // White by default
HTML: mewn.String("./runtime/assets/default.html"),
Width: 800,
Height: 600,
Resizable: true,
Title: "My Wails App",
Colour: "#FFF", // White by default
defaultHTML: mewn.String("./runtime/assets/default.html"),
}
if userConfig != nil {

View File

@@ -3,10 +3,12 @@ package interfaces
import (
"github.com/wailsapp/wails/lib/messages"
)
// Renderer is an interface describing a Wails target to render the app to
type Renderer interface {
Initialise(AppConfig, IPCManager, EventManager) error
Run() error
EnableDebug()
// Binding
NewBinding(bindingName string) error

View File

@@ -48,6 +48,9 @@ type Bridge struct {
// Mutex for writing to the socket
lock sync.Mutex
// debug
debug bool
}
// Initialise the Bridge Renderer
@@ -74,6 +77,11 @@ func (h *Bridge) evalJS(js string, mtype messageType) error {
return nil
}
// EnableDebug enables debug!
func (h *Bridge) EnableDebug() {
h.debug = true
}
func (h *Bridge) injectCSS(css string) {
// Minify css to overcome issues in the browser with carriage returns
minified, err := htmlmin.Minify([]byte(css), &htmlmin.Options{
@@ -117,7 +125,6 @@ func (h *Bridge) sendMessage(conn *websocket.Conn, msg string) {
func (h *Bridge) start(conn *websocket.Conn) {
// set external.invoke
h.log.Infof("Connected to frontend.")
wailsRuntime := mewn.String("../../runtime/assets/wails.js")

File diff suppressed because one or more lines are too long

View File

@@ -25,6 +25,7 @@ type WebView struct {
config interfaces.AppConfig
eventManager interfaces.EventManager
bindingCache []string
debug bool
}
// NewWebView returns a new WebView struct
@@ -48,13 +49,22 @@ func (w *WebView) Initialise(config interfaces.AppConfig, ipc interfaces.IPCMana
// Save the config
w.config = config
// defaulthtml
HTML := config.GetDefaultHTML()
if len(HTML) == 0 {
HTML = mewn.String("../../runtime/assets/default.html")
}
HTML = fmt.Sprintf("data:text/html,%s", HTML)
fmt.Printf("*** %s ***", HTML)
w.log.Infof("URL: %s", HTML)
// Create the WebView instance
w.window = wv.NewWebview(wv.Settings{
Width: config.GetWidth(),
Height: config.GetHeight(),
Title: config.GetTitle(),
Resizable: config.GetResizable(),
URL: config.GetDefaultHTML(),
URL: HTML,
Debug: !config.GetDisableInspector(),
ExternalInvokeCallback: func(_ wv.WebView, message string) {
w.ipc.Dispatch(message)
@@ -95,6 +105,7 @@ func (w *WebView) evalJS(js string) error {
if len(js) > 45 {
outputJS += "..."
}
// var outputJS = js
w.log.DebugFields("Eval", logger.Fields{"js": outputJS})
//
w.window.Dispatch(func() {
@@ -103,6 +114,11 @@ func (w *WebView) evalJS(js string) error {
return nil
}
// EnableDebug enables debug!
func (w *WebView) EnableDebug() {
w.debug = true
}
// Escape the Javascripts!
func escapeJS(js string) (string, error) {
result := strings.Replace(js, "\\", "\\\\", -1)
@@ -172,51 +188,58 @@ func (w *WebView) Run() error {
w.log.Info("Running...")
// Runtime assets
wailsRuntime := mewn.String("../../runtime/assets/wails.js")
w.evalJS(wailsRuntime)
// Inject firebug in debug mode on Windows
if w.debug {
w.log.Debug("Injecting firebug")
// firebugLite := mewn.String("../../runtime/assets/injectFirebug.js")
// w.evalJS(firebugLite)
}
// Ping the wait channel when the wails runtime is loaded
w.eventManager.On("wails:loaded", func(...interface{}) {
// // Runtime assets
// wailsRuntime := mewn.String("../../runtime/assets/wails.js")
// w.evalJS(wailsRuntime)
// Run this in a different go routine to free up the main process
go func() {
// // Ping the wait channel when the wails runtime is loaded
// w.eventManager.On("wails:loaded", func(...interface{}) {
// Inject Bindings
for _, binding := range w.bindingCache {
w.evalJSSync(binding)
}
// // Run this in a different go routine to free up the main process
// go func() {
// Inject user CSS
if w.config.GetCSS() != "" {
outputCSS := fmt.Sprintf("%.45s", w.config.GetCSS())
if len(outputCSS) > 45 {
outputCSS += "..."
}
w.log.DebugFields("Inject User CSS", logger.Fields{"css": outputCSS})
w.injectCSS(w.config.GetCSS())
} else {
// Use default wails css
w.log.Debug("Injecting Default Wails CSS")
defaultCSS := mewn.String("../../runtime/assets/wails.css")
// // Inject Bindings
// for _, binding := range w.bindingCache {
// w.evalJSSync(binding)
// }
w.injectCSS(defaultCSS)
}
// // Inject user CSS
// if w.config.GetCSS() != "" {
// outputCSS := fmt.Sprintf("%.45s", w.config.GetCSS())
// if len(outputCSS) > 45 {
// outputCSS += "..."
// }
// w.log.DebugFields("Inject User CSS", logger.Fields{"css": outputCSS})
// w.injectCSS(w.config.GetCSS())
// } else {
// // Use default wails css
// w.log.Debug("Injecting Default Wails CSS")
// defaultCSS := mewn.String("../../runtime/assets/wails.css")
// Inject user JS
if w.config.GetJS() != "" {
outputJS := fmt.Sprintf("%.45s", w.config.GetJS())
if len(outputJS) > 45 {
outputJS += "..."
}
w.log.DebugFields("Inject User JS", logger.Fields{"js": outputJS})
w.evalJSSync(w.config.GetJS())
}
// w.injectCSS(defaultCSS)
// }
// Emit that everything is loaded and ready
w.eventManager.Emit("wails:ready")
}()
})
// // Inject user JS
// if w.config.GetJS() != "" {
// outputJS := fmt.Sprintf("%.45s", w.config.GetJS())
// if len(outputJS) > 45 {
// outputJS += "..."
// }
// w.log.DebugFields("Inject User JS", logger.Fields{"js": outputJS})
// w.evalJSSync(w.config.GetJS())
// }
// // Emit that everything is loaded and ready
// w.eventManager.Emit("wails:ready")
// }()
// })
// Kick off main window loop
w.window.Run()

View File

@@ -13,7 +13,7 @@ package webview
#cgo linux openbsd freebsd CFLAGS: -DWEBVIEW_GTK=1 -Wno-deprecated-declarations
#cgo linux openbsd freebsd pkg-config: gtk+-3.0 webkit2gtk-4.0
#cgo windows CFLAGS: -DWEBVIEW_WINAPI=1 -std=c99
#cgo windows CFLAGS: -DWEBVIEW_WINAPI=1 -std=c99 -DUNICODE=1 -D_UNICODE=1
#cgo windows LDFLAGS: -lole32 -lcomctl32 -loleaut32 -luuid -lgdi32
#cgo darwin CFLAGS: -DWEBVIEW_COCOA=1 -x objective-c

View File

@@ -58,6 +58,7 @@ extern "C"
#elif defined(WEBVIEW_WINAPI)
#define CINTERFACE
#include <windows.h>
#include <tchar.h>
#include <commctrl.h>
#include <exdisp.h>
@@ -1350,8 +1351,8 @@ struct webview_priv
}
#define WEBVIEW_KEY_FEATURE_BROWSER_EMULATION \
"Software\\Microsoft\\Internet " \
"Explorer\\Main\\FeatureControl\\FEATURE_BROWSER_EMULATION"
_T("Software\\Microsoft\\Internet " \
"Explorer\\Main\\FeatureControl\\FEATURE_BROWSER_EMULATION")
static int webview_fix_ie_compat_mode()
{
@@ -1363,7 +1364,7 @@ struct webview_priv
{
return -1;
}
for (p = &appname[strlen(appname) - 1]; p != appname && *p != '\\'; p--)
for (p = &appname[_tcslen(appname) - 1]; p != appname && *p != _T('\\'); p--)
{
}
p++;
@@ -1872,14 +1873,30 @@ struct webview_priv
type |= MB_ICONERROR;
break;
}
#ifdef UNICODE
WCHAR *wtitle = webview_to_utf16(title);
WCHAR *warg = webview_to_utf16(arg);
MessageBox(w->priv.hwnd, warg, wtitle, type);
GlobalFree(warg);
GlobalFree(wtitle);
#else
MessageBox(w->priv.hwnd, arg, title, type);
#endif
#endif
}
}
WEBVIEW_API void webview_terminate(struct webview *w) { PostQuitMessage(0); }
WEBVIEW_API void webview_exit(struct webview *w) { OleUninitialize(); }
WEBVIEW_API void webview_print_log(const char *s) { OutputDebugString(s); }
WEBVIEW_API void webview_print_log(const char *s) {
#ifdef UNICODE
WCHAR *ws = webview_to_utf16(s);
OutputDebugString(ws);
GlobalFree(ws);
#else
OutputDebugString(s);
#endif
}
#endif /* WEBVIEW_WINAPI */

View File

@@ -204,7 +204,12 @@ function start(callback) {
}
function Init(callback) {
// Bridge window.invoke
window.invoke = function (message) {
window.wailsbridge.websocket.send(message);
}
start(callback);
}
module.exports = Init;
module.exports = Init;

View File

@@ -1,18 +1 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
</head>
<body>
<div id="app"></div>
<script type="text/javascript">function AddScript(js, callbackID) {
var script = document.createElement('script');
script.text = js;
document.body.appendChild(script);
}</script>
</body>
</html>
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><script src="https://raw.githubusercontent.com/firebug/firebug-lite/master/build/firebug-lite-debug.js#startOpened=true"></script></head><body><div id="app"></div><script type="text/javascript">function AddScript(js, callbackID){var script = document.createElement('script');script.text=js;document.body.appendChild(script);}</script></body></html>

10945
runtime/assets/firebug-lite.js Normal file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
(function(){console.log=function(message){document.body.innerHTML=document.body.innerHTML+'<p>'+message+'</p>';};var script=document.createElement('script');script.src="https://raw.githubusercontent.com/firebug/firebug-lite/master/build/firebug-lite-debug.js#startOpened=true";document.body.appendChild(script);})();

File diff suppressed because one or more lines are too long

View File

@@ -25,4 +25,4 @@
"always"
]
}
}
}

View File

@@ -7,7 +7,7 @@ module.exports = function (api) {
[
"@babel/preset-env",
{
"useBuiltIns": "entry",
"useBuiltIns": "usage",
"corejs": {
"version": 3,
"proposals": true
@@ -16,7 +16,10 @@ module.exports = function (api) {
]
];
const plugins = ["@babel/plugin-transform-object-assign", "transform-es2015-shorthand-properties"]
return {
presets,
plugins
};
}

View File

@@ -0,0 +1,37 @@
/* eslint-disable */
const path = require('path');
module.exports = {
entry: './bridge.js',
mode: 'production',
output: {
path: path.resolve(__dirname, '..', 'assets'),
filename: 'bridge.js',
libraryTarget: 'this'
},
module: {
rules: [
{
test: /\.m?js$/,
exclude: /(node_modules|bower_components)/,
use: {
loader: 'babel-loader',
options: {
plugins: [],
presets: [
[
'@babel/preset-env',
{
'useBuiltIns': 'usage',
'corejs': 3,
'targets': { "browsers": ["last 2 versions", "ie >= 9"] }
}
]
]
}
}
}
]
}
};

File diff suppressed because it is too large Load Diff

View File

@@ -33,11 +33,15 @@
"@babel/core": "^7.5.4",
"@babel/plugin-transform-object-assign": "^7.2.0",
"@babel/preset-env": "^7.5.4",
"babel-core": "^6.26.3",
"babel-loader": "^8.0.6",
"babel-plugin-transform-es2015-shorthand-properties": "^6.24.1",
"babel-preset-es2015": "^6.24.1",
"babel-preset-minify": "^0.5.0",
"core-js": "^3.1.4",
"eslint": "^6.5.1",
"webpack": "^4.35.3",
"webpack": "^4.41.2",
"webpack-cli": "^3.3.5"
}
},
"dependencies": {}
}

4322
runtime/js/runtime/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,11 +1,12 @@
{
"name": "@wailsapp/runtime",
"version": "1.0.9",
"version": "1.0.8",
"description": "Wails Javascript runtime library",
"main": "main.js",
"types": "runtime.d.ts",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
"test": "echo \"Error: no test specified\" && exit 1",
"build": "webpack"
},
"repository": {
"type": "git",
@@ -21,8 +22,18 @@
"bugs": {
"url": "https://github.com/wailsapp/wails/issues"
},
"files": [
"*.js",
"!webpack.config.js",
"runtime.d.ts",
"README.md"
],
"homepage": "https://github.com/wailsapp/wails#readme",
"devDependencies": {
"dts-gen": "^0.5.8"
"babel-core": "^6.26.3",
"babel-loader": "^8.0.6",
"babel-preset-es2015": "^6.24.1",
"dts-gen": "^0.5.8",
"webpack": "^4.41.2"
}
}

View File

@@ -0,0 +1,37 @@
/* eslint-disable */
const path = require('path');
module.exports = {
entry: './main.js',
mode: 'production',
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'main.js',
libraryTarget: 'this'
},
module: {
rules: [
{
test: /\.m?js$/,
exclude: /(node_modules|bower_components)/,
use: {
loader: 'babel-loader',
options: {
plugins: [],
presets: [
[
'@babel/preset-env',
{
'useBuiltIns': 'usage',
'corejs': 3,
'targets': { "browsers": ["last 2 versions", "ie >= 9"] }
}
]
]
}
}
}
]
}
};

View File

@@ -17,16 +17,14 @@ module.exports = {
use: {
loader: 'babel-loader',
options: {
plugins: ['@babel/plugin-transform-object-assign'],
plugins: [],
presets: [
[
'@babel/preset-env',
{
'useBuiltIns': 'entry',
'corejs': {
'version': 3,
'proposals': true
}
'useBuiltIns': 'usage',
'corejs': 3,
'targets': { "browsers": ["last 2 versions", "ie >= 9"] }
}
]
]

View File

@@ -59,7 +59,6 @@ func main() {
fmt.Println("**** Building Runtime ****")
runtimeDir, _ := filepath.Abs(filepath.Join(dir, "..", "runtime", "js"))
os.Chdir(runtimeDir)
runCommand("npm", "install")
runCommand("npm", "run", "build")
// Pack assets