mirror of
https://github.com/wailsapp/wails.git
synced 2025-05-02 19:31:20 +08:00

* v1.10.1 * Fix vue template dependencies versions (fixes #574) (#576) * resolve angular routing broken when app is built * Revert "resolve angular routing broken when app is built" This reverts commite0aab7c27f
. * Update issue templates * v1.8.1 (#546) * resolve angular routing broken when app is built * Updated contributors * handle Set error on Update method * Remove incorrect build flag * v1.8.1-pre1 * added Get method * fixed return * implement gopath handling during cross compilation * update messages to output xgo version TODO: allow image override * use wailsapp/xgo:1.0.1 for cross-compiling * Support platform list in templates * Add warnings for windows builds * add fields Tags to ProjectOptions * add args tags to func BuildNative * add tags to func BuildDocker * delete escape tags * Update Contributors * feat: Vue3, Vue Router, Vuex, and Typescript Template * converted spaces to tabs in vue.config.js * single quotes and tabs Converted vue.config.js to using single quotes Converted example.spec.ts to tabs instead of spaces. * Added semicolons and mocha import * Update contributors * Make vue 3 template linux/mac only * Add tags to build * Add v2 artefacts * Update Vuetify in package.json (#537) * Update contributors * Replaced the old v-content tag with the new v-main (#536) * v1.8.1-pre4 * v1.8.1-pre5 * Update issue templates (#541) * Updated Contributors * Remove zero copy string conversion * v1.8.1-pre6 * Initial support for firebug (#543) * Initial support for firebug * Remove windows message * v1.8.1-pre7 * Update contributors * Allow use of custom HTML * Allow use of custom HTML (#545) * v1.8.1 Co-authored-by: Arthur Wiebe <arthur@artooro.com> Co-authored-by: Ilgıt Yıldırım <ilgit.yildirim@triplebits.com> Co-authored-by: Travis McLane <tmclane@gmail.com> Co-authored-by: Altynbek <go.gelleson@gmail.com> Co-authored-by: Kyle Muchmore <kyle.muchmore@kickview.com> Co-authored-by: Balakrishna Prasad Ganne <balkripra.1996@gmail.com> * v1.10.1 (#572) * fix dependencies versions Co-authored-by: Arthur Wiebe <arthur@artooro.com> Co-authored-by: Lea Anthony <lea.anthony@gmail.com> Co-authored-by: Ilgıt Yıldırım <ilgit.yildirim@triplebits.com> Co-authored-by: Travis McLane <tmclane@gmail.com> Co-authored-by: Altynbek <go.gelleson@gmail.com> Co-authored-by: Kyle Muchmore <kyle.muchmore@kickview.com> Co-authored-by: Balakrishna Prasad Ganne <balkripra.1996@gmail.com> * v1.11.0-rc1 * v1.11.0-pre1 * Bump ini from 1.3.5 to 1.3.8 in /runtime/js/runtime (#575) * resolve angular routing broken when app is built * Revert "resolve angular routing broken when app is built" This reverts commite0aab7c27f
. * Update issue templates * v1.8.1 (#546) * resolve angular routing broken when app is built * Updated contributors * handle Set error on Update method * Remove incorrect build flag * v1.8.1-pre1 * added Get method * fixed return * implement gopath handling during cross compilation * update messages to output xgo version TODO: allow image override * use wailsapp/xgo:1.0.1 for cross-compiling * Support platform list in templates * Add warnings for windows builds * add fields Tags to ProjectOptions * add args tags to func BuildNative * add tags to func BuildDocker * delete escape tags * Update Contributors * feat: Vue3, Vue Router, Vuex, and Typescript Template * converted spaces to tabs in vue.config.js * single quotes and tabs Converted vue.config.js to using single quotes Converted example.spec.ts to tabs instead of spaces. * Added semicolons and mocha import * Update contributors * Make vue 3 template linux/mac only * Add tags to build * Add v2 artefacts * Update Vuetify in package.json (#537) * Update contributors * Replaced the old v-content tag with the new v-main (#536) * v1.8.1-pre4 * v1.8.1-pre5 * Update issue templates (#541) * Updated Contributors * Remove zero copy string conversion * v1.8.1-pre6 * Initial support for firebug (#543) * Initial support for firebug * Remove windows message * v1.8.1-pre7 * Update contributors * Allow use of custom HTML * Allow use of custom HTML (#545) * v1.8.1 Co-authored-by: Arthur Wiebe <arthur@artooro.com> Co-authored-by: Ilgıt Yıldırım <ilgit.yildirim@triplebits.com> Co-authored-by: Travis McLane <tmclane@gmail.com> Co-authored-by: Altynbek <go.gelleson@gmail.com> Co-authored-by: Kyle Muchmore <kyle.muchmore@kickview.com> Co-authored-by: Balakrishna Prasad Ganne <balkripra.1996@gmail.com> * v1.10.1 (#572) * Bump ini from 1.3.5 to 1.3.8 in /runtime/js/runtime Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.8. - [Release notes](https://github.com/isaacs/ini/releases) - [Commits](https://github.com/isaacs/ini/compare/v1.3.5...v1.3.8) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Arthur Wiebe <arthur@artooro.com> Co-authored-by: Lea Anthony <lea.anthony@gmail.com> Co-authored-by: Ilgıt Yıldırım <ilgit.yildirim@triplebits.com> Co-authored-by: Travis McLane <tmclane@gmail.com> Co-authored-by: Altynbek <go.gelleson@gmail.com> Co-authored-by: Kyle Muchmore <kyle.muchmore@kickview.com> Co-authored-by: Balakrishna Prasad Ganne <balkripra.1996@gmail.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump ini from 1.3.5 to 1.3.8 in /runtime/js (#573) * resolve angular routing broken when app is built * Revert "resolve angular routing broken when app is built" This reverts commite0aab7c27f
. * Update issue templates * v1.8.1 (#546) * resolve angular routing broken when app is built * Updated contributors * handle Set error on Update method * Remove incorrect build flag * v1.8.1-pre1 * added Get method * fixed return * implement gopath handling during cross compilation * update messages to output xgo version TODO: allow image override * use wailsapp/xgo:1.0.1 for cross-compiling * Support platform list in templates * Add warnings for windows builds * add fields Tags to ProjectOptions * add args tags to func BuildNative * add tags to func BuildDocker * delete escape tags * Update Contributors * feat: Vue3, Vue Router, Vuex, and Typescript Template * converted spaces to tabs in vue.config.js * single quotes and tabs Converted vue.config.js to using single quotes Converted example.spec.ts to tabs instead of spaces. * Added semicolons and mocha import * Update contributors * Make vue 3 template linux/mac only * Add tags to build * Add v2 artefacts * Update Vuetify in package.json (#537) * Update contributors * Replaced the old v-content tag with the new v-main (#536) * v1.8.1-pre4 * v1.8.1-pre5 * Update issue templates (#541) * Updated Contributors * Remove zero copy string conversion * v1.8.1-pre6 * Initial support for firebug (#543) * Initial support for firebug * Remove windows message * v1.8.1-pre7 * Update contributors * Allow use of custom HTML * Allow use of custom HTML (#545) * v1.8.1 Co-authored-by: Arthur Wiebe <arthur@artooro.com> Co-authored-by: Ilgıt Yıldırım <ilgit.yildirim@triplebits.com> Co-authored-by: Travis McLane <tmclane@gmail.com> Co-authored-by: Altynbek <go.gelleson@gmail.com> Co-authored-by: Kyle Muchmore <kyle.muchmore@kickview.com> Co-authored-by: Balakrishna Prasad Ganne <balkripra.1996@gmail.com> * v1.10.1 (#572) * Bump ini from 1.3.5 to 1.3.8 in /runtime/js Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.8. - [Release notes](https://github.com/isaacs/ini/releases) - [Commits](https://github.com/isaacs/ini/compare/v1.3.5...v1.3.8) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Arthur Wiebe <arthur@artooro.com> Co-authored-by: Lea Anthony <lea.anthony@gmail.com> Co-authored-by: Ilgıt Yıldırım <ilgit.yildirim@triplebits.com> Co-authored-by: Travis McLane <tmclane@gmail.com> Co-authored-by: Altynbek <go.gelleson@gmail.com> Co-authored-by: Kyle Muchmore <kyle.muchmore@kickview.com> Co-authored-by: Balakrishna Prasad Ganne <balkripra.1996@gmail.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Remove debug info * v1.11.0-pre2 * Limit v1 updates to v1 * v1.11.0-pre3 * Test fix for linux high CPU usage * v1.11.0 Co-authored-by: Elie Grenon (DrunkenPoney) <elie.grenon.1@gmail.com> Co-authored-by: Arthur Wiebe <arthur@artooro.com> Co-authored-by: Ilgıt Yıldırım <ilgit.yildirim@triplebits.com> Co-authored-by: Travis McLane <tmclane@gmail.com> Co-authored-by: Altynbek <go.gelleson@gmail.com> Co-authored-by: Kyle Muchmore <kyle.muchmore@kickview.com> Co-authored-by: Balakrishna Prasad Ganne <balkripra.1996@gmail.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
158 lines
3.2 KiB
Go
158 lines
3.2 KiB
Go
package wails
|
|
|
|
import (
|
|
"net/url"
|
|
"strings"
|
|
|
|
"github.com/wailsapp/wails/runtime"
|
|
)
|
|
|
|
// AppConfig is the configuration structure used when creating a Wails App object
|
|
type AppConfig struct {
|
|
// The width and height of your application in pixels
|
|
Width, Height int
|
|
|
|
// The title to put in the title bar
|
|
Title string
|
|
|
|
// The HTML your app should use. If you leave it blank, a default will be used:
|
|
// <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="IE=edge" content="IE=edge"></head><body><div id="app"></div><script type="text/javascript"></script></body></html>
|
|
HTML string
|
|
|
|
// The Javascript your app should use. Normally this should be generated by a bundler.
|
|
JS string
|
|
|
|
// The CSS your app should use. Normally this should be generated by a bundler.
|
|
CSS string
|
|
|
|
// The colour of your window. Can take "#fff", "rgb(255,255,255)", "rgba(255,255,255,1)" formats
|
|
Colour string
|
|
|
|
// Indicates whether your app should be resizable
|
|
Resizable bool
|
|
|
|
// Indicated if the devtools should be disabled
|
|
DisableInspector bool
|
|
}
|
|
|
|
// GetWidth returns the desired width
|
|
func (a *AppConfig) GetWidth() int {
|
|
return a.Width
|
|
}
|
|
|
|
// GetHeight returns the desired height
|
|
func (a *AppConfig) GetHeight() int {
|
|
return a.Height
|
|
}
|
|
|
|
// GetTitle returns the desired window title
|
|
func (a *AppConfig) GetTitle() string {
|
|
return a.Title
|
|
}
|
|
|
|
// GetHTML returns the default HTML
|
|
func (a *AppConfig) GetHTML() string {
|
|
if len(a.HTML) > 0 {
|
|
a.HTML = url.QueryEscape(a.HTML)
|
|
a.HTML = "data:text/html," + strings.ReplaceAll(a.HTML, "+", "%20")
|
|
a.HTML = strings.ReplaceAll(a.HTML, "%3D", "=")
|
|
}
|
|
return a.HTML
|
|
}
|
|
|
|
// GetResizable returns true if the window should be resizable
|
|
func (a *AppConfig) GetResizable() bool {
|
|
return a.Resizable
|
|
}
|
|
|
|
// GetDisableInspector returns true if the inspector should be disabled
|
|
func (a *AppConfig) GetDisableInspector() bool {
|
|
return a.DisableInspector
|
|
}
|
|
|
|
// GetColour returns the colour
|
|
func (a *AppConfig) GetColour() string {
|
|
return a.Colour
|
|
}
|
|
|
|
// GetCSS returns the user CSS
|
|
func (a *AppConfig) GetCSS() string {
|
|
return a.CSS
|
|
}
|
|
|
|
// GetJS returns the user Javascript
|
|
func (a *AppConfig) GetJS() string {
|
|
return a.JS
|
|
}
|
|
|
|
func (a *AppConfig) merge(in *AppConfig) error {
|
|
if in.CSS != "" {
|
|
a.CSS = in.CSS
|
|
}
|
|
if in.Title != "" {
|
|
a.Title = runtime.ProcessEncoding(in.Title)
|
|
}
|
|
|
|
if in.Colour != "" {
|
|
a.Colour = in.Colour
|
|
}
|
|
|
|
if in.HTML != "" {
|
|
a.HTML = in.HTML
|
|
}
|
|
|
|
if in.JS != "" {
|
|
a.JS = in.JS
|
|
}
|
|
|
|
if in.HTML != "" {
|
|
a.HTML = in.HTML
|
|
}
|
|
|
|
if in.Width != 0 {
|
|
a.Width = in.Width
|
|
}
|
|
if in.Height != 0 {
|
|
a.Height = in.Height
|
|
}
|
|
a.Resizable = in.Resizable
|
|
a.DisableInspector = in.DisableInspector
|
|
|
|
return nil
|
|
}
|
|
|
|
// Creates the default configuration
|
|
func newConfig(userConfig *AppConfig) (*AppConfig, error) {
|
|
result := &AppConfig{
|
|
Width: 800,
|
|
Height: 600,
|
|
Resizable: true,
|
|
Title: "My Wails App",
|
|
Colour: "#FFF", // White by default
|
|
HTML: defaultHTML,
|
|
}
|
|
|
|
if userConfig != nil {
|
|
err := result.merge(userConfig)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
}
|
|
|
|
return result, nil
|
|
}
|
|
|
|
var defaultHTML = `<!DOCTYPE html>
|
|
<html lang="en">
|
|
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
</head>
|
|
|
|
<body>
|
|
<div id="app"></div>
|
|
</body>
|
|
|
|
</html>`
|