Quantum
bf8f4c17f0
[client] opengl: render cursor in spice mode
2022-09-19 14:58:47 +10:00
Quantum
d9ffb98c9b
[client] wayland: fix attempt to confine when pointer is locked
...
This fixes the following crash when attempt to toggle capture at the
right after closing the overlay:
zwp_pointer_constraints_v1@12: error 1: a pointer constraint with a wl_pointer of the same wl_seat is already on this surface
2022-09-19 14:58:27 +10:00
Quantum
0f261abb07
[client] egl: recalculate mouse position when toggling spice
...
Without this step, the cursor with be transformed for rendering the
spice cursor, not the IVSHMEM cursor.
2022-09-19 11:43:25 +10:00
Quantum
0c63a901be
[client] main: add support for spice cursor channel
2022-09-19 11:13:53 +10:00
Quantum
1fd00ba26c
[client] render_queue: support cursor operations
2022-09-19 11:13:53 +10:00
Quantum
f14d135266
[client] egl: support rendering cursors in spice display mode
2022-09-19 11:13:53 +10:00
Geoffrey McRae
5385853f3f
[client] x11: set _NET_WM_PID
...
Fixes #1013
2022-09-18 10:10:13 +10:00
Geoffrey McRae
0149549251
[client] egl: fix usage `destRect, 0x0 is top left
...
This fixes the letterbox clip being incorrect when rounding is occuring
due to the inverted coordinate space.
2022-09-17 16:02:11 +10:00
Quantum
f5e68711d0
[client] wayland: handle wl_data_source.target action
...
There is no action to be taken by the Looking Glass client, but a
handler needs to exist as certain other Wayland clients chooses to
send this message for copy-paste operations despite the fact it's
supposed to be used for drag-and-drop negotiation.
2022-08-14 12:05:51 +10:00
Geoffrey McRae
d376dc4b5a
[client] egl: fix the incorrect mask for dmabuf plane0 modifier
2022-07-30 22:08:47 +10:00
Geoffrey McRae
af51ea6d0b
[client] egl: add support for EGL_EXT_image_dma_buf_import_modifiers
2022-07-30 15:55:20 +10:00
Quantum
eb1774f955
[client] keybind: add ScrollLock+C to cycle microphone defaults
...
This makes it possible to change the default action taken the next time
an application tries to open the microphone without restarting the
client.
2022-07-13 07:06:04 +10:00
Quantum
ae38db4915
[client] main: move micDefaultState into g_state
2022-07-13 07:06:04 +10:00
Quantum
9dee9ed7bb
[client] main: better error when no display server is available
...
This commit makes it show a prettier error message when no display
server is available, including the display servers compiled. This
replaces the old assert.
Example output:
[E] 572277145932 main.c:1167 | lg_run | No display servers available, tried:
[E] 572277145934 main.c:1169 | lg_run | * Wayland
[E] 572277145935 main.c:1169 | lg_run | * X11
2022-07-13 07:05:07 +10:00
Quantum
0dabfdc432
[client] displayservers: add name field
2022-07-13 07:05:07 +10:00
Geoffrey McRae
9a9f9d433e
[client] x11: add dependency on xkbcommon
2022-06-30 15:09:24 +10:00
Quantum
d24459b27f
[client] wayland: correctly convert scan codes to numbers
...
Note that xkb scan code = linux scan code + 8.
2022-06-30 08:38:29 +10:00
Geoffrey McRae
da04a6dd54
[client] all: use the defined keyboard mapping for keybinds
...
Fixes #1007
2022-06-29 18:26:40 +10:00
Quantum
8b68a96ee1
[client] wayland: fix infinite resize loop
...
The intention has been to keep wlWm.needsResize true when skipping
resize, but I accidentally negated the value.
2022-06-01 22:41:20 -04:00
Geoffrey McRae
286e7622b8
[client] main: fix failure to startup when the guest VM has no UUID
2022-05-30 13:43:51 +10:00
Quantum
20d459d113
[client] wayland: deal getting scale before size
...
Certain window managers give us a scale before it gives us a size.
This commit makes the Wayland backend avoid passing a zero size to
wp_viewport_set_source, which is a protocol error.
2022-05-29 14:52:58 +10:00
Quantum
bf9023d6f8
[client] cmake: pass -Wstrict-prototypes for C files only
...
This avoids the following warning in C++ code:
cc1plus: warning: command-line option ‘-Wstrict-prototypes’ is
valid for C/ObjC but not for C++
2022-05-29 11:16:16 +10:00
Quantum
a8521b821e
[all] cmake: standardize indentation to 2 spaces
2022-05-29 11:16:16 +10:00
Geoffrey McRae
0799910e70
[client] app: fix segfault when jitRender + spice display is in use
2022-05-28 00:52:03 +10:00
Quantum
8b8b580f63
[client] overlay/status: re-rasterize at high DPI when needed
...
When the window scale goes above the scale the SVGs were rasterized
at, we re-rasterize them at the necessary scale for a more crisp
appearance.
2022-05-27 18:19:18 +10:00
Quantum
712b1cbc46
[client] overlay/graphs: allow unregistering after shutdown
...
The Wayland display server has a graph for presentation times, but the
backend shuts down after the overlays, so calling
overlayGraph_unregister causes memory corruption. We can avoid this
problem by making unregister a noop after all graphs have been freed.
This is safe because updating the graph doesn't use the graph handle:
instead you update the ringbuffer which is owned by the user.
2022-05-27 18:18:15 +10:00
Geoffrey McRae
fba7c80b2f
[client] interface: remove needsRender from renderers
2022-05-27 14:38:42 +10:00
Geoffrey McRae
a4f5bc7320
[client] render_queue: fix failure to show spice at startup
2022-05-27 14:02:00 +10:00
Geoffrey McRae
48735cd001
[client] main: don't start the overlay tick timer until init is done
2022-05-27 13:42:47 +10:00
Geoffrey McRae
123be552a4
[client] spice: fix duplicate keybind registration
2022-05-27 13:29:28 +10:00
Geoffrey McRae
aba8c5b499
[client] splash: added LG url, version and copyright strings
2022-05-27 12:39:08 +10:00
Geoffrey McRae
56ec98524c
[client] egl: perform full damage if a post processing option is changed
2022-05-27 11:40:20 +10:00
Geoffrey McRae
9ccd93bfd8
[client] app: add option to disable dimming in overlay mode
2022-05-27 11:36:39 +10:00
Geoffrey McRae
f17dfdc9b3
[client] config: cosmetics
2022-05-27 11:30:24 +10:00
Geoffrey McRae
39c1f99446
[client] splash: add back support for win:quickSplash
2022-05-27 11:27:50 +10:00
Quantum
7e8849180d
[client] audio: allow microphone recording to be toggled after dialog
2022-05-27 11:22:49 +10:00
Quantum
146d9a2a53
[client] main: remove micAlwaysAllow from g_params
2022-05-27 11:22:12 +10:00
Quantum
7cb6ccd6f5
[client] audio: switch to use config value audio:micDefault
2022-05-27 11:22:12 +10:00
Quantum
9b910eced1
[client] config: replace audio:micAlwaysAllow with audio:micDefault
2022-05-27 11:22:12 +10:00
Quantum
3e079e0489
[client] main: add micDefaultState to state and params
2022-05-27 11:22:12 +10:00
Geoffrey McRae
1e660fb7e1
[client] splash: pre-calculate & cache the radial gradient vectors
2022-05-27 10:23:10 +10:00
Geoffrey McRae
1770defea2
[client] spice: wait for the spice connection to finish at startup
...
A failure to connect to spice would cause LG to exit late, this adds a
startup condition that prevents the LG initialization to complete until
the spice connection has been established.
2022-05-27 09:22:10 +10:00
Geoffrey McRae
b94869249c
[client] main: don't show the splash when transitioning to spice
2022-05-27 02:24:01 +10:00
Geoffrey McRae
a9e3ab9d18
[client] egl: remove no longer used drawing functions
2022-05-27 02:13:07 +10:00
Geoffrey McRae
fec45dfe9c
[client] egl: remove unused splash shaders
2022-05-27 02:10:38 +10:00
Geoffrey McRae
5de175c1f3
[client] all: unify the LG splash screen into an overlay
2022-05-27 02:07:20 +10:00
Geoffrey McRae
8974ae4fb5
[client] add SVG loading support and use icons for status display
...
This brings nanosvg into the project for SVG loading and rendering.
Unfortunatly we can not at this time use a submodule for this project
until https://github.com/memononen/nanosvg/pull/214 is merged.
2022-05-26 04:11:31 +10:00
Geoffrey McRae
8aa36144dc
overlay: move init/free to the context of the render thread
...
This is done to allow overlays to make use of the renderer during
init/free.
2022-05-26 00:46:13 +10:00
Geoffrey McRae
6384a8d006
[client] main: fix race condition on usage of events
2022-05-24 11:06:47 +10:00
Geoffrey McRae
d1e421f8a8
[client] spice: delay showing the spice display until spice is ready
2022-05-24 09:48:54 +10:00