Christian Hergert
0b46c75dc8
Merge branch 'bilelmoussaoui/fix-subproject-build' into 'main'
...
build: Fix building as a subproject
See merge request chergert/libmks!4
2023-04-04 03:22:49 +00:00
Christian Hergert
02f18f1835
Merge branch 'bilelmoussaoui/docs' into 'main'
...
Build & publish docs using gi-docgen
See merge request chergert/libmks!3
2023-04-04 03:22:27 +00:00
Bilal Elmoussaoui
6789bba624
build: Fix building as a subproject
2023-03-30 14:29:38 +02:00
Bilal Elmoussaoui
c7ba1c0104
build: Add an option to disable introspection
2023-03-30 13:15:00 +02:00
Bilal Elmoussaoui
d342adf3ab
ci: Add a docs job
2023-03-30 13:15:00 +02:00
Bilal Elmoussaoui
b3acf4d143
ci: Add a flatpak test job
2023-03-30 13:15:00 +02:00
Bilal Elmoussaoui
5892a48a64
build: Add gi-docgen based docs option
2023-03-30 13:15:00 +02:00
Christian Hergert
d4f52a7fdb
Merge branch 'bilelmoussaoui/fixes' into 'main'
...
Fix including libmks in a separate project
See merge request chergert/libmks!2
2023-03-29 17:07:36 +00:00
Bilal Elmoussaoui
25369a2985
readme: Add missing \
2023-03-29 13:11:41 +02:00
Bilal Elmoussaoui
89d37ada0d
lib: Add missing headers & fix enums install dir
2023-03-29 13:09:33 +02:00
Christian Hergert
24c191f1e9
Merge branch 'wip/jimmac/logo' into 'main'
...
data: provide a symbolic and an emblem
Closes #1
See merge request chergert/libmks!1
2023-03-09 16:50:47 +00:00
Jakub Steiner
fb074003e7
data: provide a symbolic and an emblem
...
Fixes https://gitlab.gnome.org/chergert/libmks/-/issues/1
2023-03-09 12:27:45 +01: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
78d955cde8
tools: remove unused variable
2023-02-21 17:11:22 -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
232446389f
build: add flatpak manifest to testing in Builder
...
I give it session-bus access so that we can connect to a Qemu instance that
was started on the user session. Not needed for "real" apps.
2023-02-17 16:28:25 -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
a38ab5834e
build: allow installing tools for testing
2023-02-17 16:27:21 -08:00
Christian Hergert
c0cf407713
tools: show grab binding during inhibition
2023-02-17 16:11:06 -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
94338ee798
README.md: Add example to test
2023-02-17 09:13:11 -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