Commit Graph

218 Commits

Author SHA1 Message Date
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
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
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
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