* Refactor flake for overridability, conditional service install, version formatting
* Disable default cargo features for the flake package
Co-authored-by: sodiboo <37938646+sodiboo@users.noreply.github.com>
* Replace deprecated `--replace` with `--replace-fail` in the flake package
Co-authored-by: sodiboo <37938646+sodiboo@users.noreply.github.com>
* Remove `unstable` from flake package version
Co-authored-by: sodiboo <37938646+sodiboo@users.noreply.github.com>
* Refactor flake to enable dependency overridability
* Pass lib explicitly in flake package
* Fix incorrect package path in flake package dependency
* Replace makeWrapper with makeBinaryWrapper
* Enhance build by separating substitution, service install, and wrapping
* Remove redundant arguments from package call
---------
Co-authored-by: sodiboo <37938646+sodiboo@users.noreply.github.com>
The ICCCM claims this is a "required" target for selection owners,
however several GTK clients (zenity, winecfg) don't seem to support it.
(So much for required.) Just manually grab all the supported targets
individually from the selection owner instead.
Fix for #50
Wine windows had WM_HINTS.input set to False, and expected use of the
WM_TAKE_FOCUS protocol, but Wayland input is much more absolute, so this
protocol is useless to us. Always focusing windows seems to be fine, so
just do that.
Should fix#35.
Bit of a hacky fix for #12. It seems like the issue is caused by too
many wl_shm_pools being created and then destroyed before being flushed
to the parent compositor. Might negatively impact performance, but most
performant things shouldn't be using wl_shm anyway.
Sometimes, windows will have actually been destroyed before we even
processed the events for it, so if we try to do something like get
properties on windows (as we do whenever a window is mapped) we will get
an error from the X server, but this is fine - we can just ignore this.
Should fix#16, #20, #22, etc.
The -displayfd argument is much friendlier to testing and is generally
more stable. As a result, omitting the display argument to the program
will result in Xwayland searching for the next available display. This
also allows integration tests to run simultaneously and when there is
already an X server running on the system.
This commit also changes how the state of the program is communicated
with integration tests (via the RunData trait).