Tudor Brindus
dc17492750
[client] clipboard/wayland: make DnD a no-op
...
Wayland requires us to set all listeners, even for events we don't care
about. Not doing so caused Looking Glass to abort when used as a drop
target.
2021-01-14 17:09:54 +11:00
Quantum
17691f889b
[client] clipboard/wayland: avoid writing back to guest clipboard
...
Copying rich text from the guest would be turned into plaintext on the client.
Prior to this change, this would be sent back to the guest, overwriting its
clipboard. This made it impossible to copy rich text inside the guest.
This commit detects such self-copies by checking if the receiver is the
current process, and rejecting it.
2021-01-14 10:41:32 +11:00
Quantum
02421ef269
[client] clipboard/wayland: fix null mimetype receive error
...
This prevents looking-glass-client from failing with an error message like:
error marshalling arguments for receive (signature sh): null value passed for arg 0
Error marshalling request: Invalid argument
2021-01-14 10:41:08 +11:00
Tudor Brindus
96c10c2c2d
[client] clipboard/wayland: make use of boilerplate from wm.c
2021-01-13 13:39:32 +11:00
Tudor Brindus
2aa2ec31ef
[client] clipboard/wayland: address style nits
2021-01-13 13:39:32 +11:00
Tudor Brindus
bf223158d0
[client] clipboard: try each clipboard until one initializes
...
Previously, main.c would segfault at runtime if clipboards were disabled
via cmake flags, as the clipboards array would be empty but still
indexed during initialization.
Co-authored-by: Quantum <quantum2048@gmail.com>
2021-01-13 13:39:32 +11:00
Tudor Brindus
2627381021
[client] clipboard/wayland: ignore SIGPIPE from clients that hang up
...
Otherwise, a badly-behaving client causes Looking Glass to receive a
SIGPIPE during Wayland copy operations. Handle EPIPE at call-sites
instead.
Co-authored-by: Quantum <quantum2048@gmail.com>
2021-01-13 13:39:32 +11:00
Tudor Brindus
48941cb9c4
[client] clipboard/wayland: implement better text mimetype heuristic
...
This roughly matches the heuristic that wl-copy uses to detect text.
2021-01-13 13:39:32 +11:00
Tudor Brindus
fb7ee16f7b
[client] clipboard/wayland: support keyboard capability hotplug
2021-01-13 13:39:32 +11:00
Tudor Brindus
c73d50f56a
[client] clipboard/wayland: implement host-to-VM transfers
...
Co-authored-by: Quantum <quantum2048@gmail.com>
2021-01-13 13:39:32 +11:00
Tudor Brindus
2bfd066833
[client] clipboard/wayland: implement VM-to-host image copy
...
Co-authored-by: Quantum <quantum2048@gmail.com>
2021-01-13 13:39:32 +11:00
Tudor Brindus
c58f33f5ab
[client] clipboard/wayland: implement VM-to-host text copy
...
Co-authored-by: Quantum <quantum2048@gmail.com>
2021-01-13 13:39:32 +11:00
Tudor Brindus
a205515d91
[client] clipboard/wayland: implement a no-op Wayland clipboard
...
Build scaffolding only; implementation in later commits.
Co-authored-by: Quantum <quantum2048@gmail.com>
2021-01-13 13:39:32 +11:00
Geoffrey McRae
e57f084c93
[client] added streaming clipboard support for large transfers
2020-12-03 12:01:51 +11:00
Geoffrey McRae
d700e19a32
[client] clipboard: correctly alert for large buffers
2020-12-03 02:35:40 +11:00
Geoffrey McRae
018dae691a
[client] remove left behind debug output
2020-12-03 02:03:47 +11:00
Geoffrey McRae
aaf449442a
[client] clipboard: refactor for readabillity
2020-12-03 01:58:05 +11:00
Geoffrey McRae
d8915dbfc9
[build] make "common" a static library (part 2/2)
2019-04-11 11:12:59 +10:00
Geoffrey McRae
ee09594190
[client] cmake: cosmetics
2019-03-28 20:15:13 +11:00
Geoffrey McRae
66c3c0115f
[client] added options to disable/enable interfaces
2019-03-28 20:12:18 +11:00
Geoffrey McRae
3e021f3a6b
[client] use cmake to generate renderers/fonts/clipboards headers/code
...
This is in preperation of cmake options to enable/disable various
functionallity.
2019-03-28 19:56:14 +11:00