1dda339395
Ideally we would replace the sliced-image based animation with a themed `process-working-symbolic` icon and rotate it, so the spinner simply picks up the current foreground color. Unfortunately the `repeat-count` property does not work for rotations, so to fix the broken spinner in the light variant in the meantime, include assets for both variants and swap them out at runtime. Not everything in the light variant is actually light (overview, OSDs, ...), so use a simple heuristic on the text color to decide which asset to use. Close https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6783 Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3080> |
||
---|---|---|
.. | ||
cldr2json | ||
dbus-interfaces | ||
icons | ||
osk-layouts | ||
theme | ||
00_org.gnome.shell.gschema.override | ||
50-gnome-shell-launchers.xml | ||
50-gnome-shell-screenshots.xml | ||
50-gnome-shell-system.xml | ||
emoji.json | ||
gnome-shell-dbus-interfaces.gresource.xml | ||
gnome-shell-icons.gresource.xml | ||
gnome-shell-osk-layouts.gresource.xml | ||
gnome-shell-theme.gresource.xml | ||
gnome-shell.portal | ||
meson.build | ||
org.gnome.Shell-disable-extensions.service | ||
org.gnome.Shell-symbolic.Source.svg | ||
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 | ||
org.gnome.Shell.target | ||
org.gnome.Shell@wayland.service.in | ||
org.gnome.Shell@x11.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 To add new layouts from CLDR: 1) Run update-osk-layouts.sh 2) Modify JSON files to add extra keys, tweak appearance... 2) Do git add and git commit JSON file format ================ Each JSON file describes a keymap for a certain language and layout, it has the following structure: - Root (Object) Root object of a layout, has the following properties: - levels (Array of Level): Levels in the keymap - locale (String): Locale name for this keymap - name (String): Human readable name for this keymap - Level (Object) A level defines the keys available on a keyboard level, these are the key panels visible at a time. E.g. to type uppercase levels or symbols. Levels have the following properties: - level (String): Name of the level, common names are "", "shift", "opt" and "opt+shift". - mode (String): Mode for this level, common modes are "default", "latched" and "locked". - rows (Array of Row): Array of rows of keys. - Row (Array) A row is an Array of Key. - Key (Object) A keyboard key. Keys have the following properties: - iconName (String): Icon name to show on the key. Keys with an icon name do not have a label. - label (String): Label to show on the key. - strings (Array of String): Strings to commit. If label property does not exist, the first element will be also the label. Extra elements are shown in the extra keys popover. - keyval (String): Hexadecimal keyval to emit as emulated key presses. Committed strings are preferred. - width (Double): Relative width of the key in the row. 1 is for a square key. Multiples of 0.5 are accepted. - level (Integer): Level that the key switches to. See the levelSwitch action. - action (string): Action performed by the key, accepted actions are: - hide: Hides the OSK - languageMenu: Pops up the language selection menu - emoji: Switches to the emoji selection panel - modifier: Handles the keyval as a modifier key. This handles e.g. Ctrl+A as a sequence of Ctrl press, A press, A release, Ctrl release. - delete: Deletes text backwards - levelSwitch: Switches OSK to a different level