Create desktop apps using Go and Web Technologies.

Overview


Build desktop applications using Go & Web Technologies.

CodeFactor CodeFactor Awesome Release Pipelines

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.

Features

  • Use standard Go for the backend
  • Use any frontend technology to build your UI
  • Quickly create Vue, Vuetify or React frontends for your Go programs
  • Expose Go methods/functions to the frontend via a single bind command
  • Uses native rendering engines - no embedded browser
  • Shared events system
  • Native file dialogs
  • Powerful cli tool
  • Multiplatform

Sponsors

This project is supported by these kind people / companies:

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.16
  • npm

MacOS

Make sure you have the xcode command line tools installed. This can be done by running:

xcode-select --install

Linux

Debian/Ubuntu

sudo apt install libgtk-3-dev libwebkit2gtk-4.0-dev

Debian: 8, 9, 10

Ubuntu: 16.04, 18.04, 19.04

Also succesfully tested on: Zorin 15, Parrot 4.7, Linuxmint 19, Elementary 5, Kali, Neon, Pop!_OS

Arch Linux / ArchLabs / Ctlos Linux

sudo pacman -S webkit2gtk gtk3

Also succesfully test on: Manjaro & ArcoLinux

Centos

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

Windows requires gcc and related tooling. The recommended download is from http://tdm-gcc.tdragon.net/download. Once this is installed, you are good to go.

Installation

Ensure Go modules are enabled: GO111MODULE=on and go/bin is in your PATH variable.

Installation is as simple as running the following command:

go get -u github.com/wailsapp/wails/cmd/wails

Next Steps

It is recommended at this stage to read the comprehensive documentation at https://wails.app.

FAQ

  • Is this an alternative to Electron?

    Depends on your requirements. It's designed to make it easy for Go programmers to make lightweight desktop applications or add a frontend to their existing applications. Whilst Wails does not currently offer hooks into native elements such as menus, this may change in the future.

  • Who is this project aimed at?

    Go programmers who want to bundle an HTML/JS/CSS frontend with their applications, without resorting to creating a server and opening a browser to view it.

  • What's with the name?

    When I saw WebView, I thought "What I really want is tooling around building a WebView app, a bit like Rails is to Ruby". So initially it was a play on words (Webview on Rails). It just so happened to also be a homophone of the English name for the Country I am from. So it stuck.

Contributors

Special Mentions

Without the following people, this project would never have existed:

  • Dustin Krysak - His support and feedback has been immense. More patience than you can throw a stick at (Not long now Dustin!).
  • Serge Zaitsev - Creator of Webview which Wails uses for the windowing.
  • Byron - 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:

Licensing

FOSSA Status

Special Thanks


A *huge* thanks to Pace for sponsoring the project and helping the efforts to get Wails ported to Apple Silicon!

If you are looking for a Project Management tool that's powerful but quick and easy to use, check them out!

A special thank you to JetBrains for donating licenses to us!

Please click the logo to let them know your appreciation!

