* Add os.O_WRONLY to icon.ico to avoid bad file descriptor error
* Wrap errors coming from winres.LoadICO()
If the file exists but is empty, a blunt "Unexpected EOF" is returned, and propagated as is.
This is not super helpful when trying to pin point what's going on.
Wrapping the error helps to locate the problem.
* [v2, windows] Apply suggested window size during DPI changed event
This adjusts the window size if the window is moved from one
monitor to another with a different DPI scaling
* [v2, windows] Do not block processing of messages during frameless drag/resize
* [v2, windows] Bump winc
Improves the HiDPI handling by using newer APIs if available
* [v2, windows] Constrain frameless maximize to MaxWidth/MaxHeight
* [linux] Move SetTitle and startDrag to main thread
* [linux] Move SetPosition, Center, Fullscreen and UnFullscreen to main thread
* Fix runtime Window Get/Set Position signatures
* Fix vanilla template keyboard handling
* [windows] Fix pos/getpos calls
* [linux] Move SetTitle and startDrag to main thread
* [linux] Move SetPosition, Center, Fullscreen and UnFullscreen to main thread
* Fix runtime Window Get/Set Position signatures
* Fix vanilla template keyboard handling
* feat(website): update dependencies and optimize some terms
* docs: optimize english documents
* docs: sync documents
* chore(website): the website project adds the recommended configuration of the vscode plugin
* ensure data doesn't get garbage collected too soon (#1113)
* ensure data doesn't get garbage collected too soon
* Update v2/internal/frontend/desktop/linux/frontend.go
Co-authored-by: stffabi <stffabi@users.noreply.github.com>
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
Co-authored-by: stffabi <stffabi@users.noreply.github.com>
* revert: undo lock-file changes
* Feature/v2 linux menus (#1114)
* Render menubar + text menu items
* Support disabled menuitems + callbacks
* Support checkboxes
* Support reusing checkboxes
* Support submenus
* Support Radio menuitems
* Support Menu Accelerators
* Support MenuUpdateApplicationMenu
* Fixes#1108 (#1115)
* chore(action): add auto sync script (#1109)
* Support RGBA, fix compilation error
* Fix fullscreen drag
* Ignore setenv error
* ensure data doesn't get garbage collected too soon (#1113)
* ensure data doesn't get garbage collected too soon
* Update v2/internal/frontend/desktop/linux/frontend.go
Co-authored-by: stffabi <stffabi@users.noreply.github.com>
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
Co-authored-by: stffabi <stffabi@users.noreply.github.com>
* Feature/v2 linux menus (#1114)
* Render menubar + text menu items
* Support disabled menuitems + callbacks
* Support checkboxes
* Support reusing checkboxes
* Support submenus
* Support Radio menuitems
* Support Menu Accelerators
* Support MenuUpdateApplicationMenu
* Fixes#1108 (#1115)
* chore(action): add auto sync script (#1109)
* Support RGBA, fix compilation error
* Fix fullscreen drag
* Ignore setenv error
* feat(website): update dependencies and optimize some terms
* docs: optimize english documents
* docs: sync documents
* chore(website): the website project adds the recommended configuration of the vscode plugin
* revert: undo lock-file changes
* [linux] better error handling
* [linux] Better Go 1.16 support
* [linux] Remove Go based dispatcher
* feat(website): update dependencies and optimize some terms
Co-authored-by: Travis McLane <tmclane@gmail.com>
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
Co-authored-by: stffabi <stffabi@users.noreply.github.com>
* Render menubar + text menu items
* Support disabled menuitems + callbacks
* Support checkboxes
* Support reusing checkboxes
* Support submenus
* Support Radio menuitems
* Support Menu Accelerators
* Updated windows window/frontend to fix issue with html select positioning
* Moved notifyParentWindowPositionChanged to the Window struct and moved RegMsgHandler to Run
* Update v2/internal/frontend/desktop/windows/window.go
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
* Moved winc.RegMsgHandler back to old location
* fixed error with merge
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
The following features are now supported for framless windows
- Allow aero snap
- Minimize and maximize animations
- Allow minimizing/restoring by clicking onto the taskbar icon
- If EnableFramelessBorder is used, the default application border with glass effect is used
Change: If a menu is used, it won't be displayed anymore if the window is frameless.
Frameless windows are always not resizable per default and
the resizing for those will be initiated by the frontend see
processMessage.
If EnableSizable is enabled for frameless windows, a small white
titlebar will be shown.
Fix#1049
@@ -15,8 +15,6 @@ The build command processes the Wails project and generates an application binar
| -ldflags "custom ld flags" | Use given ldflags | |
| -o path/to/binary | Compile to given path/filename | |
| -k | Keep generated assets | |
| -package | Create a platform specific package | |
| -production | Compile in production mode: -ldflags="-w -s" + "-h windows" on Windows | |
| -tags | Build tags to pass to Go compiler (quoted and space separated) | |
| -upx | Compress final binary with UPX (if installed) | |
| -upxflags "custom flags" | Flags to pass to upx | |
@@ -36,13 +34,13 @@ The build process is as follows:
- The frontend is then built. This command is read from the project file `wails.json` under the key `frontend:install` and executed in the `frontend` directory. If this is not defined, it is ignored.
- The project directory is checked to see if the `build` directory exists. If not, it is created and default project assets are copied to it.
- An asset bundle is then created by reading the `html` key from `wails.json` and loading the referenced file. This is then parsed, looking for local Javascript and CSS references. Those files are in turn loaded into memory, converted to C data and saved into the asset bundle located at `build/assets.h`, which also includes the original HTML.
- The application icon is then processed: if there is no `build/appicon.png`, a default icon is copied. On Windows, an `app.ico` file is generated from this png. On Mac, `icons.icns` is generated.
- If there are icons in the `build/tray` directory, these are processed, converted to C data and saved as `build/trayicons.h`, ready for the compilation step.
-If there are icons in the `build/dialog` directory, these are processed, converted to C data and saved as`build/userdialogicons.h`, ready for the compilation step.
- If the `-package` flag is given for a Windows target, the Windows assets in the `build/windows` directory are processed: manifest + icons compiled to a `.syso` file (deleted after compilation).
- If we are building a universal binary for Mac, the application is compiled for both `arm64` and `amd64`. The `lipo` tool is then executed to create the universal binary.
- The application icon is then processed: if there is no `build/appicon.png`, a default icon is copied. On Windows,
an `app.ico` file is generated from this png. On Mac, `icons.icns` is generated.
-The platform assets in the `build/<platform>` directory are processed: manifest + icons compiled to a `.syso` file (
deleted after compilation), `info.plist` copied to `.app` on Mac.
- If we are building a universal binary for Mac, the application is compiled for both `arm64` and `amd64`. The `lipo`
tool is then executed to create the universal binary.
- If we are not building a universal binary for Mac, the application is built using `go build`, using build tags to indicate type of application and build mode (debug/production).
- If the `-upx` flag was provided, `upx` is invoked to compress the binary. Custom flags may be provided using the `-upxflags` flag.
- If the `package` flag is given for a non Windows target, the application is bundled for the platform. On Mac, this creates a `.app` with the processed icons, the `Info.plist` in `build/darwin` and the compiled binary.
logger.Println("Warning: go.mod is using Wails '%s' but the CLI is '%s'. Consider updating it.\n",gomodversion.String(),internal.Version)
ifupdateGoMod{
returnsyncGoModVersion(cwd)
}
logger.Println("Warning: go.mod is using Wails '%s' but the CLI is '%s'. Consider updating your project's `go.mod` file.\n",gomodversion.String(),internal.Version)
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.