Commit Graph

146 Commits

Author SHA1 Message Date
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
Christian Hergert
233f30a2d1 Merge branch 'libmks-bilelmoussaoui/gdk-gl-texture-builder' 2023-05-17 13:09:05 -07: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
Christian Hergert
379f2e862a build: Depend on gtk main for GdkGLTextureBuilder
- Add a meson subproject for building main gtk
- Adapt the docs CI job to install the necessary build deps
- Disable werror in the CI for now, until we port aways from deprecated
APIs
- Switch from using add_global_argument as it would affect subprojects

# Conflicts:
#	.gitignore
2023-05-17 13:08:31 -07:00
Christian Hergert
598e127650 .gitignore: ignore .flatpak-builder 2023-05-17 13:07:46 -07:00
Christian Hergert
b15e1f0483 Merge branch 'bilelmoussaoui/build-fixes' into 'main'
Various meson fixes

See merge request chergert/libmks!16
2023-05-17 20:06:34 +00: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
42686c113e misc: Ignore VSCode specific folders
VSCode + VSCode Flatpak generates those folders making it quiet
esay to accidently add those files to a commit by mistake
2023-05-10 01:50:42 +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
018b072100 Merge branch 'bilelmoussaoui/mks-cosmetics' into 'main'
tools/mks: Cosmetic changes

See merge request chergert/libmks!15
2023-05-09 21:44:15 +00:00
Bilal Elmoussaoui
ab157df65d tools/mks: Cosmetic changes
- Prefer dark style: per the HIG recommendations 
- Sets a slightly bigger default size
2023-05-09 18:58:16 +00:00
Christian Hergert
cd7825d9d5 build: allow -Dtracing for more logging information 2023-04-20 14:00:04 -07:00
Christian Hergert
5c12eac44f Merge branch 'dbus-connection-setup-flags' into 'main'
tools: Set g_dbus_connection_new_for_address initialization flags

See merge request chergert/libmks!12
2023-04-20 20:50:03 +00: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
Christian Hergert
2a7ec12df3 Merge branch 'bilelmoussaoui/cleanup' into 'main'
display-picture: Don't compute min-width/min-height

See merge request chergert/libmks!10
2023-04-20 20:45:46 +00:00
Christian Hergert
0e1c0a7d10 Merge branch 'bilelmoussaoui-main-patch-78694' into 'main'
readme: Add a link to the docs

See merge request chergert/libmks!9
2023-04-20 20:42:27 +00:00
Felipe Borges
14c368d9e7 Add VAPI (vala) support 2023-04-17 12:46:26 +02:00
Felipe Borges
86c54a6fdc tools: Set g_dbus_connection_new_for_address initialization flags
Otherwise private dbus connections fail with ""The connection is closed".
2023-04-17 12:38:33 +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
Bilal Elmoussaoui
2d29e054b0 readme: Add a link to the docs 2023-04-04 09:24:47 +00: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
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