3fe45e29e4
As the style has grown bigger and more complex, generating the different variants from a common source has been a good decision. However given how intertwined the theme is with gnome-shell itself, relying on a submodule has proven to be quite painful. And as things stand right now, it is going to get worse: - using either pre-generated CSS or generating it at build time is odd, and violates meson's strict separation between source- and build directories; we are therefore considering dropping the CSS and depending on sassc to always generate it at build time - with the migration to gitlab, our workflow shifts decisively towards branches; however there is no support in either git or gitlab for handling two brances of separate repositories consecutively, which gets particularly awkward for branches in a private namespace With those pain points in mind, we will adjust our setup as follows: - remove the submodule from gnome-shell and instead import the sass as subtree - after that, the sass sources can be changed like any other files in the repository, and regular contributors can forget that there was ever anything special about them - whenever we want to update the classic style, we can push the subtree changes and bump gnome-shell-extension's sass submodule In other words: Updating the classic styling will become slightly more painful, but not much and only for me; in return, everyone else can stop fiddling with submodules (and buy me a beer). |
||
---|---|---|
.. | ||
osk-layouts | ||
theme | ||
50-gnome-shell-system.xml | ||
gnome-shell-extension-prefs.desktop.in.in | ||
gnome-shell-osk-layouts.gresource.xml | ||
gnome-shell-overrides.convert | ||
gnome-shell-theme.gresource.xml | ||
gnome-shell.portal | ||
meson.build | ||
org.gnome.Shell.desktop.in.in | ||
org.gnome.shell.gschema.xml.in | ||
org.gnome.Shell.PadOsd.xml | ||
org.gnome.Shell.PortalHelper.desktop.in.in | ||
org.gnome.Shell.PortalHelper.service.in | ||
org.gnome.Shell.Screencast.xml | ||
org.gnome.Shell.Screenshot.xml | ||
org.gnome.ShellSearchProvider2.xml | ||
org.gnome.ShellSearchProvider.xml | ||
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