mirror of
https://github.com/edu4rdshl/gnome-shell.git
synced 2026-07-17 23:24:51 +00:00
The HTML/CSS sizing prototype that was done back in the day for GNOME 40 has a dynamic spacing depending on the height of the monitor. Let's try to follow that more closely and make the spacing dependent on screen height. For the sizing prototype, see https://gitlab.gnome.org/Teams/Design/os-mockups/-/tree/master/overview/sizing-prototype This also allows removing of a bit of manually added spacing at the top of the dash. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3278> |
||
|---|---|---|
| .. | ||
| 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 | ||
| 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.
- leftOffset (Double): If set, the left offset of
this key, relative to the key immediately to the
left, or the start of the row. If not set, the key
will be implicitly located at the right of the
previous key in the row. Multiples of 0.5 are
accepted.
- width (Double): Relative width of the key in the
row. 1 is for a square key. Multiples of 0.5 are
accepted. The implicit default value is 1.
- height (Double): Relative height of the key in
the grid. The key will overflow downwards. Multiples
of 0.5 are accepted. The implicit default value is 1.
- 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