For a session to actually persist, we need to request a persistence mode
which we already do. The portal then returns a restore-token (in the
form of an uuid) to us as part of the response to Start.
This token must then be passed into the *next* session during
SelectDevices to restore the previous session.
The token is officially a single-use token, so we need to overwrite it
every time. In practise the current XDP implementation may re-use the
token but we cannot rely on that.
Reading and writing the token is not async since we expect them to be
uuid-length.
Closes#74.
* Include libadwaita and other dependencies in the app bundle on macOS
* Fix missing pipes
* Use recent bash for associative array support (declare -A)
* Use correct path for homebrew bash on Intel macOS
* Get homebrew path from the brew command
* Simplify copy-macos-dylib and convert to POSIX sh
Remove need for recent bash altogether
* Fix permissions nit
* Update macOS dylib copy script path in release workflow
* fix a few typos
* fix script invocation in pre-release.yml
---------
Co-authored-by: Apoorv Khandelwal <mail@apoorvkh.com>
Co-authored-by: Ferdinand Schober <ferdinandschober20@gmail.com>
Using niri as compositor on both sides resulting in: emulation=wlroots capture=layer-shell
Mouse scrolling works fine in terminals, but only scrolls very small amount in google-chrome (in wayland mode)
Using 'wev' to show events, using the real mouse shows
[ 15: wl_pointer] axis_source: 0 (wheel)
[ 15: wl_pointer] axis_value120: axis: 0 (vertical), value120: 120
[ 15: wl_pointer] axis_relative_direction: axis: 0 (vertical), direction: 0
[ 15: wl_pointer] axis: time: 50410752; axis: 0 (vertical), value: 15.000000
Using the lan-mouse shows:
[ 15: wl_pointer] axis_source: 2 (continuous)
[ 15: wl_pointer] axis_value120: axis: 0 (vertical), value120: 1
[ 15: wl_pointer] axis_relative_direction: axis: 0 (vertical), direction: 0
[ 15: wl_pointer] axis: time: -1913142096; axis: 0 (vertical), value: 20.000000
Without axis_source, scrolling over (pinned) tabs also skips one tab.
* fix parsing toml key position and values
* Using rename_all instead rename over each enum
* rename struct field directly
---------
Co-authored-by: Ferdinand Schober <ferdinand.schober@fau.de>
*breaking change*
this changes the configuration syntax, allowing for an unlimited amount of configured clients.
Also a first step towards enabling a "save config" feature.
client configuration now applies immediately instead of after enabling / disabling clients.
Also fixes a potential feedback loop when changing settings.