| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
And add a compile time check for the presence of this
CPU feature.
|
|
|
|
|
| |
Add a -Dprofile=devel meson option, and add some visual
hints to the demos that you are running a nightly build.
|
|
|
|
|
|
| |
Add an option to disable css rebuilds. This allows
to build GTK from release tarballs (Which are including
the css) without a sassc dependency.
|
|
|
|
|
|
| |
This gracefully disable ffmpeg, gstreamer, cups and cloudprint optional
dependencies when they are not available, while still giving full
control to distributors using -Dauto_features=enabled.
|
|
|
|
|
|
| |
It is nicer for contributors to have a build that works by default.
Distributors should be using -Dauto_features=enabled to get ride of
automagic options.
|
|
|
|
|
|
|
| |
Yielding option means that if pango is built as a subproject, it will
take the value of that option from the parent project (e.g. gst-build).
For that to work it must be of the same type, which is "feature" instead
of "boolean" in all GStreamer modules.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use feature options for things that are optional features,
update the docs.
Visible changes here is that the 'print-backends' option
got renamed to 'print' to go better with 'media', and the
'tracker3' option got renamed to 'tracker'.
For options that have been changed into features, the
syntax now is -Dfeature=enabled or -Dfeature=disabled
or -Dfeature=auto.
|
|
|
|
|
|
|
| |
We don't support any profilers other than sysprof,
so name the option accordingly. While we are at it,
change it to a meson feature option, so
-Dprofiler=true becomes -Dsysprof=enabled
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is fairly substantial rewrite of the GDK backend for quartz and
renamed to macOS to allow for a greenfield implementation.
Many things have come across from the quartz implementation fairly
intact such as the eventloop integration design and discovery of
event windows from the NSEvent.
However much has been changed to fit in with the new GDK design and
how removal of child GdkWindow have been completely eliminated.
Furthermore, the new GdkPopup allows for regular NSWindow to be used
to provide popovers unlike the previous implementation.
The object design more closely follows the ideal for a GDK backend.
Views have been broken out into subclasses so that we can support
multiple GSK renderer paths such as GL and Cairo (and Metal in the
future). However mixed mode GL and Cairo will not be supported. Currently
only the Cairo renderer has been implemented.
A new frame clock implementation using CVDisplayLink provides more
accurate information about when to draw drawing the next frame. Some
testing will need to be done here to understand the power implications
of this.
This implementation has also gained edge snapping for CSD windows. Some
work was also done to ensure that CSD windows have opaque regions
registered with the display server.
** This is still very much a work-in-progress **
Some outstanding work that needs to be done:
- Finish a GL context for macOS and alternate NSView for GL rendering
(possibly using speciailized CALayer for OpenGL).
- Input rework to ensure that we don't loose remapping of keys that was
dropped from GDK during GTK 4 development.
- Make sure input methods continue to work.
- Drag-n-Drop is still very much a work in progress
- High resolution input scrolling needs various work in GDK to land
first before we can plumb that to NSEvent.
- gtk/ has a number of things based on GDK_WINDOWING_QUARTZ that need
to be updated to use the macOS backend.
But this is good enough to start playing with and breaking things which
is what I'd like to see.
|
|
|
|
|
| |
Make this dependency optional at build time, and prefer it over
the old tracker <= 2.x implementation.
|
|
|
|
|
|
| |
This name is what most of the stack is using.
Lets follow along, even though it is (imo)
uglier.
|
|
|
|
|
|
|
|
|
|
| |
This uses the new sysprof-3 ABI to implement the capture writer. It also
uses the statically linked libsysprof-capture-3.a that is provided with
Sysprof for the capture writing to ensure that we do not leak any symbols
nor depend on any additional libraries.
The GTK_TRACE_FD can be used to pass a FD for tracing into Gtk. Sysprof
uses this when the Gtk instrument is selected for recording.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
All of the four platform-dependent backends are enabled by default. It
is usually a good default because it requires users to explicitly choose
backends they want to use. Rules in meson.build also automatically
disable unavailable backends for macOS, Windows, Linux, so users on
these 3 major platforms don't have to manually disable things when
running meson commands.
However, meson.build doesn't do the same thing for other Unix-like
systems, which is acceptable but not ideal. To make it easier to build
GTK+ on these systems, the Linux case, which enables X11 and Wayland and
disables Win32 and Quartz, is made the default for all operating systems
that are not Windows or macOS.
This commit also changes most 'host_machine.system()' calls to os_*
variables, which are easier to read and less likely to be used wrongly.
|
|
|
|
|
|
| |
Examples are not like demos; the latter are installed, and provide a
Flatpak manifest for CI pipelines and GNOME Builder. We should not be
using a single configure time option to gate building both.
|
|
|
|
|
|
|
| |
Instead of compiling without media backend by default, we now use the
GStreamer backend.
This means that CI now requires gstreamer support.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This way, we can support external libraries providing implementations of
GtkMediaFile.
We also add a media backend called 'nomedia' that can be enabled to not
compile any support for GtkMediaFile. This is useful when people want to
statically compile GTK into an application that does not use media.
For now, this option is the default.
We also support a new environment variable GTK_MEDIA that allows
selecting the implementation to use.
GTK_MEDIA=help can be used to get info about the available
implementations.
|
|
|
|
|
| |
No need to load these as gio modules, we just include
them in libgtk.
|
|
|
|
| |
The papi print backend has been removed.
|
|
|
|
|
| |
Drop the 'enable-' prefix to conform to the best practices for naming
configuration options in Meson.
|
|
|
|
|
|
| |
Drop the 'enable-' prefix, and always enable all platform-specific
backends. We can disable them depending on the platform. This way,
the documentation printed by `meson configure` remains accurate.
|
|
|
|
|
|
| |
Instead of having separate options for each print backend, we can use
the same approach as the input method modules: a single option, with a
comma-separated list of print backends.
|
|
|
|
|
| |
Drop the 'enable-' prefix, to follow the naming best practices for Meson
configuration options.
|
|
|
|
|
|
| |
We can call it 'included-immodules', and simplify its logic by always
attempting to split the value, to avoid turning an array into a string
and then back into an array again.
|
|
|
|
|
| |
We should not have 'disable' in the name, to conform with the Meson best
practices for boolean options.
|
|
|
|
|
| |
Mir is in the process of switching over to the Wayland protocol,
so we don't need to maintain a separate backend, going forward.
|
|
|
|
| |
Use this to enable or disable installed tests.
|
|
|
|
|
| |
You can now disable the documentation build with
-Ddocumentation=false and -Dman-pages=false.
|
|
|
|
| |
You can disable introspection now with -Dintrospection=false.
|
|
|
|
|
|
|
| |
This is meant to cut down build time in flatpak and similar
situations. Since it produces technically incomplete builds,
we list these options in the status output at the end of
the meson run.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add integration of the libcloudproviders DBus API to the
GtkPlacesSidebar by showing name and sync status of the cloud providers.
The exported menu is rendered as a GtkPopover.
The sidebar will be updated if the list of cloudproviders changes e.g.
by adding or removing an account. If any cloud provider changes detailed
information like sync status only the individual sidebar row gets
updated.
Co-authored-by: Carlos Soriano <csoriano@gnome.org>
Co-authored-by: Daniel Boles <dboles@src.gnome.org>
https://bugzilla.gnome.org/show_bug.cgi?id=786123
|
|
|
|
|
| |
And drop the unnecessary is_cross_build() check: it's entirely possible
to generate introspection data when cross-compiling.
|
| |
|
| |
|
|
|
|
| |
Still a work in progress.
|
|
|
|
|
|
|
|
|
| |
We have to work around some ordering problems here. We still
manage to keep most of the guts in modules/input/meson.build,
so it's not too ugly overall.
(The autotools build solves this with a 'make -C ../../input/modules'
inside gtk/Makefile, but that's not something we can or want to do.)
|
| |
|
|
|
|
| |
Which is the only user of it. Also add option to enable/disable.
|
|
|
|
|
| |
The cups checks might not work properly everywhere yet,
since they don't use cups-config and parse the output yet.
|
|
|
|
| |
Completely untested, might not even build.
|
| |
|
| |
|
| |
|
| |
|
|
|