Benjamin Berg d9ef612302 data: Enable clean session shutdown after gnome-shell failure
If the GNOME shell crashes, we run a service that may disable
extensions. This is important so that users will not be locked out of
their own session in case an extension is causing crashes.

As this is a very agressive action, we tried to only do this in the
first two minutes of the session. Unfortunately, the logic was broken
and would result in an unclean session shutdown.

Fix this by using the newly introduced gnome-shell-disable-extensions
file. This is created by the extension subsystem for a period of time to
indicate the extensions may be the cause of a gnome-shell failure.

See
  https://gitlab.gnome.org/GNOME/gnome-session/issues/43
for a log of the bug happening and the gnome-session part to fix this.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/858
2019-11-25 21:49:49 +00:00
..
2019-02-05 16:25:57 +01:00

Gnome-shell OSK layouts are extracted from CLDR layout definitions:
https://www.unicode.org/cldr/charts/latest/keyboards/layouts/index.html

Updating these involves several steps:

1) Downloading and unzipping the tarball found at:
   http://www.unicode.org/Public/cldr/latest/keyboards.zip

   This file contains XML files describing the keyboard layouts.

2) Cloning the cldr2json script at:
   git://repo.or.cz/cldr2json.git

   It will be used to convert the XML files into JSON that can be
   directly consumed by gnome-shell.

3) Running the script to produce the files:
   ./cldr2json <input-directory> <output-directory>

   We shall usually use the "android" folder, since that's most
   complete, and similar to our UI and target sizes. And the target
   directory must be data/osk-layouts in this repository.

4) Modify gnome-shell-osk-layouts.gresource.xml to include the files

5) Do git add on the updated/new files, and git commit.


Or alternatively:

1) Run update-osk-layouts.sh

2) Do git add and git commit