After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 786496 - Replace custom override schema with per-desktop override
Replace custom override schema with per-desktop override
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: general
unspecified
Other All
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
triaged
Depends on: 746592
Blocks:
 
 
Reported: 2017-08-19 01:24 UTC by Florian Müllner
Modified: 2018-07-31 18:37 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Replace custom override schema with per-desktop override (7.48 KB, patch)
2017-08-19 01:24 UTC, Florian Müllner
none Details | Review
prefs: Remove override system (6.17 KB, patch)
2017-08-19 01:25 UTC, Florian Müllner
none Details | Review
data: Replace override schema with per-desktop override (4.09 KB, patch)
2017-08-19 01:28 UTC, Florian Müllner
none Details | Review
data: Use override for default alt-tab keybindings (1.97 KB, patch)
2017-08-19 01:28 UTC, Florian Müllner
none Details | Review
extensions: Remove alternate-tab (10.14 KB, patch)
2017-08-19 01:29 UTC, Florian Müllner
none Details | Review
Replace custom override schema with per-desktop override (7.51 KB, patch)
2017-08-19 22:32 UTC, Florian Müllner
none Details | Review
data: Replace override schema with per-desktop override (4.11 KB, patch)
2017-08-19 22:32 UTC, Florian Müllner
none Details | Review

Description Florian Müllner 2017-08-19 01:24:52 UTC
See patches.

This depends on the per-desktop override functionality implemented in bug 746592. Those patches haven't landed yet, so I don't think this is 3.26 material ...
Comment 1 Florian Müllner 2017-08-19 01:24:59 UTC
Created attachment 357950 [details] [review]
Replace custom override schema with per-desktop override

GSettings now recognizes per-desktop overrides that can be used
to change schemas' default values for a particular desktop. This
is not entirely unlike our existing custom override mechanism in
mutter, except that it is not limited to keys in org.gnome.mutter,
and it doesn't require a separate schema - the latter means that
we (and gnome-teak-tool) no longer have to figure out the correct
schema for the current login session and just use the original one.
Comment 2 Florian Müllner 2017-08-19 01:25:58 UTC
Created attachment 357951 [details] [review]
prefs: Remove override system

With the support for per-desktop default values in GSettings, we
no longer need the mutter-specific override mechanism.
Comment 3 Florian Müllner 2017-08-19 01:28:49 UTC
Created attachment 357952 [details] [review]
data: Replace override schema with per-desktop override

GSettings now recognizes per-desktop overrides that can be used
to change schemas' default values for classic mode, so use that
instead of the separate override schema we currently use with
mutter's custom override mechanism.
Comment 4 Florian Müllner 2017-08-19 01:28:56 UTC
Created attachment 357953 [details] [review]
data: Use override for default alt-tab keybindings

Per-desktop overrides aren't limited to keys in org.gnome.mutter, so
we can use them instead of the alternate-tab extension to default to
the window switcher in the classic session.
Comment 5 Florian Müllner 2017-08-19 01:29:04 UTC
Created attachment 357954 [details] [review]
extensions: Remove alternate-tab

Ever since GNOME 3.8 when gnome-shell started to provide the window
switcher functionality itself, the extension has only existed to
change the default behavior of the alt-tab shortcut in the classic
session. Now that we achieve this behavior with a per-desktop override,
there's no longer a need for the extension, so remove it altogether.

Users who prefer the window switcher over the default app switcher
can use the regular keyboard settings to assign a shortcut to the
"Switch windows" action.
Comment 6 Alberts Muktupāvels 2017-08-19 04:24:40 UTC
https://developer.gnome.org/gio/stable/glib-compile-schemas.html

"By convention, vendor override files begin with nn_ where nn is a number from 00 to 99. Higher numbered files have higher priority (eg: if the same override is made in a file numbered 10 and then again in a file numbered 20, the override from 20 will take precedence)."

I would say that override files should start with 00_:
- 00_org.gnome.shell.gschema.override
- 00_org.gnome.shell.extensions.classic.gschema.override

Ubuntu or any other distro might want to say final word for default by installing higher priority override file.
Comment 7 Florian Müllner 2017-08-19 22:32:10 UTC
Created attachment 357997 [details] [review]
Replace custom override schema with per-desktop override

Meh, override-overrides ...
Comment 8 Florian Müllner 2017-08-19 22:32:34 UTC
Created attachment 357998 [details] [review]
data: Replace override schema with per-desktop override

Renamed override file
Comment 9 Didier Roche 2017-08-21 06:59:15 UTC
Excellent Florian!

I was planning helping on those changes once we are done with the GNOME Shell transition in ubuntu (after Feature Freeze), but great that you got timeto handle it yourself :) Quite happy that we head over the same common solution. I agree with the "you can ship "00_" where distros put higher versions (typically "10_") to override those.

Tell me if you need any help, once ofc the glib changes land (so not for 3.26).
Comment 10 Gianfranco Costamagna 2018-04-11 13:43:57 UTC
Hello, do we have any update on this bug? I don't see any blocking point for the patches to be merged mainline, but maybe I didn't look too carefully?

thanks!

Gianfranco
Comment 11 Jeremy Bicha 2018-04-11 13:50:38 UTC
Gianfranco, this bug is blocked on the glib bug. (See the "Depends on" field at the top of this bug.)
Comment 12 Florian Müllner 2018-04-11 13:52:17 UTC
(In reply to Gianfranco Costamagna from comment #10)
> Hello, do we have any update on this bug? I don't see any blocking point for
> the patches to be merged mainline, but maybe I didn't look too carefully?

Yup, the patches depend on a GSettings feature that hasn't landed in glib master yet.