The `X-GNOME-Bugzilla-*` entries were for use by bug-buddy, a GNOME 2
technology that's been gone for over a decade. These entries are
obsolete and can be removed from all desktop files.
The `X-GNOME-Settings-Panel` entry is also obsolete as far as I can
tell and only these panels had it in their desktop file: notifications,
sharing, sound and user-accounts. These entries can also be removed.
After removing the `X-GNOME-Bugzilla-*` entries, the desktop files have
no more variables in them. The meson `configure_file` step is therefor
pointless—there are no variables to configure. As such the
`*.desktop.in.in` files are renamed to `*.desktop.in` to reflect this
and `meson.build` files are modified to remove `configure_file` step.
../panels/region/cc-region-panel.c: In function 'set_restart_notification_visible':
../panels/region/cc-region-panel.c:131:17: warning: 'current_locale' may be used uninitialized [-Wmaybe-uninitialized]
131 | uselocale (current_locale);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../panels/region/cc-region-panel.c:115:18: note: 'current_locale' was declared here
115 | locale_t current_locale;
| ^~~~~~~~~~~~~~
../panels/region/cc-region-panel.c:130:34: warning: 'new_locale' may be used uninitialized [-Wmaybe-uninitialized]
130 | if (locale && new_locale != (locale_t) 0) {
| ~~~~~~~~~~~^~~~~~~~~~~~~~~
../panels/region/cc-region-panel.c:114:18: note: 'new_locale' was declared here
114 | locale_t new_locale;
| ^~~~~~~~~~
Changing user’s language resets the formats (region) by passing `NULL` to `update_region`.
However, updating the region calls `maybe_notify`, whose callback `maybe_notify_finish`
tries to parse the `mnd->target_locale` (the `NULL`), producing a critical:
GLib-CRITICAL **: g_regex_match_full: assertion 'string != NULL' failed
Since updating the language itself already triggers the notification check,
let’s just skip calling `maybe_notify` here in that case.
Rework the panel to have 2 groups: the user's language and
format; and the login screen's language and format. Remove
the now unused bottom label explainig the login screen.
Special-casing of single user systems is still present.
Related: https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1587
Rename the app-id to org.gnome.Settings since this is what
we've been calling it for many years now. Adjust all files
that derive from the app-id, such as the desktop file, D-Bus
service file names, search providers, GSettings schemas, to
match that.
Closes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/344
Ignored in Meson < 0.60.0, deprecated since 0.60.1 and fatal since 0.61.0.
panels/applications/meson.build:10:5: ERROR: Function does not take positional arguments.
panels/background/meson.build:10:5: ERROR: Function does not take positional arguments.
panels/camera/meson.build:10:5: ERROR: Function does not take positional arguments.
[...]
...on the title bar with joined toggles (like in Background panel) for a
clearer UI.
Note 2020-08-26: This patch has been in Endless OS since 2014. It seems
like a good UX change, so I'm proposing it upstream with some minor
changes. - mwleeds
Not doing this will lead to (probably undesired) inconsistencies when
changing the language, since many locale-dependant strings will still be
rendered considering the previous language format (e.g. days of the week).
Note 2020-08-26: This patch has been in Endless OS since 2015, proposing
it upstream. - mwleeds
Make the panel class provide a cancellable that will be cancelled when the panel
is destroyed. Panel implementations can use this and not have to mangage the
cancellable themselves. Consolidate cases where panels had multiple cancellables
that were all being used for this behaviour.
localed will not update the LC_* variables if they are not given. This
means that should the user switch the formats away from LANG and then
back, they will not be reset appropriately.
Simply always setting the variables even if the match will fix this.
So that it fits into 360px. UI wise, the margin at end is almost
always larger than start (due to text wraping). So reducing end
margin may also let the popover content feel more center aligned.