* 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>
* fix menu background color
* remove commented line
* handle transparent window and background color
---------
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
* Init GTK in `NewFrontend`, not `init`
So apps that have a headless / non-gui mode will be able to run, since
they needn't call `NewFrontend` (which is called by `CreateApp`).
Previously, `init` would call `C.gtk_init` regardless of whether
CreateApp was called.
Also change to call `C.gtk_init_check` with a panic, instead of
`C.gtk_init`, since `gtk_init` just exits the process if it fails,
without a sensible error message.
Fixes#2628.
* Update changelog
* [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.
* Use json.Marshal instead of strconv.Quote to correctly support unicode
* Add fix to changelog
---------
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
This removes the sometime lagging experience when
starting to drag on Windows. But it's still possible to use
double-click events for adding e.g. a WindowToggleMaximise.
* [assetserver] Add support for HTTP Middlewares
* [dev] Disable frontend DevServer if no Assets has been defined and inform user
* [dev] Consistent WebSocket behaviour in dev and prod mode for assets handler and middleware
In prod mode we can't support WebSockets so make sure the
assets handler and middleware never see WebSockets in dev mode.
* [templates] Migrate to new AssetServer option
* [docs] Add assetserver.Options to the reference
* Add WindowExecJS
* [devserver] Embed the base frontend into the DevServer struct
* Update docs
Co-authored-by: stffabi <stffabi@users.noreply.github.com>
* Only set GDK_BACKEND to "x11" if GDK_BACKEND is unset and XDG_SESSION_TYPE is not "wayland"
* GDK_BACKEND should only be set if XDG_SESSION_TYPE is unset, "unspecified" or "x11"
* get dimensions working for linux
* Cleaning up some GTK code
I was getting the following errors due to some bad casts.
Gdk-CRITICAL **: 18:58:51.943: gdk_monitor_get_geometry: assertion 'GDK_IS_MONITOR (monitor)' failed
Gdk-CRITICAL **: 18:58:51.943: gdk_display_get_monitor_at_window: assertion 'GDK_IS_DISPLAY (display)' failed
This commit fixes these errors
* Adding Screen namespace along with linux implementation
* moving ScreenGetAll into a more appropriate place
* Fixing typescript definition mistake, documentation, ordering of functions, and formatting
* add ScreenGetAll to more templates
* moving screen into its own javascript file
* fixing bug where screen objects are not returned from the runtime function
* rebuilding frontend wrapper package
* adding windows implementation of ScreenGetAll
* adding screen get all implementation for darwin
* reverting a change that is unrelated to the work on expose-dimensions
* removing duplicate comparison
* changing GetNthScreen in screen API on macos
To use frame instead of visibleframe to keep into account the space the the dock takes up
We want to include that space in the calculation in order to keep the sizes of screens consistent across platforms
* Correcting screen jsdoc
It used to say it returned a single screen object. Now it says that it returns an array of screen objects
* Fixing typo in function name
* reverting pointless spacing change
* reverting pointless spacing change
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
Co-authored-by: shmuel.kamensky <shmuel.kamensky@shutterfly.com>