![]() This is the key that will be used to store the pages and the icons in each page. The idea is that we we store an a{sv} variant for each page. This variant will contain <icon id> → array of properties, where we can store arbitrary data for each icon. The expected output of this key is: [ { 'polari.desktop': <{ 'position': 0 }>, 'epiphany.deskop': <{ 'position': 1 }>, }, { 'telegram.desktop': <{ 'position': 2 }>, 'builder.desktop': <{ 'position': 0 }>, 'gitg.desktop': <{ 'position': 1 }>, } ] The toplevel array is sorted, and pages of the grid always show in the order they are stored. https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1284 |
||
---|---|---|
.. | ||
cldr2json | ||
dbus-interfaces | ||
icons | ||
osk-layouts | ||
theme | ||
00_org.gnome.shell.gschema.override | ||
50-gnome-shell-system.xml | ||
emoji.json | ||
gnome-shell-dbus-interfaces.gresource.xml | ||
gnome-shell-disable-extensions.service | ||
gnome-shell-osk-layouts.gresource.xml | ||
gnome-shell-overrides-migration.desktop.in | ||
gnome-shell-overrides.convert | ||
gnome-shell-theme.gresource.xml | ||
gnome-shell-wayland.service.in | ||
gnome-shell-wayland.target | ||
gnome-shell-x11.service.in | ||
gnome-shell-x11.target | ||
gnome-shell.portal | ||
meson.build | ||
org.gnome.Shell.desktop.in.in | ||
org.gnome.Shell.Extensions.desktop.in.in | ||
org.gnome.shell.gschema.xml.in | ||
org.gnome.Shell.PortalHelper.desktop.in.in | ||
org.gnome.Shell.PortalHelper.service.in | ||
perf-background.xml.in | ||
README.osk-layouts | ||
update-osk-layouts.sh |
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