Comments
  • [v2] Monteray (MacOS 12.0.1) Compatibility Issues

    [v2] Monteray (MacOS 12.0.1) Compatibility Issues

    Description When using Dialogs on Mac Monteray a warning popup saying the open failed, (this happens both with OpenFileDialog and OpenDirectoryDialog) error output:

    021-11-11 11:39:06.158 waterfall-dev-darwin-arm64[4414:100468] *** Assertion failure in -[NSOpenPanel beginServicePanel:asyncExHandler:], NSVBOpenAndSavePanels.m:1907
    2021-11-11 11:39:06.159 waterfall-dev-darwin-arm64[4414:100468] -[NSSavePanel beginSheetModalForWindow:completionHandler:]_block_invoke caught non-fatal NSInternalInconsistencyException '<NSOpenPanel: 0x135036f40> is attempting to advance this Open/Save panel to run phase while another self.advanceToRunPhaseCompletionHandler is in waiting for a previous attempt. An Open/Save panel cannot start to advance more than once.' with user dictionary {
        NSAssertFile = "NSVBOpenAndSavePanels.m";
        NSAssertLine = 1907;
    } and backtrace (
            0   CoreFoundation                      0x00000001b0c2c12c __exceptionPreprocess + 240
            1   libobjc.A.dylib                     0x00000001b097d808 objc_exception_throw + 60
            2   Foundation                          0x00000001b1b58324 -[NSCalendarDate initWithCoder:] + 0
            3   AppKit                              0x00000001b412ac90 -[NSSavePanel beginServicePanel:asyncExHandler:] + 512
            4   AppKit                              0x00000001b412c140 -[NSSavePanel runModal] + 332
            5   waterfall-dev-darwin-arm64          0x0000000105696478 __41-[WailsContext OpenFileDialog:::::::::::]_block_invoke.328 + 36
            6   libdispatch.dylib                   0x00000001b0920e60 _dispatch_call_block_and_release + 32
            7   libdispatch.dylib                   0x00000001b0922bac _dispatch_client_callout + 20
            8   libdispatch.dylib                   0x00000001b09310ac _dispatch_main_queue_callback_4CF + 944
            9   CoreFoundation                      0x00000001b0bede60 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 16
            10  CoreFoundation                      0x00000001b0bab820 __CFRunLoopRun + 2540
            11  CoreFoundation                      0x00000001b0baa694 CFRunLoopRunSpecific + 600
            12  HIToolbox                           0x00000001b9720990 RunCurrentEventLoopInMode + 292
            13  HIToolbox                           0x00000001b9720704 ReceiveNextEventCommon + 552
            14  HIToolbox                           0x00000001b97204c4 _BlockUntilNextEventMatchingListInModeWithFilter + 72
            15  AppKit                              0x00000001b36ffaec _DPSNextEvent + 844
            16  AppKit                              0x00000001b36fe390 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1332
            17  AppKit                              0x00000001b36f03b0 -[NSApplication run] + 596
            18  waterfall-dev-darwin-arm64          0x000000010569382c Run + 272
            19  waterfall-dev-darwin-arm64          0x0000000105691430 _cgo_43b532242a4e_Cfunc_Run + 36
            20  waterfall-dev-darwin-arm64          0x0000000105008afc runtime.asmcgocall + 124
    )
    
    

    To Reproduce Steps to reproduce the behaviour:

    I've created a repo, that fails for me on my mac, but works on windows https://github.com/KoduIsGreat/wails-v2-mac-os-dialog-issue

    1. Clone repo
    2. run wails dev
    3. Click on the greet button
    4. See error

    Expected behaviour The dialog should open.

    Screenshots If applicable, add screenshots to help explain your problem. Screen Shot 2021-11-11 at 11 39 35 AM

    System Details Wails CLI v2.0.0-beta.20

    Scanning system - Please wait (this may take a long time)...Done.

    System

    OS: MacOS Version: 12.0.1 ID: 199506 Go Version: go1.17.2 Platform: darwin Architecture: arm64

    Additional context Add any other context about the problem here.

    Bug Awaiting Feedback In Progress TODO 
    opened by KoduIsGreat 55
  • [v2] Windows: Title bar in color of system theme (dark, light)

    [v2] Windows: Title bar in color of system theme (dark, light)

    Is your feature request related to a problem? Please describe. I use Windows with dark system theme. The title bar of an Wails applications stays light.

    Describe the solution you'd like On dark theme, the title bar should be dark as well. Ideally that switch happens automatically, even when the application runs.

    Enhancement 
    opened by sebastian0x62 52
  • Add garble support

    Add garble support

    This PR adds support for the garble obfuscation tool. It generates different bindings in the wailsjs directory to support this.

    Fixes #1634

    CC @osbornnnnn @aivaki

    opened by leaanthony 44
  • Cannot set size of window on Ubuntu 22.04 (heigh and width is 0)

    Cannot set size of window on Ubuntu 22.04 (heigh and width is 0)

    Description

    When running wails, both in dev and build mode on Ubuntu, the height and width are zero. I ran the same exact code on MacOS and it works.

    It's stuck at (seemingly) 0 width and 0 height. If you pass it the Fullscreen argument in app initialization, or call runtime.WindowFullscreen(ctx) from go, you still start off with 0 widht and 0 height, but it becomes resizable via the GUI.

    OS Version:

    Distributor ID:	Ubuntu
    Description:	Ubuntu 22.04 LTS
    Release:	22.04
    Codename:	jammy
    

    To Reproduce

    Initialize project: wails init -n wails_issue_repro -t react-ts Run wails dev or run wails build and execute build executable

    Expected behaviour

    Window respects size of initial app config and is programatically resizable.

    Screenshots

    image

    Attempted Fixes

    Search through github and did not find any fixes or same issues

    System Details

    ~/tmp/wails-issue-repro/wails_issue_repro$  wails doctor
    Wails CLI v2.0.0-beta.38
    
    
    Scanning system - Please wait (this may take a long time)...Done.
    
    System
    ------
    OS:		Ubuntu
    Version: 	22.04
    ID:		ubuntu
    Go Version:	go1.18.1
    Platform:	linux
    Architecture:	amd64
    
    Wails
    ------
    Version: 		v2.0.0-beta.38
    Package Manager: 	apt
    
    Dependency	Package Name		Status		Version
    ----------	------------		------		-------
    *docker		docker.io		Installed	20.10.17
    gcc		build-essential		Installed	11.2.0
    libgtk-3	libgtk-3-dev		Installed	3.24.33-1ubuntu2
    libwebkit	libwebkit2gtk-4.0-dev	Installed	2.36.3-0ubuntu0.22.04.1
    npm		npm			Installed	8.5.1~ds-1
    *nsis		nsis			Installed	v3.08-2
    pkg-config	pkg-config		Installed	0.29.2
    
    * - Optional Dependency
    
    Diagnosis
    ---------
    Your system is ready for Wails development!
    
    
    If Wails is useful to you or your company, please consider sponsoring the project:
    https://github.com/sponsors/leaanthony
    

    Additional context

    No response

    Bug In Progress 
    opened by skamensky 42
  • Cannot start wails + create-react-app

    Cannot start wails + create-react-app

    Description I really don't know if this is a bug or simply wails does not supports react

    To Reproduce Steps to reproduce the behaviour:

    1. Init a wails project
    2. Create a react app in the frontend folder
    3. Add frontend build as assetdir in wails.json
    4. Add npm install as frontend:install
    5. Add npm run build as frontend:dev/frontend:build
    6. Executewails dev and wait or wails build an open the application

    Expected behaviour A correct opening of the application

    Screenshots If applicable, add screenshots to help explain your problem.

    System Details (running wails doctor) System

    OS: MacOS Version: 11.6 ID: 199506 Go Version: go1.17.2 Platform: darwin Architecture: amd64

    Additional context This is what I get when running wails dev (I see the same error when starting the application after wails build

    Executing: go mod tidy
    Executing: wails generate module
    Running frontend dev command: 'npm run build'
    Building application for development...
    Installing frontend dependencies: Done.
    Compiling frontend: 
    > [email protected] build
    > react-scripts build
    
    Creating an optimized production build...
    Compiled successfully.
    
    File sizes after gzip:
    
      41.33 KB  build/static/js/2.c2ca528f.chunk.js
      1.62 KB   build/static/js/3.1ef4b814.chunk.js
      1.16 KB   build/static/js/runtime-main.ff5ca5cf.js
      588 B     build/static/js/main.044cc9db.chunk.js
      531 B     build/static/css/main.8c8b27cf.chunk.css
    
    The project was built assuming it is hosted at /.
    You can control this with the homepage field in your package.json.
    
    The build folder is ready to be deployed.
    You may serve it with a static server:
    
      npm install -g serve
      serve -s build
    
    Find out more about deployment here:
    
      https://cra.link/deployment
    
    Done.
    Compiling application: Dev command exited!
    Done.
    
    DEB | [DesktopAssetServer] Loading assets from: %PROJECTPATH%/frontend/build
    panic: runtime error: index out of range [0] with length 0
    
    goroutine 1 [running, locked to thread]:
    github.com/wailsapp/wails/v2/internal/frontend/assetserver.PathToIndexHTML({0xc000307ce0})
            %USERPATH%/go/pkg/mod/github.com/wailsapp/wails/[email protected]/internal/frontend/assetserver/assetserver_desktop.go:84 +0x156
    github.com/wailsapp/wails/v2/internal/frontend/assetserver.processAssets({0xc000307ce0})
            %USERPATH%/go/pkg/mod/github.com/wailsapp/wails/[email protected]/internal/frontend/assetserver/assetserver_desktop.go:95 +0x39
    github.com/wailsapp/wails/v2/internal/frontend/assetserver.(*DesktopAssetServer).init(...)
            %USERPATH%/go/pkg/mod/github.com/wailsapp/wails/[email protected]/internal/frontend/assetserver/assetserver_desktop.go:105
    github.com/wailsapp/wails/v2/internal/frontend/assetserver.NewDesktopAssetServer({0x4567200, 0xc0001eb9b0}, {0x4558c80}, {0xc000310000, 0x6f})
            %USERPATH%/go/pkg/mod/github.com/wailsapp/wails/[email protected]/internal/frontend/assetserver/assetserver_desktop.go:47 +0x2d2
    github.com/wailsapp/wails/v2/internal/frontend/desktop/darwin.NewFrontend({0x4567200, 0xc0001eb9b0}, 0xc0001ce0c0, 0xc0000bcb10, 0xc0000ce500, {0x455e160, 0xc0001eb9e0})
            %USERPATH%/go/pkg/mod/github.com/wailsapp/wails/[email protected]/internal/frontend/desktop/darwin/frontend.go:84 +0x1cb
    github.com/wailsapp/wails/v2/internal/frontend/desktop.NewFrontend(...)
            %USERPATH%/go/pkg/mod/github.com/wailsapp/wails/[email protected]/internal/frontend/desktop/desktop_darwin.go:18
    github.com/wailsapp/wails/v2/internal/appng.CreateApp(0xc0001ce0c0)
            %USERPATH%/go/pkg/mod/github.com/wailsapp/wails/[email protected]/internal/appng/app_dev.go:118 +0x6cb
    github.com/wailsapp/wails/v2.Run(0xc0000001a0)
            %USERPATH%/go/pkg/mod/github.com/wailsapp/wails/[email protected]/wails.go:19 +0x19
    main.main()
            %USERPATH%/Documents/golang/provoon/main.go:26 +0x385
    Watching (sub)/directory: %USERPATH%/Documents/golang/provoon
    Using Dev Server URL: http://localhost:34115
    Using reload debounce setting of 100 milliseconds
    ^C
    Caught quit
    Development mode exited
    
    If Wails is useful to you or your company, please consider sponsoring the project:
    https://github.com/sponsors/leaanthony
    

    Thanks in advance for your help, I really appreciate your work and love this project. I'll surely make a react template after this issue has been solved

    Bug 
    opened by AlienRecall 41
  • Wails apps not displaying gui

    Wails apps not displaying gui

    Description

    As of yesterday morning I am no longer able to see any wails guis this is the case with my own app and also the Wally app for my keyboard

    To Reproduce Attempt to run the application you will be presented with a black screen

    If run from command line I get this message Overriding existing handler for signal 10. Set JSC_SIGNAL_FOR_GC if you want WebKit to use a different signal Control

    Expected behaviour I expect to see the gui

    Screenshots This is a screen shot of wally running which ran just fine the other day wally

    If running from cli you will see this message

    Overriding existing handler for signal 10. Set JSC_SIGNAL_FOR_GC if you want WebKit to use a different signal Control

    System Details

    | Name | Value | | ----- | ----- | | Wails Version | v1.16.0 | | Go Version | go1.16.3 | | Platform | linux | | Arch | amd64 | | GO111MODULE | (Set) | | GCC | 10.2.0 | | Npm | 7.8.0 | | Node | v15.14.0 | | Distro |Manjaro 21.0.1 | |Kernel |5.10.28| |Shell |Fish 3.2.0-60| |Windows Manager | I3 | |Processor |Ryzen 7 x1700| |Memory |DDR 4 32GB 2400MHz|

    Additional context Pretty straight forward "It don't work" it is possible that it is a problem with webkit.

    opened by chrisfair 37
  • Models  are not generated in Models.ts for output types

    Models are not generated in Models.ts for output types

    ##################################################### If you have a technical issue, please do not open a bug this way! Please use the wails issue command! If you do not do this then the issue may be closed automatically.

    NOTE: If your bug is related to Windows, make sure you read the Windows Developer Guide #####################################################

    Description As discussed on the discussion board here: https://github.com/wailsapp/wails/discussions/828#discussioncomment-1643354 it looks like the models are not generated for output types. Also if one access a list of objects via JavaScript it just returns plain objects. Methods on the JavaScript Objects will not be returned. Also shown in the discussion above.

    To Reproduce Steps to reproduce the behaviour: https://github.com/wailsapp/wails/discussions/828#discussioncomment-1643354

    Expected behaviour Models should be generated. And Methods on the Models should also be available by JavaScript.

    Screenshots If applicable, add screenshots to help explain your problem.

    System Details Please provide your platform, GO version and variables, etc

    Additional context Add any other context about the problem here.

    Bug Awaiting Feedback TODO 
    opened by felixbecker 33
  • Fix double quotes encoding in event Data passed from go to JS in NotifyEvent

    Fix double quotes encoding in event Data passed from go to JS in NotifyEvent

    Way to reproduce:

    test := map[string]string{
            "key": `"value"`,
    }
    
    runtime.Events.Emit("test", &test)
    

    Then in eval call JS will try to parse it and will fail:

    JSON.parse('{"key":"\"value\""}')
    VM287:1 Uncaught SyntaxError: Unexpected token h in JSON at position 10
        at JSON.parse (<anonymous>)
        at <anonymous>:1:6
    

    Proposed fix is to double encode it to json before evaluation. Not sure how it will affect performance. In any case \" should be replaced with \\" somehow to make event sender more robust.

    If you know any way to configure json marshaller to have it output proper data right away, feel free to close this PR.

    opened by Unix4ever 33
  • feat: clojurescript+reagent template

    feat: clojurescript+reagent template

    So I'm writing a new template, which will use a tool called leiningen to have a clojurescript template, using reagent (clojurescript bindings to react) I was just wondering what tips I might have before embarking. It seems I make a minimum root project directory, but add a whole frontend/ directory as created exactly by the tool from its own templates, is that right? Or can I invoke lein from wails init?

    I also imagine I need to bind to certain wails javascript libraries?

    opened by Vaelatern 31
  • Korean characters are displayed abnormally in Title

    Korean characters are displayed abnormally in Title

    Description

    Korean characters are displayed abnormally in Title

    • Ubuntu 18.04 : normal
    • macOS 10.14.6 : normal
    • Windows 10 1903 : abnormal

    To Reproduce Steps to reproduce the behaviour:

    1. Go to '...'
    2. Click on '....'
    3. Scroll down to '....'
    4. See error

    Expected behaviour A clear and concise description of what you expected to happen.

    Screenshots 2019-10-14-16-01-08

    System Details

    | Name | Value | | ----- | ----- | | Wails Version | v0.18.3 | | Go Version | go1.12.7 | | Platform | windows | | Arch | amd64 | | GO111MODULE | (Not Set) | | GCC | 5.1.0 | | Npm | v12.9.0 | | Node | 6.10.2 |

    Additional context

    Wont Fix 
    opened by scshin0572 29
  • Concurrent write to WebSocket

    Concurrent write to WebSocket

    Description

    Wails crashes during websocket communication

    To Reproduce

    from TS:

    Wails.Events.On("update_status", (newStatus) => {
    			console.log("On STATUS: ", newStatus)
    		  });
    
    for(int i=0; I < 100; I++){
      backend.IntelliMech.SetStatus(`Count: ${i}`)
    }
    
    

    from GoLang

    func (im *IntelliMech) wailsRunner() {
    	for {
    		select {
    		case newStat := <-im.inStatus:
    			im.Lock()
    			im.status = newStat
    			im.Unlock()
    			im.Runtime.Events.Emit("update_status", newStat)
    		}
    	}
    }
    
    func (im *IntelliMech) SetStatus(data string) {
    	log.Printf("We Have New Status %s", data)
    	im.inStatus <- data
    
    }
    

    panic: concurrent write to websocket connection

    goroutine 6 [running]: github.com/gorilla/websocket.(*messageWriter).flushFrame(0xc00011b8b0, 0xc000173401, 0xc0001734b6, 0x0, 0xa, 0x40, 0xc000173480) /Users/svkior/go/pkg/mod/github.com/gorilla/[email protected]/conn.go:591 +0x6f6 github.com/gorilla/websocket.(*Conn).WriteMessage(0xc000280160, 0x1, 0xc000173480, 0x36, 0x40, 0x40, 0x1) /Users/svkior/go/pkg/mod/github.com/gorilla/[email protected]/conn.go:752 +0x24c github.com/wailsapp/wails/lib/renderer/bridge.(*session).sendMessage(0xc000154d70, 0xc000173440, 0x36, 0x0, 0x0) /Users/svkior/go/pkg/mod/github.com/wailsapp/[email protected]/lib/renderer/bridge/session.go:39 +0xef github.com/wailsapp/wails/lib/renderer/bridge.(*session).evalJS(...) /Users/svkior/go/pkg/mod/github.com/wailsapp/[email protected]/lib/renderer/bridge/session.go:88 github.com/wailsapp/wails/lib/renderer/bridge.(*Bridge).NotifyEvent(0xc000254070, 0xc0002c8960, 0x0, 0x0) /Users/svkior/go/pkg/mod/github.com/wailsapp/[email protected]/lib/renderer/bridge/bridge.go:165 +0x314 github.com/wailsapp/wails/lib/event.(*Manager).Start.func1(0xc000154820) /Users/svkior/go/pkg/mod/github.com/wailsapp/[email protected]/lib/event/manager.go:111 +0x36c created by github.com/wailsapp/wails/lib/event.(*Manager).Start /Users/svkior/go/pkg/mod/github.com/wailsapp/[email protected]/lib/event/manager.go:99 +0x12d Error: exit status 2

    Expected behaviour No Error

    System Details

    | Name | Value | | ----- | ----- | | Wails Version | v1.0.2 | | Go Version | go1.13.6 | | Platform | darwin | | Arch | amd64 | | GO111MODULE | (Not Set) | | GCC | 4.2.1 | | Npm | 6.13.6 | | Node | v13.7.0 |

    Additional context Add any other context about the problem here.

    opened by svkior 28
  • Feature: Add window transparency for linux

    Feature: Add window transparency for linux

    This PR resolves #1923 by implementing window transparency on linux.

    • Added transparency in v2/internal/frontend/desktop/linux/window.go
    • Created WindowIsTranslucent option in v2/pkg/options/linux/linux.go
    • Updated docs in website/docs/reference/options.mdx

    Tested on:

    • Linux/amd64, PopOs 22.04 with X11 (In this case its the same as Ubuntu 22.04)
      • Works as intended.
    • Linux/arm, Raspbian GNU/Linux 11 (bullseye)
      • It does not work on raspbian, because the window manager doesn't supports compositing, but the case is handled, so the window opens as opaque.
    opened by Lyimmi 0
  • a found in  binding.NewBindings

    a found in binding.NewBindings

    Description

    in code file github.com/wailsapp/wails/v2/internal/binding/binding.go ,I found these code ` func NewBindings(logger *logger.Logger, structPointersToBind []interface{}, exemptions []interface{}, obfuscate bool) *Bindings { ... for _, exemption := range exemptions { if exemptions == nil {
    continue } .... }

    if exemptions == nil { => if exemption == nil {

    To Reproduce

    1. open "github.com/wailsapp/wails/v2/internal/binding/binding.go"
    2. line 38 " if exemptions == nil {"

    Expected behaviour

    "if exemptions == nil " will be " if exemption == nil {"

    Screenshots

    No response

    Attempted Fixes

    No response

    System Details

    Wails CLI v2.0.0-rc.1.1
    
    Scanning system - Please wait (this may take a long time)...Done.
    
    System
    ------
    OS:             Windows 10 Enterprise
    Version:        2009 (Build: 19042)
    ID:             20H2
    Go Version:     go1.18
    Platform:       windows
    Architecture:   amd64
    
    Wails
    ------
    
    Diagnosis
    ---------
    Your system is ready for Wails development!
    

    Additional context

    No response

    Bug 
    opened by abin30 0
  • [v2 Linux] Transparent window on linux

    [v2 Linux] Transparent window on linux

    Is your feature request related to a problem? Please describe.

    Currently in v2 we can use a transparent window on Windows and Mac, but Linux is missing this feature.

    I would like to be able to use transparent windows on Linux as well.

    Describe the solution you'd like

    I would like to add the transparent window functionality to internal/frontend/desktop/linux/window.go and a new option to linux.Options to enable it.

    I was able achieve window transparency without any blur/frosting effect. (I think blur could be added in GTK4)

    If it is ok to add before v2.1.0 (it is not in the road map) I'd be happy to make a PR for it.

    Describe alternatives you've considered

    Did not consider anything else.

    Additional context

    Screenshot from 2022-09-30 20-10-17

    Enhancement TODO 
    opened by Lyimmi 1
  • javascript alert not working on Macos

    javascript alert not working on Macos

    Description

    Hi,

    Is it a known issue that the Alert function not working on MacOS?

    I just learnt wails for 2 days, got a repo like this, and in this file https://github.com/sunshine69/check-passwords/blob/main/frontend/src/App.svelte I use the alert function to display the output.

    While it is working fine on Ubuntu 22.01.1 but on MacOS I did not see any alert popup.

    Put some debuging print at my go file and confirm the request get though and print out the text as result.

    Is it something I did wrongly?

    Thanks heap

    To Reproduce

    Check out my repo https://github.com/sunshine69/check-passwords on MacOS intel

    Install it based on the doc - Need to do mkdir frontend/dist touch frontend/dist/.txt wails build

    and run the binary.

    Expected behaviour

    the running apps should work the same way it works on Ubuntu, that is my alert function should popup.

    Screenshots

    No response

    Attempted Fixes

    No response

    System Details

    % wails doctor
    Wails CLI v2.0.0
    
    Scanning system - Please wait (this may take a long time)...Done.
    
    System
    ------
    OS:		MacOS
    Version: 	12.3.1
    ID:		21E258
    Go Version:	go1.19.1
    Platform:	darwin
    Architecture:	amd64
    
    Wails
    ------
    Version: 	v2.0.0
    
    Dependency			Package Name	Status		Version
    ----------			------------	------		-------
    xcode command line tools  	N/A 		Installed 	2395
    npm  				N/A 		Installed 	8.19.2
    *upx  				N/A 		Available 	
    *nsis  				N/A 		Available 	
    
    * - Optional Dependency
    
    Diagnosis
    ---------
    Your system is ready for Wails development!
    Optional package(s) installation details: 
      - upx : Available at https://upx.github.io/
      - nsis : Available at https://nsis.sourceforge.io/Download
    
    
    
    If Wails is useful to you or your company, please consider sponsoring the project:
    https://github.com/sponsors/leaanthony
    
    [email protected] check-passwords-main %
    

    Additional context

    No response

    Bug 
    opened by sunshine69 0
  • [v2 linux] Cross-compilation targetting windows doesn't work in v2 but works with manual build

    [v2 linux] Cross-compilation targetting windows doesn't work in v2 but works with manual build

    Description

    I am doing cross compilation targeting windows amd64. My application uses confluent-kafka-go package which needs mingw for compilation for windows.

    The compilation worked in beta versions and now doesn't work with wails build command. I also tried to use go build with same flags and it works without an issue and the app runs on windows as expected.

    Building for linux works just fine.

    To Reproduce

    Having new wails 2.0.0

    1. Create project with wails init, add confluent-kafka-go package and add some code from the official examples
    2. Install gcc-mingw-w64 and g++-mingw-w64-x86-64 with for example sudo apt-get install gcc-mingw-w64 g++-mingw-w64-x86-64
    3. Run the app locally in development mode wails dev
    4. Build the app targetting windows with the following command: env GOOS=windows GOARCH=amd64 CGO_ENABLED=1 CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++ CGO_CXXFLAGS="-IC:\msys64\mingw64\include" wails build -ldflags '-extldflags "-static"' (fails)

    Alternatively, compile the app with the following command env GOOS=windows GOARCH=amd64 CGO_ENABLED=1 CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++ CGO_CXXFLAGS="-IC:\msys64\mingw64\include" go build -tags desktop,production -ldflags '-extldflags "-static"' (ok)

    Expected behaviour

    wails build cross compilation should work same way manual build does

    Screenshots

    image

    Building with -platform flag even yields different errors image

    Here is the successful build with go build. I have a windows server where I tried the kafka-tester.exe executable and it works as expected. image

    Building for linux works just fine image

    Attempted Fixes

    I tried the manual build by following these instructions: https://wails.io/docs/guides/manual-builds/#compile-application

    That worked just fine.

    System Details

    Wails CLI v2.0.0
    
    Scanning system - Please wait (this may take a long time)...Done.
    
    System
    ------
    OS:		Debian GNU/Linux
    Version: 	11
    ID:		debian
    Go Version:	go1.19.1
    Platform:	linux
    Architecture:	amd64
    
    Wails
    ------
    Version: 		v2.0.0
    Package Manager: 	apt
    
    Dependency	Package Name		Status		Version
    ----------	------------		------		-------
    *docker 	docker.io 		Available 	20.10.5+dfsg1-1+deb11u2
    gcc 		build-essential 	Installed 	12.9
    libgtk-3 	libgtk-3-dev 		Installed 	3.24.24-4+deb11u2
    libwebkit 	libwebkit2gtk-4.0-dev 	Installed 	2.38.0-1~deb11u1
    npm 		npm 			Installed 	8.15.0
    *nsis 		nsis 			Available 	3.06.1-1
    pkg-config 	pkg-config 		Installed 	0.29.2
    
    * - Optional Dependency
    
    Diagnosis
    ---------
    Your system is ready for Wails development!
    Optional package(s) installation details: 
      - docker: sudo apt install docker.io
      - nsis: sudo apt install nsis
    
    
    
    If Wails is useful to you or your company, please consider sponsoring the project:
    https://github.com/sponsors/leaanthony
    
    

    uname -a

    Linux ACZ-60DM373 5.10.0-18-amd64 #1 SMP Debian 5.10.140-1 (2022-09-02) x86_64 GNU/Linux
    
    
    
    ### Additional context
    
    Worked on v2.0.0-beta.44.2 . Doesn't work on v2.0.0 .
    Bug 
    opened by dergyitheron 0
  • fix gtk_window_begin_resize_drag's mouse button

    fix gtk_window_begin_resize_drag's mouse button

    This PR is connected to: #1917

    I made a mistake in my previous commit 342cf464d1d8012cdfa085dd070377eca9bf5a29.

    When I registered the last mouse click I changed the gtk_window_begin_move_drag()'s button property by mistake instead of gtk_window_begin_resize_drag()'s.

    Whit this PR I'm setting the valid mouse button for gtk_window_begin_resize_drag() as well.

    opened by Lyimmi 0
Releases(v2.0.0)
  • v2.0.0(Sep 22, 2022)

    We made it! A huge thank you to all the contributors that put so much time and effort into this release πŸ™ Blog post: https://wails.io/blog/wails-v2-released

    Fixed

    • Fix buildtags parsing if only one tag is specified by @stffabi in https://github.com/wailsapp/wails/pull/1858
    • Use embed all to include all files in templates by @stffabi in https://github.com/wailsapp/wails/pull/1862

    Changed

    • Bump minimum required Go version to 1.18 by @stffabi in https://github.com/wailsapp/wails/pull/1854
    • Add check for minimum required Go version by @stffabi in https://github.com/wailsapp/wails/pull/1853
    • chore: update README and workflows by @misitebao in https://github.com/wailsapp/wails/pull/1848
    • Update introduction.mdx by @ParvinEyvazov in https://github.com/wailsapp/wails/pull/1863
    • Releasetest/release workflow by @leaanthony in https://github.com/wailsapp/wails/pull/1869
    • Optimize documentation website by @misitebao in https://github.com/wailsapp/wails/pull/1849

    New Contributors

    • @ParvinEyvazov made their first contribution in https://github.com/wailsapp/wails/pull/1863
    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-rc.1.1(Sep 13, 2022)

  • v2.0.0-rc.1(Sep 13, 2022)

    Deprecated

    • The -noGen flag for the wails dev command has been replaced with -skipbindings. This is to align with the wails build command.

    Added

    • Add garble support by @leaanthony in https://github.com/wailsapp/wails/pull/1793
    • Make draggable CSS property customisable by @leaanthony in https://github.com/wailsapp/wails/pull/1828
    • Add Some WindowState by @zandercodes in https://github.com/wailsapp/wails/pull/1349
    • Make EventsOff capable of removing multiple listeners by @Lyimmi in https://github.com/wailsapp/wails/pull/1822

    Fixed

    • Use Promise<void> when Go routine does not output by @SheetJSDev in https://github.com/wailsapp/wails/pull/1821
    • preact-ts template build fix by @Debdut in https://github.com/wailsapp/wails/pull/1781
    • fix frontend/tsconfig.js by @Lyimmi in https://github.com/wailsapp/wails/pull/1795
    • fix: fix bugs in website by @misitebao in https://github.com/wailsapp/wails/pull/1810
    • Fix vue-ts template by @leaanthony in https://github.com/wailsapp/wails/pull/1813
    • Remove duplicate defs in win32/window.go by @AlbinoDrought in https://github.com/wailsapp/wails/pull/1832

    Changed

    • Upgrade React to use Vite v3 by @leaanthony in https://github.com/wailsapp/wails/pull/1744
    • Upgrade Lit to use Vite v3 by @leaanthony in https://github.com/wailsapp/wails/pull/1745
    • Support vite3 for Vue by @leaanthony in https://github.com/wailsapp/wails/pull/1746
    • Preact templates for vite 3 by @leaanthony in https://github.com/wailsapp/wails/pull/1770
    • Prevent env variables and registry overrides from changing behaviour by @stffabi in https://github.com/wailsapp/wails/pull/1771
    • Use go implementation to retrieve the version of a fixed runtime by @stffabi in https://github.com/wailsapp/wails/pull/1790
    • Change contribution guide type from "doc" to "page" by @misitebao in https://github.com/wailsapp/wails/pull/1777
    • feat(website): repair document content by @misitebao in https://github.com/wailsapp/wails/pull/1775
    • chore: sort out files by @misitebao in https://github.com/wailsapp/wails/pull/1776
    • Add Korean to doc by @jaesung9507 in https://github.com/wailsapp/wails/pull/1774
    • Add README.ja.md by @shinshin86 in https://github.com/wailsapp/wails/pull/1783
    • Reorganized contribution guidelines page by @misitebao in https://github.com/wailsapp/wails/pull/1784
    • fix(website): fix link by @misitebao in https://github.com/wailsapp/wails/pull/1785
    • Update templates.mdx by @KiddoV in https://github.com/wailsapp/wails/pull/1799
    • Better watcher by @leaanthony in https://github.com/wailsapp/wails/pull/1827
    • Only set GDK_BACKEND to "x11" if GDK_BACKEND is unset and XDG_SESSION_TYPE is not "wayland" by @prurigro in https://github.com/wailsapp/wails/pull/1811
    • Optimize images by @imgbot in https://github.com/wailsapp/wails/pull/1812

    New Contributors

    • @shinshin86 made their first contribution in https://github.com/wailsapp/wails/pull/1783
    • @Debdut made their first contribution in https://github.com/wailsapp/wails/pull/1781
    • @KiddoV made their first contribution in https://github.com/wailsapp/wails/pull/1799
    • @zandercodes made their first contribution in https://github.com/wailsapp/wails/pull/1349
    • @prurigro made their first contribution in https://github.com/wailsapp/wails/pull/1811
    • @SheetJSDev made their first contribution in https://github.com/wailsapp/wails/pull/1821
    • @AlbinoDrought made their first contribution in https://github.com/wailsapp/wails/pull/1832
    • @imgbot made their first contribution in https://github.com/wailsapp/wails/pull/1812

    Full Changelog: https://github.com/wailsapp/wails/compare/v2.0.0-beta.44.2...v2.0.0-rc.1

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-beta.44.2(Aug 20, 2022)

  • v2.0.0-beta.44.1(Aug 20, 2022)

  • v2.0.0-beta.44(Aug 20, 2022)

    Deprecation Notice

    The data-wails-drag attribute is being deprecated in favour of the following CSS style: style="--wails-draggable:drag". You can use style="--wails-draggable:no-drag" to disable the drag behaviour. For this release only, you can test this by setting the following application option:

      Experimental: &options.Experimental{
        UseCSSDrag: true,
      },
    

    Added

    • Set file permissions for generated files by @leaanthony in https://github.com/wailsapp/wails/pull/1763
    • Experimental support for CSS Drag detection by @leaanthony in https://github.com/wailsapp/wails/pull/1750

    Fixed

    • Bug fix collecting of output binaries for platforms by @stffabi in https://github.com/wailsapp/wails/pull/1715
    • Fix registration of exposed fields by @ValentinTrinque in https://github.com/wailsapp/wails/pull/1727
    • Fix column widths for doctor command's dependencies table by @ianmjones in https://github.com/wailsapp/wails/pull/1717
    • Do not generate bindings for OnBeforeClose method

    What's Changed

    • Misc code refactors and removal by @leaanthony in https://github.com/wailsapp/wails/pull/1713
    • Add react-router to routing.mdx by @Maicarons2022 in https://github.com/wailsapp/wails/pull/1755
    • Add Japanese to doc by @RyoTagami in https://github.com/wailsapp/wails/pull/1716
    • Added EmailIt and Modal File Manager by @raguay in https://github.com/wailsapp/wails/pull/1728
    • Adding my ScriptBar program by @raguay in https://github.com/wailsapp/wails/pull/1761
    • Link to general webview2 runtime download page and not to a specific language by @stffabi in https://github.com/wailsapp/wails/pull/1764
    • Updated translations in https://github.com/wailsapp/wails/pull/1719 and https://github.com/wailsapp/wails/pull/1720
    • Remove text outside style's brackets by @DragoSpiro98 in https://github.com/wailsapp/wails/pull/1765

    New Contributors

    • @RyoTagami made their first contribution in https://github.com/wailsapp/wails/pull/1716
    • @raguay made their first contribution in https://github.com/wailsapp/wails/pull/1728
    • @Maicarons2022 made their first contribution in https://github.com/wailsapp/wails/pull/1755
    • @DragoSpiro98 made their first contribution in https://github.com/wailsapp/wails/pull/1765
    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-beta.43(Aug 8, 2022)

    Added

    • Add support for retrieving the release notes from Github by @leaanthony in https://github.com/wailsapp/wails/pull/1679
    • Add frontend:dev:install configuration by @LGiki in https://github.com/wailsapp/wails/pull/1666

    Fixed

    • Fix formatting of some error messages by @stffabi in https://github.com/wailsapp/wails/pull/1665
    • Windows dialogs now work when window is not visible yet by @leaanthony in https://github.com/wailsapp/wails/pull/1662
    • Multiple fixes for MacOS asset requests by @stffabi in https://github.com/wailsapp/wails/pull/1668 and https://github.com/wailsapp/wails/pull/1681
    • Fix for Go 1.19 by @stffabi in https://github.com/wailsapp/wails/pull/1689
    • Removed Linux warnings by @leaanthony in https://github.com/wailsapp/wails/pull/1656
    • Better support for doubleclick events in drag regions by @leaanthony in https://github.com/wailsapp/wails/pull/1704
    • Allow MacOS frameless window to be miniturisable by @leaanthony in https://github.com/wailsapp/wails/pull/1705

    What's Changed

    • add wails-sveltekit-template to website by @h8gi in https://github.com/wailsapp/wails/pull/1671
    • wails doctor now reports correct MacOS os id by @stffabi in https://github.com/wailsapp/wails/pull/1673
    • Update application-development.mdx by @SamHennessy in https://github.com/wailsapp/wails/pull/1682
    • Move SetMin/Max calls to main thread by @leaanthony in https://github.com/wailsapp/wails/pull/1684
    • Change frontend:dev to frontend:dev:build by @LGiki in https://github.com/wailsapp/wails/pull/1691
    • Build frontend only before starting the dev watcher command by @stffabi in https://github.com/wailsapp/wails/pull/1694
    • Improve error message for auto dev server discovery without a dev watcher by @stffabi in https://github.com/wailsapp/wails/pull/1711

    New Contributors

    • @h8gi made their first contribution in https://github.com/wailsapp/wails/pull/1671
    • @SamHennessy made their first contribution in https://github.com/wailsapp/wails/pull/1682
    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-beta.42(Jul 25, 2022)

    Added

    • Added options.NewRGBA and options.NewRGB functions to create *options.RGBA by @leaanthony

    Fixed

    • Fixed initial build of frontend when using wails dev on new projects by @leaanthony in https://github.com/wailsapp/wails/pull/1650
    • Ignore empty install command when running wails dev by @stffabi in https://github.com/wailsapp/wails/pull/1651
    • Fixed error reporting in templates
    • BackgroundColour documentation fix
    • Generalize manual compile steps [Documentation] by @acheong08 in https://github.com/wailsapp/wails/pull/1644
    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-beta.39.2(Jul 19, 2022)

    Added

    • Update example for macOS Menu by @acheong08 in https://github.com/wailsapp/wails/pull/1600

    Fixed

    • Reinstate Go 1.17 compatibility by @leaanthony in https://github.com/wailsapp/wails/pull/1605
    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-beta.39(Jul 19, 2022)

    Added

    • New screen dimensions runtime API by @skamensky in https://github.com/wailsapp/wails/pull/1519
    • Auto discover vite devserver port by @leaanthony in https://github.com/wailsapp/wails/pull/1547
    • Add nixpkgs support to doctor command. by @ianmjones in https://github.com/wailsapp/wails/pull/1551
    • New pre-build hooks feature by @leaanthony in https://github.com/wailsapp/wails/pull/1578
    • New production log level option by @leaanthony in https://github.com/wailsapp/wails/pull/1555

    Fixed

    • Fix stack corruption in Windows when using ICoreWebView2HttpHeadersCollectionIterator by @stffabi in https://github.com/wailsapp/wails/pull/1589
    • Move WindowGet* to main thread by @leaanthony in https://github.com/wailsapp/wails/pull/1464
    • Allow -appargs flag to pass flags to binary. by @ianmjones in https://github.com/wailsapp/wails/pull/1534
    • Fix checking for installed apt package in none English session. by @ianmjones in https://github.com/wailsapp/wails/pull/1548
    • Fix OnBeforeClose code for Mac by @leaanthony in https://github.com/wailsapp/wails/pull/1558
    • Support Maps in TS conversion by @leaanthony in https://github.com/wailsapp/wails/pull/1435
    • Check for line length when scanning for local devserver url by @leaanthony in https://github.com/wailsapp/wails/pull/1566
    • Remove usage of unsafe.Pointer in winc by @stffabi and @leaanthony in https://github.com/wailsapp/wails/pull/1556

    Changed

    • Rename WindowSetRGBA -> WindowSetBackgroundColour by @leaanthony in https://github.com/wailsapp/wails/pull/1506
    • Improvements to the dev command by @stffabi in https://github.com/wailsapp/wails/pull/1510
    • Update vscode template by @leaanthony in https://github.com/wailsapp/wails/pull/1398
    • Bump svelte from 3.42.2 to 3.49.0 in /v2/internal/frontend/runtime/dev by @dependabot in https://github.com/wailsapp/wails/pull/1572
    • Bump svelte from 3.42.5 to 3.49.0 in /v2/internal/frontend/runtime by @dependabot in https://github.com/wailsapp/wails/pull/1573
    • Add troubleshooting for Not Found error by @acheong08 in https://github.com/wailsapp/wails/pull/1586
    • Docs/better homepage by @leaanthony in https://github.com/wailsapp/wails/pull/1591

    New Contributors

    • @skamensky made their first contribution in https://github.com/wailsapp/wails/pull/1519
    • @acheong08 made their first contribution in https://github.com/wailsapp/wails/pull/1586

    Full Changelog: https://github.com/wailsapp/wails/compare/v2.0.0-beta.38...v2.0.0-beta.39

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-beta.38(Jun 27, 2022)

    Added

    • Add race detector to build & dev by @Lyimmi in https://github.com/wailsapp/wails/pull/1426
    • [linux] Support linux/arm architecture by @Lyimmi in https://github.com/wailsapp/wails/pull/1427
    • Create gitignore when using -g option by @jaesung9507 in https://github.com/wailsapp/wails/pull/1430
    • [windows] Add Suspend/Resume callback support by @leaanthony in https://github.com/wailsapp/wails/pull/1474
    • Add runtime function WindowSetAlwaysOnTop by @chenxiao1990 in https://github.com/wailsapp/wails/pull/1442
    • [windows] Allow setting browser path by @NanoNik in https://github.com/wailsapp/wails/pull/1448

    Fixed

    • [linux] Improve switching to main thread for callbacks by @stffabi in https://github.com/wailsapp/wails/pull/1392
    • [windows] Fix WebView2 minimum runtime version check by @stffabi in https://github.com/wailsapp/wails/pull/1456
    • [linux] Fix apt command syntax (#1458) by @abtin in https://github.com/wailsapp/wails/pull/1461
    • [windows] Set Window Background colour if provided + debounce redraw option by @leaanthony in https://github.com/wailsapp/wails/pull/1466
    • Fix small typo in docs by @LukenSkyne in https://github.com/wailsapp/wails/pull/1449
    • Fix the url to surge by @andywenk in https://github.com/wailsapp/wails/pull/1460
    • Fixed theme change at runtime by @leaanthony in https://github.com/wailsapp/wails/pull/1473
    • Fix: Don't stop if unable to remove temporary bindings build by @leaanthony in https://github.com/wailsapp/wails/pull/1465
    • [windows] Pass the correct installationStatus to the webview installation strategy by @stffabi in https://github.com/wailsapp/wails/pull/1483
    • [windows] Make SetBackgroundColour compatible for windows/386 by @stffabi in https://github.com/wailsapp/wails/pull/1493
    • Fix lit-ts template by @Orijhins in https://github.com/wailsapp/wails/pull/1494

    Changed

    • [windows] Load WebView2 loader from embedded only by @stffabi in https://github.com/wailsapp/wails/pull/1432
    • Add showcase entry for October + update homepage carousel entry for October by @marcus-crane in https://github.com/wailsapp/wails/pull/1436
    • Always use return in wrapped method by @leaanthony in https://github.com/wailsapp/wails/pull/1410
    • [windows] Unlock OSThread after native calls have been finished by @stffabi in https://github.com/wailsapp/wails/pull/1441
    • Add BackgroundColour and deprecate RGBA by @leaanthony in https://github.com/wailsapp/wails/pull/1475
    • AssetsHandler remove retry logic in dev mode by @stffabi in https://github.com/wailsapp/wails/pull/1479
    • Add Solid JS template to docs by @sidwebworks in https://github.com/wailsapp/wails/pull/1492
    • Better signal handling by @leaanthony in https://github.com/wailsapp/wails/pull/1488
    • Chore/react 18 create root by @tomanagle in https://github.com/wailsapp/wails/pull/1489

    New Contributors

    • @jaesung9507 made their first contribution in https://github.com/wailsapp/wails/pull/1430
    • @LukenSkyne made their first contribution in https://github.com/wailsapp/wails/pull/1449
    • @andywenk made their first contribution in https://github.com/wailsapp/wails/pull/1460
    • @abtin made their first contribution in https://github.com/wailsapp/wails/pull/1461
    • @chenxiao1990 made their first contribution in https://github.com/wailsapp/wails/pull/1442
    • @NanoNik made their first contribution in https://github.com/wailsapp/wails/pull/1448
    • @sidwebworks made their first contribution in https://github.com/wailsapp/wails/pull/1492
    • @tomanagle made their first contribution in https://github.com/wailsapp/wails/pull/1489
    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-beta.37(May 27, 2022)

    Added

    • Add nogen flag in wails dev command by @mondy in https://github.com/wailsapp/wails/pull/1413
    • Initial support for new native translucency in Windows Preview by @leaanthony in https://github.com/wailsapp/wails/pull/1400

    Fixed

    • Bugfix/incorrect bindings by @leaanthony in https://github.com/wailsapp/wails/pull/1383
    • Fix runtime.js events by @polikow in https://github.com/wailsapp/wails/pull/1369
    • Fix docs formatting by @antimatter96 in https://github.com/wailsapp/wails/pull/1372
    • Events | fixes #1388 by @lambdajack in https://github.com/wailsapp/wails/pull/1390
    • bugfix: correct typo by @tmclane in https://github.com/wailsapp/wails/pull/1391
    • Fix typo in docs by @LGiki in https://github.com/wailsapp/wails/pull/1393
    • Fix typo bindings.js to ipc.js by @rayshoo in https://github.com/wailsapp/wails/pull/1406
    • Make sure to execute the menu callbacks on a new goroutine by @stffabi in https://github.com/wailsapp/wails/pull/1403
    • Update runtime.d.ts & templates by @Yz4230 in https://github.com/wailsapp/wails/pull/1421
    • Add missing className to input in React and Preact templates by @edwardbrowncross in https://github.com/wailsapp/wails/pull/1419

    Changed

    • Improve multi-platform builds by @stffabi in https://github.com/wailsapp/wails/pull/1373
    • During wails dev only use reload logic if no AssetsHandler are in use by @stffabi in https://github.com/wailsapp/wails/pull/1385
    • Update events.mdx by @Junkher in https://github.com/wailsapp/wails/pull/1387
    • Add Next.js template by @LGiki in https://github.com/wailsapp/wails/pull/1394
    • Add docs on wails generate module by @TechplexEngineer in https://github.com/wailsapp/wails/pull/1414
    • Add macos custom menu EditMenu tips by @daodao97 in https://github.com/wailsapp/wails/pull/1423

    New Contributors

    • @polikow made their first contribution in https://github.com/wailsapp/wails/pull/1369
    • @antimatter96 made their first contribution in https://github.com/wailsapp/wails/pull/1372
    • @Junkher made their first contribution in https://github.com/wailsapp/wails/pull/1387
    • @lambdajack made their first contribution in https://github.com/wailsapp/wails/pull/1390
    • @LGiki made their first contribution in https://github.com/wailsapp/wails/pull/1393
    • @rayshoo made their first contribution in https://github.com/wailsapp/wails/pull/1406
    • @TechplexEngineer made their first contribution in https://github.com/wailsapp/wails/pull/1414
    • @mondy made their first contribution in https://github.com/wailsapp/wails/pull/1413
    • @Yz4230 made their first contribution in https://github.com/wailsapp/wails/pull/1421
    • @daodao97 made their first contribution in https://github.com/wailsapp/wails/pull/1423
    • @edwardbrowncross made their first contribution in https://github.com/wailsapp/wails/pull/1419
    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-beta.36(May 1, 2022)

    Fixed

    • [v2] Validate devServer property to be of the correct form by @stffabi in https://github.com/wailsapp/wails/pull/1359
    • [v2, darwin] Initialize native variables on stack to prevent segfault by @stffabi in https://github.com/wailsapp/wails/pull/1362
    • Vue-TS template fix

    Changed

    • Added OnStartup method back to default templates

    Full Changelog: https://github.com/wailsapp/wails/compare/v2.0.0-beta.35...v2.0.0-beta.36

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-beta.35(Apr 27, 2022)

    Breaking Changes

    • When data was sent to the EventsOn callback, it was being sent as a slice of values, instead of optional parameters to the method. EventsOn` now works as expected, but you will need to update your code if you currently use this. More information
    • The broken bindings.js and bindings.d.ts files have been replaced by a new JS/TS code generation system. More details here

    Added

    • New Templates: Svelte, React, Vue, Preact, Lit and Vanilla templates, both JS and TS versions. wails init -l for more info.
    TEMPLATE                        SHORT NAME      DESCRIPTION
    Lit + Vite                      lit             Lit + Vite development server        
    Lit + Vite (Typescript)         lit-ts          Lit + TS + Vite development server   
    Preact + Vite                   preact          Preact + Vite development server     
    Preact + Vite (Typescript)      preact-ts       Preact + Vite development server     
    React + Vite                    react           React + Vite development server      
    React + Vite (Typescript)       react-ts        React + Vite development server      
    Svelte + Vite                   svelte          Svelte + Vite development server     
    Svelte + Vite (Typescript)      svelte-ts       Svelte + TS + Vite development server
    Vanilla + Vite                  vanilla         Vanilla + Vite development server    
    Vanilla + Vite (Typescript)     vanilla-ts      Vanilla + Vite development server    
    Vue + Vite                      vue             Vue + Vite development server        
    Vue + Vite (Typescript)         vue-ts          Vue + Vite development server    
    

    Fixed

    • Improved mimetype detection for BOM marker and comments - @napalu
    • Remove duplicate mimetype entries - @napalu
    • Remove duplicate Typescript imports in generated definition files - @adalessa
    • Add missing method declaration - @adalessa
    • Fix Linux sigabrt on start - @napalu
    • Double Click event now works on elements with data-wails-drag attribute - @jicg
    • Suppress resizing during minimize of a frameless window - @stffabi
    • Fixed TS/JS generation for Go methods with no returns
    • Fixed WailsJS being generated in project directory

    Changed

    • Website docs are now versioned
    • Improved runtime.Environment call
    • Improve the close action for Mac
    • A bunch of dependabot security updates
    • Improved website content - @misitebao
    • Upgrade issue template - @misitebao
    • Convert documents that don't require version management to individual pages - @misitebao
    • Website now using Algolia search
    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-beta.34(Mar 26, 2022)

    Features

    • Add support for 'DomReady' callback on linux by @napalu in https://github.com/wailsapp/wails/pull/1249
    • MacOS - Show extension by default by @leaanthony in https://github.com/wailsapp/wails/pull/1228

    Bug Fixes

    • [v2, nsis] Seems like / as path separator works only for some directives in a cross platform way by @stffabi in https://github.com/wailsapp/wails/pull/1227
    • import models on binding definition by @adalessa in https://github.com/wailsapp/wails/pull/1231
    • Use local search on website by @leaanthony in https://github.com/wailsapp/wails/pull/1234
    • Ensure binary resources can be served by @napalu in https://github.com/wailsapp/wails/pull/1240
    • Only retry loading assets when loading from disk by @leaanthony in https://github.com/wailsapp/wails/pull/1241
    • [v2, windows] Fix maximised start state by @stffabi in https://github.com/wailsapp/wails/pull/1243
    • Ensure Linux IsFullScreen uses GDK_WINDOW_STATE_FULLSCREEN bitmask appropriately. by @ianmjones in https://github.com/wailsapp/wails/pull/1245
    • Fix memory leak in ExecJS for Mac by @leaanthony in https://github.com/wailsapp/wails/pull/1230
    • Fix, or at least a workaround, for (#1232) by @BillBuilt in https://github.com/wailsapp/wails/pull/1247
    • [v2] Use os.Args[0] for self starting wails by @stffabi in https://github.com/wailsapp/wails/pull/1258
    • [v2, windows] Windows switch scheme: https -> http by @stefpap in https://github.com/wailsapp/wails/pull/1255
    • Ensure Focus is regained by Webview2 when tabbing by @leaanthony in https://github.com/wailsapp/wails/pull/1257
    • Try to focus window when Show() is called. by @leaanthony in https://github.com/wailsapp/wails/pull/1212
    • Check system for user installed Linux dependencies by @leaanthony in https://github.com/wailsapp/wails/pull/1180

    Changes

    • feat(website): sync documents and add content by @misitebao in https://github.com/wailsapp/wails/pull/1215
    • refactor(cli): optimize default templates by @misitebao in https://github.com/wailsapp/wails/pull/1214
    • Run watcher after initial build by @leaanthony in https://github.com/wailsapp/wails/pull/1216
    • Feature/docs update by @leaanthony in https://github.com/wailsapp/wails/pull/1218
    • feat(website): optimize website and sync documents by @misitebao in https://github.com/wailsapp/wails/pull/1219
    • docs: sync documents by @misitebao in https://github.com/wailsapp/wails/pull/1224
    • Default index page by @leaanthony in https://github.com/wailsapp/wails/pull/1229
    • Build added win32 compatibility by @fengweiqiang in https://github.com/wailsapp/wails/pull/1238
    • docs: sync documents by @misitebao in https://github.com/wailsapp/wails/pull/1260

    New Contributors

    • @adalessa made their first contribution in https://github.com/wailsapp/wails/pull/1231
    • @napalu made their first contribution in https://github.com/wailsapp/wails/pull/1240
    • @fengweiqiang made their first contribution in https://github.com/wailsapp/wails/pull/1238
    • @stefpap made their first contribution in https://github.com/wailsapp/wails/pull/1255

    Full Changelog: https://github.com/wailsapp/wails/compare/v2.0.0-beta.33...v2.0.0-beta.34

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-beta.33(Mar 5, 2022)

    Features

    • NSIS Installer support for creating installers for Windows applications - Thanks @stffabi πŸŽ‰
    • New frontend:dev:watcher command to spin out 3rd party watchers when using wails dev - Thanks @stffabi πŸŽ‰
    • Remote templates now support version tags - Thanks @misitebao πŸŽ‰

    Bug Fixes

    • A number of fixes for ARM Linux providing a huge improvement - Thanks @ianmjones πŸŽ‰
    • Fixed potential Nil reference when discovering the path to index.html
    • Fixed crash when using runtime.Log methods in a production build
    • Improvements to internal file handling meaning webworkers will now work on Windows - Thanks @stffabi πŸŽ‰

    Changes

    • The Webview2 bootstrapper is now run as a normal user and doesn't require admin rights
    • The docs have been improved and updated
    • Added troubleshooting guide
    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-beta.32(Feb 22, 2022)

  • v2.0.0-beta.31(Feb 22, 2022)

    Features

    Bug Fixes

    • More Windows DPI fixes by @stffabi
    • Restore Window Min/Max after fullscreen
    • Fix Mac icon bug
    • Fix Windows icon file mode @ValentinTrinque

    Breaking Changes

    • WindowUnFullscreen has been renamed to WindowUnfullscreen
    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-beta.30(Feb 4, 2022)

    New Features for v2

    • wails build now supports a debug flag to generate a production build with debug symbols
    • [Go Runtime] New GetEnvironment() method to return information about the build at runtime

    Fixes

    • Possible breaking change: The WindowGetPosition and WindowSetPosition calls were incorrectly defined as WindowGetPos and WindowSetPos in the Go runtime. This has been fixed.
    • [windows] Fix dpi scaling for factors other than 100%, 200%,... by @stffabi in https://github.com/wailsapp/wails/pull/1098
    • [windows] Improve frameless window handling by @stffabi in https://github.com/wailsapp/wails/pull/1085
    • [windows] Add WebviewUserDataPath to windows options by @stffabi in https://github.com/wailsapp/wails/pull/1105
    • [runtime] Added TypeScript interface export for the window.go object by @albert-sun in https://github.com/wailsapp/wails/pull/1092
    • [windows] Updated windows window/frontend to fix issue with html select positioning by @MikeSchaap in https://github.com/wailsapp/wails/pull/1082
    • [windows] Only call EnableSizable for normal windows by @stffabi in https://github.com/wailsapp/wails/pull/1074
    • [windows] Reduce frameless border size to 6px
    • [runtime] Fix logging bug
    • [templates] Updated vanilla template to remove logging and use non-deprecated APIs
    • [windows] Disallow maximising a window if DisableResize is true
    • use path to first index.html file for 'index' by @tmclane in https://github.com/wailsapp/wails/pull/1127

    New Contributors

    • @albert-sun made their first contribution in https://github.com/wailsapp/wails/pull/1092
    • @MikeSchaap made their first contribution in https://github.com/wailsapp/wails/pull/1082

    Full Changelog: https://github.com/wailsapp/wails/compare/v2.0.0-beta.29...v2.0.0-beta.30

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-beta.29(Jan 17, 2022)

    What's Changed

    • [v2] Only call EnableSizable for normal windows by @stffabi in https://github.com/wailsapp/wails/pull/1074
    • Fix for Windows Message Loop crashes by @stffabi
    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-beta.28(Jan 12, 2022)

    What's Changed

    • Fix Window resizing in Windows
    • Fix cancelling dialogs on Mac
    • Fixed Save dialog on Mac
    • Fix for bad default directories in dialog options
    • New build flag: -debug
    • Fix EventsOff in JS runtime
    • Allow window resizing regardless of frameless or other options (#1049) by @pierrejoye in https://github.com/wailsapp/wails/pull/1053
    • update zh-hans docs by @GargantuaX in https://github.com/wailsapp/wails/pull/1059
    • Add templates for using Svelte with Vite by @BillBuilt in https://github.com/wailsapp/wails/pull/1068
    • [v2] Fix: win window maximise/minimise by @redraskal in https://github.com/wailsapp/wails/pull/1069

    New Contributors

    • @pierrejoye made their first contribution in https://github.com/wailsapp/wails/pull/1053
    • @GargantuaX made their first contribution in https://github.com/wailsapp/wails/pull/1059
    • @BillBuilt made their first contribution in https://github.com/wailsapp/wails/pull/1068
    • @redraskal made their first contribution in https://github.com/wailsapp/wails/pull/1069

    Full Changelog: https://github.com/wailsapp/wails/compare/v1.16.9...v2.0.0-beta.28

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-beta.27(Dec 27, 2021)

  • v2.0.0-beta.26(Dec 27, 2021)

  • v2.0.0-beta.25(Dec 26, 2021)

  • v2.0.0-beta.24(Dec 26, 2021)

    What's Changed

    • [windows] Fix for detecting webview2 runtime as the official method now doesn't work πŸ™„
    • [mac] Fix for submenu titles
    • Export interfaces in runtime.d.ts
    • [v2] feature / Add flag to skip mod tidy by @dedo1911 in https://github.com/wailsapp/wails/pull/1021
    • Add Riftshare to community showcase by @achhabra2 in https://github.com/wailsapp/wails/pull/1024
    • Added react template by @AlienRecall in https://github.com/wailsapp/wails/pull/1025
    • Add Svelte template by @raitonoberu in https://github.com/wailsapp/wails/pull/1030

    New Contributors

    • @achhabra2 made their first contribution in https://github.com/wailsapp/wails/pull/1024
    • @AlienRecall made their first contribution in https://github.com/wailsapp/wails/pull/1025
    • @raitonoberu made their first contribution in https://github.com/wailsapp/wails/pull/1030
    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-beta.23(Dec 15, 2021)

    What's Changed

    • BREAKING CHANGE - Remove AllowFiles and AllowDirectories flags in Dialog options. They are implied by the methods.
    • [v2] feature / Add flag to skip mod tidy by @dedo1911 in https://github.com/wailsapp/wails/pull/1021
    • Add Riftshare to community showcase by @achhabra2 in https://github.com/wailsapp/wails/pull/1024
    • [mac] Fix for save dialog
    • [mac] Fix for 10.14 compilation issues
    • Fix: Only generate .ico if not there
    • Add info about antivirus and upx by @stffabi

    New Contributors

    • @achhabra2 made their first contribution in https://github.com/wailsapp/wails/pull/1024
    Source code(tar.gz)
    Source code(zip)
  • v1.16.9(Dec 10, 2021)

  • v2.0.0-beta.22(Dec 8, 2021)

    v2.0.0-beta.22 is 108 commits + 148 files changed..... πŸ˜… Thanks to all the amazing contributors for this monster release!

    WARNING: The option Fullscreen is being deprecated. Please use WindowStartState instead. Thank you πŸ™

    Features

    • Adding workspace to npm which better integrates wails and frontend npm. - Thanks @Snider πŸŽ‰
    • Windows ARM64 support - Thanks @stffabi
    • Experimental support for bindings.d.ts generation in wailsjs dir
    • Added file information for Windows to attach metadata like "ProductVersion" & "CompanyName" to Windows builds - Thanks @stffabi πŸŽ‰
    • New Windows option EnableFramelessBorder to support hiding the titlebar - Thanks @stffabi πŸŽ‰
    • New OnBeforeClose option to hook into application close - Thanks @Ironpark πŸŽ‰
    • New dev flag reloadDirs to reload when misc dirs have been updated - Thanks @stffabi πŸŽ‰
    • Support fs.FS for assets - Thanks @stffabi πŸŽ‰

    Fixes

    • Handle DPI Scaling in SetSize - Thanks @stffabi πŸŽ‰
    • Better dispatch handling on Windows - Thanks @stffabi πŸŽ‰
    • Do not apply WindowStartState on reloads - Thanks @stffabi πŸŽ‰
    • Fix slash escaping in git username
    • Fix logging in prod builds (used to crash)
    • Memory leak in processRequest for Windows and Darwin - Thanks @stffabi πŸŽ‰

    Misc

    • Chinese updates for the Website - Thanks @misitebao πŸŽ‰
    • Migration of io/ioutil to io and os packages + ton of go fmt fixes - Thanks @Juneezee πŸŽ‰
    • Improved runtime build scripts
    • Improved URI translation for asset server - Thanks @stffabi πŸŽ‰
    • Improved processRequest to handle errors - Thanks @stffabi πŸŽ‰
    • Build fix for Linux - Thanks @ianmjones πŸŽ‰
    • Far better handling of race condition for browsers in dev mode (delayed IPC execution until websocket connection is up)
    • Updated website: Router guide, link to Awesome Wails, new options added
    • Attempt to infer assetdir from the embedded fs - thanks @stffabi πŸŽ‰

    Full Changelog: https://github.com/wailsapp/wails/compare/v2.0.0-beta.21...v2.0.0-beta.22

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-beta.21(Nov 23, 2021)

    Features

    • WindowStartState option to define default window state at startup
    • Helper NPM scripts for developers working on a Wails GUI project by @Snider in https://github.com/wailsapp/wails/pull/955
    • [Windows] Frameless resize
    • Support slices + out params in Models.ts generation

    Fixes

    • [macOS] Fix background color by @stffabi in https://github.com/wailsapp/wails/pull/954
    • [v2] Add windowsgui ldflag when crosscompiling for windows by @stffabi in https://github.com/wailsapp/wails/pull/965
    • [macOS] Fix fullscreen
    • [macOS] Fix Open/Save panels on Monterey
    • [macOS] Fix file filters on Monterey
    • [macOS] Fix plist generation
    • [v2] Remove build constraint for DesktopIPC

    Updates

    • Update Lethean project url by @Snider in https://github.com/wailsapp/wails/pull/951

    New Contributors

    • @Snider made their first contribution in https://github.com/wailsapp/wails/pull/951
    • @stffabi made their first contribution in https://github.com/wailsapp/wails/pull/954

    Full Changelog: https://github.com/wailsapp/wails/compare/v2.0.0-beta.20...v2.0.0-beta.21

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-beta.20(Nov 9, 2021)

Owner
Wails
A Framework for building applications using Go and Web Technologies
Wails
A full desktop environment for Linux/Unix using Fyne

About FyneDesk is an easy to use Linux/Unix desktop environment following material design. It is build using the Fyne toolkit and is designed to be ea

Fyne.io 521 Sep 23, 2022
Example Go desktop app using HTML

webview-example This repo contains an example/starter for building a webview app

Jessie 4 Jun 14, 2022
An example desktop system tray application that can launch HTML5 windows. Go source with a build process for Windows, Mac and Linux.

ExampleTrayGUI An example cross-platform (Mac, Windows, Linux) system tray application that can launch HTML5 windows, developed in Go including functi

Grant Moore 49 Aug 29, 2022
An example desktop system tray application that can launch HTML5 windows. Go source with a build process for Windows, Mac and Linux.

ExampleTrayGUI An example cross-platform (Mac, Windows, Linux) system tray application that can launch HTML5 windows, developed in Go including functi

Grant Moore 49 Aug 29, 2022
An example desktop system tray application that can launch HTML5 windows. Go source with a build process for Windows, Mac and Linux.

An example cross-platform (Mac, Windows, Linux) system tray application that can launch HTML5 windows, developed in Go including functional build process. This repository is intended as a quick reference to help others start similar projects using the referenced libraries and will not be actively maintained.

Grant Moore 49 Aug 29, 2022
An example desktop system tray application that can launch HTML5 windows. Go source with a build process for Windows, Mac and Linux.

ExampleTrayGUI An example cross-platform (Mac, Windows, Linux) system tray application that can launch HTML5 windows, developed in Go including functi

Owen Moore 49 Aug 29, 2022
A package to build progressive web apps with Go programming language and WebAssembly.

go-app is a package to build progressive web apps (PWA) with Go programming language and WebAssembly. It uses a declarative syntax that allows creatin

Maxence Charriere 6.5k Sep 24, 2022
gosx-notifier is a Go framework for sending desktop notifications to OSX 10.8 or higher

gosx-notifier A Go lib for sending desktop notifications to OSX Mountain Lion's (10.8 or higher REQUIRED) Notification Center. Update 4/3/2014 On OSX

Ralph Caraveo III 574 Sep 26, 2022
A Go (golang) Custom Flutter Engine Embedder for desktop

Go Flutter desktop embedder ⚠️ Warning: this project has been moved to its own organization. Please take a look at its new location: github.com/go-flu

Pierre Champion | Drakirus 96 Jul 23, 2022
A unified graphical user experience toolkit for Go desktop applications

Unison A unified graphical user experience toolkit for Go desktop applications. macOS, Windows, and Linux are supported. Required setup Unison is buil

Richard Wilkes 19 Sep 20, 2022
Ps4gdb desktop - PS4GDB consists of two components

PS4GDB PS4GDB consists of two components. The first component is the gdbstub run

Mr. Nobody 17 Jun 21, 2022
Kita is a declarative, reactive GUI toolkit for build cross platform apps with web technology with single codebase

Kita is a declarative, reactive GUI toolkit for build cross platform apps with web technology with single codebase. Inspired by Flutter, React. S

zhuah 106 Apr 18, 2022
UIKit - A declarative, reactive GUI toolkit for build cross platform apps with web technology with single codebase

UIKit - A declarative, reactive GUI toolkit for build cross platform apps with web technology with single codebase

zhuah 106 Apr 18, 2022
Build cross platform GUI apps with GO and HTML/JS/CSS (powered by Electron)

Thanks to go-astilectron build cross platform GUI apps with GO and HTML/JS/CSS. It is the official GO bindings of astilectron and is powered by Electr

Quentin Renard 4.5k Sep 26, 2022
Build cross platform GUI apps with GO and HTML/JS/CSS (powered by nwjs)

gowd Build cross platform GUI apps with GO and HTML/JS/CSS (powered by nwjs) How to use this library: Download and install nwjs Install this library g

Danny 380 Sep 26, 2022
Common library for Go GUI apps on Windows

winc Common library for Go GUI apps on Windows. It is for Windows OS only. This makes library smaller than some other UI libraries for Go.

Tad Vizbaras 139 Aug 23, 2022
Go Web UI Toolkit - Public Releases and Development

Welcome! Gowut (Go Web UI Toolkit) is a full-featured, easy to use, platform independent Web UI Toolkit written in pure Go, no platform dependent nati

AndrΓ‘s Belicza 281 Sep 19, 2022
Pglet - Web UI framework for backend developers

Pglet - Web UI framework for backend developers

Web UI framework for backend developers 584 Sep 27, 2022
W32find - Find parent windows and their children windows using win32api.

w32find Package w32find provides a set of interface to win32 APIs that can be used to find windows and their controls. Install go get -v github.com/mo

MoonChant 0 Jan 5, 2022