Christian Hergert
543c0cbbda
Merge branch 'aesteve/fix-atomic-kms-cursor' into 'main'
...
display-picture: set cursor on init
See merge request chergert/libmks!19
2023-05-26 04:51:34 +00:00
Albert Esteve
25b58fc0a2
display-picture: set cursor on init
...
Set cursor to none (i.e., hide it) on init.
Otherwise, in cases where the define_cursor
signal is not received (e.g., atomic kms),
there are two cursors painted on the Widget
display.
Signed-off-by: Albert Esteve <aesteve@redhat.com>
2023-05-25 10:19:17 +02:00
Bilal Elmoussaoui
6b29de7164
Drop duplicated create_socketpair
2023-05-25 09:59:45 +02:00
Bilal Elmoussaoui
5736f4e19f
paintable: Properly close DMABuf FD
...
As g_unix_fd_list_get will dup the FD, we must close it once we are done
with it.
The issue went unnoticable during my testing as apprently, the max
number of open FDs is not in sync between host & toolbox and that is
annoying podman issue...
2023-05-24 15:17:46 +02:00
Bilal Elmoussaoui
c7772df9aa
docs: Document most of the public APIs
2023-05-23 12:34:01 +02:00
Christian Hergert
c0f0d1c22c
build: fix include directories for subprojects
...
We have no need to include the top-level when depended on, as config.h
will only ever be used by our internal .c files.
Related !17
2023-05-17 14:35:56 -07:00
Christian Hergert
f71a2002ba
display-picture: use compute_point()
...
The gtk_widget_translate_coordinates() API is now deprecated, so use the
compute_point() API and ensure that we can translate to the target widget.
2023-05-17 13:53:49 -07:00
Christian Hergert
4be889b608
display-picture: remove deprecated allocation API usage
2023-05-17 13:48:21 -07:00
Christian Hergert
cae805a728
resizer: only branch when non-NULL
...
My previous commit broke this, which is needed because we always return
FALSE when either are NULL.
2023-05-17 13:37:33 -07:00
Christian Hergert
69dfaddb9d
resizer: various code-style cleanup
...
Related !13
2023-05-17 13:36:11 -07:00
Christian Hergert
6a024f0e5d
Merge branch 'bilelmoussaoui/reconfigure' into 'main'
...
display: Reconfigure screen when size change
See merge request chergert/libmks!13
2023-05-17 20:11:49 +00:00
Bilal Elmoussaoui
c259212be5
dmabuf: Properly propagate damage area
...
The current approach makes use of
- A tiled rendering to work around gdk_texture_diff only doing pointer
comparaison
- Assumes that we would only recieve a scanout cmd followed by multiple
flush ones
In reality, with virtio-gpu at least, the scanout cmd is always
submitted followed by a flush one containing the damaged region.
With the assumption currently made, we end up creating a new paintable
for every scanout cmd causing a full redraw instead
of only redrawing the damaged areas.
Isntead we create the paintable once and call import whenever
we receive a flush cmd (UpdateDMABUF) so we can properly
pass the damage area when creating a GdkGLTexture making
the tiled rendering no longer needed.
2023-05-17 13:08:37 -07:00
Bilal Elmoussaoui
51f8615099
build: Set the pkg-config name when generating GIR
...
Should help gi-docgen figure out the pkg-config name to display in the
docs
2023-05-14 19:03:01 +02:00
Bilal Elmoussaoui
2636c9e1a9
build: Various fixes to auto generated sources
...
Needed to fix the build when GTK is also built from a subproject
2023-05-14 19:03:01 +02:00
Bilal Elmoussaoui
a804f766f9
display: Reconfigure screen when size change
...
Otherwise the VM would have no idea about the size of the target widget.
To do so, we introduce a ScreenResizer object that remembers the previous
screen attributes as well the next attributes to configure.
Taking care of scheduling resize operations and avoids submitting
the same attributes twice.
2023-05-10 00:32:35 +02:00
Christian Hergert
cd7825d9d5
build: allow -Dtracing for more logging information
2023-04-20 14:00:04 -07:00
Christian Hergert
15e6667292
Merge branch 'add-vala-support' into 'main'
...
Add VAPI (vala) support
See merge request chergert/libmks!11
2023-04-20 20:46:21 +00:00
Felipe Borges
14c368d9e7
Add VAPI (vala) support
2023-04-17 12:46:26 +02:00
Bilal Elmoussaoui
26f4b72708
display-picture: Don't compute min-width/min-height
...
They are not useful for us as we would like the user to be able to
shrink the picture.
It is a leftover of migrating from GtkPicture
2023-04-13 15:13:27 +02:00
Bilal Elmoussaoui
b4fade7fe1
cleanup: Drop useless conditions
2023-04-13 15:04:40 +02:00
Christian Hergert
188c63a183
Merge branch 'bilelmoussaoui/fix-focus' into 'main'
...
display: Grab focus on MksDisplayPicture
See merge request chergert/libmks!8
2023-04-04 03:28:32 +00:00
Christian Hergert
02edb73d2a
Merge branch 'bilelmoussaoui/expose-translate-keycode' into 'main'
...
keyboard: Expose keycode translation helper
See merge request chergert/libmks!7
2023-04-04 03:26:14 +00:00
Christian Hergert
5d1f5818c9
Merge branch 'bilelmoussaoui-main-patch-70944' into 'main'
...
display-picture: Fix keyval value
See merge request chergert/libmks!6
2023-04-04 03:23:29 +00:00
Christian Hergert
8e7702012a
Merge branch 'bilelmoussaoui/fix-session-ctor' into 'main'
...
session: Fix the display dbus path
See merge request chergert/libmks!5
2023-04-04 03:23:13 +00:00
Bilal Elmoussaoui
5783b6a8ce
display: Grab focus on MksDisplayPicture
2023-04-03 22:17:31 +02:00
Bilal Elmoussaoui
57370d5a73
keyboard: Expose keycode translation helper
...
Useful for exposing keyboard shortcuts triggers on the UI
Similar to what Boxes does for Ctrl+Shift+F
2023-04-03 17:33:11 +02:00
Bilal Elmoussaoui
df42bbb20e
display-picture: Fix keyval value
2023-04-03 13:31:33 +00:00
Bilal Elmoussaoui
266f1ae834
session: Fix the display dbus path
...
As that is what implements the ObjectManager interface
2023-03-31 10:57:10 +02:00
Bilal Elmoussaoui
c7ba1c0104
build: Add an option to disable introspection
2023-03-30 13:15:00 +02:00
Bilal Elmoussaoui
89d37ada0d
lib: Add missing headers & fix enums install dir
2023-03-29 13:09:33 +02:00
Christian Hergert
1d68a4d8f4
lib: wire up various signal handlers for audio out listener
2023-03-02 20:38:30 -08:00
Christian Hergert
378c9614ed
lib: use source for cairo fill operator
2023-03-02 17:55:30 -08:00
Christian Hergert
088e1b5ce4
keyboard: add tracing macros
2023-02-28 18:57:17 -08:00
Christian Hergert
b3a0a4028c
lib: add tracing for MksMouse
2023-02-28 12:49:37 -08:00
Christian Hergert
edd88dcec3
util: add simple tracing macros
2023-02-27 20:23:25 -08:00
Christian Hergert
e4d089fb52
util: fix typo
2023-02-27 20:16:17 -08:00
Christian Hergert
1d51bffe8f
lib: implement basics for audio out stream
2023-02-27 18:44:42 -08:00
Christian Hergert
ec60165c70
lib: ensure UnixFDList availability for AudioIn/Out
2023-02-27 18:43:39 -08:00
Christian Hergert
98032981cd
util: add socketpair GDBusConnection helper
2023-02-26 10:57:50 -08:00
Christian Hergert
294e01836d
speaker: add autoptr cleanup func
2023-02-26 10:57:33 -08:00
Christian Hergert
39a0bb2658
lib: add MksSpeaker
...
This isn't attached to AudioOut interface yet, but starts on the API to
be defined for that.
2023-02-18 09:44:21 -08:00
Christian Hergert
af901239d0
lib: remove unused typedefs
2023-02-17 16:43:58 -08:00
Christian Hergert
826967840a
lib: handle NULL display during gir generation
2023-02-17 16:40:53 -08:00
Christian Hergert
04e2bf0b00
lib: don't propagate when creating inhibitor
2023-02-17 16:30:46 -08:00
Christian Hergert
a12ee6da68
build: add -lm to library
2023-02-17 16:27:53 -08:00
Christian Hergert
4c7711823a
lib: make cairo formats conditional
2023-02-17 16:27:36 -08:00
Christian Hergert
8ed9c7eedc
lib: dont set initial cursor to none
...
Honestly, Qemu *probably* should be calling into us with the cursor after
we connect to get this right, but it doesn't which leaves the user with a
bit of an issue if there is no active cursor.
2023-02-17 16:02:16 -08:00
Christian Hergert
f5935b38cf
lib: handle any potential changes to type
2023-02-17 15:59:48 -08:00
Christian Hergert
459cb173b0
lib: add MksDisplay:ungrab-trigger
...
This allows setting a customizable trigger which may be used to ungrab
the display. Currently, the default is ctrl+alt+g and the only thing that
will be released is the shortcut inhibition.
2023-02-17 15:50:02 -08:00
Christian Hergert
1a4bcb8c31
lib: release inhibitor with dispose
2023-02-17 15:38:06 -08:00