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
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
Christian Hergert
3794f43ee1
lib: acquire inhibitor on first mouse-press
...
This will allow us to receive input like Super for the activities overview
while the widget is active.
We still need a way to release the grab, but that will come soon.
2023-02-17 15:34:36 -08:00
Christian Hergert
edfe01bf99
lib: add inhibitor helper
...
This is an object which is meant to be acquired/released in response to
user input. Currently, it will inhibit the shortcuts in the display server
if possible.
Some additional things may be added eventually like relative pointers or
similar (by grabbing pointer input).
2023-02-17 15:33:40 -08:00
Christian Hergert
87a800510b
lib: use GDK_SCROLL_SMOOTH to enumlate wheel scroll
...
It's really annoying when a touchpad doesn't work at all in a MKS session.
So instead of doing nothing, at least try to send a wheel event so that
some amount of scroll may occur.
Eventually, we need a real touchpad D-Bus interface to deliver events.
2023-02-17 11:49:33 -08:00
Christian Hergert
d0909732f4
lib: add MksDisplayPicture
...
This is a child widget to the MksDisplay which contains just the paintable
region of the remote screen. Doing so allows us to avoid having to handle
crossing events carefully for things like cursors.
Instead, now the MksDisplay calculates the area for the picture and
allocates it there. The MksDisplayPicture will always snapshot the
paintable using the full area it has been allocated.
Event processing can also largely move into the Picture widget which
simplifies bounds checking.
2023-02-17 11:40:47 -08:00
Christian Hergert
24dafbe067
lib: handle GL textures with y0 at top
2023-02-15 19:40:48 -08:00
Christian Hergert
5657997f4a
lib: set controller to capture phase
...
Just so we don't chance it and loose events to GTK.
2023-02-15 19:22:57 -08:00
Christian Hergert
d533773cf7
lib: fix absolute x,y mouse position
2023-02-15 18:02:51 -08:00
Christian Hergert
a57f55e24c
lib: remove "none" initial cursor
...
We don't always get a cursor from the peer at startup. So ignore it until
we get a cursor delivered.
2023-02-15 18:00:29 -08:00
Christian Hergert
7d7ccea630
lib: allow shrinking display
2023-02-15 17:52:48 -08:00
Christian Hergert
62f084b0b4
lib: robustness fixes for mouse movement
2023-02-15 17:52:40 -08:00
Christian Hergert
0a7c1ff21c
lib: use mouse-set from peer to update local position
...
We may need to tweak this for relative mouse positions if we find we dont
get reliable information from the peer. But this is a start, which I see
we get back from Qemu at least when we're in -enable-kvm mode.
2023-02-15 12:16:47 -08:00
Christian Hergert
03f64892e5
lib: add marshallers for internal use
2023-02-15 12:15:54 -08:00
Christian Hergert
5c52047800
lib: set cursor from guest provided texture data
2023-02-15 12:02:03 -08:00