mirror of
https://github.com/wailsapp/wails.git
synced 2025-05-10 22:19:46 +08:00
Merge remote-tracking branch 'origin/v3-alpha-linux' into v3-alpha
This commit is contained in:
commit
acd6f7af5b
@ -23,6 +23,16 @@ Report any issues you find using [this guide](./getting-started/feedback.md).
|
|||||||
|
|
||||||
- Test all the things on Linux!
|
- Test all the things on Linux!
|
||||||
|
|
||||||
|
#### Status
|
||||||
|
|
||||||
|
Linux examples:
|
||||||
|
|
||||||
|
- :material-check-bold: - Working
|
||||||
|
- :material-minus: - Partially working
|
||||||
|
- :material-close: - Not working
|
||||||
|
|
||||||
|
{{ read_csv("alpha5.csv") }}
|
||||||
|
|
||||||
## Upcoming milestones
|
## Upcoming milestones
|
||||||
|
|
||||||
## Alpha 6
|
## Alpha 6
|
||||||
|
@ -1,16 +1,16 @@
|
|||||||
" ",Mac,Windows,Linux
|
" ",Linux,Notes
|
||||||
binding,:material-check-bold:,:material-check-bold:,:material-check-bold:
|
binding," "," "
|
||||||
build,:material-check-bold:,:material-check-bold:,:material-check-bold:
|
build," "," "
|
||||||
clipboard,:material-check-bold:,:material-check-bold:,:material-check-bold:
|
clipboard," "," "
|
||||||
context menus,:material-check-bold:,:material-check-bold:,:material-check-bold:
|
context menus," "," "
|
||||||
dialogs,:material-check-bold:,:material-check-bold:,:material-check-bold:
|
dialogs," "," "
|
||||||
drag-n-drop,:material-check-bold:,:material-check-bold:,:material-check-bold:
|
drag-n-drop," "," "
|
||||||
events,:material-check-bold:,:material-check-bold:,:material-minus:
|
events,:material-check-bold:," "
|
||||||
frameless,:material-check-bold:,:material-check-bold:,:material-check-bold:
|
frameless," "," "
|
||||||
keybindings,:material-check-bold:,:material-check-bold:,:material-minus:
|
keybindings," "," "
|
||||||
plain,:material-check-bold:,:material-check-bold:,:material-check-bold:
|
plain," "," "
|
||||||
screen,:material-check-bold:,:material-check-bold:,:material-check-bold:
|
screen," "," "
|
||||||
systray,:material-check-bold:,:material-check-bold:,:material-check-bold:
|
systray," "," "
|
||||||
video,:material-check-bold:,:material-check-bold:,:material-check-bold:
|
video," "," "
|
||||||
window,:material-check-bold:,:material-check-bold:,:material-minus:
|
window," "," "
|
||||||
wml,:material-check-bold:,:material-check-bold:,:material-check-bold:
|
wml," "," "
|
|
@ -1,9 +1,5 @@
|
|||||||
Scenario,Windows,Mac,Linux
|
Scenario,Windows,Mac,Linux
|
||||||
Same package,: clipboardLock.RLock()
|
Same package,:material-check-bold,:material-check-bold:,:material-check-bold:
|
||||||
defer clipboardLock.RUnlock()
|
|
||||||
clipboardText := C.getClipboardText()
|
|
||||||
result := C.GoString(clipboardText)
|
|
||||||
return result, true:,:material-check-bold:,:material-check-bold:
|
|
||||||
Different package,:material-check-bold:,:material-check-bold:,:material-check-bold:
|
Different package,:material-check-bold:,:material-check-bold:,:material-check-bold:
|
||||||
Different package with same name,"on hold","on hold","on hold"
|
Different package with same name,"on hold","on hold","on hold"
|
||||||
Containing another struct from same package,:material-check-bold:,:material-check-bold:,:material-check-bold:
|
Containing another struct from same package,:material-check-bold:,:material-check-bold:,:material-check-bold:
|
||||||
|
Can't render this file because it has a wrong number of fields in line 2.
|
16
mkdocs-website/shared/alpha5.csv
Normal file
16
mkdocs-website/shared/alpha5.csv
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
Example,Linux
|
||||||
|
binding," "
|
||||||
|
build,:material-check-bold:
|
||||||
|
clipboard,:material-check-bold:
|
||||||
|
context menus,:material-minus:
|
||||||
|
dialogs,:material-minus:
|
||||||
|
drag-n-drop," "
|
||||||
|
events,:material-check-bold:
|
||||||
|
frameless,:material-check-bold:
|
||||||
|
keybindings,:material-check-bold:
|
||||||
|
plain," "
|
||||||
|
screen,:material-check-bold:
|
||||||
|
systray,:material-check-bold:
|
||||||
|
video,:material-check-bold:
|
||||||
|
window,:material-check-bold:
|
||||||
|
wml,:material-check-bold:
|
|
@ -1,6 +1,8 @@
|
|||||||
module github.com/wailsapp/wails/v2
|
module github.com/wailsapp/wails/v2
|
||||||
|
|
||||||
go 1.20
|
go 1.21
|
||||||
|
|
||||||
|
toolchain go1.22.0
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/Masterminds/semver v1.5.0
|
github.com/Masterminds/semver v1.5.0
|
||||||
|
@ -4,10 +4,10 @@ package linux
|
|||||||
type WebviewGpuPolicy int
|
type WebviewGpuPolicy int
|
||||||
|
|
||||||
const (
|
const (
|
||||||
// WebviewGpuPolicyAlways Hardware acceleration is always enabled.
|
|
||||||
WebviewGpuPolicyAlways WebviewGpuPolicy = iota
|
|
||||||
// WebviewGpuPolicyOnDemand Hardware acceleration is enabled/disabled as request by web contents.
|
// WebviewGpuPolicyOnDemand Hardware acceleration is enabled/disabled as request by web contents.
|
||||||
WebviewGpuPolicyOnDemand
|
WebviewGpuPolicyOnDemand WebviewGpuPolicy = iota
|
||||||
|
// WebviewGpuPolicyAlways Hardware acceleration is always enabled.
|
||||||
|
WebviewGpuPolicyAlways
|
||||||
// WebviewGpuPolicyNever Hardware acceleration is always disabled.
|
// WebviewGpuPolicyNever Hardware acceleration is always disabled.
|
||||||
WebviewGpuPolicyNever
|
WebviewGpuPolicyNever
|
||||||
)
|
)
|
||||||
|
@ -39,11 +39,11 @@ require (
|
|||||||
github.com/wailsapp/go-webview2 v1.0.9 // indirect
|
github.com/wailsapp/go-webview2 v1.0.9 // indirect
|
||||||
github.com/wailsapp/mimetype v1.4.1 // indirect
|
github.com/wailsapp/mimetype v1.4.1 // indirect
|
||||||
github.com/xanzy/ssh-agent v0.3.3 // indirect
|
github.com/xanzy/ssh-agent v0.3.3 // indirect
|
||||||
golang.org/x/crypto v0.16.0 // indirect
|
golang.org/x/crypto v0.19.0 // indirect
|
||||||
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df // indirect
|
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df // indirect
|
||||||
golang.org/x/mod v0.12.0 // indirect
|
golang.org/x/mod v0.12.0 // indirect
|
||||||
golang.org/x/net v0.19.0 // indirect
|
golang.org/x/net v0.19.0 // indirect
|
||||||
golang.org/x/sys v0.15.0 // indirect
|
golang.org/x/sys v0.17.0 // indirect
|
||||||
golang.org/x/tools v0.13.0 // indirect
|
golang.org/x/tools v0.13.0 // indirect
|
||||||
gopkg.in/warnings.v0 v0.1.2 // indirect
|
gopkg.in/warnings.v0 v0.1.2 // indirect
|
||||||
)
|
)
|
||||||
|
@ -110,8 +110,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y
|
|||||||
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||||
golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
|
golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
|
||||||
golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
|
golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
|
||||||
golang.org/x/crypto v0.16.0 h1:mMMrFzRSCF0GvB7Ne27XVtVAaXLrPmgPC7/v0tkwHaY=
|
golang.org/x/crypto v0.19.0 h1:ENy+Az/9Y1vSrlrvBSyna3PITt4tiZLf7sgCjZBX7Wo=
|
||||||
golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
|
golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
|
||||||
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df h1:UA2aFVmmsIlefxMk29Dp2juaUSth8Pyn3Tq5Y5mJGME=
|
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df h1:UA2aFVmmsIlefxMk29Dp2juaUSth8Pyn3Tq5Y5mJGME=
|
||||||
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc=
|
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc=
|
||||||
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
|
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
|
||||||
@ -150,15 +150,15 @@ golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
|||||||
golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc=
|
golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y=
|
||||||
golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||||
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
||||||
golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
|
golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
|
||||||
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
|
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
|
||||||
golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U=
|
golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U=
|
||||||
golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4=
|
golang.org/x/term v0.17.0 h1:mkTF7LCd6WGJNL3K1Ad7kwxNfYAW6a8a8QqtMblp/4U=
|
||||||
golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0=
|
golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk=
|
||||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||||
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<title>Title</title>
|
<title>Title</title>
|
||||||
<style>body{ text-align: center; color: white; background-color: #191919; user-select: none; -ms-user-select: none; -webkit-user-select: none; }</style>
|
<style>body{ text-align: center; color: white; background-color: #191919; }</style>
|
||||||
<style>.region{ width: 100%; border: 3px solid #00a4db; }</style>
|
<style>.region{ width: 100%; border: 3px solid #00a4db; }</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
1
v3/examples/contextmenus/assets/runtime.js
Normal file
1
v3/examples/contextmenus/assets/runtime.js
Normal file
File diff suppressed because one or more lines are too long
@ -1,17 +1,19 @@
|
|||||||
module changeme
|
module changeme
|
||||||
|
|
||||||
go 1.21
|
go 1.21.1
|
||||||
|
|
||||||
|
toolchain go1.22.0
|
||||||
|
|
||||||
require github.com/wailsapp/wails/v3 v3.0.0-alpha.0
|
require github.com/wailsapp/wails/v3 v3.0.0-alpha.0
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/Microsoft/go-winio v0.4.16 // indirect
|
github.com/Microsoft/go-winio v0.6.1 // indirect
|
||||||
github.com/bep/debounce v1.2.1 // indirect
|
github.com/bep/debounce v1.2.1 // indirect
|
||||||
github.com/ebitengine/purego v0.4.0-alpha.4 // indirect
|
github.com/ebitengine/purego v0.4.0-alpha.4 // indirect
|
||||||
github.com/emirpasic/gods v1.12.0 // indirect
|
github.com/emirpasic/gods v1.18.1 // indirect
|
||||||
github.com/go-git/gcfg v1.5.0 // indirect
|
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
|
||||||
github.com/go-git/go-billy/v5 v5.2.0 // indirect
|
github.com/go-git/go-billy/v5 v5.5.0 // indirect
|
||||||
github.com/go-git/go-git/v5 v5.3.0 // indirect
|
github.com/go-git/go-git/v5 v5.11.0 // indirect
|
||||||
github.com/go-ole/go-ole v1.2.6 // indirect
|
github.com/go-ole/go-ole v1.2.6 // indirect
|
||||||
github.com/godbus/dbus/v5 v5.1.0 // indirect
|
github.com/godbus/dbus/v5 v5.1.0 // indirect
|
||||||
github.com/google/uuid v1.3.0 // indirect
|
github.com/google/uuid v1.3.0 // indirect
|
||||||
@ -19,11 +21,11 @@ require (
|
|||||||
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
|
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
|
||||||
github.com/jchv/go-winloader v0.0.0-20210711035445-715c2860da7e // indirect
|
github.com/jchv/go-winloader v0.0.0-20210711035445-715c2860da7e // indirect
|
||||||
github.com/json-iterator/go v1.1.12 // indirect
|
github.com/json-iterator/go v1.1.12 // indirect
|
||||||
github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351 // indirect
|
github.com/kevinburke/ssh_config v1.2.0 // indirect
|
||||||
github.com/kr/pretty v0.3.1 // indirect
|
github.com/kr/pretty v0.3.1 // indirect
|
||||||
github.com/leaanthony/go-ansi-parser v1.6.1 // indirect
|
github.com/leaanthony/go-ansi-parser v1.6.1 // indirect
|
||||||
github.com/leaanthony/u v1.1.0 // indirect
|
github.com/leaanthony/u v1.1.0 // indirect
|
||||||
github.com/lmittmann/tint v1.0.0 // indirect
|
github.com/lmittmann/tint v1.0.3 // indirect
|
||||||
github.com/mattn/go-colorable v0.1.13 // indirect
|
github.com/mattn/go-colorable v0.1.13 // indirect
|
||||||
github.com/mattn/go-isatty v0.0.19 // indirect
|
github.com/mattn/go-isatty v0.0.19 // indirect
|
||||||
github.com/mitchellh/go-homedir v1.1.0 // indirect
|
github.com/mitchellh/go-homedir v1.1.0 // indirect
|
||||||
@ -31,17 +33,17 @@ require (
|
|||||||
github.com/modern-go/reflect2 v1.0.2 // indirect
|
github.com/modern-go/reflect2 v1.0.2 // indirect
|
||||||
github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 // indirect
|
github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 // indirect
|
||||||
github.com/rivo/uniseg v0.4.4 // indirect
|
github.com/rivo/uniseg v0.4.4 // indirect
|
||||||
github.com/rogpeppe/go-internal v1.10.1-0.20230524175051-ec119421bb97 // indirect
|
github.com/rogpeppe/go-internal v1.11.0 // indirect
|
||||||
github.com/samber/lo v1.38.1 // indirect
|
github.com/samber/lo v1.38.1 // indirect
|
||||||
github.com/sergi/go-diff v1.2.0 // indirect
|
github.com/sergi/go-diff v1.2.0 // indirect
|
||||||
github.com/stretchr/testify v1.8.4 // indirect
|
github.com/stretchr/testify v1.8.4 // indirect
|
||||||
github.com/wailsapp/go-webview2 v1.0.9 // indirect
|
github.com/wailsapp/go-webview2 v1.0.9 // indirect
|
||||||
github.com/wailsapp/mimetype v1.4.1 // indirect
|
github.com/wailsapp/mimetype v1.4.1 // indirect
|
||||||
github.com/xanzy/ssh-agent v0.3.0 // indirect
|
github.com/xanzy/ssh-agent v0.3.3 // indirect
|
||||||
golang.org/x/crypto v0.9.0 // indirect
|
golang.org/x/crypto v0.19.0 // indirect
|
||||||
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df // indirect
|
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df // indirect
|
||||||
golang.org/x/net v0.10.0 // indirect
|
golang.org/x/net v0.19.0 // indirect
|
||||||
golang.org/x/sys v0.13.0 // indirect
|
golang.org/x/sys v0.17.0 // indirect
|
||||||
gopkg.in/warnings.v0 v0.1.2 // indirect
|
gopkg.in/warnings.v0 v0.1.2 // indirect
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA=
|
github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA=
|
||||||
github.com/Microsoft/go-winio v0.4.16 h1:FtSW/jqD+l4ba5iPBj9CODVtgfYAD8w2wS923g/cFDk=
|
github.com/Microsoft/go-winio v0.4.16 h1:FtSW/jqD+l4ba5iPBj9CODVtgfYAD8w2wS923g/cFDk=
|
||||||
github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0=
|
github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0=
|
||||||
|
github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY=
|
||||||
|
github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM=
|
||||||
github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7 h1:uSoVVbwJiQipAclBbw+8quDsfcvFjOpI5iCf4p/cqCs=
|
github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7 h1:uSoVVbwJiQipAclBbw+8quDsfcvFjOpI5iCf4p/cqCs=
|
||||||
github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7/go.mod h1:6zEj6s6u/ghQa61ZWa/C2Aw3RkjiTBOix7dkqa1VLIs=
|
github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7/go.mod h1:6zEj6s6u/ghQa61ZWa/C2Aw3RkjiTBOix7dkqa1VLIs=
|
||||||
github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA=
|
github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA=
|
||||||
@ -17,19 +19,23 @@ github.com/ebitengine/purego v0.4.0-alpha.4 h1:Y7yIV06Yo5M2BAdD7EVPhfp6LZ0tEcQo5
|
|||||||
github.com/ebitengine/purego v0.4.0-alpha.4/go.mod h1:ah1In8AOtksoNK6yk5z1HTJeUkC1Ez4Wk2idgGslMwQ=
|
github.com/ebitengine/purego v0.4.0-alpha.4/go.mod h1:ah1In8AOtksoNK6yk5z1HTJeUkC1Ez4Wk2idgGslMwQ=
|
||||||
github.com/emirpasic/gods v1.12.0 h1:QAUIPSaCu4G+POclxeqb3F+WPpdKqFGlw36+yOzGlrg=
|
github.com/emirpasic/gods v1.12.0 h1:QAUIPSaCu4G+POclxeqb3F+WPpdKqFGlw36+yOzGlrg=
|
||||||
github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o=
|
github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o=
|
||||||
|
github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ=
|
||||||
github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc=
|
github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc=
|
||||||
github.com/gliderlabs/ssh v0.2.2 h1:6zsha5zo/TWhRhwqCD3+EarCAgZ2yN28ipRnGPnwkI0=
|
github.com/gliderlabs/ssh v0.2.2 h1:6zsha5zo/TWhRhwqCD3+EarCAgZ2yN28ipRnGPnwkI0=
|
||||||
github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0=
|
github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0=
|
||||||
github.com/go-git/gcfg v1.5.0 h1:Q5ViNfGF8zFgyJWPqYwA7qGFoMTEiBmdlkcfRmpIMa4=
|
github.com/go-git/gcfg v1.5.0 h1:Q5ViNfGF8zFgyJWPqYwA7qGFoMTEiBmdlkcfRmpIMa4=
|
||||||
github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E=
|
github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E=
|
||||||
|
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic=
|
||||||
github.com/go-git/go-billy/v5 v5.0.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0=
|
github.com/go-git/go-billy/v5 v5.0.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0=
|
||||||
github.com/go-git/go-billy/v5 v5.1.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0=
|
github.com/go-git/go-billy/v5 v5.1.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0=
|
||||||
github.com/go-git/go-billy/v5 v5.2.0 h1:GcoouCP9J+5slw2uXAocL70z8ml4A8B/H8nEPt6CLPk=
|
github.com/go-git/go-billy/v5 v5.2.0 h1:GcoouCP9J+5slw2uXAocL70z8ml4A8B/H8nEPt6CLPk=
|
||||||
github.com/go-git/go-billy/v5 v5.2.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0=
|
github.com/go-git/go-billy/v5 v5.2.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0=
|
||||||
|
github.com/go-git/go-billy/v5 v5.5.0/go.mod h1:hmexnoNsr2SJU1Ju67OaNz5ASJY3+sHgFRpCtpDCKow=
|
||||||
github.com/go-git/go-git-fixtures/v4 v4.0.2-0.20200613231340-f56387b50c12 h1:PbKy9zOy4aAKrJ5pibIRpVO2BXnK1Tlcg+caKI7Ox5M=
|
github.com/go-git/go-git-fixtures/v4 v4.0.2-0.20200613231340-f56387b50c12 h1:PbKy9zOy4aAKrJ5pibIRpVO2BXnK1Tlcg+caKI7Ox5M=
|
||||||
github.com/go-git/go-git-fixtures/v4 v4.0.2-0.20200613231340-f56387b50c12/go.mod h1:m+ICp2rF3jDhFgEZ/8yziagdT1C+ZpZcrJjappBCDSw=
|
github.com/go-git/go-git-fixtures/v4 v4.0.2-0.20200613231340-f56387b50c12/go.mod h1:m+ICp2rF3jDhFgEZ/8yziagdT1C+ZpZcrJjappBCDSw=
|
||||||
github.com/go-git/go-git/v5 v5.3.0 h1:8WKMtJR2j8RntEXR/uvTKagfEt4GYlwQ7mntE4+0GWc=
|
github.com/go-git/go-git/v5 v5.3.0 h1:8WKMtJR2j8RntEXR/uvTKagfEt4GYlwQ7mntE4+0GWc=
|
||||||
github.com/go-git/go-git/v5 v5.3.0/go.mod h1:xdX4bWJ48aOrdhnl2XqHYstHbbp6+LFS4r4X+lNVprw=
|
github.com/go-git/go-git/v5 v5.3.0/go.mod h1:xdX4bWJ48aOrdhnl2XqHYstHbbp6+LFS4r4X+lNVprw=
|
||||||
|
github.com/go-git/go-git/v5 v5.11.0/go.mod h1:6GFcX2P3NM7FPBfpePbpLd21XxsgdAt+lKqXmCUiUCY=
|
||||||
github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY=
|
github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY=
|
||||||
github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
|
github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
|
||||||
github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk=
|
github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk=
|
||||||
@ -51,6 +57,7 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr
|
|||||||
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
|
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
|
||||||
github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351 h1:DowS9hvgyYSX4TO5NpyC606/Z4SxnNYbT+WX27or6Ck=
|
github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351 h1:DowS9hvgyYSX4TO5NpyC606/Z4SxnNYbT+WX27or6Ck=
|
||||||
github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM=
|
github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM=
|
||||||
|
github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM=
|
||||||
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
|
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
|
||||||
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
||||||
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
|
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
|
||||||
@ -66,6 +73,7 @@ github.com/leaanthony/u v1.1.0 h1:2n0d2BwPVXSUq5yhe8lJPHdxevE2qK5G99PMStMZMaI=
|
|||||||
github.com/leaanthony/u v1.1.0/go.mod h1:9+o6hejoRljvZ3BzdYlVL0JYCwtnAsVuN9pVTQcaRfI=
|
github.com/leaanthony/u v1.1.0/go.mod h1:9+o6hejoRljvZ3BzdYlVL0JYCwtnAsVuN9pVTQcaRfI=
|
||||||
github.com/lmittmann/tint v1.0.0 h1:fzEj70K1L58uyoePQxKe+ezDZJ5pybiWGdA0JeFvvyw=
|
github.com/lmittmann/tint v1.0.0 h1:fzEj70K1L58uyoePQxKe+ezDZJ5pybiWGdA0JeFvvyw=
|
||||||
github.com/lmittmann/tint v1.0.0/go.mod h1:HIS3gSy7qNwGCj+5oRjAutErFBl4BzdQP6cJZ0NfMwE=
|
github.com/lmittmann/tint v1.0.0/go.mod h1:HIS3gSy7qNwGCj+5oRjAutErFBl4BzdQP6cJZ0NfMwE=
|
||||||
|
github.com/lmittmann/tint v1.0.3/go.mod h1:HIS3gSy7qNwGCj+5oRjAutErFBl4BzdQP6cJZ0NfMwE=
|
||||||
github.com/matryer/is v1.4.0 h1:sosSmIWwkYITGrxZ25ULNDeKiMNzFSr4V/eqBQP0PeE=
|
github.com/matryer/is v1.4.0 h1:sosSmIWwkYITGrxZ25ULNDeKiMNzFSr4V/eqBQP0PeE=
|
||||||
github.com/matryer/is v1.4.0/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU=
|
github.com/matryer/is v1.4.0/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU=
|
||||||
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
|
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
|
||||||
@ -94,12 +102,14 @@ github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUc
|
|||||||
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
|
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
|
||||||
github.com/rogpeppe/go-internal v1.10.1-0.20230524175051-ec119421bb97 h1:3RPlVWzZ/PDqmVuf/FKHARG5EMid/tl7cv54Sw/QRVY=
|
github.com/rogpeppe/go-internal v1.10.1-0.20230524175051-ec119421bb97 h1:3RPlVWzZ/PDqmVuf/FKHARG5EMid/tl7cv54Sw/QRVY=
|
||||||
github.com/rogpeppe/go-internal v1.10.1-0.20230524175051-ec119421bb97/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA=
|
github.com/rogpeppe/go-internal v1.10.1-0.20230524175051-ec119421bb97/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA=
|
||||||
|
github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA=
|
||||||
github.com/samber/lo v1.38.1 h1:j2XEAqXKb09Am4ebOg31SpvzUTTs6EN3VfgeLUhPdXM=
|
github.com/samber/lo v1.38.1 h1:j2XEAqXKb09Am4ebOg31SpvzUTTs6EN3VfgeLUhPdXM=
|
||||||
github.com/samber/lo v1.38.1/go.mod h1:+m/ZKRl6ClXCE2Lgf3MsQlWfh4bn1bz6CXEOxnEXnEA=
|
github.com/samber/lo v1.38.1/go.mod h1:+m/ZKRl6ClXCE2Lgf3MsQlWfh4bn1bz6CXEOxnEXnEA=
|
||||||
github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM=
|
github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM=
|
||||||
github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ=
|
github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ=
|
||||||
github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM=
|
github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM=
|
||||||
github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
|
github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
|
||||||
|
github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
|
||||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||||
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||||
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
||||||
@ -113,31 +123,43 @@ github.com/wailsapp/mimetype v1.4.1 h1:pQN9ycO7uo4vsUUuPeHEYoUkLVkaRntMnHJxVwYhw
|
|||||||
github.com/wailsapp/mimetype v1.4.1/go.mod h1:9aV5k31bBOv5z6u+QP8TltzvNGJPmNJD4XlAL3U+j3o=
|
github.com/wailsapp/mimetype v1.4.1/go.mod h1:9aV5k31bBOv5z6u+QP8TltzvNGJPmNJD4XlAL3U+j3o=
|
||||||
github.com/xanzy/ssh-agent v0.3.0 h1:wUMzuKtKilRgBAD1sUb8gOwwRr2FGoBVumcjoOACClI=
|
github.com/xanzy/ssh-agent v0.3.0 h1:wUMzuKtKilRgBAD1sUb8gOwwRr2FGoBVumcjoOACClI=
|
||||||
github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0=
|
github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0=
|
||||||
|
github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw=
|
||||||
golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||||
golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
|
golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
|
||||||
|
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||||
golang.org/x/crypto v0.9.0 h1:LF6fAI+IutBocDJ2OT0Q1g8plpYljMZ4+lty+dsqw3g=
|
golang.org/x/crypto v0.9.0 h1:LF6fAI+IutBocDJ2OT0Q1g8plpYljMZ4+lty+dsqw3g=
|
||||||
golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0=
|
golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0=
|
||||||
|
golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
|
||||||
|
golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
|
||||||
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df h1:UA2aFVmmsIlefxMk29Dp2juaUSth8Pyn3Tq5Y5mJGME=
|
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df h1:UA2aFVmmsIlefxMk29Dp2juaUSth8Pyn3Tq5Y5mJGME=
|
||||||
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc=
|
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc=
|
||||||
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
||||||
golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k=
|
golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k=
|
||||||
golang.org/x/net v0.0.0-20210505024714-0287a6fb4125/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
golang.org/x/net v0.0.0-20210505024714-0287a6fb4125/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||||
|
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||||
golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M=
|
golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M=
|
||||||
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
|
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
|
||||||
|
golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U=
|
||||||
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
|
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20200810151505-1b9f1253b3ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20200810151505-1b9f1253b3ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
|
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
|
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.0.0-20210616045830-e2b7044e8c71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20210616045830-e2b7044e8c71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
|
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE=
|
golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE=
|
||||||
golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
|
golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||||
|
golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||||
golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek=
|
golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek=
|
||||||
golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U=
|
golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U=
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<title>Title</title>
|
<title>Title</title>
|
||||||
|
<script src="runtime.js"></script>
|
||||||
<style>body{ text-align: center; color: white; background-color: #191919; user-select: none; -ms-user-select: none; -webkit-user-select: none; }</style>
|
<style>body{ text-align: center; color: white; background-color: #191919; user-select: none; -ms-user-select: none; -webkit-user-select: none; }</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
1
v3/examples/events/assets/runtime.js
Normal file
1
v3/examples/events/assets/runtime.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -39,11 +39,11 @@ require (
|
|||||||
github.com/wailsapp/go-webview2 v1.0.9 // indirect
|
github.com/wailsapp/go-webview2 v1.0.9 // indirect
|
||||||
github.com/wailsapp/mimetype v1.4.1 // indirect
|
github.com/wailsapp/mimetype v1.4.1 // indirect
|
||||||
github.com/xanzy/ssh-agent v0.3.3 // indirect
|
github.com/xanzy/ssh-agent v0.3.3 // indirect
|
||||||
golang.org/x/crypto v0.16.0 // indirect
|
golang.org/x/crypto v0.19.0 // indirect
|
||||||
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df // indirect
|
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df // indirect
|
||||||
golang.org/x/mod v0.12.0 // indirect
|
golang.org/x/mod v0.12.0 // indirect
|
||||||
golang.org/x/net v0.19.0 // indirect
|
golang.org/x/net v0.19.0 // indirect
|
||||||
golang.org/x/sys v0.15.0 // indirect
|
golang.org/x/sys v0.17.0 // indirect
|
||||||
golang.org/x/tools v0.13.0 // indirect
|
golang.org/x/tools v0.13.0 // indirect
|
||||||
gopkg.in/warnings.v0 v0.1.2 // indirect
|
gopkg.in/warnings.v0 v0.1.2 // indirect
|
||||||
)
|
)
|
||||||
|
@ -110,8 +110,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y
|
|||||||
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||||
golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
|
golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
|
||||||
golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
|
golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
|
||||||
golang.org/x/crypto v0.16.0 h1:mMMrFzRSCF0GvB7Ne27XVtVAaXLrPmgPC7/v0tkwHaY=
|
golang.org/x/crypto v0.19.0 h1:ENy+Az/9Y1vSrlrvBSyna3PITt4tiZLf7sgCjZBX7Wo=
|
||||||
golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
|
golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
|
||||||
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df h1:UA2aFVmmsIlefxMk29Dp2juaUSth8Pyn3Tq5Y5mJGME=
|
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df h1:UA2aFVmmsIlefxMk29Dp2juaUSth8Pyn3Tq5Y5mJGME=
|
||||||
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc=
|
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc=
|
||||||
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
|
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
|
||||||
@ -150,15 +150,15 @@ golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
|||||||
golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc=
|
golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y=
|
||||||
golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||||
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
||||||
golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
|
golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
|
||||||
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
|
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
|
||||||
golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U=
|
golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U=
|
||||||
golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4=
|
golang.org/x/term v0.17.0 h1:mkTF7LCd6WGJNL3K1Ad7kwxNfYAW6a8a8QqtMblp/4U=
|
||||||
golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0=
|
golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk=
|
||||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||||
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||||
|
@ -26,7 +26,7 @@ func main() {
|
|||||||
URL: "https://wails.io",
|
URL: "https://wails.io",
|
||||||
KeyBindings: map[string]func(window *application.WebviewWindow){
|
KeyBindings: map[string]func(window *application.WebviewWindow){
|
||||||
"F12": func(window *application.WebviewWindow) {
|
"F12": func(window *application.WebviewWindow) {
|
||||||
window.ToggleDevTools()
|
window.OpenDevTools()
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
@ -1,20 +1,20 @@
|
|||||||
module plugin_demo
|
module plugin_demo
|
||||||
|
|
||||||
go 1.21
|
go 1.21.1
|
||||||
|
|
||||||
toolchain go1.21.0
|
toolchain go1.22.0
|
||||||
|
|
||||||
require github.com/wailsapp/wails/v3 v3.0.0-alpha.0
|
require github.com/wailsapp/wails/v3 v3.0.0-alpha.0
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/Microsoft/go-winio v0.4.16 // indirect
|
github.com/Microsoft/go-winio v0.6.1 // indirect
|
||||||
github.com/bep/debounce v1.2.1 // indirect
|
github.com/bep/debounce v1.2.1 // indirect
|
||||||
github.com/dustin/go-humanize v1.0.0 // indirect
|
github.com/dustin/go-humanize v1.0.0 // indirect
|
||||||
github.com/ebitengine/purego v0.4.0-alpha.4 // indirect
|
github.com/ebitengine/purego v0.4.0-alpha.4 // indirect
|
||||||
github.com/emirpasic/gods v1.12.0 // indirect
|
github.com/emirpasic/gods v1.18.1 // indirect
|
||||||
github.com/go-git/gcfg v1.5.0 // indirect
|
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
|
||||||
github.com/go-git/go-billy/v5 v5.2.0 // indirect
|
github.com/go-git/go-billy/v5 v5.5.0 // indirect
|
||||||
github.com/go-git/go-git/v5 v5.3.0 // indirect
|
github.com/go-git/go-git/v5 v5.11.0 // indirect
|
||||||
github.com/go-ole/go-ole v1.2.6 // indirect
|
github.com/go-ole/go-ole v1.2.6 // indirect
|
||||||
github.com/godbus/dbus/v5 v5.1.0 // indirect
|
github.com/godbus/dbus/v5 v5.1.0 // indirect
|
||||||
github.com/google/uuid v1.3.0 // indirect
|
github.com/google/uuid v1.3.0 // indirect
|
||||||
@ -23,11 +23,11 @@ require (
|
|||||||
github.com/jchv/go-winloader v0.0.0-20210711035445-715c2860da7e // indirect
|
github.com/jchv/go-winloader v0.0.0-20210711035445-715c2860da7e // indirect
|
||||||
github.com/json-iterator/go v1.1.12 // indirect
|
github.com/json-iterator/go v1.1.12 // indirect
|
||||||
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect
|
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect
|
||||||
github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351 // indirect
|
github.com/kevinburke/ssh_config v1.2.0 // indirect
|
||||||
github.com/kr/pretty v0.3.1 // indirect
|
github.com/kr/pretty v0.3.1 // indirect
|
||||||
github.com/leaanthony/go-ansi-parser v1.6.1 // indirect
|
github.com/leaanthony/go-ansi-parser v1.6.1 // indirect
|
||||||
github.com/leaanthony/u v1.1.0 // indirect
|
github.com/leaanthony/u v1.1.0 // indirect
|
||||||
github.com/lmittmann/tint v1.0.0 // indirect
|
github.com/lmittmann/tint v1.0.3 // indirect
|
||||||
github.com/mattn/go-colorable v0.1.13 // indirect
|
github.com/mattn/go-colorable v0.1.13 // indirect
|
||||||
github.com/mattn/go-isatty v0.0.19 // indirect
|
github.com/mattn/go-isatty v0.0.19 // indirect
|
||||||
github.com/mitchellh/go-homedir v1.1.0 // indirect
|
github.com/mitchellh/go-homedir v1.1.0 // indirect
|
||||||
@ -37,19 +37,19 @@ require (
|
|||||||
github.com/pkg/errors v0.9.1 // indirect
|
github.com/pkg/errors v0.9.1 // indirect
|
||||||
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
|
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
|
||||||
github.com/rivo/uniseg v0.4.4 // indirect
|
github.com/rivo/uniseg v0.4.4 // indirect
|
||||||
github.com/rogpeppe/go-internal v1.10.1-0.20230524175051-ec119421bb97 // indirect
|
github.com/rogpeppe/go-internal v1.11.0 // indirect
|
||||||
github.com/samber/lo v1.38.1 // indirect
|
github.com/samber/lo v1.38.1 // indirect
|
||||||
github.com/sergi/go-diff v1.2.0 // indirect
|
github.com/sergi/go-diff v1.2.0 // indirect
|
||||||
github.com/stretchr/testify v1.8.4 // indirect
|
github.com/stretchr/testify v1.8.4 // indirect
|
||||||
github.com/wailsapp/go-webview2 v1.0.9 // indirect
|
github.com/wailsapp/go-webview2 v1.0.9 // indirect
|
||||||
github.com/wailsapp/mimetype v1.4.1 // indirect
|
github.com/wailsapp/mimetype v1.4.1 // indirect
|
||||||
github.com/xanzy/ssh-agent v0.3.0 // indirect
|
github.com/xanzy/ssh-agent v0.3.3 // indirect
|
||||||
golang.org/x/crypto v0.9.0 // indirect
|
golang.org/x/crypto v0.19.0 // indirect
|
||||||
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df // indirect
|
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df // indirect
|
||||||
golang.org/x/mod v0.12.0 // indirect
|
golang.org/x/mod v0.12.0 // indirect
|
||||||
golang.org/x/net v0.10.0 // indirect
|
golang.org/x/net v0.19.0 // indirect
|
||||||
golang.org/x/sys v0.13.0 // indirect
|
golang.org/x/sys v0.17.0 // indirect
|
||||||
golang.org/x/tools v0.6.0 // indirect
|
golang.org/x/tools v0.13.0 // indirect
|
||||||
gopkg.in/warnings.v0 v0.1.2 // indirect
|
gopkg.in/warnings.v0 v0.1.2 // indirect
|
||||||
lukechampine.com/uint128 v1.2.0 // indirect
|
lukechampine.com/uint128 v1.2.0 // indirect
|
||||||
modernc.org/cc/v3 v3.40.0 // indirect
|
modernc.org/cc/v3 v3.40.0 // indirect
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA=
|
github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA=
|
||||||
github.com/Microsoft/go-winio v0.4.16 h1:FtSW/jqD+l4ba5iPBj9CODVtgfYAD8w2wS923g/cFDk=
|
github.com/Microsoft/go-winio v0.4.16 h1:FtSW/jqD+l4ba5iPBj9CODVtgfYAD8w2wS923g/cFDk=
|
||||||
github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0=
|
github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0=
|
||||||
|
github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY=
|
||||||
|
github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM=
|
||||||
github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7 h1:uSoVVbwJiQipAclBbw+8quDsfcvFjOpI5iCf4p/cqCs=
|
github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7 h1:uSoVVbwJiQipAclBbw+8quDsfcvFjOpI5iCf4p/cqCs=
|
||||||
github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7/go.mod h1:6zEj6s6u/ghQa61ZWa/C2Aw3RkjiTBOix7dkqa1VLIs=
|
github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7/go.mod h1:6zEj6s6u/ghQa61ZWa/C2Aw3RkjiTBOix7dkqa1VLIs=
|
||||||
github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA=
|
github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA=
|
||||||
@ -19,19 +21,23 @@ github.com/ebitengine/purego v0.4.0-alpha.4 h1:Y7yIV06Yo5M2BAdD7EVPhfp6LZ0tEcQo5
|
|||||||
github.com/ebitengine/purego v0.4.0-alpha.4/go.mod h1:ah1In8AOtksoNK6yk5z1HTJeUkC1Ez4Wk2idgGslMwQ=
|
github.com/ebitengine/purego v0.4.0-alpha.4/go.mod h1:ah1In8AOtksoNK6yk5z1HTJeUkC1Ez4Wk2idgGslMwQ=
|
||||||
github.com/emirpasic/gods v1.12.0 h1:QAUIPSaCu4G+POclxeqb3F+WPpdKqFGlw36+yOzGlrg=
|
github.com/emirpasic/gods v1.12.0 h1:QAUIPSaCu4G+POclxeqb3F+WPpdKqFGlw36+yOzGlrg=
|
||||||
github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o=
|
github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o=
|
||||||
|
github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ=
|
||||||
github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc=
|
github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc=
|
||||||
github.com/gliderlabs/ssh v0.2.2 h1:6zsha5zo/TWhRhwqCD3+EarCAgZ2yN28ipRnGPnwkI0=
|
github.com/gliderlabs/ssh v0.2.2 h1:6zsha5zo/TWhRhwqCD3+EarCAgZ2yN28ipRnGPnwkI0=
|
||||||
github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0=
|
github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0=
|
||||||
github.com/go-git/gcfg v1.5.0 h1:Q5ViNfGF8zFgyJWPqYwA7qGFoMTEiBmdlkcfRmpIMa4=
|
github.com/go-git/gcfg v1.5.0 h1:Q5ViNfGF8zFgyJWPqYwA7qGFoMTEiBmdlkcfRmpIMa4=
|
||||||
github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E=
|
github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E=
|
||||||
|
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic=
|
||||||
github.com/go-git/go-billy/v5 v5.0.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0=
|
github.com/go-git/go-billy/v5 v5.0.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0=
|
||||||
github.com/go-git/go-billy/v5 v5.1.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0=
|
github.com/go-git/go-billy/v5 v5.1.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0=
|
||||||
github.com/go-git/go-billy/v5 v5.2.0 h1:GcoouCP9J+5slw2uXAocL70z8ml4A8B/H8nEPt6CLPk=
|
github.com/go-git/go-billy/v5 v5.2.0 h1:GcoouCP9J+5slw2uXAocL70z8ml4A8B/H8nEPt6CLPk=
|
||||||
github.com/go-git/go-billy/v5 v5.2.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0=
|
github.com/go-git/go-billy/v5 v5.2.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0=
|
||||||
|
github.com/go-git/go-billy/v5 v5.5.0/go.mod h1:hmexnoNsr2SJU1Ju67OaNz5ASJY3+sHgFRpCtpDCKow=
|
||||||
github.com/go-git/go-git-fixtures/v4 v4.0.2-0.20200613231340-f56387b50c12 h1:PbKy9zOy4aAKrJ5pibIRpVO2BXnK1Tlcg+caKI7Ox5M=
|
github.com/go-git/go-git-fixtures/v4 v4.0.2-0.20200613231340-f56387b50c12 h1:PbKy9zOy4aAKrJ5pibIRpVO2BXnK1Tlcg+caKI7Ox5M=
|
||||||
github.com/go-git/go-git-fixtures/v4 v4.0.2-0.20200613231340-f56387b50c12/go.mod h1:m+ICp2rF3jDhFgEZ/8yziagdT1C+ZpZcrJjappBCDSw=
|
github.com/go-git/go-git-fixtures/v4 v4.0.2-0.20200613231340-f56387b50c12/go.mod h1:m+ICp2rF3jDhFgEZ/8yziagdT1C+ZpZcrJjappBCDSw=
|
||||||
github.com/go-git/go-git/v5 v5.3.0 h1:8WKMtJR2j8RntEXR/uvTKagfEt4GYlwQ7mntE4+0GWc=
|
github.com/go-git/go-git/v5 v5.3.0 h1:8WKMtJR2j8RntEXR/uvTKagfEt4GYlwQ7mntE4+0GWc=
|
||||||
github.com/go-git/go-git/v5 v5.3.0/go.mod h1:xdX4bWJ48aOrdhnl2XqHYstHbbp6+LFS4r4X+lNVprw=
|
github.com/go-git/go-git/v5 v5.3.0/go.mod h1:xdX4bWJ48aOrdhnl2XqHYstHbbp6+LFS4r4X+lNVprw=
|
||||||
|
github.com/go-git/go-git/v5 v5.11.0/go.mod h1:6GFcX2P3NM7FPBfpePbpLd21XxsgdAt+lKqXmCUiUCY=
|
||||||
github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY=
|
github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY=
|
||||||
github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
|
github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
|
||||||
github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk=
|
github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk=
|
||||||
@ -57,6 +63,7 @@ github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNU
|
|||||||
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8=
|
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8=
|
||||||
github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351 h1:DowS9hvgyYSX4TO5NpyC606/Z4SxnNYbT+WX27or6Ck=
|
github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351 h1:DowS9hvgyYSX4TO5NpyC606/Z4SxnNYbT+WX27or6Ck=
|
||||||
github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM=
|
github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM=
|
||||||
|
github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM=
|
||||||
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
|
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
|
||||||
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
||||||
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
|
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
|
||||||
@ -72,6 +79,7 @@ github.com/leaanthony/u v1.1.0 h1:2n0d2BwPVXSUq5yhe8lJPHdxevE2qK5G99PMStMZMaI=
|
|||||||
github.com/leaanthony/u v1.1.0/go.mod h1:9+o6hejoRljvZ3BzdYlVL0JYCwtnAsVuN9pVTQcaRfI=
|
github.com/leaanthony/u v1.1.0/go.mod h1:9+o6hejoRljvZ3BzdYlVL0JYCwtnAsVuN9pVTQcaRfI=
|
||||||
github.com/lmittmann/tint v1.0.0 h1:fzEj70K1L58uyoePQxKe+ezDZJ5pybiWGdA0JeFvvyw=
|
github.com/lmittmann/tint v1.0.0 h1:fzEj70K1L58uyoePQxKe+ezDZJ5pybiWGdA0JeFvvyw=
|
||||||
github.com/lmittmann/tint v1.0.0/go.mod h1:HIS3gSy7qNwGCj+5oRjAutErFBl4BzdQP6cJZ0NfMwE=
|
github.com/lmittmann/tint v1.0.0/go.mod h1:HIS3gSy7qNwGCj+5oRjAutErFBl4BzdQP6cJZ0NfMwE=
|
||||||
|
github.com/lmittmann/tint v1.0.3/go.mod h1:HIS3gSy7qNwGCj+5oRjAutErFBl4BzdQP6cJZ0NfMwE=
|
||||||
github.com/matryer/is v1.4.0 h1:sosSmIWwkYITGrxZ25ULNDeKiMNzFSr4V/eqBQP0PeE=
|
github.com/matryer/is v1.4.0 h1:sosSmIWwkYITGrxZ25ULNDeKiMNzFSr4V/eqBQP0PeE=
|
||||||
github.com/matryer/is v1.4.0/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU=
|
github.com/matryer/is v1.4.0/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU=
|
||||||
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
|
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
|
||||||
@ -105,12 +113,14 @@ github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUc
|
|||||||
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
|
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
|
||||||
github.com/rogpeppe/go-internal v1.10.1-0.20230524175051-ec119421bb97 h1:3RPlVWzZ/PDqmVuf/FKHARG5EMid/tl7cv54Sw/QRVY=
|
github.com/rogpeppe/go-internal v1.10.1-0.20230524175051-ec119421bb97 h1:3RPlVWzZ/PDqmVuf/FKHARG5EMid/tl7cv54Sw/QRVY=
|
||||||
github.com/rogpeppe/go-internal v1.10.1-0.20230524175051-ec119421bb97/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA=
|
github.com/rogpeppe/go-internal v1.10.1-0.20230524175051-ec119421bb97/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA=
|
||||||
|
github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA=
|
||||||
github.com/samber/lo v1.38.1 h1:j2XEAqXKb09Am4ebOg31SpvzUTTs6EN3VfgeLUhPdXM=
|
github.com/samber/lo v1.38.1 h1:j2XEAqXKb09Am4ebOg31SpvzUTTs6EN3VfgeLUhPdXM=
|
||||||
github.com/samber/lo v1.38.1/go.mod h1:+m/ZKRl6ClXCE2Lgf3MsQlWfh4bn1bz6CXEOxnEXnEA=
|
github.com/samber/lo v1.38.1/go.mod h1:+m/ZKRl6ClXCE2Lgf3MsQlWfh4bn1bz6CXEOxnEXnEA=
|
||||||
github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM=
|
github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM=
|
||||||
github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ=
|
github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ=
|
||||||
github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM=
|
github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM=
|
||||||
github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
|
github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
|
||||||
|
github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
|
||||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||||
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||||
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
||||||
@ -124,10 +134,14 @@ github.com/wailsapp/mimetype v1.4.1 h1:pQN9ycO7uo4vsUUuPeHEYoUkLVkaRntMnHJxVwYhw
|
|||||||
github.com/wailsapp/mimetype v1.4.1/go.mod h1:9aV5k31bBOv5z6u+QP8TltzvNGJPmNJD4XlAL3U+j3o=
|
github.com/wailsapp/mimetype v1.4.1/go.mod h1:9aV5k31bBOv5z6u+QP8TltzvNGJPmNJD4XlAL3U+j3o=
|
||||||
github.com/xanzy/ssh-agent v0.3.0 h1:wUMzuKtKilRgBAD1sUb8gOwwRr2FGoBVumcjoOACClI=
|
github.com/xanzy/ssh-agent v0.3.0 h1:wUMzuKtKilRgBAD1sUb8gOwwRr2FGoBVumcjoOACClI=
|
||||||
github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0=
|
github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0=
|
||||||
|
github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw=
|
||||||
golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||||
golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
|
golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
|
||||||
|
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||||
golang.org/x/crypto v0.9.0 h1:LF6fAI+IutBocDJ2OT0Q1g8plpYljMZ4+lty+dsqw3g=
|
golang.org/x/crypto v0.9.0 h1:LF6fAI+IutBocDJ2OT0Q1g8plpYljMZ4+lty+dsqw3g=
|
||||||
golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0=
|
golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0=
|
||||||
|
golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
|
||||||
|
golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
|
||||||
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df h1:UA2aFVmmsIlefxMk29Dp2juaUSth8Pyn3Tq5Y5mJGME=
|
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df h1:UA2aFVmmsIlefxMk29Dp2juaUSth8Pyn3Tq5Y5mJGME=
|
||||||
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc=
|
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc=
|
||||||
golang.org/x/mod v0.12.0 h1:rmsUpXtvNzj340zd98LZ4KntptpfRHwpFOHG188oHXc=
|
golang.org/x/mod v0.12.0 h1:rmsUpXtvNzj340zd98LZ4KntptpfRHwpFOHG188oHXc=
|
||||||
@ -135,24 +149,32 @@ golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
|
|||||||
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
||||||
golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k=
|
golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k=
|
||||||
golang.org/x/net v0.0.0-20210505024714-0287a6fb4125/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
golang.org/x/net v0.0.0-20210505024714-0287a6fb4125/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||||
|
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||||
golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M=
|
golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M=
|
||||||
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
|
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
|
||||||
|
golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U=
|
||||||
golang.org/x/sync v0.4.0 h1:zxkM55ReGkDlKSM+Fu41A+zmbZuaPVbGMzvvdUPznYQ=
|
golang.org/x/sync v0.4.0 h1:zxkM55ReGkDlKSM+Fu41A+zmbZuaPVbGMzvvdUPznYQ=
|
||||||
golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
|
golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
|
||||||
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
|
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20200810151505-1b9f1253b3ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20200810151505-1b9f1253b3ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
|
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
|
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.0.0-20210616045830-e2b7044e8c71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20210616045830-e2b7044e8c71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
|
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE=
|
golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE=
|
||||||
golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
|
golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||||
|
golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||||
golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek=
|
golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek=
|
||||||
golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U=
|
golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U=
|
||||||
@ -163,6 +185,7 @@ golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
|
|||||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||||
golang.org/x/tools v0.6.0 h1:BOw41kyTf3PuCW1pVQf8+Cyg8pMlkYB1oo9iJ6D/lKM=
|
golang.org/x/tools v0.6.0 h1:BOw41kyTf3PuCW1pVQf8+Cyg8pMlkYB1oo9iJ6D/lKM=
|
||||||
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
|
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
|
||||||
|
golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58=
|
||||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
|
@ -43,6 +43,7 @@
|
|||||||
text-align: -webkit-center;
|
text-align: -webkit-center;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
<script src="runtime.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
|
1
v3/examples/screen/assets/runtime.js
Normal file
1
v3/examples/screen/assets/runtime.js
Normal file
File diff suppressed because one or more lines are too long
@ -1,19 +1,19 @@
|
|||||||
module server_demo
|
module server_demo
|
||||||
|
|
||||||
go 1.21
|
go 1.21.1
|
||||||
|
|
||||||
toolchain go1.21.0
|
toolchain go1.22.0
|
||||||
|
|
||||||
require github.com/wailsapp/wails/v3 v3.0.0-alpha.0
|
require github.com/wailsapp/wails/v3 v3.0.0-alpha.0
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/Microsoft/go-winio v0.4.16 // indirect
|
github.com/Microsoft/go-winio v0.6.1 // indirect
|
||||||
github.com/bep/debounce v1.2.1 // indirect
|
github.com/bep/debounce v1.2.1 // indirect
|
||||||
github.com/ebitengine/purego v0.4.0-alpha.4 // indirect
|
github.com/ebitengine/purego v0.4.0-alpha.4 // indirect
|
||||||
github.com/emirpasic/gods v1.12.0 // indirect
|
github.com/emirpasic/gods v1.18.1 // indirect
|
||||||
github.com/go-git/gcfg v1.5.0 // indirect
|
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
|
||||||
github.com/go-git/go-billy/v5 v5.2.0 // indirect
|
github.com/go-git/go-billy/v5 v5.5.0 // indirect
|
||||||
github.com/go-git/go-git/v5 v5.3.0 // indirect
|
github.com/go-git/go-git/v5 v5.11.0 // indirect
|
||||||
github.com/go-ole/go-ole v1.2.6 // indirect
|
github.com/go-ole/go-ole v1.2.6 // indirect
|
||||||
github.com/godbus/dbus/v5 v5.1.0 // indirect
|
github.com/godbus/dbus/v5 v5.1.0 // indirect
|
||||||
github.com/google/uuid v1.3.0 // indirect
|
github.com/google/uuid v1.3.0 // indirect
|
||||||
@ -21,11 +21,11 @@ require (
|
|||||||
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
|
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
|
||||||
github.com/jchv/go-winloader v0.0.0-20210711035445-715c2860da7e // indirect
|
github.com/jchv/go-winloader v0.0.0-20210711035445-715c2860da7e // indirect
|
||||||
github.com/json-iterator/go v1.1.12 // indirect
|
github.com/json-iterator/go v1.1.12 // indirect
|
||||||
github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351 // indirect
|
github.com/kevinburke/ssh_config v1.2.0 // indirect
|
||||||
github.com/kr/pretty v0.3.1 // indirect
|
github.com/kr/pretty v0.3.1 // indirect
|
||||||
github.com/leaanthony/go-ansi-parser v1.6.1 // indirect
|
github.com/leaanthony/go-ansi-parser v1.6.1 // indirect
|
||||||
github.com/leaanthony/u v1.1.0 // indirect
|
github.com/leaanthony/u v1.1.0 // indirect
|
||||||
github.com/lmittmann/tint v1.0.0 // indirect
|
github.com/lmittmann/tint v1.0.3 // indirect
|
||||||
github.com/mattn/go-colorable v0.1.13 // indirect
|
github.com/mattn/go-colorable v0.1.13 // indirect
|
||||||
github.com/mattn/go-isatty v0.0.19 // indirect
|
github.com/mattn/go-isatty v0.0.19 // indirect
|
||||||
github.com/mitchellh/go-homedir v1.1.0 // indirect
|
github.com/mitchellh/go-homedir v1.1.0 // indirect
|
||||||
@ -33,17 +33,17 @@ require (
|
|||||||
github.com/modern-go/reflect2 v1.0.2 // indirect
|
github.com/modern-go/reflect2 v1.0.2 // indirect
|
||||||
github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 // indirect
|
github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 // indirect
|
||||||
github.com/rivo/uniseg v0.4.4 // indirect
|
github.com/rivo/uniseg v0.4.4 // indirect
|
||||||
github.com/rogpeppe/go-internal v1.10.1-0.20230524175051-ec119421bb97 // indirect
|
github.com/rogpeppe/go-internal v1.11.0 // indirect
|
||||||
github.com/samber/lo v1.38.1 // indirect
|
github.com/samber/lo v1.38.1 // indirect
|
||||||
github.com/sergi/go-diff v1.2.0 // indirect
|
github.com/sergi/go-diff v1.2.0 // indirect
|
||||||
github.com/stretchr/testify v1.8.4 // indirect
|
github.com/stretchr/testify v1.8.4 // indirect
|
||||||
github.com/wailsapp/go-webview2 v1.0.9 // indirect
|
github.com/wailsapp/go-webview2 v1.0.9 // indirect
|
||||||
github.com/wailsapp/mimetype v1.4.1 // indirect
|
github.com/wailsapp/mimetype v1.4.1 // indirect
|
||||||
github.com/xanzy/ssh-agent v0.3.0 // indirect
|
github.com/xanzy/ssh-agent v0.3.3 // indirect
|
||||||
golang.org/x/crypto v0.9.0 // indirect
|
golang.org/x/crypto v0.19.0 // indirect
|
||||||
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df // indirect
|
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df // indirect
|
||||||
golang.org/x/net v0.10.0 // indirect
|
golang.org/x/net v0.19.0 // indirect
|
||||||
golang.org/x/sys v0.13.0 // indirect
|
golang.org/x/sys v0.17.0 // indirect
|
||||||
gopkg.in/warnings.v0 v0.1.2 // indirect
|
gopkg.in/warnings.v0 v0.1.2 // indirect
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA=
|
github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA=
|
||||||
github.com/Microsoft/go-winio v0.4.16 h1:FtSW/jqD+l4ba5iPBj9CODVtgfYAD8w2wS923g/cFDk=
|
github.com/Microsoft/go-winio v0.4.16 h1:FtSW/jqD+l4ba5iPBj9CODVtgfYAD8w2wS923g/cFDk=
|
||||||
github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0=
|
github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0=
|
||||||
|
github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY=
|
||||||
|
github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM=
|
||||||
github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7 h1:uSoVVbwJiQipAclBbw+8quDsfcvFjOpI5iCf4p/cqCs=
|
github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7 h1:uSoVVbwJiQipAclBbw+8quDsfcvFjOpI5iCf4p/cqCs=
|
||||||
github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7/go.mod h1:6zEj6s6u/ghQa61ZWa/C2Aw3RkjiTBOix7dkqa1VLIs=
|
github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7/go.mod h1:6zEj6s6u/ghQa61ZWa/C2Aw3RkjiTBOix7dkqa1VLIs=
|
||||||
github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA=
|
github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA=
|
||||||
@ -17,19 +19,23 @@ github.com/ebitengine/purego v0.4.0-alpha.4 h1:Y7yIV06Yo5M2BAdD7EVPhfp6LZ0tEcQo5
|
|||||||
github.com/ebitengine/purego v0.4.0-alpha.4/go.mod h1:ah1In8AOtksoNK6yk5z1HTJeUkC1Ez4Wk2idgGslMwQ=
|
github.com/ebitengine/purego v0.4.0-alpha.4/go.mod h1:ah1In8AOtksoNK6yk5z1HTJeUkC1Ez4Wk2idgGslMwQ=
|
||||||
github.com/emirpasic/gods v1.12.0 h1:QAUIPSaCu4G+POclxeqb3F+WPpdKqFGlw36+yOzGlrg=
|
github.com/emirpasic/gods v1.12.0 h1:QAUIPSaCu4G+POclxeqb3F+WPpdKqFGlw36+yOzGlrg=
|
||||||
github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o=
|
github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o=
|
||||||
|
github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ=
|
||||||
github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc=
|
github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc=
|
||||||
github.com/gliderlabs/ssh v0.2.2 h1:6zsha5zo/TWhRhwqCD3+EarCAgZ2yN28ipRnGPnwkI0=
|
github.com/gliderlabs/ssh v0.2.2 h1:6zsha5zo/TWhRhwqCD3+EarCAgZ2yN28ipRnGPnwkI0=
|
||||||
github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0=
|
github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0=
|
||||||
github.com/go-git/gcfg v1.5.0 h1:Q5ViNfGF8zFgyJWPqYwA7qGFoMTEiBmdlkcfRmpIMa4=
|
github.com/go-git/gcfg v1.5.0 h1:Q5ViNfGF8zFgyJWPqYwA7qGFoMTEiBmdlkcfRmpIMa4=
|
||||||
github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E=
|
github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E=
|
||||||
|
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic=
|
||||||
github.com/go-git/go-billy/v5 v5.0.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0=
|
github.com/go-git/go-billy/v5 v5.0.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0=
|
||||||
github.com/go-git/go-billy/v5 v5.1.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0=
|
github.com/go-git/go-billy/v5 v5.1.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0=
|
||||||
github.com/go-git/go-billy/v5 v5.2.0 h1:GcoouCP9J+5slw2uXAocL70z8ml4A8B/H8nEPt6CLPk=
|
github.com/go-git/go-billy/v5 v5.2.0 h1:GcoouCP9J+5slw2uXAocL70z8ml4A8B/H8nEPt6CLPk=
|
||||||
github.com/go-git/go-billy/v5 v5.2.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0=
|
github.com/go-git/go-billy/v5 v5.2.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0=
|
||||||
|
github.com/go-git/go-billy/v5 v5.5.0/go.mod h1:hmexnoNsr2SJU1Ju67OaNz5ASJY3+sHgFRpCtpDCKow=
|
||||||
github.com/go-git/go-git-fixtures/v4 v4.0.2-0.20200613231340-f56387b50c12 h1:PbKy9zOy4aAKrJ5pibIRpVO2BXnK1Tlcg+caKI7Ox5M=
|
github.com/go-git/go-git-fixtures/v4 v4.0.2-0.20200613231340-f56387b50c12 h1:PbKy9zOy4aAKrJ5pibIRpVO2BXnK1Tlcg+caKI7Ox5M=
|
||||||
github.com/go-git/go-git-fixtures/v4 v4.0.2-0.20200613231340-f56387b50c12/go.mod h1:m+ICp2rF3jDhFgEZ/8yziagdT1C+ZpZcrJjappBCDSw=
|
github.com/go-git/go-git-fixtures/v4 v4.0.2-0.20200613231340-f56387b50c12/go.mod h1:m+ICp2rF3jDhFgEZ/8yziagdT1C+ZpZcrJjappBCDSw=
|
||||||
github.com/go-git/go-git/v5 v5.3.0 h1:8WKMtJR2j8RntEXR/uvTKagfEt4GYlwQ7mntE4+0GWc=
|
github.com/go-git/go-git/v5 v5.3.0 h1:8WKMtJR2j8RntEXR/uvTKagfEt4GYlwQ7mntE4+0GWc=
|
||||||
github.com/go-git/go-git/v5 v5.3.0/go.mod h1:xdX4bWJ48aOrdhnl2XqHYstHbbp6+LFS4r4X+lNVprw=
|
github.com/go-git/go-git/v5 v5.3.0/go.mod h1:xdX4bWJ48aOrdhnl2XqHYstHbbp6+LFS4r4X+lNVprw=
|
||||||
|
github.com/go-git/go-git/v5 v5.11.0/go.mod h1:6GFcX2P3NM7FPBfpePbpLd21XxsgdAt+lKqXmCUiUCY=
|
||||||
github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY=
|
github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY=
|
||||||
github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
|
github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
|
||||||
github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk=
|
github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk=
|
||||||
@ -51,6 +57,7 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr
|
|||||||
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
|
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
|
||||||
github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351 h1:DowS9hvgyYSX4TO5NpyC606/Z4SxnNYbT+WX27or6Ck=
|
github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351 h1:DowS9hvgyYSX4TO5NpyC606/Z4SxnNYbT+WX27or6Ck=
|
||||||
github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM=
|
github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM=
|
||||||
|
github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM=
|
||||||
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
|
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
|
||||||
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
||||||
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
|
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
|
||||||
@ -66,6 +73,7 @@ github.com/leaanthony/u v1.1.0 h1:2n0d2BwPVXSUq5yhe8lJPHdxevE2qK5G99PMStMZMaI=
|
|||||||
github.com/leaanthony/u v1.1.0/go.mod h1:9+o6hejoRljvZ3BzdYlVL0JYCwtnAsVuN9pVTQcaRfI=
|
github.com/leaanthony/u v1.1.0/go.mod h1:9+o6hejoRljvZ3BzdYlVL0JYCwtnAsVuN9pVTQcaRfI=
|
||||||
github.com/lmittmann/tint v1.0.0 h1:fzEj70K1L58uyoePQxKe+ezDZJ5pybiWGdA0JeFvvyw=
|
github.com/lmittmann/tint v1.0.0 h1:fzEj70K1L58uyoePQxKe+ezDZJ5pybiWGdA0JeFvvyw=
|
||||||
github.com/lmittmann/tint v1.0.0/go.mod h1:HIS3gSy7qNwGCj+5oRjAutErFBl4BzdQP6cJZ0NfMwE=
|
github.com/lmittmann/tint v1.0.0/go.mod h1:HIS3gSy7qNwGCj+5oRjAutErFBl4BzdQP6cJZ0NfMwE=
|
||||||
|
github.com/lmittmann/tint v1.0.3/go.mod h1:HIS3gSy7qNwGCj+5oRjAutErFBl4BzdQP6cJZ0NfMwE=
|
||||||
github.com/matryer/is v1.4.0 h1:sosSmIWwkYITGrxZ25ULNDeKiMNzFSr4V/eqBQP0PeE=
|
github.com/matryer/is v1.4.0 h1:sosSmIWwkYITGrxZ25ULNDeKiMNzFSr4V/eqBQP0PeE=
|
||||||
github.com/matryer/is v1.4.0/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU=
|
github.com/matryer/is v1.4.0/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU=
|
||||||
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
|
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
|
||||||
@ -94,12 +102,14 @@ github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUc
|
|||||||
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
|
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
|
||||||
github.com/rogpeppe/go-internal v1.10.1-0.20230524175051-ec119421bb97 h1:3RPlVWzZ/PDqmVuf/FKHARG5EMid/tl7cv54Sw/QRVY=
|
github.com/rogpeppe/go-internal v1.10.1-0.20230524175051-ec119421bb97 h1:3RPlVWzZ/PDqmVuf/FKHARG5EMid/tl7cv54Sw/QRVY=
|
||||||
github.com/rogpeppe/go-internal v1.10.1-0.20230524175051-ec119421bb97/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA=
|
github.com/rogpeppe/go-internal v1.10.1-0.20230524175051-ec119421bb97/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA=
|
||||||
|
github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA=
|
||||||
github.com/samber/lo v1.38.1 h1:j2XEAqXKb09Am4ebOg31SpvzUTTs6EN3VfgeLUhPdXM=
|
github.com/samber/lo v1.38.1 h1:j2XEAqXKb09Am4ebOg31SpvzUTTs6EN3VfgeLUhPdXM=
|
||||||
github.com/samber/lo v1.38.1/go.mod h1:+m/ZKRl6ClXCE2Lgf3MsQlWfh4bn1bz6CXEOxnEXnEA=
|
github.com/samber/lo v1.38.1/go.mod h1:+m/ZKRl6ClXCE2Lgf3MsQlWfh4bn1bz6CXEOxnEXnEA=
|
||||||
github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM=
|
github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM=
|
||||||
github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ=
|
github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ=
|
||||||
github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM=
|
github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM=
|
||||||
github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
|
github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
|
||||||
|
github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
|
||||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||||
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||||
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
||||||
@ -113,31 +123,43 @@ github.com/wailsapp/mimetype v1.4.1 h1:pQN9ycO7uo4vsUUuPeHEYoUkLVkaRntMnHJxVwYhw
|
|||||||
github.com/wailsapp/mimetype v1.4.1/go.mod h1:9aV5k31bBOv5z6u+QP8TltzvNGJPmNJD4XlAL3U+j3o=
|
github.com/wailsapp/mimetype v1.4.1/go.mod h1:9aV5k31bBOv5z6u+QP8TltzvNGJPmNJD4XlAL3U+j3o=
|
||||||
github.com/xanzy/ssh-agent v0.3.0 h1:wUMzuKtKilRgBAD1sUb8gOwwRr2FGoBVumcjoOACClI=
|
github.com/xanzy/ssh-agent v0.3.0 h1:wUMzuKtKilRgBAD1sUb8gOwwRr2FGoBVumcjoOACClI=
|
||||||
github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0=
|
github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0=
|
||||||
|
github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw=
|
||||||
golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||||
golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
|
golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
|
||||||
|
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||||
golang.org/x/crypto v0.9.0 h1:LF6fAI+IutBocDJ2OT0Q1g8plpYljMZ4+lty+dsqw3g=
|
golang.org/x/crypto v0.9.0 h1:LF6fAI+IutBocDJ2OT0Q1g8plpYljMZ4+lty+dsqw3g=
|
||||||
golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0=
|
golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0=
|
||||||
|
golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
|
||||||
|
golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
|
||||||
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df h1:UA2aFVmmsIlefxMk29Dp2juaUSth8Pyn3Tq5Y5mJGME=
|
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df h1:UA2aFVmmsIlefxMk29Dp2juaUSth8Pyn3Tq5Y5mJGME=
|
||||||
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc=
|
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc=
|
||||||
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
||||||
golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k=
|
golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k=
|
||||||
golang.org/x/net v0.0.0-20210505024714-0287a6fb4125/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
golang.org/x/net v0.0.0-20210505024714-0287a6fb4125/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||||
|
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||||
golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M=
|
golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M=
|
||||||
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
|
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
|
||||||
|
golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U=
|
||||||
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
|
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20200810151505-1b9f1253b3ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20200810151505-1b9f1253b3ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
|
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
|
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.0.0-20210616045830-e2b7044e8c71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20210616045830-e2b7044e8c71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
|
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE=
|
golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE=
|
||||||
golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
|
golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||||
|
golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||||
golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek=
|
golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek=
|
||||||
golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U=
|
golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U=
|
||||||
|
@ -2,7 +2,6 @@ package main
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
_ "embed"
|
_ "embed"
|
||||||
"fmt"
|
|
||||||
"log"
|
"log"
|
||||||
"runtime"
|
"runtime"
|
||||||
|
|
||||||
@ -25,6 +24,7 @@ func main() {
|
|||||||
window := app.NewWebviewWindowWithOptions(application.WebviewWindowOptions{
|
window := app.NewWebviewWindowWithOptions(application.WebviewWindowOptions{
|
||||||
Width: 500,
|
Width: 500,
|
||||||
Height: 800,
|
Height: 800,
|
||||||
|
Name: "Systray Demo Window",
|
||||||
Frameless: true,
|
Frameless: true,
|
||||||
AlwaysOnTop: true,
|
AlwaysOnTop: true,
|
||||||
Hidden: true,
|
Hidden: true,
|
||||||
@ -79,7 +79,6 @@ func main() {
|
|||||||
radioCallback := func(ctx *application.Context) {
|
radioCallback := func(ctx *application.Context) {
|
||||||
menuItem := ctx.ClickedMenuItem()
|
menuItem := ctx.ClickedMenuItem()
|
||||||
menuItem.SetLabel(menuItem.Label() + "!")
|
menuItem.SetLabel(menuItem.Label() + "!")
|
||||||
fmt.Println("radioCallback: ")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Radio groups are created implicitly by placing radio items next to each other in a menu
|
// Radio groups are created implicitly by placing radio items next to each other in a menu
|
||||||
|
@ -1,46 +1,50 @@
|
|||||||
module frameless
|
module frameless
|
||||||
|
|
||||||
go 1.21
|
go 1.21.1
|
||||||
|
|
||||||
toolchain go1.21.0
|
toolchain go1.22.0
|
||||||
|
|
||||||
require github.com/wailsapp/wails/v3 v3.0.0-alpha.0
|
require github.com/wailsapp/wails/v3 v3.0.0-alpha.0
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/Microsoft/go-winio v0.4.16 // indirect
|
dario.cat/mergo v1.0.0 // indirect
|
||||||
|
github.com/Microsoft/go-winio v0.6.1 // indirect
|
||||||
|
github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 // indirect
|
||||||
github.com/bep/debounce v1.2.1 // indirect
|
github.com/bep/debounce v1.2.1 // indirect
|
||||||
|
github.com/cloudflare/circl v1.3.3 // indirect
|
||||||
|
github.com/cyphar/filepath-securejoin v0.2.4 // indirect
|
||||||
github.com/ebitengine/purego v0.4.0-alpha.4 // indirect
|
github.com/ebitengine/purego v0.4.0-alpha.4 // indirect
|
||||||
github.com/emirpasic/gods v1.12.0 // indirect
|
github.com/emirpasic/gods v1.18.1 // indirect
|
||||||
github.com/go-git/gcfg v1.5.0 // indirect
|
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
|
||||||
github.com/go-git/go-billy/v5 v5.2.0 // indirect
|
github.com/go-git/go-billy/v5 v5.5.0 // indirect
|
||||||
github.com/go-git/go-git/v5 v5.3.0 // indirect
|
github.com/go-git/go-git/v5 v5.11.0 // indirect
|
||||||
github.com/go-ole/go-ole v1.2.6 // indirect
|
github.com/go-ole/go-ole v1.2.6 // indirect
|
||||||
github.com/godbus/dbus/v5 v5.1.0 // indirect
|
github.com/godbus/dbus/v5 v5.1.0 // indirect
|
||||||
|
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
|
||||||
github.com/google/uuid v1.3.0 // indirect
|
github.com/google/uuid v1.3.0 // indirect
|
||||||
github.com/imdario/mergo v0.3.12 // indirect
|
|
||||||
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
|
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
|
||||||
github.com/jchv/go-winloader v0.0.0-20210711035445-715c2860da7e // indirect
|
github.com/jchv/go-winloader v0.0.0-20210711035445-715c2860da7e // indirect
|
||||||
github.com/json-iterator/go v1.1.12 // indirect
|
github.com/kevinburke/ssh_config v1.2.0 // indirect
|
||||||
github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351 // indirect
|
|
||||||
github.com/leaanthony/go-ansi-parser v1.6.1 // indirect
|
github.com/leaanthony/go-ansi-parser v1.6.1 // indirect
|
||||||
github.com/leaanthony/u v1.1.0 // indirect
|
github.com/leaanthony/u v1.1.0 // indirect
|
||||||
github.com/lmittmann/tint v1.0.0 // indirect
|
github.com/lmittmann/tint v1.0.3 // indirect
|
||||||
github.com/mattn/go-colorable v0.1.13 // indirect
|
github.com/mattn/go-colorable v0.1.13 // indirect
|
||||||
github.com/mattn/go-isatty v0.0.19 // indirect
|
github.com/mattn/go-isatty v0.0.19 // indirect
|
||||||
github.com/mitchellh/go-homedir v1.1.0 // indirect
|
github.com/pjbgf/sha1cd v0.3.0 // indirect
|
||||||
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 // indirect
|
|
||||||
github.com/modern-go/reflect2 v1.0.2 // indirect
|
|
||||||
github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 // indirect
|
github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 // indirect
|
||||||
github.com/rivo/uniseg v0.4.4 // indirect
|
github.com/rivo/uniseg v0.4.4 // indirect
|
||||||
github.com/samber/lo v1.38.1 // indirect
|
github.com/samber/lo v1.38.1 // indirect
|
||||||
github.com/sergi/go-diff v1.2.0 // indirect
|
github.com/sergi/go-diff v1.2.0 // indirect
|
||||||
|
github.com/skeema/knownhosts v1.2.1 // indirect
|
||||||
github.com/wailsapp/go-webview2 v1.0.9 // indirect
|
github.com/wailsapp/go-webview2 v1.0.9 // indirect
|
||||||
github.com/wailsapp/mimetype v1.4.1 // indirect
|
github.com/wailsapp/mimetype v1.4.1 // indirect
|
||||||
github.com/xanzy/ssh-agent v0.3.0 // indirect
|
github.com/xanzy/ssh-agent v0.3.3 // indirect
|
||||||
golang.org/x/crypto v0.9.0 // indirect
|
golang.org/x/crypto v0.19.0 // indirect
|
||||||
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df // indirect
|
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df // indirect
|
||||||
golang.org/x/net v0.10.0 // indirect
|
golang.org/x/mod v0.12.0 // indirect
|
||||||
golang.org/x/sys v0.13.0 // indirect
|
golang.org/x/net v0.19.0 // indirect
|
||||||
|
golang.org/x/sys v0.17.0 // indirect
|
||||||
|
golang.org/x/tools v0.13.0 // indirect
|
||||||
gopkg.in/warnings.v0 v0.1.2 // indirect
|
gopkg.in/warnings.v0 v0.1.2 // indirect
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -1,60 +1,59 @@
|
|||||||
github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA=
|
dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk=
|
||||||
github.com/Microsoft/go-winio v0.4.16 h1:FtSW/jqD+l4ba5iPBj9CODVtgfYAD8w2wS923g/cFDk=
|
dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk=
|
||||||
github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0=
|
github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY=
|
||||||
github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7 h1:uSoVVbwJiQipAclBbw+8quDsfcvFjOpI5iCf4p/cqCs=
|
github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow=
|
||||||
github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7/go.mod h1:6zEj6s6u/ghQa61ZWa/C2Aw3RkjiTBOix7dkqa1VLIs=
|
github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM=
|
||||||
github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA=
|
github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 h1:kkhsdkhsCvIsutKu5zLMgWtgh9YxGCNAw8Ad8hjwfYg=
|
||||||
github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c=
|
github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0=
|
||||||
|
github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8=
|
||||||
|
github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4=
|
||||||
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio=
|
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio=
|
||||||
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
|
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
|
||||||
github.com/bep/debounce v1.2.1 h1:v67fRdBA9UQu2NhLFXrSg0Brw7CexQekrBwDMM8bzeY=
|
github.com/bep/debounce v1.2.1 h1:v67fRdBA9UQu2NhLFXrSg0Brw7CexQekrBwDMM8bzeY=
|
||||||
github.com/bep/debounce v1.2.1/go.mod h1:H8yggRPQKLUhUoqrJC1bO2xNya7vanpDl7xR3ISbCJ0=
|
github.com/bep/debounce v1.2.1/go.mod h1:H8yggRPQKLUhUoqrJC1bO2xNya7vanpDl7xR3ISbCJ0=
|
||||||
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
|
github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0=
|
||||||
|
github.com/cloudflare/circl v1.3.3 h1:fE/Qz0QdIGqeWfnwq0RE0R7MI51s0M2E4Ga9kq5AEMs=
|
||||||
|
github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA=
|
||||||
|
github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg=
|
||||||
|
github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4=
|
||||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
github.com/ebitengine/purego v0.4.0-alpha.4 h1:Y7yIV06Yo5M2BAdD7EVPhfp6LZ0tEcQo5770OhYUVes=
|
github.com/ebitengine/purego v0.4.0-alpha.4 h1:Y7yIV06Yo5M2BAdD7EVPhfp6LZ0tEcQo5770OhYUVes=
|
||||||
github.com/ebitengine/purego v0.4.0-alpha.4/go.mod h1:ah1In8AOtksoNK6yk5z1HTJeUkC1Ez4Wk2idgGslMwQ=
|
github.com/ebitengine/purego v0.4.0-alpha.4/go.mod h1:ah1In8AOtksoNK6yk5z1HTJeUkC1Ez4Wk2idgGslMwQ=
|
||||||
github.com/emirpasic/gods v1.12.0 h1:QAUIPSaCu4G+POclxeqb3F+WPpdKqFGlw36+yOzGlrg=
|
github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a h1:mATvB/9r/3gvcejNsXKSkQ6lcIaNec2nyfOdlTBR2lU=
|
||||||
github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o=
|
github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM=
|
||||||
github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc=
|
github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc=
|
||||||
github.com/gliderlabs/ssh v0.2.2 h1:6zsha5zo/TWhRhwqCD3+EarCAgZ2yN28ipRnGPnwkI0=
|
github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ=
|
||||||
github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0=
|
github.com/gliderlabs/ssh v0.3.5 h1:OcaySEmAQJgyYcArR+gGGTHCyE7nvhEMTlYY+Dp8CpY=
|
||||||
github.com/go-git/gcfg v1.5.0 h1:Q5ViNfGF8zFgyJWPqYwA7qGFoMTEiBmdlkcfRmpIMa4=
|
github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4=
|
||||||
github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E=
|
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI=
|
||||||
github.com/go-git/go-billy/v5 v5.0.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0=
|
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic=
|
||||||
github.com/go-git/go-billy/v5 v5.1.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0=
|
github.com/go-git/go-billy/v5 v5.5.0 h1:yEY4yhzCDuMGSv83oGxiBotRzhwhNr8VZyphhiu+mTU=
|
||||||
github.com/go-git/go-billy/v5 v5.2.0 h1:GcoouCP9J+5slw2uXAocL70z8ml4A8B/H8nEPt6CLPk=
|
github.com/go-git/go-billy/v5 v5.5.0/go.mod h1:hmexnoNsr2SJU1Ju67OaNz5ASJY3+sHgFRpCtpDCKow=
|
||||||
github.com/go-git/go-billy/v5 v5.2.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0=
|
github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4=
|
||||||
github.com/go-git/go-git-fixtures/v4 v4.0.2-0.20200613231340-f56387b50c12 h1:PbKy9zOy4aAKrJ5pibIRpVO2BXnK1Tlcg+caKI7Ox5M=
|
github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII=
|
||||||
github.com/go-git/go-git-fixtures/v4 v4.0.2-0.20200613231340-f56387b50c12/go.mod h1:m+ICp2rF3jDhFgEZ/8yziagdT1C+ZpZcrJjappBCDSw=
|
github.com/go-git/go-git/v5 v5.11.0 h1:XIZc1p+8YzypNr34itUfSvYJcv+eYdTnTvOZ2vD3cA4=
|
||||||
github.com/go-git/go-git/v5 v5.3.0 h1:8WKMtJR2j8RntEXR/uvTKagfEt4GYlwQ7mntE4+0GWc=
|
github.com/go-git/go-git/v5 v5.11.0/go.mod h1:6GFcX2P3NM7FPBfpePbpLd21XxsgdAt+lKqXmCUiUCY=
|
||||||
github.com/go-git/go-git/v5 v5.3.0/go.mod h1:xdX4bWJ48aOrdhnl2XqHYstHbbp6+LFS4r4X+lNVprw=
|
|
||||||
github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY=
|
github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY=
|
||||||
github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
|
github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
|
||||||
github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk=
|
github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk=
|
||||||
github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
|
github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
|
||||||
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
|
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE=
|
||||||
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
|
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
|
||||||
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
|
||||||
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
|
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
||||||
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
|
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
|
||||||
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||||
github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU=
|
|
||||||
github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA=
|
|
||||||
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A=
|
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A=
|
||||||
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo=
|
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo=
|
||||||
github.com/jchv/go-winloader v0.0.0-20210711035445-715c2860da7e h1:Q3+PugElBCf4PFpxhErSzU3/PY5sFL5Z6rfv4AbGAck=
|
github.com/jchv/go-winloader v0.0.0-20210711035445-715c2860da7e h1:Q3+PugElBCf4PFpxhErSzU3/PY5sFL5Z6rfv4AbGAck=
|
||||||
github.com/jchv/go-winloader v0.0.0-20210711035445-715c2860da7e/go.mod h1:alcuEEnZsY1WQsagKhZDsoPCRoOijYqhZvPwLG0kzVs=
|
github.com/jchv/go-winloader v0.0.0-20210711035445-715c2860da7e/go.mod h1:alcuEEnZsY1WQsagKhZDsoPCRoOijYqhZvPwLG0kzVs=
|
||||||
github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4=
|
github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4=
|
||||||
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
|
github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM=
|
||||||
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
|
|
||||||
github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351 h1:DowS9hvgyYSX4TO5NpyC606/Z4SxnNYbT+WX27or6Ck=
|
|
||||||
github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM=
|
|
||||||
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
|
|
||||||
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
||||||
github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI=
|
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
|
||||||
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
|
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
|
||||||
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
||||||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
||||||
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
||||||
@ -63,8 +62,8 @@ github.com/leaanthony/go-ansi-parser v1.6.1 h1:xd8bzARK3dErqkPFtoF9F3/HgN8UQk0ed
|
|||||||
github.com/leaanthony/go-ansi-parser v1.6.1/go.mod h1:+vva/2y4alzVmmIEpk9QDhA7vLC5zKDTRwfZGOp3IWU=
|
github.com/leaanthony/go-ansi-parser v1.6.1/go.mod h1:+vva/2y4alzVmmIEpk9QDhA7vLC5zKDTRwfZGOp3IWU=
|
||||||
github.com/leaanthony/u v1.1.0 h1:2n0d2BwPVXSUq5yhe8lJPHdxevE2qK5G99PMStMZMaI=
|
github.com/leaanthony/u v1.1.0 h1:2n0d2BwPVXSUq5yhe8lJPHdxevE2qK5G99PMStMZMaI=
|
||||||
github.com/leaanthony/u v1.1.0/go.mod h1:9+o6hejoRljvZ3BzdYlVL0JYCwtnAsVuN9pVTQcaRfI=
|
github.com/leaanthony/u v1.1.0/go.mod h1:9+o6hejoRljvZ3BzdYlVL0JYCwtnAsVuN9pVTQcaRfI=
|
||||||
github.com/lmittmann/tint v1.0.0 h1:fzEj70K1L58uyoePQxKe+ezDZJ5pybiWGdA0JeFvvyw=
|
github.com/lmittmann/tint v1.0.3 h1:W5PHeA2D8bBJVvabNfQD/XW9HPLZK1XoPZH0cq8NouQ=
|
||||||
github.com/lmittmann/tint v1.0.0/go.mod h1:HIS3gSy7qNwGCj+5oRjAutErFBl4BzdQP6cJZ0NfMwE=
|
github.com/lmittmann/tint v1.0.3/go.mod h1:HIS3gSy7qNwGCj+5oRjAutErFBl4BzdQP6cJZ0NfMwE=
|
||||||
github.com/matryer/is v1.4.0 h1:sosSmIWwkYITGrxZ25ULNDeKiMNzFSr4V/eqBQP0PeE=
|
github.com/matryer/is v1.4.0 h1:sosSmIWwkYITGrxZ25ULNDeKiMNzFSr4V/eqBQP0PeE=
|
||||||
github.com/matryer/is v1.4.0/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU=
|
github.com/matryer/is v1.4.0/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU=
|
||||||
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
|
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
|
||||||
@ -72,16 +71,12 @@ github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovk
|
|||||||
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
|
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
|
||||||
github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA=
|
github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA=
|
||||||
github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
|
github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
|
||||||
github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
|
github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI=
|
||||||
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
|
github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M=
|
||||||
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 h1:ZqeYNhU3OHLH3mGKHDcjJRFFRrJa6eAM5H+CtDdOsPc=
|
github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4=
|
||||||
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
|
github.com/pjbgf/sha1cd v0.3.0/go.mod h1:nZ1rrWOcGJ5uZgEEVL1VUM9iRQiZvWdbZjkKyFzPPsI=
|
||||||
github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
|
|
||||||
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
|
|
||||||
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
|
|
||||||
github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 h1:KoWmjvw+nsYOo29YJK9vDA65RGE3NrOnUtO7a+RF9HU=
|
github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 h1:KoWmjvw+nsYOo29YJK9vDA65RGE3NrOnUtO7a+RF9HU=
|
||||||
github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI=
|
github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI=
|
||||||
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
|
||||||
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
|
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
|
||||||
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||||
@ -89,66 +84,104 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN
|
|||||||
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
|
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
|
||||||
github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis=
|
github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis=
|
||||||
github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
|
github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
|
||||||
|
github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M=
|
||||||
|
github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA=
|
||||||
github.com/samber/lo v1.38.1 h1:j2XEAqXKb09Am4ebOg31SpvzUTTs6EN3VfgeLUhPdXM=
|
github.com/samber/lo v1.38.1 h1:j2XEAqXKb09Am4ebOg31SpvzUTTs6EN3VfgeLUhPdXM=
|
||||||
github.com/samber/lo v1.38.1/go.mod h1:+m/ZKRl6ClXCE2Lgf3MsQlWfh4bn1bz6CXEOxnEXnEA=
|
github.com/samber/lo v1.38.1/go.mod h1:+m/ZKRl6ClXCE2Lgf3MsQlWfh4bn1bz6CXEOxnEXnEA=
|
||||||
github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM=
|
|
||||||
github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ=
|
github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ=
|
||||||
github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM=
|
github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM=
|
||||||
github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
|
github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
|
||||||
|
github.com/skeema/knownhosts v1.2.1 h1:SHWdIUa82uGZz+F+47k8SY4QhhI291cXCpopT1lK2AQ=
|
||||||
|
github.com/skeema/knownhosts v1.2.1/go.mod h1:xYbVRSPxqBZFrdmDyMmsOs+uX1UZC3nTN3ThzgDxUwo=
|
||||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||||
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
|
||||||
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
||||||
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
|
||||||
github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk=
|
|
||||||
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
|
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
|
||||||
|
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
|
||||||
|
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
|
||||||
github.com/wailsapp/go-webview2 v1.0.9 h1:lrU+q0cf1wgLdR69rN+ZnRtMJNaJRrcQ4ELxoO7/xjs=
|
github.com/wailsapp/go-webview2 v1.0.9 h1:lrU+q0cf1wgLdR69rN+ZnRtMJNaJRrcQ4ELxoO7/xjs=
|
||||||
github.com/wailsapp/go-webview2 v1.0.9/go.mod h1:Uk2BePfCRzttBBjFrBmqKGJd41P6QIHeV9kTgIeOZNo=
|
github.com/wailsapp/go-webview2 v1.0.9/go.mod h1:Uk2BePfCRzttBBjFrBmqKGJd41P6QIHeV9kTgIeOZNo=
|
||||||
github.com/wailsapp/mimetype v1.4.1 h1:pQN9ycO7uo4vsUUuPeHEYoUkLVkaRntMnHJxVwYhwHs=
|
github.com/wailsapp/mimetype v1.4.1 h1:pQN9ycO7uo4vsUUuPeHEYoUkLVkaRntMnHJxVwYhwHs=
|
||||||
github.com/wailsapp/mimetype v1.4.1/go.mod h1:9aV5k31bBOv5z6u+QP8TltzvNGJPmNJD4XlAL3U+j3o=
|
github.com/wailsapp/mimetype v1.4.1/go.mod h1:9aV5k31bBOv5z6u+QP8TltzvNGJPmNJD4XlAL3U+j3o=
|
||||||
github.com/xanzy/ssh-agent v0.3.0 h1:wUMzuKtKilRgBAD1sUb8gOwwRr2FGoBVumcjoOACClI=
|
github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM=
|
||||||
github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0=
|
github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw=
|
||||||
golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
|
||||||
golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
|
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||||
golang.org/x/crypto v0.9.0 h1:LF6fAI+IutBocDJ2OT0Q1g8plpYljMZ4+lty+dsqw3g=
|
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
||||||
golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0=
|
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||||
|
golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
|
||||||
|
golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
|
||||||
|
golang.org/x/crypto v0.19.0 h1:ENy+Az/9Y1vSrlrvBSyna3PITt4tiZLf7sgCjZBX7Wo=
|
||||||
|
golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
|
||||||
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df h1:UA2aFVmmsIlefxMk29Dp2juaUSth8Pyn3Tq5Y5mJGME=
|
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df h1:UA2aFVmmsIlefxMk29Dp2juaUSth8Pyn3Tq5Y5mJGME=
|
||||||
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc=
|
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc=
|
||||||
|
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
|
||||||
|
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
|
||||||
|
golang.org/x/mod v0.12.0 h1:rmsUpXtvNzj340zd98LZ4KntptpfRHwpFOHG188oHXc=
|
||||||
|
golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
|
||||||
|
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||||
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
||||||
golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k=
|
|
||||||
golang.org/x/net v0.0.0-20210505024714-0287a6fb4125/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
golang.org/x/net v0.0.0-20210505024714-0287a6fb4125/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||||
golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M=
|
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||||
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
|
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
|
||||||
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
|
||||||
golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
|
||||||
|
golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
|
||||||
|
golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c=
|
||||||
|
golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U=
|
||||||
|
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
|
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
|
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
|
golang.org/x/sync v0.4.0 h1:zxkM55ReGkDlKSM+Fu41A+zmbZuaPVbGMzvvdUPznYQ=
|
||||||
|
golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
|
||||||
|
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20200810151505-1b9f1253b3ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20200810151505-1b9f1253b3ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
|
||||||
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
|
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.0.0-20210616045830-e2b7044e8c71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20210616045830-e2b7044e8c71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
|
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
|
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
|
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
|
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
|
golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
|
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE=
|
golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y=
|
||||||
golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||||
golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek=
|
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
||||||
golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U=
|
golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
|
||||||
|
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
|
||||||
|
golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U=
|
||||||
|
golang.org/x/term v0.17.0 h1:mkTF7LCd6WGJNL3K1Ad7kwxNfYAW6a8a8QqtMblp/4U=
|
||||||
|
golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk=
|
||||||
|
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||||
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||||
golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE=
|
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
|
||||||
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
|
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
|
||||||
|
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
|
||||||
|
golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
|
||||||
|
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
|
||||||
|
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
|
||||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||||
|
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||||
|
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
|
||||||
|
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
|
||||||
|
golang.org/x/tools v0.13.0 h1:Iey4qkscZuv0VvIt8E0neZjtPVQFSc870HQ448QgEmQ=
|
||||||
|
golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58=
|
||||||
|
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
|
||||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
|
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
|
||||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
|
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
|
||||||
gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME=
|
gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME=
|
||||||
gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI=
|
gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI=
|
||||||
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||||
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||||
gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||||
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
|
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||||
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
|
|
||||||
|
@ -24,7 +24,7 @@ func main() {
|
|||||||
ApplicationShouldTerminateAfterLastWindowClosed: false,
|
ApplicationShouldTerminateAfterLastWindowClosed: false,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
app.On(events.Mac.ApplicationDidFinishLaunching, func(event *application.Event) {
|
app.On(events.Common.ApplicationStarted, func(event *application.Event) {
|
||||||
log.Println("ApplicationDidFinishLaunching")
|
log.Println("ApplicationDidFinishLaunching")
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -154,7 +154,8 @@ func main() {
|
|||||||
}).Show()
|
}).Show()
|
||||||
windowCounter++
|
windowCounter++
|
||||||
})
|
})
|
||||||
myMenu.Add("New WebviewWindow (ignores mouse events").
|
if runtime.GOOS != "linux" {
|
||||||
|
myMenu.Add("New WebviewWindow (ignores mouse events)").
|
||||||
SetAccelerator("CmdOrCtrl+F").
|
SetAccelerator("CmdOrCtrl+F").
|
||||||
OnClick(func(ctx *application.Context) {
|
OnClick(func(ctx *application.Context) {
|
||||||
app.NewWebviewWindowWithOptions(application.WebviewWindowOptions{
|
app.NewWebviewWindowWithOptions(application.WebviewWindowOptions{
|
||||||
@ -169,6 +170,7 @@ func main() {
|
|||||||
}).Show()
|
}).Show()
|
||||||
windowCounter++
|
windowCounter++
|
||||||
})
|
})
|
||||||
|
}
|
||||||
if runtime.GOOS == "darwin" {
|
if runtime.GOOS == "darwin" {
|
||||||
myMenu.Add("New WebviewWindow (MacTitleBarHiddenInset)").
|
myMenu.Add("New WebviewWindow (MacTitleBarHiddenInset)").
|
||||||
OnClick(func(ctx *application.Context) {
|
OnClick(func(ctx *application.Context) {
|
||||||
@ -437,12 +439,19 @@ func main() {
|
|||||||
w.SetEnabled(true)
|
w.SetEnabled(true)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
stateMenu.Add("Open Dev Tools").OnClick(func(ctx *application.Context) {
|
||||||
|
currentWindow(func(w *application.WebviewWindow) {
|
||||||
|
w.OpenDevTools()
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
if runtime.GOOS == "windows" {
|
if runtime.GOOS != "darwin" {
|
||||||
stateMenu.Add("Flash Start").OnClick(func(ctx *application.Context) {
|
stateMenu.Add("Flash for 5s").OnClick(func(ctx *application.Context) {
|
||||||
currentWindow(func(w *application.WebviewWindow) {
|
currentWindow(func(w *application.WebviewWindow) {
|
||||||
time.Sleep(2 * time.Second)
|
time.Sleep(2 * time.Second)
|
||||||
w.Flash(true)
|
w.Flash(true)
|
||||||
|
time.Sleep(5 * time.Second)
|
||||||
|
w.Flash(false)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -36,7 +36,7 @@ require (
|
|||||||
github.com/tc-hib/winres v0.1.6
|
github.com/tc-hib/winres v0.1.6
|
||||||
github.com/wailsapp/go-webview2 v1.0.9
|
github.com/wailsapp/go-webview2 v1.0.9
|
||||||
github.com/wailsapp/mimetype v1.4.1
|
github.com/wailsapp/mimetype v1.4.1
|
||||||
golang.org/x/sys v0.15.0
|
golang.org/x/sys v0.17.0
|
||||||
modernc.org/sqlite v1.21.0
|
modernc.org/sqlite v1.21.0
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -90,14 +90,14 @@ require (
|
|||||||
github.com/xanzy/ssh-agent v0.3.3 // indirect
|
github.com/xanzy/ssh-agent v0.3.3 // indirect
|
||||||
github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778 // indirect
|
github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778 // indirect
|
||||||
github.com/zeebo/xxh3 v1.0.2 // indirect
|
github.com/zeebo/xxh3 v1.0.2 // indirect
|
||||||
golang.org/x/crypto v0.16.0 // indirect
|
golang.org/x/crypto v0.19.0 // indirect
|
||||||
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df // indirect
|
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df // indirect
|
||||||
golang.org/x/image v0.5.0 // indirect
|
golang.org/x/image v0.15.0 // indirect
|
||||||
golang.org/x/mod v0.12.0 // indirect
|
golang.org/x/mod v0.12.0 // indirect
|
||||||
golang.org/x/net v0.19.0 // indirect
|
golang.org/x/net v0.19.0 // indirect
|
||||||
golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43 // indirect
|
golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43 // indirect
|
||||||
golang.org/x/sync v0.4.0 // indirect
|
golang.org/x/sync v0.4.0 // indirect
|
||||||
golang.org/x/term v0.15.0 // indirect
|
golang.org/x/term v0.17.0 // indirect
|
||||||
golang.org/x/text v0.14.0 // indirect
|
golang.org/x/text v0.14.0 // indirect
|
||||||
golang.org/x/tools v0.13.0 // indirect
|
golang.org/x/tools v0.13.0 // indirect
|
||||||
google.golang.org/appengine v1.6.6 // indirect
|
google.golang.org/appengine v1.6.6 // indirect
|
||||||
|
@ -390,6 +390,8 @@ golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2Uz
|
|||||||
golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
|
golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
|
||||||
golang.org/x/crypto v0.16.0 h1:mMMrFzRSCF0GvB7Ne27XVtVAaXLrPmgPC7/v0tkwHaY=
|
golang.org/x/crypto v0.16.0 h1:mMMrFzRSCF0GvB7Ne27XVtVAaXLrPmgPC7/v0tkwHaY=
|
||||||
golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
|
golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
|
||||||
|
golang.org/x/crypto v0.19.0 h1:ENy+Az/9Y1vSrlrvBSyna3PITt4tiZLf7sgCjZBX7Wo=
|
||||||
|
golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
|
||||||
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
|
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
|
||||||
@ -408,6 +410,8 @@ golang.org/x/image v0.0.0-20200430140353-33d19683fad8/go.mod h1:FeLwcggjj3mMvU+o
|
|||||||
golang.org/x/image v0.0.0-20201208152932-35266b937fa6/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
golang.org/x/image v0.0.0-20201208152932-35266b937fa6/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
||||||
golang.org/x/image v0.5.0 h1:5JMiNunQeQw++mMOz48/ISeNu3Iweh/JaZU8ZLqHRrI=
|
golang.org/x/image v0.5.0 h1:5JMiNunQeQw++mMOz48/ISeNu3Iweh/JaZU8ZLqHRrI=
|
||||||
golang.org/x/image v0.5.0/go.mod h1:FVC7BI/5Ym8R25iw5OLsgshdUBbT1h5jZTpA+mvAdZ4=
|
golang.org/x/image v0.5.0/go.mod h1:FVC7BI/5Ym8R25iw5OLsgshdUBbT1h5jZTpA+mvAdZ4=
|
||||||
|
golang.org/x/image v0.15.0 h1:kOELfmgrmJlw4Cdb7g/QGuB3CvDrXbqEIww/pNtNBm8=
|
||||||
|
golang.org/x/image v0.15.0/go.mod h1:HUYqC05R2ZcZ3ejNQsIHQDQiwWM4JBqmm6MKANTp4LE=
|
||||||
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
||||||
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
|
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
|
||||||
golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
||||||
@ -534,6 +538,8 @@ golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
|||||||
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc=
|
golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc=
|
||||||
golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||||
|
golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y=
|
||||||
|
golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||||
golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||||
golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
||||||
@ -543,6 +549,8 @@ golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
|
|||||||
golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U=
|
golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U=
|
||||||
golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4=
|
golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4=
|
||||||
golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0=
|
golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0=
|
||||||
|
golang.org/x/term v0.17.0 h1:mkTF7LCd6WGJNL3K1Ad7kwxNfYAW6a8a8QqtMblp/4U=
|
||||||
|
golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk=
|
||||||
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
//go:build linux && (webkit2_36 || webkit2_40)
|
//go:build linux
|
||||||
|
|
||||||
package webview
|
package webview
|
||||||
|
|
||||||
@ -12,11 +12,15 @@ package webview
|
|||||||
import "C"
|
import "C"
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
|
"io"
|
||||||
"net/http"
|
"net/http"
|
||||||
"strings"
|
"strings"
|
||||||
"unsafe"
|
"unsafe"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const Webkit2MinMinorVersion = 40
|
||||||
|
|
||||||
func webkit_uri_scheme_request_get_http_method(req *C.WebKitURISchemeRequest) string {
|
func webkit_uri_scheme_request_get_http_method(req *C.WebKitURISchemeRequest) string {
|
||||||
method := C.GoString(C.webkit_uri_scheme_request_get_http_method(req))
|
method := C.GoString(C.webkit_uri_scheme_request_get_http_method(req))
|
||||||
return strings.ToUpper(method)
|
return strings.ToUpper(method)
|
||||||
@ -67,3 +71,67 @@ func webkit_uri_scheme_request_finish(req *C.WebKitURISchemeRequest, code int, h
|
|||||||
C.webkit_uri_scheme_request_finish_with_response(req, resp)
|
C.webkit_uri_scheme_request_finish_with_response(req, resp)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func webkit_uri_scheme_request_get_http_body(req *C.WebKitURISchemeRequest) io.ReadCloser {
|
||||||
|
stream := C.webkit_uri_scheme_request_get_http_body(req)
|
||||||
|
if stream == nil {
|
||||||
|
return http.NoBody
|
||||||
|
}
|
||||||
|
return &webkitRequestBody{stream: stream}
|
||||||
|
}
|
||||||
|
|
||||||
|
type webkitRequestBody struct {
|
||||||
|
stream *C.GInputStream
|
||||||
|
closed bool
|
||||||
|
}
|
||||||
|
|
||||||
|
// Read implements io.Reader
|
||||||
|
func (r *webkitRequestBody) Read(p []byte) (int, error) {
|
||||||
|
if r.closed {
|
||||||
|
return 0, io.ErrClosedPipe
|
||||||
|
}
|
||||||
|
|
||||||
|
var content unsafe.Pointer
|
||||||
|
var contentLen int
|
||||||
|
if p != nil {
|
||||||
|
content = unsafe.Pointer(&p[0])
|
||||||
|
contentLen = len(p)
|
||||||
|
}
|
||||||
|
|
||||||
|
var n C.gsize
|
||||||
|
var gErr *C.GError
|
||||||
|
res := C.g_input_stream_read_all(r.stream, content, C.gsize(contentLen), &n, nil, &gErr)
|
||||||
|
if res == 0 {
|
||||||
|
return 0, formatGError("stream read failed", gErr)
|
||||||
|
} else if n == 0 {
|
||||||
|
return 0, io.EOF
|
||||||
|
}
|
||||||
|
return int(n), nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (r *webkitRequestBody) Close() error {
|
||||||
|
if r.closed {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
r.closed = true
|
||||||
|
|
||||||
|
// https://docs.gtk.org/gio/method.InputStream.close.html
|
||||||
|
// Streams will be automatically closed when the last reference is dropped, but you might want to call this function
|
||||||
|
// to make sure resources are released as early as possible.
|
||||||
|
var err error
|
||||||
|
var gErr *C.GError
|
||||||
|
if C.g_input_stream_close(r.stream, nil, &gErr) == 0 {
|
||||||
|
err = formatGError("stream close failed", gErr)
|
||||||
|
}
|
||||||
|
C.g_object_unref(C.gpointer(r.stream))
|
||||||
|
r.stream = nil
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
func formatGError(msg string, gErr *C.GError, args ...any) error {
|
||||||
|
if gErr != nil && gErr.message != nil {
|
||||||
|
msg += ": " + C.GoString(gErr.message)
|
||||||
|
C.g_error_free(gErr)
|
||||||
|
}
|
||||||
|
return fmt.Errorf(msg, args...)
|
||||||
|
}
|
@ -1,21 +0,0 @@
|
|||||||
//go:build linux && webkit2_36
|
|
||||||
|
|
||||||
package webview
|
|
||||||
|
|
||||||
/*
|
|
||||||
#cgo linux pkg-config: webkit2gtk-4.0
|
|
||||||
|
|
||||||
#include "webkit2/webkit2.h"
|
|
||||||
*/
|
|
||||||
import "C"
|
|
||||||
|
|
||||||
import (
|
|
||||||
"io"
|
|
||||||
"net/http"
|
|
||||||
)
|
|
||||||
|
|
||||||
const Webkit2MinMinorVersion = 36
|
|
||||||
|
|
||||||
func webkit_uri_scheme_request_get_http_body(_ *C.WebKitURISchemeRequest) io.ReadCloser {
|
|
||||||
return http.NoBody
|
|
||||||
}
|
|
@ -1,83 +0,0 @@
|
|||||||
//go:build linux && webkit2_40
|
|
||||||
|
|
||||||
package webview
|
|
||||||
|
|
||||||
/*
|
|
||||||
#cgo linux pkg-config: gtk+-3.0 webkit2gtk-4.0 gio-unix-2.0
|
|
||||||
|
|
||||||
#include "gtk/gtk.h"
|
|
||||||
#include "webkit2/webkit2.h"
|
|
||||||
#include "gio/gunixinputstream.h"
|
|
||||||
*/
|
|
||||||
import "C"
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"io"
|
|
||||||
"net/http"
|
|
||||||
"unsafe"
|
|
||||||
)
|
|
||||||
|
|
||||||
func webkit_uri_scheme_request_get_http_body(req *C.WebKitURISchemeRequest) io.ReadCloser {
|
|
||||||
stream := C.webkit_uri_scheme_request_get_http_body(req)
|
|
||||||
if stream == nil {
|
|
||||||
return http.NoBody
|
|
||||||
}
|
|
||||||
return &webkitRequestBody{stream: stream}
|
|
||||||
}
|
|
||||||
|
|
||||||
type webkitRequestBody struct {
|
|
||||||
stream *C.GInputStream
|
|
||||||
closed bool
|
|
||||||
}
|
|
||||||
|
|
||||||
// Read implements io.Reader
|
|
||||||
func (r *webkitRequestBody) Read(p []byte) (int, error) {
|
|
||||||
if r.closed {
|
|
||||||
return 0, io.ErrClosedPipe
|
|
||||||
}
|
|
||||||
|
|
||||||
var content unsafe.Pointer
|
|
||||||
var contentLen int
|
|
||||||
if p != nil {
|
|
||||||
content = unsafe.Pointer(&p[0])
|
|
||||||
contentLen = len(p)
|
|
||||||
}
|
|
||||||
|
|
||||||
var n C.gsize
|
|
||||||
var gErr *C.GError
|
|
||||||
res := C.g_input_stream_read_all(r.stream, content, C.gsize(contentLen), &n, nil, &gErr)
|
|
||||||
if res == 0 {
|
|
||||||
return 0, formatGError("stream read failed", gErr)
|
|
||||||
} else if n == 0 {
|
|
||||||
return 0, io.EOF
|
|
||||||
}
|
|
||||||
return int(n), nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (r *webkitRequestBody) Close() error {
|
|
||||||
if r.closed {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
r.closed = true
|
|
||||||
|
|
||||||
// https://docs.gtk.org/gio/method.InputStream.close.html
|
|
||||||
// Streams will be automatically closed when the last reference is dropped, but you might want to call this function
|
|
||||||
// to make sure resources are released as early as possible.
|
|
||||||
var err error
|
|
||||||
var gErr *C.GError
|
|
||||||
if C.g_input_stream_close(r.stream, nil, &gErr) == 0 {
|
|
||||||
err = formatGError("stream close failed", gErr)
|
|
||||||
}
|
|
||||||
C.g_object_unref(C.gpointer(r.stream))
|
|
||||||
r.stream = nil
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
func formatGError(msg string, gErr *C.GError, args ...any) error {
|
|
||||||
if gErr != nil && gErr.message != nil {
|
|
||||||
msg += ": " + C.GoString(gErr.message)
|
|
||||||
C.g_error_free(gErr)
|
|
||||||
}
|
|
||||||
return fmt.Errorf(msg, args...)
|
|
||||||
}
|
|
@ -1,74 +0,0 @@
|
|||||||
//go:build linux && webkit2_40 && purego
|
|
||||||
|
|
||||||
package webview
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"io"
|
|
||||||
"net/http"
|
|
||||||
"unsafe"
|
|
||||||
)
|
|
||||||
|
|
||||||
func webkit_uri_scheme_request_get_http_body(req *C.WebKitURISchemeRequest) io.ReadCloser {
|
|
||||||
stream := C.webkit_uri_scheme_request_get_http_body(req)
|
|
||||||
if stream == nil {
|
|
||||||
return http.NoBody
|
|
||||||
}
|
|
||||||
return &webkitRequestBody{stream: stream}
|
|
||||||
}
|
|
||||||
|
|
||||||
type webkitRequestBody struct {
|
|
||||||
stream *C.GInputStream
|
|
||||||
closed bool
|
|
||||||
}
|
|
||||||
|
|
||||||
// Read implements io.Reader
|
|
||||||
func (r *webkitRequestBody) Read(p []byte) (int, error) {
|
|
||||||
if r.closed {
|
|
||||||
return 0, io.ErrClosedPipe
|
|
||||||
}
|
|
||||||
|
|
||||||
var content unsafe.Pointer
|
|
||||||
var contentLen int
|
|
||||||
if p != nil {
|
|
||||||
content = unsafe.Pointer(&p[0])
|
|
||||||
contentLen = len(p)
|
|
||||||
}
|
|
||||||
|
|
||||||
var n C.gsize
|
|
||||||
var gErr *C.GError
|
|
||||||
res := C.g_input_stream_read_all(r.stream, content, C.gsize(contentLen), &n, nil, &gErr)
|
|
||||||
if res == 0 {
|
|
||||||
return 0, formatGError("stream read failed", gErr)
|
|
||||||
} else if n == 0 {
|
|
||||||
return 0, io.EOF
|
|
||||||
}
|
|
||||||
return int(n), nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (r *webkitRequestBody) Close() error {
|
|
||||||
if r.closed {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
r.closed = true
|
|
||||||
|
|
||||||
// https://docs.gtk.org/gio/method.InputStream.close.html
|
|
||||||
// Streams will be automatically closed when the last reference is dropped, but you might want to call this function
|
|
||||||
// to make sure resources are released as early as possible.
|
|
||||||
var err error
|
|
||||||
var gErr *C.GError
|
|
||||||
if C.g_input_stream_close(r.stream, nil, &gErr) == 0 {
|
|
||||||
err = formatGError("stream close failed", gErr)
|
|
||||||
}
|
|
||||||
C.g_object_unref(C.gpointer(r.stream))
|
|
||||||
r.stream = nil
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
func formatGError(msg string, gErr *C.GError, args ...any) error {
|
|
||||||
if gErr != nil && gErr.message != nil {
|
|
||||||
msg += ": " + C.GoString(gErr.message)
|
|
||||||
C.g_error_free(gErr)
|
|
||||||
}
|
|
||||||
return fmt.Errorf(msg, args...)
|
|
||||||
}
|
|
@ -1,5 +0,0 @@
|
|||||||
//go:build linux && webkit2_40
|
|
||||||
|
|
||||||
package webview
|
|
||||||
|
|
||||||
const Webkit2MinMinorVersion = 40
|
|
@ -1,48 +0,0 @@
|
|||||||
//go:build linux && !(webkit2_36 || webkit2_40)
|
|
||||||
|
|
||||||
package webview
|
|
||||||
|
|
||||||
/*
|
|
||||||
#cgo linux pkg-config: gtk+-3.0 webkit2gtk-4.0
|
|
||||||
|
|
||||||
#include "gtk/gtk.h"
|
|
||||||
#include "webkit2/webkit2.h"
|
|
||||||
*/
|
|
||||||
import "C"
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"io"
|
|
||||||
"net/http"
|
|
||||||
"unsafe"
|
|
||||||
)
|
|
||||||
|
|
||||||
const Webkit2MinMinorVersion = 0
|
|
||||||
|
|
||||||
func webkit_uri_scheme_request_get_http_method(_ *C.WebKitURISchemeRequest) string {
|
|
||||||
return http.MethodGet
|
|
||||||
}
|
|
||||||
|
|
||||||
func webkit_uri_scheme_request_get_http_headers(_ *C.WebKitURISchemeRequest) http.Header {
|
|
||||||
// Fake some basic default headers that are needed if e.g. request are being proxied to the an external sever, like
|
|
||||||
// we do in the devserver.
|
|
||||||
h := http.Header{}
|
|
||||||
h.Add("Accept", "*/*")
|
|
||||||
h.Add("User-Agent", "wails.io/605.1.15")
|
|
||||||
return h
|
|
||||||
}
|
|
||||||
|
|
||||||
func webkit_uri_scheme_request_get_http_body(_ *C.WebKitURISchemeRequest) io.ReadCloser {
|
|
||||||
return http.NoBody
|
|
||||||
}
|
|
||||||
|
|
||||||
func webkit_uri_scheme_request_finish(req *C.WebKitURISchemeRequest, code int, header http.Header, stream *C.GInputStream, streamLength int64) error {
|
|
||||||
if code != http.StatusOK {
|
|
||||||
return fmt.Errorf("StatusCodes not supported: %d - %s", code, http.StatusText(code))
|
|
||||||
}
|
|
||||||
|
|
||||||
cMimeType := C.CString(header.Get(HeaderContentType))
|
|
||||||
C.webkit_uri_scheme_request_finish(req, stream, C.gint64(streamLength), cMimeType)
|
|
||||||
C.free(unsafe.Pointer(cMimeType))
|
|
||||||
return nil
|
|
||||||
}
|
|
@ -1,36 +0,0 @@
|
|||||||
//go:build linux && !(webkit2_36 || webkit2_40) && purego
|
|
||||||
|
|
||||||
package webview
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"io"
|
|
||||||
"net/http"
|
|
||||||
|
|
||||||
"github.com/ebitengine/purego"
|
|
||||||
)
|
|
||||||
|
|
||||||
const Webkit2MinMinorVersion = 0
|
|
||||||
|
|
||||||
func webkit_uri_scheme_request_get_http_method(_ uintptr) string {
|
|
||||||
return http.MethodGet
|
|
||||||
}
|
|
||||||
|
|
||||||
func webkit_uri_scheme_request_get_http_headers(_ uintptr) http.Header {
|
|
||||||
return http.Header{}
|
|
||||||
}
|
|
||||||
|
|
||||||
func webkit_uri_scheme_request_get_http_body(_ uintptr) io.ReadCloser {
|
|
||||||
return http.NoBody
|
|
||||||
}
|
|
||||||
|
|
||||||
func webkit_uri_scheme_request_finish(req uintptr, code int, header http.Header, stream uintptr, streamLength int64) error {
|
|
||||||
if code != http.StatusOK {
|
|
||||||
return fmt.Errorf("StatusCodes not supported: %d - %s", code, http.StatusText(code))
|
|
||||||
}
|
|
||||||
|
|
||||||
var requestFinish func(uintptr, uintptr, int64, string)
|
|
||||||
purego.RegisterLibFunc(&requestFinish, webkit, "webkit_uri_scheme_request_finish")
|
|
||||||
requestFinish(req, stream, streamLength, header.Get(HeaderContentType))
|
|
||||||
return nil
|
|
||||||
}
|
|
@ -1,4 +1,4 @@
|
|||||||
//go:build linux && (webkit2_36 || webkit2_40) && purego
|
//go:build linux && purego
|
||||||
|
|
||||||
package webview
|
package webview
|
||||||
|
|
||||||
@ -92,3 +92,67 @@ func webkit_uri_scheme_request_finish(req uintptr, code int, header http.Header,
|
|||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func webkit_uri_scheme_request_get_http_body(req *C.WebKitURISchemeRequest) io.ReadCloser {
|
||||||
|
stream := C.webkit_uri_scheme_request_get_http_body(req)
|
||||||
|
if stream == nil {
|
||||||
|
return http.NoBody
|
||||||
|
}
|
||||||
|
return &webkitRequestBody{stream: stream}
|
||||||
|
}
|
||||||
|
|
||||||
|
type webkitRequestBody struct {
|
||||||
|
stream *C.GInputStream
|
||||||
|
closed bool
|
||||||
|
}
|
||||||
|
|
||||||
|
// Read implements io.Reader
|
||||||
|
func (r *webkitRequestBody) Read(p []byte) (int, error) {
|
||||||
|
if r.closed {
|
||||||
|
return 0, io.ErrClosedPipe
|
||||||
|
}
|
||||||
|
|
||||||
|
var content unsafe.Pointer
|
||||||
|
var contentLen int
|
||||||
|
if p != nil {
|
||||||
|
content = unsafe.Pointer(&p[0])
|
||||||
|
contentLen = len(p)
|
||||||
|
}
|
||||||
|
|
||||||
|
var n C.gsize
|
||||||
|
var gErr *C.GError
|
||||||
|
res := C.g_input_stream_read_all(r.stream, content, C.gsize(contentLen), &n, nil, &gErr)
|
||||||
|
if res == 0 {
|
||||||
|
return 0, formatGError("stream read failed", gErr)
|
||||||
|
} else if n == 0 {
|
||||||
|
return 0, io.EOF
|
||||||
|
}
|
||||||
|
return int(n), nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (r *webkitRequestBody) Close() error {
|
||||||
|
if r.closed {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
r.closed = true
|
||||||
|
|
||||||
|
// https://docs.gtk.org/gio/method.InputStream.close.html
|
||||||
|
// Streams will be automatically closed when the last reference is dropped, but you might want to call this function
|
||||||
|
// to make sure resources are released as early as possible.
|
||||||
|
var err error
|
||||||
|
var gErr *C.GError
|
||||||
|
if C.g_input_stream_close(r.stream, nil, &gErr) == 0 {
|
||||||
|
err = formatGError("stream close failed", gErr)
|
||||||
|
}
|
||||||
|
C.g_object_unref(C.gpointer(r.stream))
|
||||||
|
r.stream = nil
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
func formatGError(msg string, gErr *C.GError, args ...any) error {
|
||||||
|
if gErr != nil && gErr.message != nil {
|
||||||
|
msg += ": " + C.GoString(gErr.message)
|
||||||
|
C.g_error_free(gErr)
|
||||||
|
}
|
||||||
|
return fmt.Errorf(msg, args...)
|
||||||
|
}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,7 +1,7 @@
|
|||||||
package operatingsystem
|
package operatingsystem
|
||||||
|
|
||||||
/*
|
/*
|
||||||
#cgo linux pkg-config: gtk+-3.0 webkit2gtk-4.0 javascriptcoregtk-4.1
|
#cgo linux pkg-config: gtk+-3.0 webkit2gtk-4.0
|
||||||
#include <webkit2/webkit2.h>
|
#include <webkit2/webkit2.h>
|
||||||
*/
|
*/
|
||||||
import "C"
|
import "C"
|
||||||
|
@ -38,8 +38,10 @@ tasks:
|
|||||||
- cmd: wails3 tool cp ../commands/build_assets/runtime/runtime.js ../../examples/binding/assets/runtime.js
|
- cmd: wails3 tool cp ../commands/build_assets/runtime/runtime.js ../../examples/binding/assets/runtime.js
|
||||||
- cmd: wails3 tool cp ../commands/build_assets/runtime/runtime.js ../../examples/frameless/assets/runtime.js
|
- cmd: wails3 tool cp ../commands/build_assets/runtime/runtime.js ../../examples/frameless/assets/runtime.js
|
||||||
- cmd: wails3 tool cp ../commands/build_assets/runtime/runtime.js ../../examples/window-api/assets/runtime.js
|
- cmd: wails3 tool cp ../commands/build_assets/runtime/runtime.js ../../examples/window-api/assets/runtime.js
|
||||||
|
- cmd: wails3 tool cp ../commands/build_assets/runtime/runtime.js ../../examples/contextmenus/assets/runtime.js
|
||||||
- cmd: wails3 tool cp ../commands/build_assets/runtime/runtime.js ../../examples/wml/assets/runtime.js
|
- cmd: wails3 tool cp ../commands/build_assets/runtime/runtime.js ../../examples/wml/assets/runtime.js
|
||||||
- cmd: wails3 tool cp ../commands/build_assets/runtime/runtime.js ../../internal/commands/build_assets/runtime/runtime.js
|
- cmd: wails3 tool cp ../commands/build_assets/runtime/runtime.js ../../internal/commands/build_assets/runtime/runtime.js
|
||||||
|
- cmd: wails3 tool cp ../commands/build_assets/runtime/runtime.js ../../examples/screen/assets/runtime.js
|
||||||
- cmd: wails3 tool cp ../commands/build_assets/runtime/runtime.js ../../pkg/application/assets/alpha/runtime.js
|
- cmd: wails3 tool cp ../commands/build_assets/runtime/runtime.js ../../pkg/application/assets/alpha/runtime.js
|
||||||
- cmd: echo "Build Complete."
|
- cmd: echo "Build Complete."
|
||||||
|
|
||||||
|
@ -155,6 +155,11 @@ export const EventTypes = {
|
|||||||
},
|
},
|
||||||
Linux: {
|
Linux: {
|
||||||
SystemThemeChanged: "linux:SystemThemeChanged",
|
SystemThemeChanged: "linux:SystemThemeChanged",
|
||||||
|
WindowLoadChanged: "linux:WindowLoadChanged",
|
||||||
|
WindowDeleteEvent: "linux:WindowDeleteEvent",
|
||||||
|
WindowFocusIn: "linux:WindowFocusIn",
|
||||||
|
WindowFocusOut: "linux:WindowFocusOut",
|
||||||
|
ApplicationStartup: "linux:ApplicationStartup",
|
||||||
},
|
},
|
||||||
Common: {
|
Common: {
|
||||||
ApplicationStarted: "common:ApplicationStarted",
|
ApplicationStarted: "common:ApplicationStarted",
|
||||||
|
@ -155,6 +155,11 @@ export declare const EventTypes: {
|
|||||||
},
|
},
|
||||||
Linux: {
|
Linux: {
|
||||||
SystemThemeChanged: string,
|
SystemThemeChanged: string,
|
||||||
|
WindowLoadChanged: string,
|
||||||
|
WindowDeleteEvent: string,
|
||||||
|
WindowFocusIn: string,
|
||||||
|
WindowFocusOut: string,
|
||||||
|
ApplicationStartup: string,
|
||||||
},
|
},
|
||||||
Common: {
|
Common: {
|
||||||
ApplicationStarted: string,
|
ApplicationStarted: string,
|
||||||
|
@ -4,7 +4,6 @@
|
|||||||
extern bool hasListeners(unsigned int);
|
extern bool hasListeners(unsigned int);
|
||||||
extern bool shouldQuitApplication();
|
extern bool shouldQuitApplication();
|
||||||
extern void cleanup();
|
extern void cleanup();
|
||||||
|
|
||||||
@implementation AppDelegate
|
@implementation AppDelegate
|
||||||
- (void)dealloc
|
- (void)dealloc
|
||||||
{
|
{
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
package application
|
package application
|
||||||
|
|
||||||
|
import "C"
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"log"
|
"log"
|
||||||
@ -22,19 +23,18 @@ func init() {
|
|||||||
|
|
||||||
type linuxApp struct {
|
type linuxApp struct {
|
||||||
application pointer
|
application pointer
|
||||||
applicationMenu pointer
|
|
||||||
parent *App
|
parent *App
|
||||||
|
|
||||||
startupActions []func()
|
startupActions []func()
|
||||||
|
|
||||||
// Native -> uint
|
// Native -> uint
|
||||||
windows map[windowPointer]uint
|
windowMap map[windowPointer]uint
|
||||||
windowsLock sync.Mutex
|
windowMapLock sync.Mutex
|
||||||
|
|
||||||
theme string
|
theme string
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *linuxApp) GetFlags(options Options) map[string]any {
|
func (a *linuxApp) GetFlags(options Options) map[string]any {
|
||||||
if options.Flags == nil {
|
if options.Flags == nil {
|
||||||
options.Flags = make(map[string]any)
|
options.Flags = make(map[string]any)
|
||||||
}
|
}
|
||||||
@ -45,32 +45,27 @@ func getNativeApplication() *linuxApp {
|
|||||||
return globalApplication.impl.(*linuxApp)
|
return globalApplication.impl.(*linuxApp)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *linuxApp) hide() {
|
func (a *linuxApp) hide() {
|
||||||
hideAllWindows(m.application)
|
a.hideAllWindows()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *linuxApp) show() {
|
func (a *linuxApp) show() {
|
||||||
showAllWindows(m.application)
|
a.showAllWindows()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *linuxApp) on(eventID uint) {
|
func (a *linuxApp) on(eventID uint) {
|
||||||
// TODO: What do we need to do here?
|
// TODO: Test register/unregister events
|
||||||
log.Println("linuxApp.on()", eventID)
|
//C.registerApplicationEvent(l.application, C.uint(eventID))
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *linuxApp) setIcon(icon []byte) {
|
func (a *linuxApp) setIcon(icon []byte) {
|
||||||
|
|
||||||
log.Println("linuxApp.setIcon", "not implemented")
|
log.Println("linuxApp.setIcon", "not implemented")
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *linuxApp) name() string {
|
func (a *linuxApp) name() string {
|
||||||
return appName()
|
return appName()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *linuxApp) getCurrentWindowID() uint {
|
|
||||||
return getCurrentWindowID(m.application, m.windows)
|
|
||||||
}
|
|
||||||
|
|
||||||
type rnr struct {
|
type rnr struct {
|
||||||
f func()
|
f func()
|
||||||
}
|
}
|
||||||
@ -79,22 +74,7 @@ func (r rnr) run() {
|
|||||||
r.f()
|
r.f()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *linuxApp) getApplicationMenu() pointer {
|
func (a *linuxApp) setApplicationMenu(menu *Menu) {
|
||||||
if m.applicationMenu != nilPointer {
|
|
||||||
return m.applicationMenu
|
|
||||||
}
|
|
||||||
|
|
||||||
menu := globalApplication.ApplicationMenu
|
|
||||||
if menu != nil {
|
|
||||||
InvokeSync(func() {
|
|
||||||
menu.Update()
|
|
||||||
})
|
|
||||||
m.applicationMenu = (menu.impl).(*linuxMenu).native
|
|
||||||
}
|
|
||||||
return m.applicationMenu
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *linuxApp) setApplicationMenu(menu *Menu) {
|
|
||||||
// FIXME: How do we avoid putting a menu?
|
// FIXME: How do we avoid putting a menu?
|
||||||
if menu == nil {
|
if menu == nil {
|
||||||
// Create a default menu
|
// Create a default menu
|
||||||
@ -103,46 +83,55 @@ func (m *linuxApp) setApplicationMenu(menu *Menu) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *linuxApp) run() error {
|
func (a *linuxApp) run() error {
|
||||||
|
|
||||||
// Add a hook to the ApplicationDidFinishLaunching event
|
a.parent.On(events.Linux.ApplicationStartup, func(evt *Event) {
|
||||||
// FIXME: add Wails specific events - i.e. Shouldn't platform specific ones be translated to Wails events?
|
fmt.Println("events.Linux.ApplicationStartup received!")
|
||||||
m.parent.On(events.Mac.ApplicationDidFinishLaunching, func(evt *Event) {
|
|
||||||
// Do we need to do anything now?
|
|
||||||
fmt.Println("events.Mac.ApplicationDidFinishLaunching received!")
|
|
||||||
})
|
})
|
||||||
m.monitorThemeChanges()
|
a.setupCommonEvents()
|
||||||
return appRun(m.application)
|
a.monitorThemeChanges()
|
||||||
|
return appRun(a.application)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *linuxApp) destroy() {
|
func (a *linuxApp) unregisterWindow(w windowPointer) {
|
||||||
|
a.windowMapLock.Lock()
|
||||||
|
delete(a.windowMap, w)
|
||||||
|
a.windowMapLock.Unlock()
|
||||||
|
|
||||||
|
// If this was the last window...
|
||||||
|
if len(a.windowMap) == 0 && !a.parent.options.Linux.DisableQuitOnLastWindowClosed {
|
||||||
|
a.destroy()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (a *linuxApp) destroy() {
|
||||||
if !globalApplication.shouldQuit() {
|
if !globalApplication.shouldQuit() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
globalApplication.cleanup()
|
globalApplication.cleanup()
|
||||||
appDestroy(m.application)
|
appDestroy(a.application)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *linuxApp) isOnMainThread() bool {
|
func (a *linuxApp) isOnMainThread() bool {
|
||||||
return isOnMainThread()
|
return isOnMainThread()
|
||||||
}
|
}
|
||||||
|
|
||||||
// register our window to our parent mapping
|
// register our window to our parent mapping
|
||||||
func (m *linuxApp) registerWindow(window pointer, id uint) {
|
func (a *linuxApp) registerWindow(window pointer, id uint) {
|
||||||
m.windowsLock.Lock()
|
a.windowMapLock.Lock()
|
||||||
m.windows[windowPointer(window)] = id
|
a.windowMap[windowPointer(window)] = id
|
||||||
m.windowsLock.Unlock()
|
a.windowMapLock.Unlock()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *linuxApp) isDarkMode() bool {
|
func (a *linuxApp) isDarkMode() bool {
|
||||||
return strings.Contains(m.theme, "dark")
|
return strings.Contains(a.theme, "dark")
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *linuxApp) monitorThemeChanges() {
|
func (a *linuxApp) monitorThemeChanges() {
|
||||||
go func() {
|
go func() {
|
||||||
conn, err := dbus.ConnectSessionBus()
|
conn, err := dbus.ConnectSessionBus()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
m.parent.info("[WARNING] Failed to connect to session bus; monitoring for theme changes will not function:", err)
|
a.parent.info("[WARNING] Failed to connect to session bus; monitoring for theme changes will not function:", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
defer conn.Close()
|
defer conn.Close()
|
||||||
@ -175,10 +164,10 @@ func (m *linuxApp) monitorThemeChanges() {
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
if theme != m.theme {
|
if theme != a.theme {
|
||||||
m.theme = theme
|
a.theme = theme
|
||||||
event := newApplicationEvent(events.Common.ThemeChanged)
|
event := newApplicationEvent(events.Common.ThemeChanged)
|
||||||
event.Context().setIsDarkMode(m.isDarkMode())
|
event.Context().setIsDarkMode(a.isDarkMode())
|
||||||
applicationEvents <- event
|
applicationEvents <- event
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -187,6 +176,7 @@ func (m *linuxApp) monitorThemeChanges() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func newPlatformApp(parent *App) *linuxApp {
|
func newPlatformApp(parent *App) *linuxApp {
|
||||||
|
|
||||||
name := strings.ToLower(strings.Replace(parent.options.Name, " ", "", -1))
|
name := strings.ToLower(strings.Replace(parent.options.Name, " ", "", -1))
|
||||||
if name == "" {
|
if name == "" {
|
||||||
name = "undefined"
|
name = "undefined"
|
||||||
@ -194,7 +184,7 @@ func newPlatformApp(parent *App) *linuxApp {
|
|||||||
app := &linuxApp{
|
app := &linuxApp{
|
||||||
parent: parent,
|
parent: parent,
|
||||||
application: appNew(name),
|
application: appNew(name),
|
||||||
windows: map[windowPointer]uint{},
|
windowMap: map[windowPointer]uint{},
|
||||||
}
|
}
|
||||||
return app
|
return app
|
||||||
}
|
}
|
||||||
@ -213,3 +203,11 @@ func (a *App) logPlatformInfo() {
|
|||||||
|
|
||||||
a.info("Platform Info:", platformInfo...)
|
a.info("Platform Info:", platformInfo...)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//export processWindowEvent
|
||||||
|
func processWindowEvent(windowID C.uint, eventID C.uint) {
|
||||||
|
windowEvents <- &windowEvent{
|
||||||
|
WindowID: uint(windowID),
|
||||||
|
EventID: uint(eventID),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
File diff suppressed because one or more lines are too long
@ -1,7 +1,7 @@
|
|||||||
package application
|
package application
|
||||||
|
|
||||||
func (m *linuxApp) showAboutDialog(title string, message string, icon []byte) {
|
func (a *linuxApp) showAboutDialog(title string, message string, icon []byte) {
|
||||||
window := globalApplication.getWindowForID(m.getCurrentWindowID())
|
window := globalApplication.getWindowForID(a.getCurrentWindowID())
|
||||||
var parent uintptr
|
var parent uintptr
|
||||||
if window != nil {
|
if window != nil {
|
||||||
parent, _ = window.(*WebviewWindow).NativeWindowHandle()
|
parent, _ = window.(*WebviewWindow).NativeWindowHandle()
|
||||||
|
21
v3/pkg/application/events_common_linux.go
Normal file
21
v3/pkg/application/events_common_linux.go
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
//go:build linux
|
||||||
|
|
||||||
|
package application
|
||||||
|
|
||||||
|
import "github.com/wailsapp/wails/v3/pkg/events"
|
||||||
|
|
||||||
|
var commonApplicationEventMap = map[events.ApplicationEventType]events.ApplicationEventType{
|
||||||
|
events.Linux.ApplicationStartup: events.Common.ApplicationStarted,
|
||||||
|
events.Linux.SystemThemeChanged: events.Common.ThemeChanged,
|
||||||
|
}
|
||||||
|
|
||||||
|
func (a *linuxApp) setupCommonEvents() {
|
||||||
|
for sourceEvent, targetEvent := range commonApplicationEventMap {
|
||||||
|
sourceEvent := sourceEvent
|
||||||
|
targetEvent := targetEvent
|
||||||
|
a.parent.On(sourceEvent, func(event *Event) {
|
||||||
|
event.Id = uint(targetEvent)
|
||||||
|
applicationEvents <- event
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
@ -70,6 +70,11 @@ type accelerator struct {
|
|||||||
Modifiers []modifier
|
Modifiers []modifier
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (a *accelerator) clone() *accelerator {
|
||||||
|
result := *a
|
||||||
|
return &result
|
||||||
|
}
|
||||||
|
|
||||||
func (a *accelerator) String() string {
|
func (a *accelerator) String() string {
|
||||||
var result []string
|
var result []string
|
||||||
// Sort modifiers
|
// Sort modifiers
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -976,7 +976,7 @@ func windowSetupSignalHandlers(windowId uint, window, webview pointer, emit func
|
|||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
func windowToggleDevTools(webview pointer) {
|
func windowOpenDevTools(webview pointer) {
|
||||||
settings := webkitWebViewGetSettings(pointer(webview))
|
settings := webkitWebViewGetSettings(pointer(webview))
|
||||||
webkitSettingsSetEnableDeveloperExtras(
|
webkitSettingsSetEnableDeveloperExtras(
|
||||||
settings,
|
settings,
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
package application
|
package application
|
||||||
|
|
||||||
func (m *linuxApp) dispatchOnMainThread(id uint) {
|
func (a *linuxApp) dispatchOnMainThread(id uint) {
|
||||||
dispatchOnMainThread(id)
|
dispatchOnMainThread(id)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -95,6 +95,21 @@ func (m *Menu) setContextData(data *ContextMenuData) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Clone recursively clones the menu and all its submenus.
|
||||||
|
func (m *Menu) clone() *Menu {
|
||||||
|
result := &Menu{
|
||||||
|
label: m.label,
|
||||||
|
}
|
||||||
|
for _, item := range m.items {
|
||||||
|
result.items = append(result.items, item.clone())
|
||||||
|
}
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *Menu) Append(in *Menu) {
|
||||||
|
m.items = append(m.items, in.items...)
|
||||||
|
}
|
||||||
|
|
||||||
func (a *App) NewMenu() *Menu {
|
func (a *App) NewMenu() *Menu {
|
||||||
return &Menu{}
|
return &Menu{}
|
||||||
}
|
}
|
||||||
|
@ -167,8 +167,8 @@ func newRole(role Role) *MenuItem {
|
|||||||
return newForceReloadMenuItem()
|
return newForceReloadMenuItem()
|
||||||
case ToggleFullscreen:
|
case ToggleFullscreen:
|
||||||
return newToggleFullscreenMenuItem()
|
return newToggleFullscreenMenuItem()
|
||||||
case ShowDevTools:
|
case OpenDevTools:
|
||||||
return newShowDevToolsMenuItem()
|
return newOpenDevToolsMenuItem()
|
||||||
case ResetZoom:
|
case ResetZoom:
|
||||||
return newZoomResetMenuItem()
|
return newZoomResetMenuItem()
|
||||||
case ZoomIn:
|
case ZoomIn:
|
||||||
@ -332,3 +332,29 @@ func (m *MenuItem) setContextData(data *ContextMenuData) {
|
|||||||
m.submenu.setContextData(data)
|
m.submenu.setContextData(data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// clone returns a deep copy of the MenuItem
|
||||||
|
func (m *MenuItem) clone() *MenuItem {
|
||||||
|
result := &MenuItem{
|
||||||
|
id: m.id,
|
||||||
|
label: m.label,
|
||||||
|
tooltip: m.tooltip,
|
||||||
|
disabled: m.disabled,
|
||||||
|
checked: m.checked,
|
||||||
|
hidden: m.hidden,
|
||||||
|
bitmap: m.bitmap,
|
||||||
|
callback: m.callback,
|
||||||
|
itemType: m.itemType,
|
||||||
|
role: m.role,
|
||||||
|
}
|
||||||
|
if m.submenu != nil {
|
||||||
|
result.submenu = m.submenu.clone()
|
||||||
|
}
|
||||||
|
if m.accelerator != nil {
|
||||||
|
result.accelerator = m.accelerator.clone()
|
||||||
|
}
|
||||||
|
if m.contextMenuData != nil {
|
||||||
|
result.contextMenuData = m.contextMenuData.clone()
|
||||||
|
}
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
@ -576,17 +576,6 @@ func newToggleFullscreenMenuItem() *MenuItem {
|
|||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
|
||||||
func newToggleDevToolsMenuItem() *MenuItem {
|
|
||||||
return newMenuItem("Toggle Developer Tools").
|
|
||||||
SetAccelerator("Alt+Command+I").
|
|
||||||
OnClick(func(ctx *Context) {
|
|
||||||
currentWindow := globalApplication.CurrentWindow()
|
|
||||||
if currentWindow != nil {
|
|
||||||
currentWindow.ToggleDevTools()
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
func newZoomResetMenuItem() *MenuItem {
|
func newZoomResetMenuItem() *MenuItem {
|
||||||
// reset zoom menu item
|
// reset zoom menu item
|
||||||
return newMenuItem("Actual Size").
|
return newMenuItem("Actual Size").
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
package application
|
package application
|
||||||
|
|
||||||
func newShowDevToolsMenuItem() *MenuItem {
|
func newOpenDevToolsMenuItem() *MenuItem {
|
||||||
return newMenuItem("Show Developer Tools").
|
return newMenuItem("Open Developer Tools").
|
||||||
SetAccelerator("Alt+Command+I").
|
SetAccelerator("Alt+Command+I").
|
||||||
OnClick(func(ctx *Context) {
|
OnClick(func(ctx *Context) {
|
||||||
currentWindow := globalApplication.CurrentWindow()
|
currentWindow := globalApplication.CurrentWindow()
|
||||||
if currentWindow != nil {
|
if currentWindow != nil {
|
||||||
currentWindow.ToggleDevTools()
|
currentWindow.OpenDevTools()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -294,17 +294,6 @@ func newToggleFullscreenMenuItem() *MenuItem {
|
|||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
|
||||||
func newToggleDevToolsMenuItem() *MenuItem {
|
|
||||||
return newMenuItem("Toggle Developer Tools").
|
|
||||||
SetAccelerator("Alt+Command+I").
|
|
||||||
OnClick(func(ctx *Context) {
|
|
||||||
currentWindow := globalApplication.CurrentWindow()
|
|
||||||
if currentWindow != nil {
|
|
||||||
currentWindow.ToggleDevTools()
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
func newZoomResetMenuItem() *MenuItem {
|
func newZoomResetMenuItem() *MenuItem {
|
||||||
// reset zoom menu item
|
// reset zoom menu item
|
||||||
return newMenuItem("Actual Size").
|
return newMenuItem("Actual Size").
|
||||||
|
@ -2,6 +2,6 @@
|
|||||||
|
|
||||||
package application
|
package application
|
||||||
|
|
||||||
func newShowDevToolsMenuItem() *MenuItem {
|
func newOpenDevToolsMenuItem() *MenuItem {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -11,6 +11,15 @@ type ContextMenuData struct {
|
|||||||
Data any `json:"data"`
|
Data any `json:"data"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (d ContextMenuData) clone() *ContextMenuData {
|
||||||
|
return &ContextMenuData{
|
||||||
|
Id: d.Id,
|
||||||
|
X: d.X,
|
||||||
|
Y: d.Y,
|
||||||
|
Data: d.Data,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const (
|
const (
|
||||||
ContextMenuOpen = 0
|
ContextMenuOpen = 0
|
||||||
)
|
)
|
||||||
|
@ -24,6 +24,9 @@ type Options struct {
|
|||||||
// Windows is the Windows specific configuration for Windows builds
|
// Windows is the Windows specific configuration for Windows builds
|
||||||
Windows WindowsOptions
|
Windows WindowsOptions
|
||||||
|
|
||||||
|
// Linux is the Linux specific configuration for Linux builds
|
||||||
|
Linux LinuxOptions
|
||||||
|
|
||||||
// Bind allows you to bind Go methods to the frontend.
|
// Bind allows you to bind Go methods to the frontend.
|
||||||
Bind []any
|
Bind []any
|
||||||
|
|
||||||
|
7
v3/pkg/application/options_application_linux.go
Normal file
7
v3/pkg/application/options_application_linux.go
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
package application
|
||||||
|
|
||||||
|
// LinuxOptions contains options for Linux applications.
|
||||||
|
type LinuxOptions struct {
|
||||||
|
// DisableQuitOnLastWindowClosed disables the auto quit of the application if the last window has been closed.
|
||||||
|
DisableQuitOnLastWindowClosed bool
|
||||||
|
}
|
@ -1,6 +1,43 @@
|
|||||||
package application
|
package application
|
||||||
|
|
||||||
// LinuxWindow contains macOS specific options
|
// WebviewGpuPolicy values used for determining the webview's hardware acceleration policy.
|
||||||
|
type WebviewGpuPolicy int
|
||||||
|
|
||||||
|
const (
|
||||||
|
// WebviewGpuPolicyAlways Hardware acceleration is always enabled.
|
||||||
|
WebviewGpuPolicyAlways WebviewGpuPolicy = iota
|
||||||
|
// WebviewGpuPolicyOnDemand Hardware acceleration is enabled/disabled as request by web contents.
|
||||||
|
WebviewGpuPolicyOnDemand
|
||||||
|
// WebviewGpuPolicyNever Hardware acceleration is always disabled.
|
||||||
|
WebviewGpuPolicyNever
|
||||||
|
)
|
||||||
|
|
||||||
|
// LinuxWindow specific to Linux windows
|
||||||
type LinuxWindow struct {
|
type LinuxWindow struct {
|
||||||
ShowApplicationMenu bool
|
// Icon Sets up the icon representing the window. This icon is used when the window is minimized
|
||||||
|
// (also known as iconified).
|
||||||
|
Icon []byte
|
||||||
|
|
||||||
|
// WindowIsTranslucent sets the window's background to transparent when enabled.
|
||||||
|
WindowIsTranslucent bool
|
||||||
|
|
||||||
|
// WebviewGpuPolicy used for determining the hardware acceleration policy for the webview.
|
||||||
|
// - WebviewGpuPolicyAlways
|
||||||
|
// - WebviewGpuPolicyOnDemand
|
||||||
|
// - WebviewGpuPolicyNever
|
||||||
|
//
|
||||||
|
// Due to https://github.com/wailsapp/wails/issues/2977, if options.Linux is nil
|
||||||
|
// in the call to wails.Run(), WebviewGpuPolicy is set by default to WebviewGpuPolicyNever.
|
||||||
|
// Client code may override this behavior by passing a non-nil Options and set
|
||||||
|
// WebviewGpuPolicy as needed.
|
||||||
|
WebviewGpuPolicy WebviewGpuPolicy
|
||||||
|
|
||||||
|
// ProgramName is used to set the program's name for the window manager via GTK's g_set_prgname().
|
||||||
|
//This name should not be localized. [see the docs]
|
||||||
|
//
|
||||||
|
//When a .desktop file is created this value helps with window grouping and desktop icons when the .desktop file's Name
|
||||||
|
//property differs form the executable's filename.
|
||||||
|
//
|
||||||
|
//[see the docs]: https://docs.gtk.org/glib/func.set_prgname.html
|
||||||
|
ProgramName string
|
||||||
}
|
}
|
||||||
|
@ -100,6 +100,9 @@ type WebviewWindowOptions struct {
|
|||||||
// Windows options
|
// Windows options
|
||||||
Windows WindowsWindow
|
Windows WindowsWindow
|
||||||
|
|
||||||
|
// Linux options
|
||||||
|
Linux LinuxWindow
|
||||||
|
|
||||||
// ShouldClose is called when the window is about to close.
|
// ShouldClose is called when the window is about to close.
|
||||||
// Return true to allow the window to close, or false to prevent it from closing.
|
// Return true to allow the window to close, or false to prevent it from closing.
|
||||||
ShouldClose func(window *WebviewWindow) bool
|
ShouldClose func(window *WebviewWindow) bool
|
||||||
@ -113,7 +116,7 @@ type WebviewWindowOptions struct {
|
|||||||
// KeyBindings is a map of key bindings to functions
|
// KeyBindings is a map of key bindings to functions
|
||||||
KeyBindings map[string]func(window *WebviewWindow)
|
KeyBindings map[string]func(window *WebviewWindow)
|
||||||
|
|
||||||
// IgnoreMouseEvents will ignore mouse events in the window
|
// IgnoreMouseEvents will ignore mouse events in the window (Windows + Mac only)
|
||||||
IgnoreMouseEvents bool
|
IgnoreMouseEvents bool
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -36,7 +36,7 @@ const (
|
|||||||
Close Role = iota
|
Close Role = iota
|
||||||
Reload Role = iota
|
Reload Role = iota
|
||||||
ForceReload Role = iota
|
ForceReload Role = iota
|
||||||
ShowDevTools Role = iota
|
OpenDevTools Role = iota
|
||||||
ResetZoom Role = iota
|
ResetZoom Role = iota
|
||||||
ZoomIn Role = iota
|
ZoomIn Role = iota
|
||||||
ZoomOut Role = iota
|
ZoomOut Role = iota
|
||||||
|
@ -3,5 +3,5 @@
|
|||||||
package application
|
package application
|
||||||
|
|
||||||
func addDevToolMenuItem(viewMenu *Menu) {
|
func addDevToolMenuItem(viewMenu *Menu) {
|
||||||
viewMenu.AddRole(ShowDevTools)
|
viewMenu.AddRole(OpenDevTools)
|
||||||
}
|
}
|
||||||
|
@ -3,21 +3,29 @@
|
|||||||
package application
|
package application
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
|
||||||
"sync"
|
"sync"
|
||||||
)
|
)
|
||||||
|
|
||||||
func (m *linuxApp) getPrimaryScreen() (*Screen, error) {
|
func (a *linuxApp) getPrimaryScreen() (*Screen, error) {
|
||||||
return nil, fmt.Errorf("not implemented")
|
var wg sync.WaitGroup
|
||||||
|
var screen *Screen
|
||||||
|
var err error
|
||||||
|
wg.Add(1)
|
||||||
|
InvokeSync(func() {
|
||||||
|
screen, err = getPrimaryScreen()
|
||||||
|
wg.Done()
|
||||||
|
})
|
||||||
|
wg.Wait()
|
||||||
|
return screen, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *linuxApp) getScreens() ([]*Screen, error) {
|
func (a *linuxApp) getScreens() ([]*Screen, error) {
|
||||||
var wg sync.WaitGroup
|
var wg sync.WaitGroup
|
||||||
var screens []*Screen
|
var screens []*Screen
|
||||||
var err error
|
var err error
|
||||||
wg.Add(1)
|
wg.Add(1)
|
||||||
InvokeSync(func() {
|
InvokeSync(func() {
|
||||||
screens, err = getScreens(m.application)
|
screens, err = getScreens(a.application)
|
||||||
wg.Done()
|
wg.Done()
|
||||||
})
|
})
|
||||||
wg.Wait()
|
wg.Wait()
|
||||||
|
@ -24,6 +24,8 @@ const (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type linuxSystemTray struct {
|
type linuxSystemTray struct {
|
||||||
|
parent *SystemTray
|
||||||
|
|
||||||
id uint
|
id uint
|
||||||
label string
|
label string
|
||||||
icon []byte
|
icon []byte
|
||||||
@ -41,6 +43,11 @@ type linuxSystemTray struct {
|
|||||||
itemMap map[int32]*systrayMenuItem
|
itemMap map[int32]*systrayMenuItem
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *linuxSystemTray) getScreen() (*Screen, error) {
|
||||||
|
_, _, result := getMousePosition()
|
||||||
|
return result, nil
|
||||||
|
}
|
||||||
|
|
||||||
// dbusMenu is a named struct to map into generated bindings.
|
// dbusMenu is a named struct to map into generated bindings.
|
||||||
// It represents the layout of a menu item
|
// It represents the layout of a menu item
|
||||||
type dbusMenu = struct {
|
type dbusMenu = struct {
|
||||||
@ -182,6 +189,22 @@ func (s *linuxSystemTray) refresh() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (s *linuxSystemTray) setMenu(menu *Menu) {
|
func (s *linuxSystemTray) setMenu(menu *Menu) {
|
||||||
|
if s.parent.attachedWindow.Window != nil {
|
||||||
|
temp := menu
|
||||||
|
menu = NewMenu()
|
||||||
|
title := "Open"
|
||||||
|
if s.parent.attachedWindow.Window.Name() != "" {
|
||||||
|
title += " " + s.parent.attachedWindow.Window.Name()
|
||||||
|
} else {
|
||||||
|
title += " window"
|
||||||
|
}
|
||||||
|
openMenuItem := menu.Add(title)
|
||||||
|
openMenuItem.OnClick(func(*Context) {
|
||||||
|
s.parent.clickHandler()
|
||||||
|
})
|
||||||
|
menu.AddSeparator()
|
||||||
|
menu.Append(temp)
|
||||||
|
}
|
||||||
s.itemMap = map[int32]*systrayMenuItem{}
|
s.itemMap = map[int32]*systrayMenuItem{}
|
||||||
// our root menu element
|
// our root menu element
|
||||||
s.itemMap[0] = &systrayMenuItem{
|
s.itemMap[0] = &systrayMenuItem{
|
||||||
@ -198,16 +221,47 @@ func (s *linuxSystemTray) setMenu(menu *Menu) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (s *linuxSystemTray) positionWindow(window *WebviewWindow, offset int) error {
|
func (s *linuxSystemTray) positionWindow(window *WebviewWindow, offset int) error {
|
||||||
|
// Get the mouse location on the screen
|
||||||
|
mouseX, mouseY, currentScreen := getMousePosition()
|
||||||
|
screenBounds := currentScreen.Size
|
||||||
|
|
||||||
|
// Calculate new X position
|
||||||
|
newX := mouseX - (window.Width() / 2)
|
||||||
|
|
||||||
|
// Check if the window goes out of the screen bounds on the left side
|
||||||
|
if newX < 0 {
|
||||||
|
newX = 0
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check if the window goes out of the screen bounds on the right side
|
||||||
|
if newX+window.Width() > screenBounds.Width {
|
||||||
|
newX = screenBounds.Width - window.Width()
|
||||||
|
}
|
||||||
|
|
||||||
|
// Calculate new Y position
|
||||||
|
newY := mouseY - (window.Height() / 2)
|
||||||
|
|
||||||
|
// Check if the window goes out of the screen bounds on the top
|
||||||
|
if newY < 0 {
|
||||||
|
newY = 0
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check if the window goes out of the screen bounds on the bottom
|
||||||
|
if newY+window.Height() > screenBounds.Height {
|
||||||
|
newY = screenBounds.Height - window.Height() - offset
|
||||||
|
}
|
||||||
|
|
||||||
|
// Set the new position of the window
|
||||||
|
window.SetAbsolutePosition(newX, newY)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *linuxSystemTray) getScreen() (*Screen, error) {
|
|
||||||
// FIXME: How do we get the screen we are on?
|
|
||||||
return &Screen{}, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *linuxSystemTray) bounds() (*Rect, error) {
|
func (s *linuxSystemTray) bounds() (*Rect, error) {
|
||||||
|
|
||||||
|
// Best effort guess at the screen bounds
|
||||||
|
|
||||||
return &Rect{}, nil
|
return &Rect{}, nil
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *linuxSystemTray) run() {
|
func (s *linuxSystemTray) run() {
|
||||||
@ -354,6 +408,7 @@ func newSystemTrayImpl(s *SystemTray) systemTrayImpl {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return &linuxSystemTray{
|
return &linuxSystemTray{
|
||||||
|
parent: s,
|
||||||
id: s.id,
|
id: s.id,
|
||||||
label: label,
|
label: label,
|
||||||
icon: s.icon,
|
icon: s.icon,
|
||||||
@ -572,6 +627,16 @@ func (s *linuxSystemTray) Event(id int32, eventID string, data dbus.Variant, tim
|
|||||||
InvokeAsync(item.menuItem.handleClick)
|
InvokeAsync(item.menuItem.handleClick)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if eventID == "opened" {
|
||||||
|
if s.parent.onMenuOpen != nil {
|
||||||
|
s.parent.onMenuOpen()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if eventID == "closed" {
|
||||||
|
if s.parent.onMenuClose != nil {
|
||||||
|
s.parent.onMenuClose()
|
||||||
|
}
|
||||||
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -583,6 +648,7 @@ func (s *linuxSystemTray) EventGroup(events []struct {
|
|||||||
V3 uint32
|
V3 uint32
|
||||||
}) (idErrors []int32, err *dbus.Error) {
|
}) (idErrors []int32, err *dbus.Error) {
|
||||||
for _, event := range events {
|
for _, event := range events {
|
||||||
|
fmt.Printf("EventGroup: %v, %v, %v, %v\n", event.V0, event.V1, event.V2, event.V3)
|
||||||
if event.V1 == "clicked" {
|
if event.V1 == "clicked" {
|
||||||
item, ok := s.itemMap[event.V0]
|
item, ok := s.itemMap[event.V0]
|
||||||
if ok {
|
if ok {
|
||||||
|
@ -40,7 +40,7 @@ type (
|
|||||||
destroy()
|
destroy()
|
||||||
reload()
|
reload()
|
||||||
forceReload()
|
forceReload()
|
||||||
toggleDevTools()
|
openDevTools()
|
||||||
zoomReset()
|
zoomReset()
|
||||||
zoomIn()
|
zoomIn()
|
||||||
zoomOut()
|
zoomOut()
|
||||||
@ -64,6 +64,8 @@ type (
|
|||||||
isVisible() bool
|
isVisible() bool
|
||||||
isFocused() bool
|
isFocused() bool
|
||||||
setFullscreenButtonEnabled(enabled bool)
|
setFullscreenButtonEnabled(enabled bool)
|
||||||
|
setMinimiseButtonEnabled(enabled bool)
|
||||||
|
setMaximiseButtonEnabled(enabled bool)
|
||||||
focus()
|
focus()
|
||||||
show()
|
show()
|
||||||
hide()
|
hide()
|
||||||
@ -532,6 +534,26 @@ func (w *WebviewWindow) SetFullscreenButtonEnabled(enabled bool) Window {
|
|||||||
return w
|
return w
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (w *WebviewWindow) SetMinimiseButtonEnabled(enabled bool) Window {
|
||||||
|
w.options.FullscreenButtonEnabled = enabled
|
||||||
|
if w.impl != nil {
|
||||||
|
InvokeSync(func() {
|
||||||
|
w.impl.setMinimiseButtonEnabled(enabled)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
return w
|
||||||
|
}
|
||||||
|
|
||||||
|
func (w *WebviewWindow) SetMaximiseButtonEnabled(enabled bool) Window {
|
||||||
|
w.options.FullscreenButtonEnabled = enabled
|
||||||
|
if w.impl != nil {
|
||||||
|
InvokeSync(func() {
|
||||||
|
w.impl.setMaximiseButtonEnabled(enabled)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
return w
|
||||||
|
}
|
||||||
|
|
||||||
// Flash flashes the window's taskbar button/icon.
|
// Flash flashes the window's taskbar button/icon.
|
||||||
// Useful to indicate that attention is required. Windows only.
|
// Useful to indicate that attention is required. Windows only.
|
||||||
func (w *WebviewWindow) Flash(enabled bool) {
|
func (w *WebviewWindow) Flash(enabled bool) {
|
||||||
@ -817,11 +839,11 @@ func (w *WebviewWindow) ToggleMaximise() {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *WebviewWindow) ToggleDevTools() {
|
func (w *WebviewWindow) OpenDevTools() {
|
||||||
if w.impl == nil && !w.isDestroyed() {
|
if w.impl == nil && !w.isDestroyed() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
InvokeSync(w.impl.toggleDevTools)
|
InvokeSync(w.impl.openDevTools)
|
||||||
}
|
}
|
||||||
|
|
||||||
// ZoomReset resets the zoom level of the webview content to 100%
|
// ZoomReset resets the zoom level of the webview content to 100%
|
||||||
|
@ -761,8 +761,6 @@ import (
|
|||||||
"github.com/wailsapp/wails/v3/pkg/events"
|
"github.com/wailsapp/wails/v3/pkg/events"
|
||||||
)
|
)
|
||||||
|
|
||||||
var showDevTools = func(window unsafe.Pointer) {}
|
|
||||||
|
|
||||||
type macosWebviewWindow struct {
|
type macosWebviewWindow struct {
|
||||||
nsWindow unsafe.Pointer
|
nsWindow unsafe.Pointer
|
||||||
parent *WebviewWindow
|
parent *WebviewWindow
|
||||||
@ -906,8 +904,8 @@ func (w *macosWebviewWindow) zoomReset() {
|
|||||||
C.windowZoomReset(w.nsWindow)
|
C.windowZoomReset(w.nsWindow)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *macosWebviewWindow) toggleDevTools() {
|
func (w *macosWebviewWindow) openDevTools() {
|
||||||
showDevTools(w.nsWindow)
|
openDevTools(w.nsWindow)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *macosWebviewWindow) reload() {
|
func (w *macosWebviewWindow) reload() {
|
||||||
@ -1134,13 +1132,13 @@ func (w *macosWebviewWindow) run() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if macOptions.DisableMinimiseButton {
|
if macOptions.DisableMinimiseButton {
|
||||||
C.enableMinimiseButton(w.nsWindow, C.bool(false))
|
w.setMinimiseButtonEnabled(w.nsWindow, false)
|
||||||
}
|
}
|
||||||
if macOptions.DisableMaximiseButton {
|
if macOptions.DisableMaximiseButton {
|
||||||
C.enableMaximiseButton(w.nsWindow, C.bool(false))
|
w.setMaximiseButtonEnabled(w.nsWindow, false)
|
||||||
}
|
}
|
||||||
if macOptions.DisableCloseButton {
|
if macOptions.DisableCloseButton {
|
||||||
C.enableCloseButton(w.nsWindow, C.bool(false))
|
w.enableCloseButton(w.nsWindow, false)
|
||||||
}
|
}
|
||||||
|
|
||||||
if options.IgnoreMouseEvents {
|
if options.IgnoreMouseEvents {
|
||||||
@ -1271,3 +1269,15 @@ func (w *macosWebviewWindow) startDrag() error {
|
|||||||
C.startDrag(w.nsWindow)
|
C.startDrag(w.nsWindow)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (w *macosWebviewWindow) setMinimiseButtonEnabled(enabled bool) {
|
||||||
|
C.enableMinimiseButton(w.nsWindow, C.bool(enabled))
|
||||||
|
}
|
||||||
|
|
||||||
|
func (w *macosWebviewWindow) setMaximiseButtonEnabled(enabled bool) {
|
||||||
|
C.enableMaximiseButton(w.nsWindow, C.bool(enabled))
|
||||||
|
}
|
||||||
|
|
||||||
|
func (w *macosWebviewWindow) setCloseButtonEnabled(enabled bool) {
|
||||||
|
C.enableCloseButton(w.nsWindow, C.bool(enabled))
|
||||||
|
}
|
||||||
|
@ -19,15 +19,7 @@ package application
|
|||||||
- (_WKInspector *)_inspector;
|
- (_WKInspector *)_inspector;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
//void showDevTools(void *window) {
|
void openDevTools(void *window) {
|
||||||
// // get main window
|
|
||||||
// WebviewWindow* nsWindow = (WebviewWindow*)window;
|
|
||||||
// dispatch_async(dispatch_get_main_queue(), ^{
|
|
||||||
// [nsWindow.webView._inspector show];
|
|
||||||
// });
|
|
||||||
//}
|
|
||||||
|
|
||||||
void showDevTools(void *window) {
|
|
||||||
#if MAC_OS_X_VERSION_MAX_ALLOWED >= 120000
|
#if MAC_OS_X_VERSION_MAX_ALLOWED >= 120000
|
||||||
dispatch_async(dispatch_get_main_queue(), ^{
|
dispatch_async(dispatch_get_main_queue(), ^{
|
||||||
if (@available(macOS 12.0, *)) {
|
if (@available(macOS 12.0, *)) {
|
||||||
@ -55,12 +47,9 @@ void windowEnableDevTools(void* nsWindow) {
|
|||||||
|
|
||||||
*/
|
*/
|
||||||
import "C"
|
import "C"
|
||||||
import "unsafe"
|
|
||||||
|
|
||||||
func init() {
|
func (w *macosWebviewWindow) openDevTools() {
|
||||||
showDevTools = func(window unsafe.Pointer) {
|
openDevTools(w.nsWindow)
|
||||||
C.showDevTools(window)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *macosWebviewWindow) enableDevTools() {
|
func (w *macosWebviewWindow) enableDevTools() {
|
||||||
|
@ -3,3 +3,4 @@
|
|||||||
package application
|
package application
|
||||||
|
|
||||||
func (w *macosWebviewWindow) enableDevTools() {}
|
func (w *macosWebviewWindow) enableDevTools() {}
|
||||||
|
func (w *macosWebviewWindow) openDevTools() {}
|
||||||
|
@ -2,15 +2,16 @@
|
|||||||
|
|
||||||
package application
|
package application
|
||||||
|
|
||||||
|
import "C"
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"github.com/wailsapp/wails/v3/internal/assetserver"
|
"github.com/wailsapp/wails/v3/internal/assetserver"
|
||||||
"github.com/wailsapp/wails/v3/internal/capabilities"
|
"github.com/wailsapp/wails/v3/internal/capabilities"
|
||||||
|
"github.com/wailsapp/wails/v3/internal/runtime"
|
||||||
"github.com/wailsapp/wails/v3/pkg/events"
|
"github.com/wailsapp/wails/v3/pkg/events"
|
||||||
)
|
)
|
||||||
|
|
||||||
var showDevTools = func(window pointer) {}
|
|
||||||
|
|
||||||
type dragInfo struct {
|
type dragInfo struct {
|
||||||
XRoot int
|
XRoot int
|
||||||
YRoot int
|
YRoot int
|
||||||
@ -31,32 +32,25 @@ type linuxWebviewWindow struct {
|
|||||||
lastWidth int
|
lastWidth int
|
||||||
lastHeight int
|
lastHeight int
|
||||||
drag dragInfo
|
drag dragInfo
|
||||||
|
lastX, lastY int
|
||||||
|
gtkmenu pointer
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
registered bool = false // avoid 'already registered message' about 'wails://'
|
registered bool = false // avoid 'already registered message' about 'wails://'
|
||||||
)
|
)
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) startDrag() error {
|
|
||||||
windowStartDrag(w.window, w.drag.MouseButton, w.drag.XRoot, w.drag.YRoot, w.drag.DragTime)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) endDrag(button uint, x, y int) {
|
func (w *linuxWebviewWindow) endDrag(button uint, x, y int) {
|
||||||
w.drag.XRoot = 0.0
|
w.drag.XRoot = 0.0
|
||||||
w.drag.YRoot = 0.0
|
w.drag.YRoot = 0.0
|
||||||
w.drag.DragTime = 0
|
w.drag.DragTime = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) enableDND() {
|
|
||||||
windowEnableDND(w.parent.id, w.webview)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) connectSignals() {
|
func (w *linuxWebviewWindow) connectSignals() {
|
||||||
cb := func(e events.WindowEventType) {
|
cb := func(e events.WindowEventType) {
|
||||||
w.parent.emit(e)
|
w.parent.emit(e)
|
||||||
}
|
}
|
||||||
windowSetupSignalHandlers(w.parent.id, w.window, w.webview, cb)
|
w.setupSignalHandlers(cb)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) openContextMenu(menu *Menu, data *ContextMenuData) {
|
func (w *linuxWebviewWindow) openContextMenu(menu *Menu, data *ContextMenuData) {
|
||||||
@ -70,109 +64,44 @@ func (w *linuxWebviewWindow) openContextMenu(menu *Menu, data *ContextMenuData)
|
|||||||
}
|
}
|
||||||
|
|
||||||
native := ctxMenu.menu.impl.(*linuxMenu).native
|
native := ctxMenu.menu.impl.(*linuxMenu).native
|
||||||
contextMenuShow(w.window, native, data)
|
w.contextMenuShow(native, data)
|
||||||
}
|
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) getZoom() float64 {
|
|
||||||
return windowZoom(w.webview)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) setZoom(zoom float64) {
|
|
||||||
windowZoomSet(w.webview, zoom)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) setFrameless(frameless bool) {
|
|
||||||
windowSetFrameless(w.window, frameless)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) getScreen() (*Screen, error) {
|
|
||||||
mx, my, width, height, scale := windowGetCurrentMonitorGeometry(w.window)
|
|
||||||
return &Screen{
|
|
||||||
ID: fmt.Sprintf("%d", w.id), // A unique identifier for the display
|
|
||||||
Name: w.parent.Name(), // The name of the display
|
|
||||||
Scale: float32(scale), // The scale factor of the display
|
|
||||||
X: mx, // The x-coordinate of the top-left corner of the rectangle
|
|
||||||
Y: my, // The y-coordinate of the top-left corner of the rectangle
|
|
||||||
Size: Size{Width: width, Height: height}, // The size of the display
|
|
||||||
Bounds: Rect{}, // The bounds of the display
|
|
||||||
WorkArea: Rect{}, // The work area of the display
|
|
||||||
IsPrimary: false, // Whether this is the primary display
|
|
||||||
Rotation: 0.0, // The rotation of the display
|
|
||||||
}, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) focus() {
|
func (w *linuxWebviewWindow) focus() {
|
||||||
windowPresent(w.window)
|
w.present()
|
||||||
}
|
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) show() {
|
|
||||||
windowShow(w.window)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) hide() {
|
|
||||||
windowHide(w.window)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) isNormal() bool {
|
func (w *linuxWebviewWindow) isNormal() bool {
|
||||||
return !w.isMinimised() && !w.isMaximised() && !w.isFullscreen()
|
return !w.isMinimised() && !w.isMaximised() && !w.isFullscreen()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) isVisible() bool {
|
func (w *linuxWebviewWindow) setCloseButtonEnabled(enabled bool) {
|
||||||
return windowIsVisible(w.window)
|
// C.enableCloseButton(w.nsWindow, C.bool(enabled))
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) setFullscreenButtonEnabled(enabled bool) {
|
func (w *linuxWebviewWindow) setFullscreenButtonEnabled(enabled bool) {
|
||||||
// C.setFullscreenButtonEnabled(w.nsWindow, C.bool(enabled))
|
// Not implemented
|
||||||
fmt.Println("setFullscreenButtonEnabled - not implemented")
|
}
|
||||||
|
|
||||||
|
func (w *linuxWebviewWindow) setMinimiseButtonEnabled(enabled bool) {
|
||||||
|
//C.enableMinimiseButton(w.nsWindow, C.bool(enabled))
|
||||||
|
}
|
||||||
|
|
||||||
|
func (w *linuxWebviewWindow) setMaximiseButtonEnabled(enabled bool) {
|
||||||
|
//C.enableMaximiseButton(w.nsWindow, C.bool(enabled))
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) disableSizeConstraints() {
|
func (w *linuxWebviewWindow) disableSizeConstraints() {
|
||||||
x, y, width, height, scale := windowGetCurrentMonitorGeometry(w.window)
|
x, y, width, height, scale := w.getCurrentMonitorGeometry()
|
||||||
w.setMinMaxSize(x, y, width*scale, height*scale)
|
w.setMinMaxSize(x, y, width*scale, height*scale)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) unfullscreen() {
|
|
||||||
windowUnfullscreen(w.window)
|
|
||||||
w.unmaximise()
|
|
||||||
}
|
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) fullscreen() {
|
|
||||||
w.maximise()
|
|
||||||
w.lastWidth, w.lastHeight = w.size()
|
|
||||||
x, y, width, height, scale := windowGetCurrentMonitorGeometry(w.window)
|
|
||||||
if x == -1 && y == -1 && width == -1 && height == -1 {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
w.setMinMaxSize(0, 0, width*scale, height*scale)
|
|
||||||
w.setSize(width*scale, height*scale)
|
|
||||||
windowFullscreen(w.window)
|
|
||||||
w.setRelativePosition(0, 0)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) unminimise() {
|
func (w *linuxWebviewWindow) unminimise() {
|
||||||
windowPresent(w.window)
|
w.present()
|
||||||
}
|
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) unmaximise() {
|
|
||||||
windowUnmaximize(w.window)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) maximise() {
|
|
||||||
windowMaximize(w.window)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) minimise() {
|
|
||||||
windowMinimize(w.window)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) flash(enabled bool) {
|
|
||||||
// Not supported on linux
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) on(eventID uint) {
|
func (w *linuxWebviewWindow) on(eventID uint) {
|
||||||
// Don't think this is correct!
|
// TODO: Test register/unregister listener for linux events
|
||||||
// GTK Events are strings
|
|
||||||
fmt.Println("on()", eventID)
|
|
||||||
//C.registerListener(C.uint(eventID))
|
//C.registerListener(C.uint(eventID))
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -184,58 +113,22 @@ func (w *linuxWebviewWindow) windowZoom() {
|
|||||||
w.zoom() // FIXME> This should be removed
|
w.zoom() // FIXME> This should be removed
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) close() {
|
|
||||||
windowClose(w.window)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) zoomIn() {
|
|
||||||
windowZoomIn(w.webview)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) zoomOut() {
|
|
||||||
windowZoomOut(w.webview)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) zoomReset() {
|
|
||||||
windowZoomSet(w.webview, 1.0)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) reload() {
|
|
||||||
windowReload(w.webview, "wails://")
|
|
||||||
}
|
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) forceReload() {
|
func (w *linuxWebviewWindow) forceReload() {
|
||||||
w.reload()
|
w.reload()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) center() {
|
func (w *linuxWebviewWindow) center() {
|
||||||
x, y, width, height, _ := windowGetCurrentMonitorGeometry(w.window)
|
x, y, width, height, _ := w.getCurrentMonitorGeometry()
|
||||||
if x == -1 && y == -1 && width == -1 && height == -1 {
|
if x == -1 && y == -1 && width == -1 && height == -1 {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
windowWidth, windowHeight := windowGetSize(w.window)
|
windowWidth, windowHeight := w.size()
|
||||||
|
|
||||||
newX := ((width - int(windowWidth)) / 2) + x
|
newX := ((width - windowWidth) / 2) + x
|
||||||
newY := ((height - int(windowHeight)) / 2) + y
|
newY := ((height - windowHeight) / 2) + y
|
||||||
|
|
||||||
// Place the window at the center of the monitor
|
// Place the window at the center of the monitor
|
||||||
windowMove(w.window, newX, newY)
|
w.move(newX, newY)
|
||||||
}
|
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) isMinimised() bool {
|
|
||||||
return windowIsMinimized(w.window)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) isMaximised() bool {
|
|
||||||
return windowIsMaximized(w.window)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) isFocused() bool {
|
|
||||||
return windowIsFocused(w.window)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) isFullscreen() bool {
|
|
||||||
return windowIsFullscreen(w.window)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) restore() {
|
func (w *linuxWebviewWindow) restore() {
|
||||||
@ -243,50 +136,25 @@ func (w *linuxWebviewWindow) restore() {
|
|||||||
// FIXME: never called! - remove from webviewImpl interface
|
// FIXME: never called! - remove from webviewImpl interface
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) execJS(js string) {
|
|
||||||
windowExecJS(w.webview, js)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) setURL(uri string) {
|
|
||||||
windowSetURL(w.webview, uri)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) setAlwaysOnTop(alwaysOnTop bool) {
|
|
||||||
windowSetKeepAbove(w.window, alwaysOnTop)
|
|
||||||
}
|
|
||||||
|
|
||||||
func newWindowImpl(parent *WebviewWindow) *linuxWebviewWindow {
|
func newWindowImpl(parent *WebviewWindow) *linuxWebviewWindow {
|
||||||
// (*C.struct__GtkWidget)(m.native)
|
// (*C.struct__GtkWidget)(m.native)
|
||||||
//var menubar *C.struct__GtkWidget
|
//var menubar *C.struct__GtkWidget
|
||||||
return &linuxWebviewWindow{
|
result := &linuxWebviewWindow{
|
||||||
application: getNativeApplication().application,
|
application: getNativeApplication().application,
|
||||||
parent: parent,
|
parent: parent,
|
||||||
// menubar: menubar,
|
// menubar: menubar,
|
||||||
}
|
}
|
||||||
}
|
return result
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) setTitle(title string) {
|
|
||||||
if !w.parent.options.Frameless {
|
|
||||||
windowSetTitle(w.window, title)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) setSize(width, height int) {
|
|
||||||
windowResize(w.window, width, height)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) setMinMaxSize(minWidth, minHeight, maxWidth, maxHeight int) {
|
func (w *linuxWebviewWindow) setMinMaxSize(minWidth, minHeight, maxWidth, maxHeight int) {
|
||||||
if minWidth == 0 {
|
// Get current screen for window
|
||||||
minWidth = -1
|
_, _, monitorwidth, monitorheight, _ := w.getCurrentMonitorGeometry()
|
||||||
}
|
|
||||||
if minHeight == 0 {
|
|
||||||
minHeight = -1
|
|
||||||
}
|
|
||||||
if maxWidth == 0 {
|
if maxWidth == 0 {
|
||||||
maxWidth = -1
|
maxWidth = monitorwidth
|
||||||
}
|
}
|
||||||
if maxHeight == 0 {
|
if maxHeight == 0 {
|
||||||
maxHeight = -1
|
maxHeight = monitorheight
|
||||||
}
|
}
|
||||||
windowSetGeometryHints(w.window, minWidth, minHeight, maxWidth, maxHeight)
|
windowSetGeometryHints(w.window, minWidth, minHeight, maxWidth, maxHeight)
|
||||||
}
|
}
|
||||||
@ -299,25 +167,9 @@ func (w *linuxWebviewWindow) setMaxSize(width, height int) {
|
|||||||
w.setMinMaxSize(w.parent.options.MinWidth, w.parent.options.MinHeight, width, height)
|
w.setMinMaxSize(w.parent.options.MinWidth, w.parent.options.MinHeight, width, height)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) setResizable(resizable bool) {
|
|
||||||
windowSetResizable(w.window, resizable)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) showDevTools() {
|
|
||||||
windowShowDevTools(w.webview)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) toggleDevTools() {
|
|
||||||
showDevTools(w.webview)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) size() (int, int) {
|
|
||||||
return windowGetSize(w.window)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) setRelativePosition(x, y int) {
|
func (w *linuxWebviewWindow) setRelativePosition(x, y int) {
|
||||||
mx, my, _, _, _ := windowGetCurrentMonitorGeometry(w.window)
|
mx, my, _, _, _ := w.getCurrentMonitorGeometry()
|
||||||
windowMove(w.window, x+mx, y+my)
|
w.move(x+mx, y+my)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) width() int {
|
func (w *linuxWebviewWindow) width() int {
|
||||||
@ -332,13 +184,7 @@ func (w *linuxWebviewWindow) height() int {
|
|||||||
|
|
||||||
func (w *linuxWebviewWindow) setAbsolutePosition(x int, y int) {
|
func (w *linuxWebviewWindow) setAbsolutePosition(x int, y int) {
|
||||||
// Set the window's absolute position
|
// Set the window's absolute position
|
||||||
windowMove(w.window, x, y)
|
w.move(x, y)
|
||||||
}
|
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) absolutePosition() (int, int) {
|
|
||||||
var x, y int
|
|
||||||
x, y = windowGetAbsolutePosition(w.window)
|
|
||||||
return x, y
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) run() {
|
func (w *linuxWebviewWindow) run() {
|
||||||
@ -351,8 +197,19 @@ func (w *linuxWebviewWindow) run() {
|
|||||||
|
|
||||||
app := getNativeApplication()
|
app := getNativeApplication()
|
||||||
|
|
||||||
menu := app.getApplicationMenu()
|
var menu = w.menu
|
||||||
w.window, w.webview, w.vbox = windowNew(app.application, menu, w.parent.id, 1)
|
if menu == nil && globalApplication.ApplicationMenu != nil {
|
||||||
|
menu = globalApplication.ApplicationMenu.clone()
|
||||||
|
}
|
||||||
|
if menu != nil {
|
||||||
|
InvokeSync(func() {
|
||||||
|
menu.Update()
|
||||||
|
})
|
||||||
|
w.menu = menu
|
||||||
|
w.gtkmenu = (menu.impl).(*linuxMenu).native
|
||||||
|
}
|
||||||
|
|
||||||
|
w.window, w.webview, w.vbox = windowNew(app.application, w.gtkmenu, w.parent.id, w.parent.options.Linux.WebviewGpuPolicy)
|
||||||
app.registerWindow(w.window, w.parent.id) // record our mapping
|
app.registerWindow(w.window, w.parent.id) // record our mapping
|
||||||
w.connectSignals()
|
w.connectSignals()
|
||||||
if w.parent.options.EnableDragAndDrop {
|
if w.parent.options.EnableDragAndDrop {
|
||||||
@ -385,7 +242,6 @@ func (w *linuxWebviewWindow) run() {
|
|||||||
if w.parent.options.X != 0 || w.parent.options.Y != 0 {
|
if w.parent.options.X != 0 || w.parent.options.Y != 0 {
|
||||||
w.setRelativePosition(w.parent.options.X, w.parent.options.Y)
|
w.setRelativePosition(w.parent.options.X, w.parent.options.Y)
|
||||||
} else {
|
} else {
|
||||||
fmt.Println("attempting to set in the center")
|
|
||||||
w.center()
|
w.center()
|
||||||
}
|
}
|
||||||
switch w.parent.options.StartState {
|
switch w.parent.options.StartState {
|
||||||
@ -395,17 +251,20 @@ func (w *linuxWebviewWindow) run() {
|
|||||||
w.minimise()
|
w.minimise()
|
||||||
case WindowStateFullscreen:
|
case WindowStateFullscreen:
|
||||||
w.fullscreen()
|
w.fullscreen()
|
||||||
|
case WindowStateNormal:
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//if w.parent.options.IgnoreMouseEvents {
|
||||||
|
// windowIgnoreMouseEvents(w.window, w.webview, true)
|
||||||
|
//}
|
||||||
|
|
||||||
startURL, err := assetserver.GetStartURL(w.parent.options.URL)
|
startURL, err := assetserver.GetStartURL(w.parent.options.URL)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
globalApplication.fatal(err.Error())
|
globalApplication.fatal(err.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
w.setURL(startURL)
|
w.setURL(startURL)
|
||||||
// We need to wait for the HTML to load before we can execute the javascript
|
w.parent.On(events.Linux.WindowLoadChanged, func(_ *WindowEvent) {
|
||||||
// FIXME: What event is this? DomReady?
|
|
||||||
w.parent.On(events.Mac.WebViewDidFinishNavigation, func(_ *WindowEvent) {
|
|
||||||
if w.parent.options.JS != "" {
|
if w.parent.options.JS != "" {
|
||||||
w.execJS(w.parent.options.JS)
|
w.execJS(w.parent.options.JS)
|
||||||
}
|
}
|
||||||
@ -414,6 +273,18 @@ func (w *linuxWebviewWindow) run() {
|
|||||||
w.execJS(js)
|
w.execJS(js)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
w.parent.On(events.Linux.WindowFocusIn, func(e *WindowEvent) {
|
||||||
|
w.parent.emit(events.Common.WindowFocus)
|
||||||
|
})
|
||||||
|
w.parent.On(events.Linux.WindowFocusOut, func(e *WindowEvent) {
|
||||||
|
w.parent.emit(events.Common.WindowLostFocus)
|
||||||
|
})
|
||||||
|
w.parent.On(events.Linux.WindowDeleteEvent, func(e *WindowEvent) {
|
||||||
|
w.parent.emit(events.Common.WindowClosing)
|
||||||
|
})
|
||||||
|
w.parent.RegisterHook(events.Linux.WindowLoadChanged, func(e *WindowEvent) {
|
||||||
|
w.execJS(runtime.Core())
|
||||||
|
})
|
||||||
if w.parent.options.HTML != "" {
|
if w.parent.options.HTML != "" {
|
||||||
w.setHTML(w.parent.options.HTML)
|
w.setHTML(w.parent.options.HTML)
|
||||||
}
|
}
|
||||||
@ -426,40 +297,13 @@ func (w *linuxWebviewWindow) run() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if w.parent.options.DevToolsEnabled || globalApplication.isDebugMode {
|
if w.parent.options.DevToolsEnabled || globalApplication.isDebugMode {
|
||||||
w.toggleDevTools()
|
w.enableDevTools()
|
||||||
if w.parent.options.OpenInspectorOnStartup {
|
if w.parent.options.OpenInspectorOnStartup {
|
||||||
w.showDevTools()
|
w.openDevTools()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) setTransparent() {
|
|
||||||
windowSetTransparent(w.window)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) setBackgroundColour(colour RGBA) {
|
|
||||||
windowSetBackgroundColour(w.vbox, w.webview, colour)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) relativePosition() (int, int) {
|
|
||||||
var x, y int
|
|
||||||
x, y = windowGetRelativePosition(w.window)
|
|
||||||
return x, y
|
|
||||||
}
|
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) destroy() {
|
|
||||||
w.parent.markAsDestroyed()
|
|
||||||
windowDestroy(w.window)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) setEnabled(enabled bool) {
|
|
||||||
widgetSetSensitive(w.window, enabled)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) setHTML(html string) {
|
|
||||||
windowSetHTML(w.webview, html)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (w *linuxWebviewWindow) startResize(border string) error {
|
func (w *linuxWebviewWindow) startResize(border string) error {
|
||||||
// FIXME: what do we need to do here?
|
// FIXME: what do we need to do here?
|
||||||
return nil
|
return nil
|
||||||
|
11
v3/pkg/application/webview_window_linux_dev.go
Normal file
11
v3/pkg/application/webview_window_linux_dev.go
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
//go:build linux && !production
|
||||||
|
|
||||||
|
package application
|
||||||
|
|
||||||
|
func (w *linuxWebviewWindow) openDevTools() {
|
||||||
|
openDevTools(w.webview)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (w *linuxWebviewWindow) enableDevTools() {
|
||||||
|
enableDevTools(w.webview)
|
||||||
|
}
|
@ -1,9 +0,0 @@
|
|||||||
//go:build linux && !production
|
|
||||||
|
|
||||||
package application
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
showDevTools = func(wv pointer) {
|
|
||||||
windowToggleDevTools(wv)
|
|
||||||
}
|
|
||||||
}
|
|
7
v3/pkg/application/webview_window_linux_production.go
Normal file
7
v3/pkg/application/webview_window_linux_production.go
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
//go:build linux && production && !devtools
|
||||||
|
|
||||||
|
package application
|
||||||
|
|
||||||
|
func (w *linuxWebviewWindow) openDevTools() {}
|
||||||
|
|
||||||
|
func (w *linuxWebviewWindow) enableDevTools() {}
|
@ -238,8 +238,12 @@ func (w *windowsWebviewWindow) run() {
|
|||||||
w.setSize(options.Width, options.Height)
|
w.setSize(options.Width, options.Height)
|
||||||
|
|
||||||
// Min/max buttons
|
// Min/max buttons
|
||||||
w.setStyle(!options.Windows.DisableMinimiseButton, w32.WS_MINIMIZEBOX)
|
if !options.Windows.DisableMinimiseButton {
|
||||||
w.setStyle(!options.Windows.DisableMaximiseButton, w32.WS_MAXIMIZEBOX)
|
w.setMinimiseButtonEnabled(false)
|
||||||
|
}
|
||||||
|
if !options.Windows.DisableMaximiseButton {
|
||||||
|
w.setMaximiseButtonEnabled(false)
|
||||||
|
}
|
||||||
|
|
||||||
// Register the window with the application
|
// Register the window with the application
|
||||||
getNativeApplication().registerWindow(w)
|
getNativeApplication().registerWindow(w)
|
||||||
@ -1626,6 +1630,14 @@ func (w *windowsWebviewWindow) processMessageWithAdditionalObjects(message strin
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (w *windowsWebviewWindow) setMaximiseButtonEnabled(enabled bool) {
|
||||||
|
w.setStyle(enabled, w32.WS_MINIMIZEBOX)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (w *windowsWebviewWindow) setMinimiseButtonEnabled(enabled bool) {
|
||||||
|
w.setStyle(enabled, w32.WS_MAXIMIZEBOX)
|
||||||
|
}
|
||||||
|
|
||||||
func ScaleWithDPI(pixels int, dpi uint) int {
|
func ScaleWithDPI(pixels int, dpi uint) int {
|
||||||
return (pixels * int(dpi)) / 96
|
return (pixels * int(dpi)) / 96
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@ package application
|
|||||||
|
|
||||||
import "github.com/wailsapp/go-webview2/pkg/edge"
|
import "github.com/wailsapp/go-webview2/pkg/edge"
|
||||||
|
|
||||||
func (w *windowsWebviewWindow) toggleDevTools() {
|
func (w *windowsWebviewWindow) openDevTools() {
|
||||||
w.chromium.OpenDevToolsWindow()
|
w.chromium.OpenDevToolsWindow()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ package application
|
|||||||
|
|
||||||
import "github.com/wailsapp/go-webview2/pkg/edge"
|
import "github.com/wailsapp/go-webview2/pkg/edge"
|
||||||
|
|
||||||
func (w *windowsWebviewWindow) toggleDevTools() {}
|
func (w *windowsWebviewWindow) openDevTools() {}
|
||||||
|
|
||||||
func (w *windowsWebviewWindow) enableDevTools(settings *edge.ICoreWebViewSettings) {
|
func (w *windowsWebviewWindow) enableDevTools(settings *edge.ICoreWebViewSettings) {
|
||||||
err := settings.PutAreDevToolsEnabled(false)
|
err := settings.PutAreDevToolsEnabled(false)
|
||||||
|
@ -65,7 +65,7 @@ type Window interface {
|
|||||||
SetZoom(magnification float64) Window
|
SetZoom(magnification float64) Window
|
||||||
Show() Window
|
Show() Window
|
||||||
Size() (width int, height int)
|
Size() (width int, height int)
|
||||||
ToggleDevTools()
|
OpenDevTools()
|
||||||
ToggleFullscreen()
|
ToggleFullscreen()
|
||||||
ToggleMaximise()
|
ToggleMaximise()
|
||||||
UnFullscreen()
|
UnFullscreen()
|
||||||
|
@ -31,27 +31,27 @@ type commonEvents struct {
|
|||||||
|
|
||||||
func newCommonEvents() commonEvents {
|
func newCommonEvents() commonEvents {
|
||||||
return commonEvents{
|
return commonEvents{
|
||||||
ApplicationStarted: 1174,
|
ApplicationStarted: 1179,
|
||||||
WindowMaximise: 1175,
|
WindowMaximise: 1180,
|
||||||
WindowUnMaximise: 1176,
|
WindowUnMaximise: 1181,
|
||||||
WindowFullscreen: 1177,
|
WindowFullscreen: 1182,
|
||||||
WindowUnFullscreen: 1178,
|
WindowUnFullscreen: 1183,
|
||||||
WindowRestore: 1179,
|
WindowRestore: 1184,
|
||||||
WindowMinimise: 1180,
|
WindowMinimise: 1185,
|
||||||
WindowUnMinimise: 1181,
|
WindowUnMinimise: 1186,
|
||||||
WindowClosing: 1182,
|
WindowClosing: 1187,
|
||||||
WindowZoom: 1183,
|
WindowZoom: 1188,
|
||||||
WindowZoomIn: 1184,
|
WindowZoomIn: 1189,
|
||||||
WindowZoomOut: 1185,
|
WindowZoomOut: 1190,
|
||||||
WindowZoomReset: 1186,
|
WindowZoomReset: 1191,
|
||||||
WindowFocus: 1187,
|
WindowFocus: 1192,
|
||||||
WindowLostFocus: 1188,
|
WindowLostFocus: 1193,
|
||||||
WindowShow: 1189,
|
WindowShow: 1194,
|
||||||
WindowHide: 1190,
|
WindowHide: 1195,
|
||||||
WindowDPIChanged: 1191,
|
WindowDPIChanged: 1196,
|
||||||
WindowFilesDropped: 1192,
|
WindowFilesDropped: 1197,
|
||||||
WindowRuntimeReady: 1193,
|
WindowRuntimeReady: 1198,
|
||||||
ThemeChanged: 1194,
|
ThemeChanged: 1199,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -59,11 +59,21 @@ var Linux = newLinuxEvents()
|
|||||||
|
|
||||||
type linuxEvents struct {
|
type linuxEvents struct {
|
||||||
SystemThemeChanged ApplicationEventType
|
SystemThemeChanged ApplicationEventType
|
||||||
|
WindowLoadChanged WindowEventType
|
||||||
|
WindowDeleteEvent WindowEventType
|
||||||
|
WindowFocusIn WindowEventType
|
||||||
|
WindowFocusOut WindowEventType
|
||||||
|
ApplicationStartup ApplicationEventType
|
||||||
}
|
}
|
||||||
|
|
||||||
func newLinuxEvents() linuxEvents {
|
func newLinuxEvents() linuxEvents {
|
||||||
return linuxEvents{
|
return linuxEvents{
|
||||||
SystemThemeChanged: 1024,
|
SystemThemeChanged: 1024,
|
||||||
|
WindowLoadChanged: 1025,
|
||||||
|
WindowDeleteEvent: 1026,
|
||||||
|
WindowFocusIn: 1027,
|
||||||
|
WindowFocusOut: 1028,
|
||||||
|
ApplicationStartup: 1029,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -198,130 +208,130 @@ type macEvents struct {
|
|||||||
|
|
||||||
func newMacEvents() macEvents {
|
func newMacEvents() macEvents {
|
||||||
return macEvents{
|
return macEvents{
|
||||||
ApplicationDidBecomeActive: 1025,
|
ApplicationDidBecomeActive: 1030,
|
||||||
ApplicationDidChangeBackingProperties: 1026,
|
ApplicationDidChangeBackingProperties: 1031,
|
||||||
ApplicationDidChangeEffectiveAppearance: 1027,
|
ApplicationDidChangeEffectiveAppearance: 1032,
|
||||||
ApplicationDidChangeIcon: 1028,
|
ApplicationDidChangeIcon: 1033,
|
||||||
ApplicationDidChangeOcclusionState: 1029,
|
ApplicationDidChangeOcclusionState: 1034,
|
||||||
ApplicationDidChangeScreenParameters: 1030,
|
ApplicationDidChangeScreenParameters: 1035,
|
||||||
ApplicationDidChangeStatusBarFrame: 1031,
|
ApplicationDidChangeStatusBarFrame: 1036,
|
||||||
ApplicationDidChangeStatusBarOrientation: 1032,
|
ApplicationDidChangeStatusBarOrientation: 1037,
|
||||||
ApplicationDidFinishLaunching: 1033,
|
ApplicationDidFinishLaunching: 1038,
|
||||||
ApplicationDidHide: 1034,
|
ApplicationDidHide: 1039,
|
||||||
ApplicationDidResignActiveNotification: 1035,
|
ApplicationDidResignActiveNotification: 1040,
|
||||||
ApplicationDidUnhide: 1036,
|
ApplicationDidUnhide: 1041,
|
||||||
ApplicationDidUpdate: 1037,
|
ApplicationDidUpdate: 1042,
|
||||||
ApplicationWillBecomeActive: 1038,
|
ApplicationWillBecomeActive: 1043,
|
||||||
ApplicationWillFinishLaunching: 1039,
|
ApplicationWillFinishLaunching: 1044,
|
||||||
ApplicationWillHide: 1040,
|
ApplicationWillHide: 1045,
|
||||||
ApplicationWillResignActive: 1041,
|
ApplicationWillResignActive: 1046,
|
||||||
ApplicationWillTerminate: 1042,
|
ApplicationWillTerminate: 1047,
|
||||||
ApplicationWillUnhide: 1043,
|
ApplicationWillUnhide: 1048,
|
||||||
ApplicationWillUpdate: 1044,
|
ApplicationWillUpdate: 1049,
|
||||||
ApplicationDidChangeTheme: 1045,
|
ApplicationDidChangeTheme: 1050,
|
||||||
ApplicationShouldHandleReopen: 1046,
|
ApplicationShouldHandleReopen: 1051,
|
||||||
WindowDidBecomeKey: 1047,
|
WindowDidBecomeKey: 1052,
|
||||||
WindowDidBecomeMain: 1048,
|
WindowDidBecomeMain: 1053,
|
||||||
WindowDidBeginSheet: 1049,
|
WindowDidBeginSheet: 1054,
|
||||||
WindowDidChangeAlpha: 1050,
|
WindowDidChangeAlpha: 1055,
|
||||||
WindowDidChangeBackingLocation: 1051,
|
WindowDidChangeBackingLocation: 1056,
|
||||||
WindowDidChangeBackingProperties: 1052,
|
WindowDidChangeBackingProperties: 1057,
|
||||||
WindowDidChangeCollectionBehavior: 1053,
|
WindowDidChangeCollectionBehavior: 1058,
|
||||||
WindowDidChangeEffectiveAppearance: 1054,
|
WindowDidChangeEffectiveAppearance: 1059,
|
||||||
WindowDidChangeOcclusionState: 1055,
|
WindowDidChangeOcclusionState: 1060,
|
||||||
WindowDidChangeOrderingMode: 1056,
|
WindowDidChangeOrderingMode: 1061,
|
||||||
WindowDidChangeScreen: 1057,
|
WindowDidChangeScreen: 1062,
|
||||||
WindowDidChangeScreenParameters: 1058,
|
WindowDidChangeScreenParameters: 1063,
|
||||||
WindowDidChangeScreenProfile: 1059,
|
WindowDidChangeScreenProfile: 1064,
|
||||||
WindowDidChangeScreenSpace: 1060,
|
WindowDidChangeScreenSpace: 1065,
|
||||||
WindowDidChangeScreenSpaceProperties: 1061,
|
WindowDidChangeScreenSpaceProperties: 1066,
|
||||||
WindowDidChangeSharingType: 1062,
|
WindowDidChangeSharingType: 1067,
|
||||||
WindowDidChangeSpace: 1063,
|
WindowDidChangeSpace: 1068,
|
||||||
WindowDidChangeSpaceOrderingMode: 1064,
|
WindowDidChangeSpaceOrderingMode: 1069,
|
||||||
WindowDidChangeTitle: 1065,
|
WindowDidChangeTitle: 1070,
|
||||||
WindowDidChangeToolbar: 1066,
|
WindowDidChangeToolbar: 1071,
|
||||||
WindowDidChangeVisibility: 1067,
|
WindowDidChangeVisibility: 1072,
|
||||||
WindowDidDeminiaturize: 1068,
|
WindowDidDeminiaturize: 1073,
|
||||||
WindowDidEndSheet: 1069,
|
WindowDidEndSheet: 1074,
|
||||||
WindowDidEnterFullScreen: 1070,
|
WindowDidEnterFullScreen: 1075,
|
||||||
WindowDidEnterVersionBrowser: 1071,
|
WindowDidEnterVersionBrowser: 1076,
|
||||||
WindowDidExitFullScreen: 1072,
|
WindowDidExitFullScreen: 1077,
|
||||||
WindowDidExitVersionBrowser: 1073,
|
WindowDidExitVersionBrowser: 1078,
|
||||||
WindowDidExpose: 1074,
|
WindowDidExpose: 1079,
|
||||||
WindowDidFocus: 1075,
|
WindowDidFocus: 1080,
|
||||||
WindowDidMiniaturize: 1076,
|
WindowDidMiniaturize: 1081,
|
||||||
WindowDidMove: 1077,
|
WindowDidMove: 1082,
|
||||||
WindowDidOrderOffScreen: 1078,
|
WindowDidOrderOffScreen: 1083,
|
||||||
WindowDidOrderOnScreen: 1079,
|
WindowDidOrderOnScreen: 1084,
|
||||||
WindowDidResignKey: 1080,
|
WindowDidResignKey: 1085,
|
||||||
WindowDidResignMain: 1081,
|
WindowDidResignMain: 1086,
|
||||||
WindowDidResize: 1082,
|
WindowDidResize: 1087,
|
||||||
WindowDidUpdate: 1083,
|
WindowDidUpdate: 1088,
|
||||||
WindowDidUpdateAlpha: 1084,
|
WindowDidUpdateAlpha: 1089,
|
||||||
WindowDidUpdateCollectionBehavior: 1085,
|
WindowDidUpdateCollectionBehavior: 1090,
|
||||||
WindowDidUpdateCollectionProperties: 1086,
|
WindowDidUpdateCollectionProperties: 1091,
|
||||||
WindowDidUpdateShadow: 1087,
|
WindowDidUpdateShadow: 1092,
|
||||||
WindowDidUpdateTitle: 1088,
|
WindowDidUpdateTitle: 1093,
|
||||||
WindowDidUpdateToolbar: 1089,
|
WindowDidUpdateToolbar: 1094,
|
||||||
WindowDidUpdateVisibility: 1090,
|
WindowDidUpdateVisibility: 1095,
|
||||||
WindowShouldClose: 1091,
|
WindowShouldClose: 1096,
|
||||||
WindowWillBecomeKey: 1092,
|
WindowWillBecomeKey: 1097,
|
||||||
WindowWillBecomeMain: 1093,
|
WindowWillBecomeMain: 1098,
|
||||||
WindowWillBeginSheet: 1094,
|
WindowWillBeginSheet: 1099,
|
||||||
WindowWillChangeOrderingMode: 1095,
|
WindowWillChangeOrderingMode: 1100,
|
||||||
WindowWillClose: 1096,
|
WindowWillClose: 1101,
|
||||||
WindowWillDeminiaturize: 1097,
|
WindowWillDeminiaturize: 1102,
|
||||||
WindowWillEnterFullScreen: 1098,
|
WindowWillEnterFullScreen: 1103,
|
||||||
WindowWillEnterVersionBrowser: 1099,
|
WindowWillEnterVersionBrowser: 1104,
|
||||||
WindowWillExitFullScreen: 1100,
|
WindowWillExitFullScreen: 1105,
|
||||||
WindowWillExitVersionBrowser: 1101,
|
WindowWillExitVersionBrowser: 1106,
|
||||||
WindowWillFocus: 1102,
|
WindowWillFocus: 1107,
|
||||||
WindowWillMiniaturize: 1103,
|
WindowWillMiniaturize: 1108,
|
||||||
WindowWillMove: 1104,
|
WindowWillMove: 1109,
|
||||||
WindowWillOrderOffScreen: 1105,
|
WindowWillOrderOffScreen: 1110,
|
||||||
WindowWillOrderOnScreen: 1106,
|
WindowWillOrderOnScreen: 1111,
|
||||||
WindowWillResignMain: 1107,
|
WindowWillResignMain: 1112,
|
||||||
WindowWillResize: 1108,
|
WindowWillResize: 1113,
|
||||||
WindowWillUnfocus: 1109,
|
WindowWillUnfocus: 1114,
|
||||||
WindowWillUpdate: 1110,
|
WindowWillUpdate: 1115,
|
||||||
WindowWillUpdateAlpha: 1111,
|
WindowWillUpdateAlpha: 1116,
|
||||||
WindowWillUpdateCollectionBehavior: 1112,
|
WindowWillUpdateCollectionBehavior: 1117,
|
||||||
WindowWillUpdateCollectionProperties: 1113,
|
WindowWillUpdateCollectionProperties: 1118,
|
||||||
WindowWillUpdateShadow: 1114,
|
WindowWillUpdateShadow: 1119,
|
||||||
WindowWillUpdateTitle: 1115,
|
WindowWillUpdateTitle: 1120,
|
||||||
WindowWillUpdateToolbar: 1116,
|
WindowWillUpdateToolbar: 1121,
|
||||||
WindowWillUpdateVisibility: 1117,
|
WindowWillUpdateVisibility: 1122,
|
||||||
WindowWillUseStandardFrame: 1118,
|
WindowWillUseStandardFrame: 1123,
|
||||||
MenuWillOpen: 1119,
|
MenuWillOpen: 1124,
|
||||||
MenuDidOpen: 1120,
|
MenuDidOpen: 1125,
|
||||||
MenuDidClose: 1121,
|
MenuDidClose: 1126,
|
||||||
MenuWillSendAction: 1122,
|
MenuWillSendAction: 1127,
|
||||||
MenuDidSendAction: 1123,
|
MenuDidSendAction: 1128,
|
||||||
MenuWillHighlightItem: 1124,
|
MenuWillHighlightItem: 1129,
|
||||||
MenuDidHighlightItem: 1125,
|
MenuDidHighlightItem: 1130,
|
||||||
MenuWillDisplayItem: 1126,
|
MenuWillDisplayItem: 1131,
|
||||||
MenuDidDisplayItem: 1127,
|
MenuDidDisplayItem: 1132,
|
||||||
MenuWillAddItem: 1128,
|
MenuWillAddItem: 1133,
|
||||||
MenuDidAddItem: 1129,
|
MenuDidAddItem: 1134,
|
||||||
MenuWillRemoveItem: 1130,
|
MenuWillRemoveItem: 1135,
|
||||||
MenuDidRemoveItem: 1131,
|
MenuDidRemoveItem: 1136,
|
||||||
MenuWillBeginTracking: 1132,
|
MenuWillBeginTracking: 1137,
|
||||||
MenuDidBeginTracking: 1133,
|
MenuDidBeginTracking: 1138,
|
||||||
MenuWillEndTracking: 1134,
|
MenuWillEndTracking: 1139,
|
||||||
MenuDidEndTracking: 1135,
|
MenuDidEndTracking: 1140,
|
||||||
MenuWillUpdate: 1136,
|
MenuWillUpdate: 1141,
|
||||||
MenuDidUpdate: 1137,
|
MenuDidUpdate: 1142,
|
||||||
MenuWillPopUp: 1138,
|
MenuWillPopUp: 1143,
|
||||||
MenuDidPopUp: 1139,
|
MenuDidPopUp: 1144,
|
||||||
MenuWillSendActionToItem: 1140,
|
MenuWillSendActionToItem: 1145,
|
||||||
MenuDidSendActionToItem: 1141,
|
MenuDidSendActionToItem: 1146,
|
||||||
WebViewDidStartProvisionalNavigation: 1142,
|
WebViewDidStartProvisionalNavigation: 1147,
|
||||||
WebViewDidReceiveServerRedirectForProvisionalNavigation: 1143,
|
WebViewDidReceiveServerRedirectForProvisionalNavigation: 1148,
|
||||||
WebViewDidFinishNavigation: 1144,
|
WebViewDidFinishNavigation: 1149,
|
||||||
WebViewDidCommitNavigation: 1145,
|
WebViewDidCommitNavigation: 1150,
|
||||||
WindowFileDraggingEntered: 1146,
|
WindowFileDraggingEntered: 1151,
|
||||||
WindowFileDraggingPerformed: 1147,
|
WindowFileDraggingPerformed: 1152,
|
||||||
WindowFileDraggingExited: 1148,
|
WindowFileDraggingExited: 1153,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -357,31 +367,31 @@ type windowsEvents struct {
|
|||||||
|
|
||||||
func newWindowsEvents() windowsEvents {
|
func newWindowsEvents() windowsEvents {
|
||||||
return windowsEvents{
|
return windowsEvents{
|
||||||
SystemThemeChanged: 1149,
|
SystemThemeChanged: 1154,
|
||||||
APMPowerStatusChange: 1150,
|
APMPowerStatusChange: 1155,
|
||||||
APMSuspend: 1151,
|
APMSuspend: 1156,
|
||||||
APMResumeAutomatic: 1152,
|
APMResumeAutomatic: 1157,
|
||||||
APMResumeSuspend: 1153,
|
APMResumeSuspend: 1158,
|
||||||
APMPowerSettingChange: 1154,
|
APMPowerSettingChange: 1159,
|
||||||
ApplicationStarted: 1155,
|
ApplicationStarted: 1160,
|
||||||
WebViewNavigationCompleted: 1156,
|
WebViewNavigationCompleted: 1161,
|
||||||
WindowInactive: 1157,
|
WindowInactive: 1162,
|
||||||
WindowActive: 1158,
|
WindowActive: 1163,
|
||||||
WindowClickActive: 1159,
|
WindowClickActive: 1164,
|
||||||
WindowMaximise: 1160,
|
WindowMaximise: 1165,
|
||||||
WindowUnMaximise: 1161,
|
WindowUnMaximise: 1166,
|
||||||
WindowFullscreen: 1162,
|
WindowFullscreen: 1167,
|
||||||
WindowUnFullscreen: 1163,
|
WindowUnFullscreen: 1168,
|
||||||
WindowRestore: 1164,
|
WindowRestore: 1169,
|
||||||
WindowMinimise: 1165,
|
WindowMinimise: 1170,
|
||||||
WindowUnMinimise: 1166,
|
WindowUnMinimise: 1171,
|
||||||
WindowClose: 1167,
|
WindowClose: 1172,
|
||||||
WindowSetFocus: 1168,
|
WindowSetFocus: 1173,
|
||||||
WindowKillFocus: 1169,
|
WindowKillFocus: 1174,
|
||||||
WindowDragDrop: 1170,
|
WindowDragDrop: 1175,
|
||||||
WindowDragEnter: 1171,
|
WindowDragEnter: 1176,
|
||||||
WindowDragLeave: 1172,
|
WindowDragLeave: 1177,
|
||||||
WindowDragOver: 1173,
|
WindowDragOver: 1178,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -391,174 +401,179 @@ func JSEvent(event uint) string {
|
|||||||
|
|
||||||
var eventToJS = map[uint]string{
|
var eventToJS = map[uint]string{
|
||||||
1024: "linux:SystemThemeChanged",
|
1024: "linux:SystemThemeChanged",
|
||||||
1025: "mac:ApplicationDidBecomeActive",
|
1025: "linux:WindowLoadChanged",
|
||||||
1026: "mac:ApplicationDidChangeBackingProperties",
|
1026: "linux:WindowDeleteEvent",
|
||||||
1027: "mac:ApplicationDidChangeEffectiveAppearance",
|
1027: "linux:WindowFocusIn",
|
||||||
1028: "mac:ApplicationDidChangeIcon",
|
1028: "linux:WindowFocusOut",
|
||||||
1029: "mac:ApplicationDidChangeOcclusionState",
|
1029: "linux:ApplicationStartup",
|
||||||
1030: "mac:ApplicationDidChangeScreenParameters",
|
1030: "mac:ApplicationDidBecomeActive",
|
||||||
1031: "mac:ApplicationDidChangeStatusBarFrame",
|
1031: "mac:ApplicationDidChangeBackingProperties",
|
||||||
1032: "mac:ApplicationDidChangeStatusBarOrientation",
|
1032: "mac:ApplicationDidChangeEffectiveAppearance",
|
||||||
1033: "mac:ApplicationDidFinishLaunching",
|
1033: "mac:ApplicationDidChangeIcon",
|
||||||
1034: "mac:ApplicationDidHide",
|
1034: "mac:ApplicationDidChangeOcclusionState",
|
||||||
1035: "mac:ApplicationDidResignActiveNotification",
|
1035: "mac:ApplicationDidChangeScreenParameters",
|
||||||
1036: "mac:ApplicationDidUnhide",
|
1036: "mac:ApplicationDidChangeStatusBarFrame",
|
||||||
1037: "mac:ApplicationDidUpdate",
|
1037: "mac:ApplicationDidChangeStatusBarOrientation",
|
||||||
1038: "mac:ApplicationWillBecomeActive",
|
1038: "mac:ApplicationDidFinishLaunching",
|
||||||
1039: "mac:ApplicationWillFinishLaunching",
|
1039: "mac:ApplicationDidHide",
|
||||||
1040: "mac:ApplicationWillHide",
|
1040: "mac:ApplicationDidResignActiveNotification",
|
||||||
1041: "mac:ApplicationWillResignActive",
|
1041: "mac:ApplicationDidUnhide",
|
||||||
1042: "mac:ApplicationWillTerminate",
|
1042: "mac:ApplicationDidUpdate",
|
||||||
1043: "mac:ApplicationWillUnhide",
|
1043: "mac:ApplicationWillBecomeActive",
|
||||||
1044: "mac:ApplicationWillUpdate",
|
1044: "mac:ApplicationWillFinishLaunching",
|
||||||
1045: "mac:ApplicationDidChangeTheme!",
|
1045: "mac:ApplicationWillHide",
|
||||||
1046: "mac:ApplicationShouldHandleReopen!",
|
1046: "mac:ApplicationWillResignActive",
|
||||||
1047: "mac:WindowDidBecomeKey",
|
1047: "mac:ApplicationWillTerminate",
|
||||||
1048: "mac:WindowDidBecomeMain",
|
1048: "mac:ApplicationWillUnhide",
|
||||||
1049: "mac:WindowDidBeginSheet",
|
1049: "mac:ApplicationWillUpdate",
|
||||||
1050: "mac:WindowDidChangeAlpha",
|
1050: "mac:ApplicationDidChangeTheme!",
|
||||||
1051: "mac:WindowDidChangeBackingLocation",
|
1051: "mac:ApplicationShouldHandleReopen!",
|
||||||
1052: "mac:WindowDidChangeBackingProperties",
|
1052: "mac:WindowDidBecomeKey",
|
||||||
1053: "mac:WindowDidChangeCollectionBehavior",
|
1053: "mac:WindowDidBecomeMain",
|
||||||
1054: "mac:WindowDidChangeEffectiveAppearance",
|
1054: "mac:WindowDidBeginSheet",
|
||||||
1055: "mac:WindowDidChangeOcclusionState",
|
1055: "mac:WindowDidChangeAlpha",
|
||||||
1056: "mac:WindowDidChangeOrderingMode",
|
1056: "mac:WindowDidChangeBackingLocation",
|
||||||
1057: "mac:WindowDidChangeScreen",
|
1057: "mac:WindowDidChangeBackingProperties",
|
||||||
1058: "mac:WindowDidChangeScreenParameters",
|
1058: "mac:WindowDidChangeCollectionBehavior",
|
||||||
1059: "mac:WindowDidChangeScreenProfile",
|
1059: "mac:WindowDidChangeEffectiveAppearance",
|
||||||
1060: "mac:WindowDidChangeScreenSpace",
|
1060: "mac:WindowDidChangeOcclusionState",
|
||||||
1061: "mac:WindowDidChangeScreenSpaceProperties",
|
1061: "mac:WindowDidChangeOrderingMode",
|
||||||
1062: "mac:WindowDidChangeSharingType",
|
1062: "mac:WindowDidChangeScreen",
|
||||||
1063: "mac:WindowDidChangeSpace",
|
1063: "mac:WindowDidChangeScreenParameters",
|
||||||
1064: "mac:WindowDidChangeSpaceOrderingMode",
|
1064: "mac:WindowDidChangeScreenProfile",
|
||||||
1065: "mac:WindowDidChangeTitle",
|
1065: "mac:WindowDidChangeScreenSpace",
|
||||||
1066: "mac:WindowDidChangeToolbar",
|
1066: "mac:WindowDidChangeScreenSpaceProperties",
|
||||||
1067: "mac:WindowDidChangeVisibility",
|
1067: "mac:WindowDidChangeSharingType",
|
||||||
1068: "mac:WindowDidDeminiaturize",
|
1068: "mac:WindowDidChangeSpace",
|
||||||
1069: "mac:WindowDidEndSheet",
|
1069: "mac:WindowDidChangeSpaceOrderingMode",
|
||||||
1070: "mac:WindowDidEnterFullScreen",
|
1070: "mac:WindowDidChangeTitle",
|
||||||
1071: "mac:WindowDidEnterVersionBrowser",
|
1071: "mac:WindowDidChangeToolbar",
|
||||||
1072: "mac:WindowDidExitFullScreen",
|
1072: "mac:WindowDidChangeVisibility",
|
||||||
1073: "mac:WindowDidExitVersionBrowser",
|
1073: "mac:WindowDidDeminiaturize",
|
||||||
1074: "mac:WindowDidExpose",
|
1074: "mac:WindowDidEndSheet",
|
||||||
1075: "mac:WindowDidFocus",
|
1075: "mac:WindowDidEnterFullScreen",
|
||||||
1076: "mac:WindowDidMiniaturize",
|
1076: "mac:WindowDidEnterVersionBrowser",
|
||||||
1077: "mac:WindowDidMove",
|
1077: "mac:WindowDidExitFullScreen",
|
||||||
1078: "mac:WindowDidOrderOffScreen",
|
1078: "mac:WindowDidExitVersionBrowser",
|
||||||
1079: "mac:WindowDidOrderOnScreen",
|
1079: "mac:WindowDidExpose",
|
||||||
1080: "mac:WindowDidResignKey",
|
1080: "mac:WindowDidFocus",
|
||||||
1081: "mac:WindowDidResignMain",
|
1081: "mac:WindowDidMiniaturize",
|
||||||
1082: "mac:WindowDidResize",
|
1082: "mac:WindowDidMove",
|
||||||
1083: "mac:WindowDidUpdate",
|
1083: "mac:WindowDidOrderOffScreen",
|
||||||
1084: "mac:WindowDidUpdateAlpha",
|
1084: "mac:WindowDidOrderOnScreen",
|
||||||
1085: "mac:WindowDidUpdateCollectionBehavior",
|
1085: "mac:WindowDidResignKey",
|
||||||
1086: "mac:WindowDidUpdateCollectionProperties",
|
1086: "mac:WindowDidResignMain",
|
||||||
1087: "mac:WindowDidUpdateShadow",
|
1087: "mac:WindowDidResize",
|
||||||
1088: "mac:WindowDidUpdateTitle",
|
1088: "mac:WindowDidUpdate",
|
||||||
1089: "mac:WindowDidUpdateToolbar",
|
1089: "mac:WindowDidUpdateAlpha",
|
||||||
1090: "mac:WindowDidUpdateVisibility",
|
1090: "mac:WindowDidUpdateCollectionBehavior",
|
||||||
1091: "mac:WindowShouldClose!",
|
1091: "mac:WindowDidUpdateCollectionProperties",
|
||||||
1092: "mac:WindowWillBecomeKey",
|
1092: "mac:WindowDidUpdateShadow",
|
||||||
1093: "mac:WindowWillBecomeMain",
|
1093: "mac:WindowDidUpdateTitle",
|
||||||
1094: "mac:WindowWillBeginSheet",
|
1094: "mac:WindowDidUpdateToolbar",
|
||||||
1095: "mac:WindowWillChangeOrderingMode",
|
1095: "mac:WindowDidUpdateVisibility",
|
||||||
1096: "mac:WindowWillClose",
|
1096: "mac:WindowShouldClose!",
|
||||||
1097: "mac:WindowWillDeminiaturize",
|
1097: "mac:WindowWillBecomeKey",
|
||||||
1098: "mac:WindowWillEnterFullScreen",
|
1098: "mac:WindowWillBecomeMain",
|
||||||
1099: "mac:WindowWillEnterVersionBrowser",
|
1099: "mac:WindowWillBeginSheet",
|
||||||
1100: "mac:WindowWillExitFullScreen",
|
1100: "mac:WindowWillChangeOrderingMode",
|
||||||
1101: "mac:WindowWillExitVersionBrowser",
|
1101: "mac:WindowWillClose",
|
||||||
1102: "mac:WindowWillFocus",
|
1102: "mac:WindowWillDeminiaturize",
|
||||||
1103: "mac:WindowWillMiniaturize",
|
1103: "mac:WindowWillEnterFullScreen",
|
||||||
1104: "mac:WindowWillMove",
|
1104: "mac:WindowWillEnterVersionBrowser",
|
||||||
1105: "mac:WindowWillOrderOffScreen",
|
1105: "mac:WindowWillExitFullScreen",
|
||||||
1106: "mac:WindowWillOrderOnScreen",
|
1106: "mac:WindowWillExitVersionBrowser",
|
||||||
1107: "mac:WindowWillResignMain",
|
1107: "mac:WindowWillFocus",
|
||||||
1108: "mac:WindowWillResize",
|
1108: "mac:WindowWillMiniaturize",
|
||||||
1109: "mac:WindowWillUnfocus",
|
1109: "mac:WindowWillMove",
|
||||||
1110: "mac:WindowWillUpdate",
|
1110: "mac:WindowWillOrderOffScreen",
|
||||||
1111: "mac:WindowWillUpdateAlpha",
|
1111: "mac:WindowWillOrderOnScreen",
|
||||||
1112: "mac:WindowWillUpdateCollectionBehavior",
|
1112: "mac:WindowWillResignMain",
|
||||||
1113: "mac:WindowWillUpdateCollectionProperties",
|
1113: "mac:WindowWillResize",
|
||||||
1114: "mac:WindowWillUpdateShadow",
|
1114: "mac:WindowWillUnfocus",
|
||||||
1115: "mac:WindowWillUpdateTitle",
|
1115: "mac:WindowWillUpdate",
|
||||||
1116: "mac:WindowWillUpdateToolbar",
|
1116: "mac:WindowWillUpdateAlpha",
|
||||||
1117: "mac:WindowWillUpdateVisibility",
|
1117: "mac:WindowWillUpdateCollectionBehavior",
|
||||||
1118: "mac:WindowWillUseStandardFrame",
|
1118: "mac:WindowWillUpdateCollectionProperties",
|
||||||
1119: "mac:MenuWillOpen",
|
1119: "mac:WindowWillUpdateShadow",
|
||||||
1120: "mac:MenuDidOpen",
|
1120: "mac:WindowWillUpdateTitle",
|
||||||
1121: "mac:MenuDidClose",
|
1121: "mac:WindowWillUpdateToolbar",
|
||||||
1122: "mac:MenuWillSendAction",
|
1122: "mac:WindowWillUpdateVisibility",
|
||||||
1123: "mac:MenuDidSendAction",
|
1123: "mac:WindowWillUseStandardFrame",
|
||||||
1124: "mac:MenuWillHighlightItem",
|
1124: "mac:MenuWillOpen",
|
||||||
1125: "mac:MenuDidHighlightItem",
|
1125: "mac:MenuDidOpen",
|
||||||
1126: "mac:MenuWillDisplayItem",
|
1126: "mac:MenuDidClose",
|
||||||
1127: "mac:MenuDidDisplayItem",
|
1127: "mac:MenuWillSendAction",
|
||||||
1128: "mac:MenuWillAddItem",
|
1128: "mac:MenuDidSendAction",
|
||||||
1129: "mac:MenuDidAddItem",
|
1129: "mac:MenuWillHighlightItem",
|
||||||
1130: "mac:MenuWillRemoveItem",
|
1130: "mac:MenuDidHighlightItem",
|
||||||
1131: "mac:MenuDidRemoveItem",
|
1131: "mac:MenuWillDisplayItem",
|
||||||
1132: "mac:MenuWillBeginTracking",
|
1132: "mac:MenuDidDisplayItem",
|
||||||
1133: "mac:MenuDidBeginTracking",
|
1133: "mac:MenuWillAddItem",
|
||||||
1134: "mac:MenuWillEndTracking",
|
1134: "mac:MenuDidAddItem",
|
||||||
1135: "mac:MenuDidEndTracking",
|
1135: "mac:MenuWillRemoveItem",
|
||||||
1136: "mac:MenuWillUpdate",
|
1136: "mac:MenuDidRemoveItem",
|
||||||
1137: "mac:MenuDidUpdate",
|
1137: "mac:MenuWillBeginTracking",
|
||||||
1138: "mac:MenuWillPopUp",
|
1138: "mac:MenuDidBeginTracking",
|
||||||
1139: "mac:MenuDidPopUp",
|
1139: "mac:MenuWillEndTracking",
|
||||||
1140: "mac:MenuWillSendActionToItem",
|
1140: "mac:MenuDidEndTracking",
|
||||||
1141: "mac:MenuDidSendActionToItem",
|
1141: "mac:MenuWillUpdate",
|
||||||
1142: "mac:WebViewDidStartProvisionalNavigation",
|
1142: "mac:MenuDidUpdate",
|
||||||
1143: "mac:WebViewDidReceiveServerRedirectForProvisionalNavigation",
|
1143: "mac:MenuWillPopUp",
|
||||||
1144: "mac:WebViewDidFinishNavigation",
|
1144: "mac:MenuDidPopUp",
|
||||||
1145: "mac:WebViewDidCommitNavigation",
|
1145: "mac:MenuWillSendActionToItem",
|
||||||
1146: "mac:WindowFileDraggingEntered",
|
1146: "mac:MenuDidSendActionToItem",
|
||||||
1147: "mac:WindowFileDraggingPerformed",
|
1147: "mac:WebViewDidStartProvisionalNavigation",
|
||||||
1148: "mac:WindowFileDraggingExited",
|
1148: "mac:WebViewDidReceiveServerRedirectForProvisionalNavigation",
|
||||||
1149: "windows:SystemThemeChanged",
|
1149: "mac:WebViewDidFinishNavigation",
|
||||||
1150: "windows:APMPowerStatusChange",
|
1150: "mac:WebViewDidCommitNavigation",
|
||||||
1151: "windows:APMSuspend",
|
1151: "mac:WindowFileDraggingEntered",
|
||||||
1152: "windows:APMResumeAutomatic",
|
1152: "mac:WindowFileDraggingPerformed",
|
||||||
1153: "windows:APMResumeSuspend",
|
1153: "mac:WindowFileDraggingExited",
|
||||||
1154: "windows:APMPowerSettingChange",
|
1154: "windows:SystemThemeChanged",
|
||||||
1155: "windows:ApplicationStarted",
|
1155: "windows:APMPowerStatusChange",
|
||||||
1156: "windows:WebViewNavigationCompleted",
|
1156: "windows:APMSuspend",
|
||||||
1157: "windows:WindowInactive",
|
1157: "windows:APMResumeAutomatic",
|
||||||
1158: "windows:WindowActive",
|
1158: "windows:APMResumeSuspend",
|
||||||
1159: "windows:WindowClickActive",
|
1159: "windows:APMPowerSettingChange",
|
||||||
1160: "windows:WindowMaximise",
|
1160: "windows:ApplicationStarted",
|
||||||
1161: "windows:WindowUnMaximise",
|
1161: "windows:WebViewNavigationCompleted",
|
||||||
1162: "windows:WindowFullscreen",
|
1162: "windows:WindowInactive",
|
||||||
1163: "windows:WindowUnFullscreen",
|
1163: "windows:WindowActive",
|
||||||
1164: "windows:WindowRestore",
|
1164: "windows:WindowClickActive",
|
||||||
1165: "windows:WindowMinimise",
|
1165: "windows:WindowMaximise",
|
||||||
1166: "windows:WindowUnMinimise",
|
1166: "windows:WindowUnMaximise",
|
||||||
1167: "windows:WindowClose",
|
1167: "windows:WindowFullscreen",
|
||||||
1168: "windows:WindowSetFocus",
|
1168: "windows:WindowUnFullscreen",
|
||||||
1169: "windows:WindowKillFocus",
|
1169: "windows:WindowRestore",
|
||||||
1170: "windows:WindowDragDrop",
|
1170: "windows:WindowMinimise",
|
||||||
1171: "windows:WindowDragEnter",
|
1171: "windows:WindowUnMinimise",
|
||||||
1172: "windows:WindowDragLeave",
|
1172: "windows:WindowClose",
|
||||||
1173: "windows:WindowDragOver",
|
1173: "windows:WindowSetFocus",
|
||||||
1174: "common:ApplicationStarted",
|
1174: "windows:WindowKillFocus",
|
||||||
1175: "common:WindowMaximise",
|
1175: "windows:WindowDragDrop",
|
||||||
1176: "common:WindowUnMaximise",
|
1176: "windows:WindowDragEnter",
|
||||||
1177: "common:WindowFullscreen",
|
1177: "windows:WindowDragLeave",
|
||||||
1178: "common:WindowUnFullscreen",
|
1178: "windows:WindowDragOver",
|
||||||
1179: "common:WindowRestore",
|
1179: "common:ApplicationStarted",
|
||||||
1180: "common:WindowMinimise",
|
1180: "common:WindowMaximise",
|
||||||
1181: "common:WindowUnMinimise",
|
1181: "common:WindowUnMaximise",
|
||||||
1182: "common:WindowClosing",
|
1182: "common:WindowFullscreen",
|
||||||
1183: "common:WindowZoom",
|
1183: "common:WindowUnFullscreen",
|
||||||
1184: "common:WindowZoomIn",
|
1184: "common:WindowRestore",
|
||||||
1185: "common:WindowZoomOut",
|
1185: "common:WindowMinimise",
|
||||||
1186: "common:WindowZoomReset",
|
1186: "common:WindowUnMinimise",
|
||||||
1187: "common:WindowFocus",
|
1187: "common:WindowClosing",
|
||||||
1188: "common:WindowLostFocus",
|
1188: "common:WindowZoom",
|
||||||
1189: "common:WindowShow",
|
1189: "common:WindowZoomIn",
|
||||||
1190: "common:WindowHide",
|
1190: "common:WindowZoomOut",
|
||||||
1191: "common:WindowDPIChanged",
|
1191: "common:WindowZoomReset",
|
||||||
1192: "common:WindowFilesDropped",
|
1192: "common:WindowFocus",
|
||||||
1193: "common:WindowRuntimeReady",
|
1193: "common:WindowLostFocus",
|
||||||
1194: "common:ThemeChanged",
|
1194: "common:WindowShow",
|
||||||
|
1195: "common:WindowHide",
|
||||||
|
1196: "common:WindowDPIChanged",
|
||||||
|
1197: "common:WindowFilesDropped",
|
||||||
|
1198: "common:WindowRuntimeReady",
|
||||||
|
1199: "common:ThemeChanged",
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,9 @@
|
|||||||
linux:SystemThemeChanged
|
linux:SystemThemeChanged
|
||||||
|
linux:WindowLoadChanged
|
||||||
|
linux:WindowDeleteEvent
|
||||||
|
linux:WindowFocusIn
|
||||||
|
linux:WindowFocusOut
|
||||||
|
linux:ApplicationStartup
|
||||||
mac:ApplicationDidBecomeActive
|
mac:ApplicationDidBecomeActive
|
||||||
mac:ApplicationDidChangeBackingProperties
|
mac:ApplicationDidChangeBackingProperties
|
||||||
mac:ApplicationDidChangeEffectiveAppearance
|
mac:ApplicationDidChangeEffectiveAppearance
|
||||||
|
@ -6,132 +6,132 @@
|
|||||||
extern void processApplicationEvent(unsigned int, void* data);
|
extern void processApplicationEvent(unsigned int, void* data);
|
||||||
extern void processWindowEvent(unsigned int, unsigned int);
|
extern void processWindowEvent(unsigned int, unsigned int);
|
||||||
|
|
||||||
#define EventApplicationDidBecomeActive 1025
|
#define EventApplicationDidBecomeActive 1030
|
||||||
#define EventApplicationDidChangeBackingProperties 1026
|
#define EventApplicationDidChangeBackingProperties 1031
|
||||||
#define EventApplicationDidChangeEffectiveAppearance 1027
|
#define EventApplicationDidChangeEffectiveAppearance 1032
|
||||||
#define EventApplicationDidChangeIcon 1028
|
#define EventApplicationDidChangeIcon 1033
|
||||||
#define EventApplicationDidChangeOcclusionState 1029
|
#define EventApplicationDidChangeOcclusionState 1034
|
||||||
#define EventApplicationDidChangeScreenParameters 1030
|
#define EventApplicationDidChangeScreenParameters 1035
|
||||||
#define EventApplicationDidChangeStatusBarFrame 1031
|
#define EventApplicationDidChangeStatusBarFrame 1036
|
||||||
#define EventApplicationDidChangeStatusBarOrientation 1032
|
#define EventApplicationDidChangeStatusBarOrientation 1037
|
||||||
#define EventApplicationDidFinishLaunching 1033
|
#define EventApplicationDidFinishLaunching 1038
|
||||||
#define EventApplicationDidHide 1034
|
#define EventApplicationDidHide 1039
|
||||||
#define EventApplicationDidResignActiveNotification 1035
|
#define EventApplicationDidResignActiveNotification 1040
|
||||||
#define EventApplicationDidUnhide 1036
|
#define EventApplicationDidUnhide 1041
|
||||||
#define EventApplicationDidUpdate 1037
|
#define EventApplicationDidUpdate 1042
|
||||||
#define EventApplicationWillBecomeActive 1038
|
#define EventApplicationWillBecomeActive 1043
|
||||||
#define EventApplicationWillFinishLaunching 1039
|
#define EventApplicationWillFinishLaunching 1044
|
||||||
#define EventApplicationWillHide 1040
|
#define EventApplicationWillHide 1045
|
||||||
#define EventApplicationWillResignActive 1041
|
#define EventApplicationWillResignActive 1046
|
||||||
#define EventApplicationWillTerminate 1042
|
#define EventApplicationWillTerminate 1047
|
||||||
#define EventApplicationWillUnhide 1043
|
#define EventApplicationWillUnhide 1048
|
||||||
#define EventApplicationWillUpdate 1044
|
#define EventApplicationWillUpdate 1049
|
||||||
#define EventApplicationDidChangeTheme 1045
|
#define EventApplicationDidChangeTheme 1050
|
||||||
#define EventApplicationShouldHandleReopen 1046
|
#define EventApplicationShouldHandleReopen 1051
|
||||||
#define EventWindowDidBecomeKey 1047
|
#define EventWindowDidBecomeKey 1052
|
||||||
#define EventWindowDidBecomeMain 1048
|
#define EventWindowDidBecomeMain 1053
|
||||||
#define EventWindowDidBeginSheet 1049
|
#define EventWindowDidBeginSheet 1054
|
||||||
#define EventWindowDidChangeAlpha 1050
|
#define EventWindowDidChangeAlpha 1055
|
||||||
#define EventWindowDidChangeBackingLocation 1051
|
#define EventWindowDidChangeBackingLocation 1056
|
||||||
#define EventWindowDidChangeBackingProperties 1052
|
#define EventWindowDidChangeBackingProperties 1057
|
||||||
#define EventWindowDidChangeCollectionBehavior 1053
|
#define EventWindowDidChangeCollectionBehavior 1058
|
||||||
#define EventWindowDidChangeEffectiveAppearance 1054
|
#define EventWindowDidChangeEffectiveAppearance 1059
|
||||||
#define EventWindowDidChangeOcclusionState 1055
|
#define EventWindowDidChangeOcclusionState 1060
|
||||||
#define EventWindowDidChangeOrderingMode 1056
|
#define EventWindowDidChangeOrderingMode 1061
|
||||||
#define EventWindowDidChangeScreen 1057
|
#define EventWindowDidChangeScreen 1062
|
||||||
#define EventWindowDidChangeScreenParameters 1058
|
#define EventWindowDidChangeScreenParameters 1063
|
||||||
#define EventWindowDidChangeScreenProfile 1059
|
#define EventWindowDidChangeScreenProfile 1064
|
||||||
#define EventWindowDidChangeScreenSpace 1060
|
#define EventWindowDidChangeScreenSpace 1065
|
||||||
#define EventWindowDidChangeScreenSpaceProperties 1061
|
#define EventWindowDidChangeScreenSpaceProperties 1066
|
||||||
#define EventWindowDidChangeSharingType 1062
|
#define EventWindowDidChangeSharingType 1067
|
||||||
#define EventWindowDidChangeSpace 1063
|
#define EventWindowDidChangeSpace 1068
|
||||||
#define EventWindowDidChangeSpaceOrderingMode 1064
|
#define EventWindowDidChangeSpaceOrderingMode 1069
|
||||||
#define EventWindowDidChangeTitle 1065
|
#define EventWindowDidChangeTitle 1070
|
||||||
#define EventWindowDidChangeToolbar 1066
|
#define EventWindowDidChangeToolbar 1071
|
||||||
#define EventWindowDidChangeVisibility 1067
|
#define EventWindowDidChangeVisibility 1072
|
||||||
#define EventWindowDidDeminiaturize 1068
|
#define EventWindowDidDeminiaturize 1073
|
||||||
#define EventWindowDidEndSheet 1069
|
#define EventWindowDidEndSheet 1074
|
||||||
#define EventWindowDidEnterFullScreen 1070
|
#define EventWindowDidEnterFullScreen 1075
|
||||||
#define EventWindowDidEnterVersionBrowser 1071
|
#define EventWindowDidEnterVersionBrowser 1076
|
||||||
#define EventWindowDidExitFullScreen 1072
|
#define EventWindowDidExitFullScreen 1077
|
||||||
#define EventWindowDidExitVersionBrowser 1073
|
#define EventWindowDidExitVersionBrowser 1078
|
||||||
#define EventWindowDidExpose 1074
|
#define EventWindowDidExpose 1079
|
||||||
#define EventWindowDidFocus 1075
|
#define EventWindowDidFocus 1080
|
||||||
#define EventWindowDidMiniaturize 1076
|
#define EventWindowDidMiniaturize 1081
|
||||||
#define EventWindowDidMove 1077
|
#define EventWindowDidMove 1082
|
||||||
#define EventWindowDidOrderOffScreen 1078
|
#define EventWindowDidOrderOffScreen 1083
|
||||||
#define EventWindowDidOrderOnScreen 1079
|
#define EventWindowDidOrderOnScreen 1084
|
||||||
#define EventWindowDidResignKey 1080
|
#define EventWindowDidResignKey 1085
|
||||||
#define EventWindowDidResignMain 1081
|
#define EventWindowDidResignMain 1086
|
||||||
#define EventWindowDidResize 1082
|
#define EventWindowDidResize 1087
|
||||||
#define EventWindowDidUpdate 1083
|
#define EventWindowDidUpdate 1088
|
||||||
#define EventWindowDidUpdateAlpha 1084
|
#define EventWindowDidUpdateAlpha 1089
|
||||||
#define EventWindowDidUpdateCollectionBehavior 1085
|
#define EventWindowDidUpdateCollectionBehavior 1090
|
||||||
#define EventWindowDidUpdateCollectionProperties 1086
|
#define EventWindowDidUpdateCollectionProperties 1091
|
||||||
#define EventWindowDidUpdateShadow 1087
|
#define EventWindowDidUpdateShadow 1092
|
||||||
#define EventWindowDidUpdateTitle 1088
|
#define EventWindowDidUpdateTitle 1093
|
||||||
#define EventWindowDidUpdateToolbar 1089
|
#define EventWindowDidUpdateToolbar 1094
|
||||||
#define EventWindowDidUpdateVisibility 1090
|
#define EventWindowDidUpdateVisibility 1095
|
||||||
#define EventWindowShouldClose 1091
|
#define EventWindowShouldClose 1096
|
||||||
#define EventWindowWillBecomeKey 1092
|
#define EventWindowWillBecomeKey 1097
|
||||||
#define EventWindowWillBecomeMain 1093
|
#define EventWindowWillBecomeMain 1098
|
||||||
#define EventWindowWillBeginSheet 1094
|
#define EventWindowWillBeginSheet 1099
|
||||||
#define EventWindowWillChangeOrderingMode 1095
|
#define EventWindowWillChangeOrderingMode 1100
|
||||||
#define EventWindowWillClose 1096
|
#define EventWindowWillClose 1101
|
||||||
#define EventWindowWillDeminiaturize 1097
|
#define EventWindowWillDeminiaturize 1102
|
||||||
#define EventWindowWillEnterFullScreen 1098
|
#define EventWindowWillEnterFullScreen 1103
|
||||||
#define EventWindowWillEnterVersionBrowser 1099
|
#define EventWindowWillEnterVersionBrowser 1104
|
||||||
#define EventWindowWillExitFullScreen 1100
|
#define EventWindowWillExitFullScreen 1105
|
||||||
#define EventWindowWillExitVersionBrowser 1101
|
#define EventWindowWillExitVersionBrowser 1106
|
||||||
#define EventWindowWillFocus 1102
|
#define EventWindowWillFocus 1107
|
||||||
#define EventWindowWillMiniaturize 1103
|
#define EventWindowWillMiniaturize 1108
|
||||||
#define EventWindowWillMove 1104
|
#define EventWindowWillMove 1109
|
||||||
#define EventWindowWillOrderOffScreen 1105
|
#define EventWindowWillOrderOffScreen 1110
|
||||||
#define EventWindowWillOrderOnScreen 1106
|
#define EventWindowWillOrderOnScreen 1111
|
||||||
#define EventWindowWillResignMain 1107
|
#define EventWindowWillResignMain 1112
|
||||||
#define EventWindowWillResize 1108
|
#define EventWindowWillResize 1113
|
||||||
#define EventWindowWillUnfocus 1109
|
#define EventWindowWillUnfocus 1114
|
||||||
#define EventWindowWillUpdate 1110
|
#define EventWindowWillUpdate 1115
|
||||||
#define EventWindowWillUpdateAlpha 1111
|
#define EventWindowWillUpdateAlpha 1116
|
||||||
#define EventWindowWillUpdateCollectionBehavior 1112
|
#define EventWindowWillUpdateCollectionBehavior 1117
|
||||||
#define EventWindowWillUpdateCollectionProperties 1113
|
#define EventWindowWillUpdateCollectionProperties 1118
|
||||||
#define EventWindowWillUpdateShadow 1114
|
#define EventWindowWillUpdateShadow 1119
|
||||||
#define EventWindowWillUpdateTitle 1115
|
#define EventWindowWillUpdateTitle 1120
|
||||||
#define EventWindowWillUpdateToolbar 1116
|
#define EventWindowWillUpdateToolbar 1121
|
||||||
#define EventWindowWillUpdateVisibility 1117
|
#define EventWindowWillUpdateVisibility 1122
|
||||||
#define EventWindowWillUseStandardFrame 1118
|
#define EventWindowWillUseStandardFrame 1123
|
||||||
#define EventMenuWillOpen 1119
|
#define EventMenuWillOpen 1124
|
||||||
#define EventMenuDidOpen 1120
|
#define EventMenuDidOpen 1125
|
||||||
#define EventMenuDidClose 1121
|
#define EventMenuDidClose 1126
|
||||||
#define EventMenuWillSendAction 1122
|
#define EventMenuWillSendAction 1127
|
||||||
#define EventMenuDidSendAction 1123
|
#define EventMenuDidSendAction 1128
|
||||||
#define EventMenuWillHighlightItem 1124
|
#define EventMenuWillHighlightItem 1129
|
||||||
#define EventMenuDidHighlightItem 1125
|
#define EventMenuDidHighlightItem 1130
|
||||||
#define EventMenuWillDisplayItem 1126
|
#define EventMenuWillDisplayItem 1131
|
||||||
#define EventMenuDidDisplayItem 1127
|
#define EventMenuDidDisplayItem 1132
|
||||||
#define EventMenuWillAddItem 1128
|
#define EventMenuWillAddItem 1133
|
||||||
#define EventMenuDidAddItem 1129
|
#define EventMenuDidAddItem 1134
|
||||||
#define EventMenuWillRemoveItem 1130
|
#define EventMenuWillRemoveItem 1135
|
||||||
#define EventMenuDidRemoveItem 1131
|
#define EventMenuDidRemoveItem 1136
|
||||||
#define EventMenuWillBeginTracking 1132
|
#define EventMenuWillBeginTracking 1137
|
||||||
#define EventMenuDidBeginTracking 1133
|
#define EventMenuDidBeginTracking 1138
|
||||||
#define EventMenuWillEndTracking 1134
|
#define EventMenuWillEndTracking 1139
|
||||||
#define EventMenuDidEndTracking 1135
|
#define EventMenuDidEndTracking 1140
|
||||||
#define EventMenuWillUpdate 1136
|
#define EventMenuWillUpdate 1141
|
||||||
#define EventMenuDidUpdate 1137
|
#define EventMenuDidUpdate 1142
|
||||||
#define EventMenuWillPopUp 1138
|
#define EventMenuWillPopUp 1143
|
||||||
#define EventMenuDidPopUp 1139
|
#define EventMenuDidPopUp 1144
|
||||||
#define EventMenuWillSendActionToItem 1140
|
#define EventMenuWillSendActionToItem 1145
|
||||||
#define EventMenuDidSendActionToItem 1141
|
#define EventMenuDidSendActionToItem 1146
|
||||||
#define EventWebViewDidStartProvisionalNavigation 1142
|
#define EventWebViewDidStartProvisionalNavigation 1147
|
||||||
#define EventWebViewDidReceiveServerRedirectForProvisionalNavigation 1143
|
#define EventWebViewDidReceiveServerRedirectForProvisionalNavigation 1148
|
||||||
#define EventWebViewDidFinishNavigation 1144
|
#define EventWebViewDidFinishNavigation 1149
|
||||||
#define EventWebViewDidCommitNavigation 1145
|
#define EventWebViewDidCommitNavigation 1150
|
||||||
#define EventWindowFileDraggingEntered 1146
|
#define EventWindowFileDraggingEntered 1151
|
||||||
#define EventWindowFileDraggingPerformed 1147
|
#define EventWindowFileDraggingPerformed 1152
|
||||||
#define EventWindowFileDraggingExited 1148
|
#define EventWindowFileDraggingExited 1153
|
||||||
|
|
||||||
#define MAX_EVENTS 1149
|
#define MAX_EVENTS 1154
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
22
v3/pkg/events/events_linux.go
Normal file
22
v3/pkg/events/events_linux.go
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
//go:build linux
|
||||||
|
|
||||||
|
package events
|
||||||
|
|
||||||
|
/*
|
||||||
|
#include "events_linux.h"
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stdbool.h>
|
||||||
|
|
||||||
|
bool hasListener[MAX_EVENTS] = {false};
|
||||||
|
|
||||||
|
void registerListener(unsigned int event) {
|
||||||
|
hasListener[event] = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool hasListeners(unsigned int event) {
|
||||||
|
//return hasListener[event];
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
*/
|
||||||
|
import "C"
|
19
v3/pkg/events/events_linux.h
Normal file
19
v3/pkg/events/events_linux.h
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
//go:build linux
|
||||||
|
|
||||||
|
#ifndef _events_h
|
||||||
|
#define _events_h
|
||||||
|
|
||||||
|
extern void processApplicationEvent(unsigned int, void* data);
|
||||||
|
extern void processWindowEvent(unsigned int, unsigned int);
|
||||||
|
|
||||||
|
#define EventSystemThemeChanged 1024
|
||||||
|
#define EventWindowLoadChanged 1025
|
||||||
|
#define EventWindowDeleteEvent 1026
|
||||||
|
#define EventWindowFocusIn 1027
|
||||||
|
#define EventWindowFocusOut 1028
|
||||||
|
#define EventApplicationStartup 1029
|
||||||
|
|
||||||
|
#define MAX_EVENTS 1030
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
@ -61,7 +61,19 @@ $$EVENTTOJS}
|
|||||||
|
|
||||||
`
|
`
|
||||||
|
|
||||||
var eventsH = `//go:build darwin
|
var darwinEventsH = `//go:build darwin
|
||||||
|
|
||||||
|
#ifndef _events_h
|
||||||
|
#define _events_h
|
||||||
|
|
||||||
|
extern void processApplicationEvent(unsigned int, void* data);
|
||||||
|
extern void processWindowEvent(unsigned int, unsigned int);
|
||||||
|
|
||||||
|
$$CHEADEREVENTS
|
||||||
|
|
||||||
|
#endif`
|
||||||
|
|
||||||
|
var linuxEventsH = `//go:build linux
|
||||||
|
|
||||||
#ifndef _events_h
|
#ifndef _events_h
|
||||||
#define _events_h
|
#define _events_h
|
||||||
@ -108,10 +120,11 @@ func main() {
|
|||||||
|
|
||||||
linuxEventsDecl := bytes.NewBufferString("")
|
linuxEventsDecl := bytes.NewBufferString("")
|
||||||
linuxEventsValues := bytes.NewBufferString("")
|
linuxEventsValues := bytes.NewBufferString("")
|
||||||
|
linuxCHeaderEvents := bytes.NewBufferString("")
|
||||||
|
|
||||||
macEventsDecl := bytes.NewBufferString("")
|
macEventsDecl := bytes.NewBufferString("")
|
||||||
macEventsValues := bytes.NewBufferString("")
|
macEventsValues := bytes.NewBufferString("")
|
||||||
cHeaderEvents := bytes.NewBufferString("")
|
macCHeaderEvents := bytes.NewBufferString("")
|
||||||
windowDelegateEvents := bytes.NewBufferString("")
|
windowDelegateEvents := bytes.NewBufferString("")
|
||||||
applicationDelegateEvents := bytes.NewBufferString("")
|
applicationDelegateEvents := bytes.NewBufferString("")
|
||||||
webviewDelegateEvents := bytes.NewBufferString("")
|
webviewDelegateEvents := bytes.NewBufferString("")
|
||||||
@ -137,6 +150,7 @@ func main() {
|
|||||||
var id int
|
var id int
|
||||||
// var maxLinuxEvents int
|
// var maxLinuxEvents int
|
||||||
var maxMacEvents int
|
var maxMacEvents int
|
||||||
|
var maxLinuxEvents int
|
||||||
var line []byte
|
var line []byte
|
||||||
// Loop over each line in the file
|
// Loop over each line in the file
|
||||||
for id, line = range bytes.Split(eventNames, []byte{'\n'}) {
|
for id, line = range bytes.Split(eventNames, []byte{'\n'}) {
|
||||||
@ -179,7 +193,8 @@ func main() {
|
|||||||
linuxJSEvents.WriteString("\t\t" + event + ": \"" + strings.TrimSpace(string(line)) + "\",\n")
|
linuxJSEvents.WriteString("\t\t" + event + ": \"" + strings.TrimSpace(string(line)) + "\",\n")
|
||||||
linuxTSEvents.WriteString("\t\t" + event + ": string,\n")
|
linuxTSEvents.WriteString("\t\t" + event + ": string,\n")
|
||||||
eventToJS.WriteString("\t" + strconv.Itoa(id) + ": \"" + strings.TrimSpace(string(line)) + "\",\n")
|
eventToJS.WriteString("\t" + strconv.Itoa(id) + ": \"" + strings.TrimSpace(string(line)) + "\",\n")
|
||||||
//maxLinuxEvents = id
|
maxLinuxEvents = id
|
||||||
|
linuxCHeaderEvents.WriteString("#define Event" + eventTitle + " " + strconv.Itoa(id) + "\n")
|
||||||
case "mac":
|
case "mac":
|
||||||
eventType := "ApplicationEventType"
|
eventType := "ApplicationEventType"
|
||||||
if strings.HasPrefix(event, "Window") {
|
if strings.HasPrefix(event, "Window") {
|
||||||
@ -192,7 +207,7 @@ func main() {
|
|||||||
macEventsValues.WriteString("\t\t" + event + ": " + strconv.Itoa(id) + ",\n")
|
macEventsValues.WriteString("\t\t" + event + ": " + strconv.Itoa(id) + ",\n")
|
||||||
macJSEvents.WriteString("\t\t" + event + ": \"" + strings.TrimSpace(string(line)) + "\",\n")
|
macJSEvents.WriteString("\t\t" + event + ": \"" + strings.TrimSpace(string(line)) + "\",\n")
|
||||||
macTSEvents.WriteString("\t\t" + event + ": string,\n")
|
macTSEvents.WriteString("\t\t" + event + ": string,\n")
|
||||||
cHeaderEvents.WriteString("#define Event" + eventTitle + " " + strconv.Itoa(id) + "\n")
|
macCHeaderEvents.WriteString("#define Event" + eventTitle + " " + strconv.Itoa(id) + "\n")
|
||||||
eventToJS.WriteString("\t" + strconv.Itoa(id) + ": \"" + strings.TrimSpace(string(line)) + "\",\n")
|
eventToJS.WriteString("\t" + strconv.Itoa(id) + ": \"" + strings.TrimSpace(string(line)) + "\",\n")
|
||||||
maxMacEvents = id
|
maxMacEvents = id
|
||||||
if ignoreEvent {
|
if ignoreEvent {
|
||||||
@ -258,7 +273,8 @@ func main() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
cHeaderEvents.WriteString("\n#define MAX_EVENTS " + strconv.Itoa(maxMacEvents+1) + "\n")
|
macCHeaderEvents.WriteString("\n#define MAX_EVENTS " + strconv.Itoa(maxMacEvents+1) + "\n")
|
||||||
|
linuxCHeaderEvents.WriteString("\n#define MAX_EVENTS " + strconv.Itoa(maxLinuxEvents+1) + "\n")
|
||||||
|
|
||||||
// Save the eventsGo template substituting the values and decls
|
// Save the eventsGo template substituting the values and decls
|
||||||
templateToWrite := strings.ReplaceAll(eventsGo, "$$LINUXEVENTSDECL", linuxEventsDecl.String())
|
templateToWrite := strings.ReplaceAll(eventsGo, "$$LINUXEVENTSDECL", linuxEventsDecl.String())
|
||||||
@ -296,13 +312,20 @@ func main() {
|
|||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Save the eventsH template substituting the values and decls
|
// Save the darwinEventsH template substituting the values and decls
|
||||||
templateToWrite = strings.ReplaceAll(eventsH, "$$CHEADEREVENTS", cHeaderEvents.String())
|
templateToWrite = strings.ReplaceAll(darwinEventsH, "$$CHEADEREVENTS", macCHeaderEvents.String())
|
||||||
err = os.WriteFile("../../pkg/events/events_darwin.h", []byte(templateToWrite), 0644)
|
err = os.WriteFile("../../pkg/events/events_darwin.h", []byte(templateToWrite), 0644)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Save the linuxEventsH template substituting the values and decls
|
||||||
|
templateToWrite = strings.ReplaceAll(linuxEventsH, "$$CHEADEREVENTS", linuxCHeaderEvents.String())
|
||||||
|
err = os.WriteFile("../../pkg/events/events_linux.h", []byte(templateToWrite), 0644)
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
// Load the window_delegate.m file
|
// Load the window_delegate.m file
|
||||||
windowDelegate, err := os.ReadFile("../../pkg/application/webview_window_darwin.m")
|
windowDelegate, err := os.ReadFile("../../pkg/application/webview_window_darwin.m")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
Loading…
Reference in New Issue
Block a user