Moved the file cleanup to a CleanWindows function which simply deletes
all the files a Windows compilation generates for the icon resources.
Windows resource files MUST be in the same directory as the `go` source or
it will not be included in the resulting binary.
package.PackageWindows should be renamed to `GenerateWindowsResources`
since it doesn't actually package anything but rather generates the
various resources that are used during compilation.
The single quote is needed for running the command in the shell directly.
When run inside the Go command 'os/exec' it is not removed and is
preventing the flags from being processed correctly inside the Docker image.
* Develop (#343)
* Support Distribution 'ArcoLinux' #310 (#312)
* Support Distribution 'ArcoLinux' #310
* Vuetify2 support (resurrected from git@github.com:MichaelHipp/wails.git) (#315)
* Initial create of vuetify2-basic folder
* Change template descr of vuetify-basic to say Vuetify 1.5
* Get vuetify2 template installing vuetify v2.0 (but with styling probs)
* Update App.vue, HelloWorld.vue for Vuetify v2
* Remove babel-polyfill, add mdi/font
* fix: codacy corrections
* fix: babel -> core-js, regenerator-runtime
Co-authored-by: Michael Hipp <michael@redmule.com>
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
* Update Contributors
* v1.0.2-pre1
* [313-remote-conn] allow remote connections to the websocket bridge (#314)
* [313-remote-conn] feat: compute wsURL based on window.location
* [313-remote-conn] feat: allow any host to connect to vue server
removing the 'host: "localhost"' specification causes the development
server to listen on all interfaces.
* [313-remote-conn] feat: allow any host to connect to angular dev server
* test: reinject tabs
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
* fix: disable host check for vuetify 2 template
* v1.0.2-pre2
* fix: shutdown ipcmanager
* use channel to trigger shutdown
* load linuxdb from relative path
* Feat manjaro arm & deepin (#324)
* feat: new distros: manjaroARM & Deepin
* v1.0.2-pre3
* [326-platform-raspbian] feat: implement raspbian support (#327)
* fix: emit arguments (#306)
* v1.0.2-pre4 Raspbarian support
* Initial support for Typescript decl file (#330)
* v1.0.2-pre5
* revert to Go 1.12
* New CI (#331)
* prepare
* new CI/github actions
* Rename later-pre.yml to latest-pre.yml
* Update latest-pre.yml
* Update README.md
* Ensure version in go.mod is up to date (#339)
* release v1.0.2-pre6
* Fix typescript generation
* Release v1.0.2-pre7
* 316-multi-bridge-conn (#317)
* [316-multi-bridge-conn] feat: use callback func for bridge response
* [316-multi-bridge-conn] feat: implement multiple session support
* split client handling portion into 'session'
* keep track of sessions by remote address (ip & port)
* notify each of the sessions anytime an event comes across the bus
* [316-multi-bridge-conn] chore: move bridge files to package
* [316-multi-bridge-conn] chore: remove deprecated Callback function
The Callback function is no longer needed for the operation of
the frontend callback since the ipc.Dispatch function now requires
a callback function to be provided as an argument.
This function can be a private function since it is passed by reference.
* [316-multi-bridge-conn] chore: make webview.Callback private
* [316-multi-bridge-conn] chore: remove unused injectCSS function
I believe a slightly better method of doing this might need to be devised
if it is needed in the future. I presume it should collect the values
into a cache and then inject it into each sesssion as it appears.
* [316-multi-bridge-conn] ensure wails:ready event is emitted
Event is only emitted for the first session created from the Bridge.
* [316-multi-bridge-conn] emit events for session lifecycle
Emit an event for each session started and ended.
* [316-multi-bridge-conn] fix: session handling fixes
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
* Release v1.0.2-pre8
* Release v1.0.2
Co-authored-by: Byron <ktc@protonmail.com>
Co-authored-by: Travis McLane <tmclane@gmail.com>
Co-authored-by: Michael Hipp <michael@redmule.com>
* Macos notarize fix
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
Co-authored-by: Byron <ktc@protonmail.com>
Co-authored-by: Travis McLane <tmclane@gmail.com>
Co-authored-by: Michael Hipp <michael@redmule.com>
* Support Distribution 'ArcoLinux' #310 (#312)
* Support Distribution 'ArcoLinux' #310
* Vuetify2 support (resurrected from git@github.com:MichaelHipp/wails.git) (#315)
* Initial create of vuetify2-basic folder
* Change template descr of vuetify-basic to say Vuetify 1.5
* Get vuetify2 template installing vuetify v2.0 (but with styling probs)
* Update App.vue, HelloWorld.vue for Vuetify v2
* Remove babel-polyfill, add mdi/font
* fix: codacy corrections
* fix: babel -> core-js, regenerator-runtime
Co-authored-by: Michael Hipp <michael@redmule.com>
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
* Update Contributors
* v1.0.2-pre1
* [313-remote-conn] allow remote connections to the websocket bridge (#314)
* [313-remote-conn] feat: compute wsURL based on window.location
* [313-remote-conn] feat: allow any host to connect to vue server
removing the 'host: "localhost"' specification causes the development
server to listen on all interfaces.
* [313-remote-conn] feat: allow any host to connect to angular dev server
* test: reinject tabs
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
* fix: disable host check for vuetify 2 template
* v1.0.2-pre2
* fix: shutdown ipcmanager
* use channel to trigger shutdown
* load linuxdb from relative path
* Feat manjaro arm & deepin (#324)
* feat: new distros: manjaroARM & Deepin
* v1.0.2-pre3
* [326-platform-raspbian] feat: implement raspbian support (#327)
* fix: emit arguments (#306)
* v1.0.2-pre4 Raspbarian support
* Initial support for Typescript decl file (#330)
* v1.0.2-pre5
* revert to Go 1.12
* New CI (#331)
* prepare
* new CI/github actions
* Rename later-pre.yml to latest-pre.yml
* Update latest-pre.yml
* Update README.md
* Ensure version in go.mod is up to date (#339)
* release v1.0.2-pre6
* Fix typescript generation
* Release v1.0.2-pre7
* 316-multi-bridge-conn (#317)
* [316-multi-bridge-conn] feat: use callback func for bridge response
* [316-multi-bridge-conn] feat: implement multiple session support
* split client handling portion into 'session'
* keep track of sessions by remote address (ip & port)
* notify each of the sessions anytime an event comes across the bus
* [316-multi-bridge-conn] chore: move bridge files to package
* [316-multi-bridge-conn] chore: remove deprecated Callback function
The Callback function is no longer needed for the operation of
the frontend callback since the ipc.Dispatch function now requires
a callback function to be provided as an argument.
This function can be a private function since it is passed by reference.
* [316-multi-bridge-conn] chore: make webview.Callback private
* [316-multi-bridge-conn] chore: remove unused injectCSS function
I believe a slightly better method of doing this might need to be devised
if it is needed in the future. I presume it should collect the values
into a cache and then inject it into each sesssion as it appears.
* [316-multi-bridge-conn] ensure wails:ready event is emitted
Event is only emitted for the first session created from the Bridge.
* [316-multi-bridge-conn] emit events for session lifecycle
Emit an event for each session started and ended.
* [316-multi-bridge-conn] fix: session handling fixes
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
* Release v1.0.2-pre8
* Release v1.0.2
Co-authored-by: Byron <ktc@protonmail.com>
Co-authored-by: Travis McLane <tmclane@gmail.com>
Co-authored-by: Michael Hipp <michael@redmule.com>
* [316-multi-bridge-conn] feat: use callback func for bridge response
* [316-multi-bridge-conn] feat: implement multiple session support
* split client handling portion into 'session'
* keep track of sessions by remote address (ip & port)
* notify each of the sessions anytime an event comes across the bus
* [316-multi-bridge-conn] chore: move bridge files to package
* [316-multi-bridge-conn] chore: remove deprecated Callback function
The Callback function is no longer needed for the operation of
the frontend callback since the ipc.Dispatch function now requires
a callback function to be provided as an argument.
This function can be a private function since it is passed by reference.
* [316-multi-bridge-conn] chore: make webview.Callback private
* [316-multi-bridge-conn] chore: remove unused injectCSS function
I believe a slightly better method of doing this might need to be devised
if it is needed in the future. I presume it should collect the values
into a cache and then inject it into each sesssion as it appears.
* [316-multi-bridge-conn] ensure wails:ready event is emitted
Event is only emitted for the first session created from the Bridge.
* [316-multi-bridge-conn] emit events for session lifecycle
Emit an event for each session started and ended.
* [316-multi-bridge-conn] fix: session handling fixes
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
* [313-remote-conn] feat: compute wsURL based on window.location
* [313-remote-conn] feat: allow any host to connect to vue server
removing the 'host: "localhost"' specification causes the development
server to listen on all interfaces.
* [313-remote-conn] feat: allow any host to connect to angular dev server
* test: reinject tabs
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
* feat: support close in bridge mode
* feat: WailsShutdown callback
Now handles proper shutdown through:
* runtime.Window.Close()
* Killing the main window
* Ctrl-C
The traditional method of providing web interfaces to Go programs is via a built-in web server. Wails offers a different approach: it provides the ability to wrap both Go code and a web frontend into a single binary. Tools are provided to make this easy for you by handling project creation, compilation and bundling. All you have to do is get creative!
The official docs can be found at [https://wails.app](https://wails.app).
## Features
- Use standard Go libraries/frameworks for the backend
@@ -27,15 +30,12 @@ The traditional method of providing web interfaces to Go programs is via a built
- Powerful cli tool
- Multiplatform
## Project Status
Wails is currently in Beta. Please make sure you read the [Project Status](https://wails.app/project_status.html) if you are interested in using this project.
## Installation
Wails uses cgo to bind to the native rendering engines so a number of platform dependent libraries are needed as well as an installation of Go. The basic requirements are:
- Go 1.12
- Go 1.13
- npm
### MacOS
@@ -46,19 +46,41 @@ Make sure you have the xcode command line tools installed. This can be done by r
Note: If you have successfully installed these dependencies on a different flavour of Linux, please consider submitting a PR.
`sudo yum install webkitgtk3-devel gtk3-devel`
_CentOS 6, 7_
#### Fedora
`sudo yum install webkit2gtk3-devel gtk3-devel`
_Fedora 29, 30_
#### VoidLinux & VoidLinux-musl
`xbps-install gtk+3-devel webkit2gtk-devel`
#### Gentoo
`sudo emerge gtk+:3 webkit-gtk`
### Windows
@@ -71,7 +93,7 @@ Windows requires gcc and related tooling. The recommended download is from [http
Installation is as simple as running the following command:
<pre style='color:white'>
go get github.com/wailsapp/wails/cmd/wails
go get -u github.com/wailsapp/wails/cmd/wails
</pre>
## Next Steps
@@ -103,8 +125,7 @@ And without [these people](CONTRIBUTORS.md), it wouldn't be what it is today. A
Special Mentions:
* [Bill Kennedy](https://twitter.com/goinggodotnet) - Go guru, encourager and all-round nice guy, whose infectious energy and inspiration powered me on when I had none left.
* [Mark Bates](https://github.com/markbates) - Creator of [Packr](https://github.com/gobuffalo/packr), inspiration for packing strategies which fed into some of the tooling.
* [Byron](https://github.com/bh90210) - At times, Byron has single handedly kept this project alive. Without his incredible input, we never would have got to v1.
This project was mainly coded to the following albums:
@@ -122,3 +143,14 @@ This project was mainly coded to the following albums:
* [Maxthor - Another World](https://open.spotify.com/album/3tklE2Fgw1hCIUstIwPBJF)
* [Alun Tan Lan - Y Distawrwydd](https://open.spotify.com/album/0c32OywcLpdJCWWMC6vB8v)
defaultError:=fmt.Errorf("unable to check libraries on distribution '%s'. Please ensure that the '%s' equivalent is installed",distroInfo.DistributorID,libraryName)
defaultError:=fmt.Errorf("unable to check libraries on distribution '%s'",distroInfo.Name)
logger.Yellow("Distribution '%s' is not currently supported, but we would love to!",distroInfo.DistributorID)
q:=fmt.Sprintf("Would you like to submit a request to support distribution '%s'?",distroInfo.DistributorID)
logger.Yellow("Distribution '%s' is not currently supported, but we would love to!",distroInfo.Name)
q:=fmt.Sprintf("Would you like to submit a request to support distribution '%s'?",distroInfo.Name)
result:=Prompt(q,"yes")
ifstrings.ToLower(result)!="yes"{
returndefaultError
}
title:=fmt.Sprintf("Support Distribution '%s'",distroInfo.DistributorID)
title:=fmt.Sprintf("Support Distribution '%s'",distroInfo.Name)
varstrstrings.Builder
@@ -205,16 +279,19 @@ func RequestSupportForDistribution(distroInfo *DistroInfo, libraryName string) e
str.WriteString(fmt.Sprintf("| Distribution ID | %s |\n",distroInfo.DistributorID))
str.WriteString(fmt.Sprintf("| Distribution ID | %s |\n",distroInfo.ID))
str.WriteString(fmt.Sprintf("| Distribution Name | %s |\n",distroInfo.Name))
str.WriteString(fmt.Sprintf("| Distribution Version | %s |\n",distroInfo.Release))
str.WriteString(fmt.Sprintf("| Discovered by | %s |\n",distroInfo.DiscoveredBy))
body:=fmt.Sprintf("**Description**\nDistribution '%s' is currently unsupported.\n\n**Further Information**\n\n%s\n\n*Please add any extra information here, EG: libraries that are needed to make the distribution work, or commands to install them*",distroInfo.DistributorID,str.String())
body:=fmt.Sprintf("**Description**\nDistribution '%s' is currently unsupported.\n\n**Further Information**\n\n%s\n\n*Please add any extra information here, EG: libraries that are needed to make the distribution work, or commands to install them*",distroInfo.ID,str.String())
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.