* Feature/1090 native drag and drop for file and folder (#3203)
* implement basic dnd for linux
* implemented windows
* progress changed linux handling and added coordinates to drop
* progress fix drop coordinates on windows
* progress remove log from windows
* progress move js
* update js after merge
* fix event listener registration
* fix segfault on non file drag
* remove logs, fix coordinates
* minor changes, simplify to drop only
* rename EnableWails -> EnableFileDrop
* add documentation (PR id missing)
* add PR id to changelog
* fix remove casting from malloc
* fix nil check for OnFileDrop's callback
* fix nil check for OnFileDrop skip event when nil
* add error message for nil callback in OnFileDrop
---------
Co-authored-by: lyimmi <lelvente.zambo@gmail.com>
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
* implement native drag and drop for macOS (#3250)
* implement native drag and drop for macOS
* update docs
* add to changelog
* update docs (macOS is supported)
* Fix windows DragAndDrop options
* Fix class unset on dragleave for full frame elements
* improve class unset (nested elements and borders case)
* Fix runtime drop target detection and CSS class assignment
* Edit changelog
* Fix drag-and-drop options in references
* Update v2/internal/frontend/desktop/darwin/WailsWebView.m
* Update v2/internal/frontend/desktop/darwin/WailsWebView.m
---------
Co-authored-by: Zámbó, Levente <levente.zambo@gmail.com>
Co-authored-by: lyimmi <lelvente.zambo@gmail.com>
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
Co-authored-by: Andrey Pshenkin <andrey.pshenkin@gmail.com>
Co-authored-by: Pavel Binar <pavel@beamtransfer.io>
* fix icon issues with windows when project name contains spaces
* add comment
* add to change log
---------
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
The commit introduces a set of webview GPU policies to control hardware acceleration. These policies define when hardware acceleration is enabled on the webview. An option for this has been added to the LinuxWindow struct for Linux specific windows. Additional code modification was carried out to use this new GPU policy option when calling `windowNew` function. Finally, the sequence of the GPU Policies in the const declaration has been updated for better readability.
* Add disable zoom on mac
* Add changelog line
* Add zommable in main.m
I see this file is ignore, but i think it's better to keep it up-to-date so if we ever unignore it will work correctly.
* Added possibility to specify platform for dev command
---------
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* feat: add windows options supports `IsPinchZoomEnabled` configuration(#2021)
* refactor: modify `IsPinchZoomEnabled` to `DisablePinchZoom` ensure default behavior is consistent
* docs: add `DisablePinchZoom` to changelog
* docs: update the description of `DisablePinchZoom` attributes in the document
---------
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
* Add support to output ts models as interfaces
* Add support to generate enums from golang
* cleanup logs
* add missing documentation
* fix package names for enum. Fix processing enums that are in separate packages
* revert golang 1.21
* Fix spelling
* Add support for simplified version of Enum for typescriptify
* update docs
* removed unused logs
* Add tests. Fix imported enums types in models
---------
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
* implement MacOS openFile/openFiles events
* wip: windows file association
* fix macro import
* add file icon copy
* try copy icon
* keep only required part of scripts
* update config schema
* fix json
* set fileAssociation for mac via config
* proper iconName handling
* add fileAssociation icon generator
* fix file association icons bundle
* don't break compatibility
* remove mimeType as not supported linux for now
* add documentation
* adjust config schema
* restore formatting
* try implement single instance lock with params passing
* fix focusing
* fix focusing
* formatting
* use channel buffer for second instance events
* handle errors
* add comment
* remove unused option in file association
* wip: linux single instance lock
* wip: linux single instance
* some experiments with making window active
* try to use unminimise
* remove unused
* try present for window
* try present for window
* fix build
* cleanup
* cleanup
* implement single instance lock on mac os
* implement proper show for windows
* proper unmimimise
* get rid of openFiles mac os. change configuration structure
* remove unused channel
* remove unused function
* add documentation for single instance lock
* add PR link
* wip mac os deeplinks
* put custom url listner on top to catch link on app opening
* put custom url listner on top to catch link on app opening
* try add custom url windows
* adjust custom url
* add docs
* merge master
* update documentation
* add comment for darwin
* add PR link
* change naming
* change naming
* change naming
* change naming
* fix formatting
* fix naming
* Fix typo
---------
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
* implement MacOS openFile/openFiles events
* wip: windows file association
* fix macro import
* add file icon copy
* try copy icon
* keep only required part of scripts
* update config schema
* fix json
* set fileAssociation for mac via config
* proper iconName handling
* add fileAssociation icon generator
* fix file association icons bundle
* don't break compatibility
* remove mimeType as not supported linux for now
* add documentation
* adjust config schema
* restore formatting
* try implement single instance lock with params passing
* fix focusing
* fix focusing
* formatting
* use channel buffer for second instance events
* handle errors
* add comment
* remove unused option in file association
* wip: linux single instance lock
* wip: linux single instance
* some experiments with making window active
* try to use unminimise
* remove unused
* try present for window
* try present for window
* fix build
* cleanup
* cleanup
* implement single instance lock on mac os
* implement proper show for windows
* proper unmimimise
* get rid of openFiles mac os. change configuration structure
* remove unused channel
* remove unused function
* add documentation for single instance lock
* add PR link
* changes after review
* update docs
* changes after review
---------
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
* [v2] Support Enabling/Disabling swipe gestures
* [v2] Update change log
* [v2] Remove old call to PutIsSwipeNavigationEnabled
* Use latest webview2
* Update go-webview2 mod version
* [assetserver, darwin] Fix copying request headers by using strdup
* [assetserver, linux] Fake some basic http headers for legacy webkit2 versions to support proxying requests to other servers
This fixes the devserver on v2 for newer vite versions that use the custom
scheme.
* [v2, windows] 304 responses are going to hang the WebView2 so prevent them by removing cache related headers in the request.
* [v2, dev] Now uses the custom schemes `wails://` on macOS and Linux for all Vite versions.
Prevent missing reload after fast multiple savings on Linux and Windows.
* [v2, darwin] Add "Hide, Hide Others, Show All“ to appmenu
This also includes shortcuts support for those commands.
Arrange the menu items in the well known MacOS order.
* [v2, darwin] Add Window menu with well known shortcuts Minimize, Full-Screen and Zoom.
This fixes some long-standing inconsistencies between
dev mode builds and production builds but is a breaking
change. Dev mode uses custom scheme for Vite versions >= 3.0.0
and for older it still behaves in the old way.