Sebastian Keller 18cd24e6f4 appDisplay: Fix app folder icon subicon spacing
The code previously was using CSS to define row/column spacing and
padding which was combined with a subicon size computed in code relative
to the requested icon size.

In smaller icon sizes it was possible for the CSS spacing+padding + the
size of the two subicons to exceed the requested icon size. This then
would lead to the label being pushed down for app folders compared to
other icons.

Another more severe issue caused by this would happen if the first item
in an icon grid was an app folder. Then the calculation for the maximum
allowed icon size could be off, leading to all icons in the grid
becoming smaller than actually necessary.

This commit changes this to use homogeneous row and column layouts to
evenly distribute the remaining spacing instead of using a fixed CSS
value.

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3069

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1581>
2021-01-21 21:05:30 +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