While we use the standard meson build steps, our dependencies
are non-trivial and running the shell can be tricky; it's
certainly worth documenting.
This is also a good opportunity for plugging out toolbox tooling.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3122>
We have a fair bit of C code, yet don't document the expected
coding style. This is not much of an issue for regular GNOME
contributors as we are following the conventions of the wider
project (glib, gtk, clutter, ...), but it's still better to
spell it out.
Do that by adapting the corresponding documentation from mutter.
Even if much of our C code doesn't match all the new guidelines,
it's good to consolidate the coding style between both projects.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3122>
Start consolidating project-wide documentation in the docs/ folder.
While at it, change the name `js-coding-style`, which is both less
ominous and allows for an accompanying `c-coding-style`.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3122>
Mutter's documentation was extended recently, with files using a
pattern of `some-stuff.md`. There is no strong argument for using
camel case, so switch to the same pattern as mutter to remove some
unnecessary friction for people who contribute to both projects.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3122>
Looking glass is not just helpful for development, but also when
asking users to provide relevant information.
Having it in-tree makes it easy to reference, and ensures that
the documentation is still in a maintained place when plans to
retire the wiki go head.
The content is based on the [wiki-page] with updated code samples,
small sections on added features, and outdated references removed
(anyone remember project looking glass?).
[wiki-page]: https://wiki.gnome.org/Projects/GnomeShell/LookingGlass
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2932>
Replace deprecated functions with their direct replacements:
- dep.get_pkgconfig_variable() → dep.get_variable()
- prg.path() → prg.full_path()
- source/build_root() → project_source/build_root()
In one case we need meson.global_source_root() that was only
added in meson 0.58, so bump the requirement to that.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2077>
Move the screencasting into a separate D-Bus service process, using
PipeWire instead of Clutter API. The service is implemented in
Javascript using the dbusService.js helper, and implements the same API
as was done by screencast.js and the corresponding C code.
https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1372
Commit a76b28bd moved the dbus-interfaces to the
dbus-interfaces directory without changing the
path for docs build as well, resulting in a fail
of the build when building with gtk_doc=true.
So change the path in the build accordingly to
ensure that the build does not fail when building
with gtk_doc=true.
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/236
Meson is on track to replace autotools as the build system of choice,
so support it in addition to autotools. If all goes well, we'll
eventually be able to drop the latter ...
https://bugzilla.gnome.org/show_bug.cgi?id=783229
Meson's gtk-doc support currently requires the main SGML/XML file
to be located in the srcdir, so instead of substituting the module
version in that file directly, use a small auxiliary file that's
included via a custom entity.
https://bugzilla.gnome.org/show_bug.cgi?id=783229
We now link to cogl/clutter forks in a private location, so make
sure we set the rpath of executables to point the runtime linker
to the correct location.
We are going to change the interface, so add a new version of it.
Providers will need to opt-in to the new API.
A summary of the differences compared to the previous API:
- ActivateResult() now also takes the search terms and a timestamp as
parameters
- a new LaunchSearch() method is added
https://bugzilla.gnome.org/show_bug.cgi?id=689735