The decision to disable was a reaction to the announcement of the
Mozilla Location Service shutdown. The goal was to give distros an
option to decide based on their own release schedule and support
lifetime.
Given that the issue of low accuracy in location might not turn out to
be a big issue for most of our users, let's turn "Location Services" ON
by default and instead let distros disable the feature if they desire.
Fixes#2959
Considering the retirement of Mozilla Location Service, most
laptop/desktop users will rely on weaker network based location
sources.
Let's make the Location settings a build option, disabled by default.
-Dlocation-services=enabled
See #2959
Per discussion in https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/1940
we agreed that the number of deprecated warnings is cluttering
significantly our build logs and making it hard for new contributors to
spot new warnings that their code changes introduce.
For now we decided that the default value for deprecated-declarations is
DISABLED.
This has some advantages:
- Removes the conditional compilation requirement, which makes testing easier.
- Allows all distributed versions of Settings to have snap support without them supporting snapd-glib.
- Makes it faster to update Settings for Snap features without waiting on snapd-glib releases.
Note that the snap support is only invoked if you have snaps installed.
Downsides:
- Some additional code in Settings. This is manageable as Settings doesn't need much snap information.
libsoup2 didn't support HTTP over Unix domain sockets and would have been too much to support in Settings.
libsoup3 does support this which makes this possible.
- We no longer share code with snapd-glib, so any future changes will have to be made in multiple places.
snapd has a stable API and multiple active clients so this is not likely to be a major concern.
Currently, we display a 256x256 version of the OS icon from
/etc/os-release. This is too big for my taste, and it's also not
sufficient for distros that want to display a logo that is not an icon.
For instance, because we no longer display the operating system name
immediately beneath the logo, it may be desirable to use a logo variant
that includes text. This patch adds a meson build option that
distributions can use to override the logo, and a second build option to
specify a different logo for use in dark mode.
malcontent[1] is parental(or admin) controlled interface which
can restrict a application's visibility and interactivity for a
standard user. Hence, if the current uid has any restrictions
on its installed applications, filter them out from the applications
panel.
Make the malcontent support enable or disable by setting it up as
a build-time meson option.
[1]: https://gitlab.freedesktop.org/pwithnall/malcontent/
For the "development" profile, lets use the Nightly variant, to
visually indicate to users that they are running an unstable
version of the application.
With this commit, a message dialog pops up whenever a
development build runs. This is meant to actually annoy,
so that we're always reminded that things may not work
as expected.
Since the dialog can be dismissed with a single button
press, it is not the end of the world. But people still
should be aware that Settings is ~not~ meant to run with
Flatpak, and that this is a development tool only.
This commit replaces the old rudimentary log handler
by a shinier version of it. It also introduces the
debugging macros that I usually add to the apps,
including the CC_TRACE_MSG() macro for tracing.
The bluetooh, network and wacom panels should not be optional
on linux, except on s390 systems which lack USB support. It
should also not be built at all on other systems.
This patch makes these panels mandatory on linux.
https://bugzilla.gnome.org/show_bug.cgi?id=792641
Meson is a build system focused on speed an ease of use, which
helps speeding up the software development. This patch adds meson
support along autotools.
https://bugzilla.gnome.org/show_bug.cgi?id=785414