* macos: initial support
- adapted conditional compilation
- moved lan-mouse socket to ~/Library/Caches/lan-mouse-socket.sock instead of XDG_RUNTIME_DIR
- support for mouse input emulation
TODO: Keycode translation, input capture
better handling of background-service: lan-mouse can now be run without a gui by specifying --daemon as an argument.
Otherwise the servic will be run as a child process and correctly terminate when the window is closed / frontend exits.
Closes#38
- manual eventloop now replaced by asycn-await using the tokio runtime
- dns no longer blocks the event loop
- simplifies logic
- makes xdg-desktop-portal easier to integrate
major update:
- remove threading overhead by resorting to an event driven design with mio as a backend for epoll
- Clients can now have an arbitrary amount of ip adresses and lan-mouse will automatically choose the correct one
- -> seemless switching between ethernet and wifi
- cli frontend + frontend adapter for future frontends
* support for cmdline args and better error handling
* make config.toml optional
* dont abuse panic for error handling
* update doc
* more panics removed
* more unwraps removed
* cleanup Cargo.toml
* exclude backend from windows build
* remove env include in windows build
* remove Backend from windows build
* fix compiler warning
To reduce binary size one can now enable only specific backends, e.g.
wayland or x11 via cargo features
Additionally adds stubs for libei and xdg-desktop-portal backends