Summary of changes
- Allow to use per language completers. If set this is used instead
of the default completer. Can be used to e.g. complete different
Indic scripts with govarnam while using hunspell for English.
- Better handle emojies and characters from popovers under XWayland
- Be more robust when picking invalid keysyms for the shortcuts bar
- Issues fixed:
https://gitlab.gnome.org/guidog/phosh-osk-stub/-/issues/16
https://gitlab.gnome.org/guidog/phosh-osk-stub/-/issues/22
https://gitlab.gnome.org/guidog/phosh-osk-stub/-/issues/24
- Contributors:
- Guido Günther
- Guido Günther
Detailed changes
phosh-osk-stub (0.33.0) experimental; urgency=medium
.
* vk-driver: Make the two loops more alike. No need to use different loop
variables
* vk-driver: Make pos_vk_driver_set_overlay_keymap match regular keymap code.
Use the same pattern in the loop.
* vk-driver: Don't leak layout-id
* input-surface: Restore keymap with slight delay.
When closing the popup apply a slight delay before restoring the keymap
as otherwise the symbol sent to the popup might get applied to the new
keymap set (rather than the one set for the popup).
The virtual-keyboard requests are sent from pos in the right ordering
and the compositor gets them correctly too so it fails within the X11
bits.
Closes: https://gitlab.gnome.org/guidog/phosh-osk-stub/-/issues/22
* input-surface: Handle emojis when no input method is in use.
As this doesn't happen often we just built a keymap for that one symbol.
This works for e.g. chromium under XWayland but fails for e.g. chromium
in Wayland mode as it cuts of the topmost byte.
* input-surface: Handle tone modifiers and combining characters.
This allows tone modifiers in the emoji popover to work. As with
the previous commit this works in e.g. chromium's search bar when
running using XWayland.
* vk-driver: Don't crash when gdk keysm conversion fails
gdk_wayland_keymap_get_entries_for_keyval is supposed to return FALSE
when conversion fails but currently doesn't. See
https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/6492
so check n_keys as well.
Closes: https://gitlab.gnome.org/guidog/phosh-osk-stub/-/issues/24
* shortcuts-bar: Allow for more keys as shortcuts.
GTK needs to be pretty strict regarding accelerators but we can allow
for more keys like arrow keys.
* input-surface: Indicate that we handle xkb layouts
* completer-manager: Keep a hash table of inited completers.
And allow to get them
* completers/presage: Drop unused variable
* completers/varnam: Use member variable
* completers/varnam: Don't leak completions
* input-surface: Move layout init to constructed.
We'll init completers there soon and those aren't yet available
in init().
* completer: Allow empty region
* completer: Allow to get a display name.
The display name can be supplied by the completion engine
* completion-manager: Add completer info.
The completion info can be used by other parts of the stack to fetch a
completer with a given configuration.
* input-surface: Build layout name in one place.
We allow to prepend the engine name which we'll need for completion
engines. We also avoid guessing information from the name, use the
primary values instead.
* input-surface: Don't skip non xkb layouts.
Instead use the information to init a completer that is attached to that
layout.
* completers/varnam: Allow to set language and get display name
* language popover: Use display name in menu
* input-surface: Check for errors loading the terminal layout
* input-surface: Enable completion when the layout requires it.
Layouts like the varnam driven Malayalam need a completion engine
so we need to have it on when the widget is used.
Closes: https://gitlab.gnome.org/guidog/phosh-osk-stub/-/issues/16
* input-surface: Don't ignore errors when setting completion fallback
* docs: Explain govarnam setting
Required versions of other projects
- gtk3 >= 3.24.35 (Otherwise surrounding text and preedit will be off)
Patches that are merged upstream but not yet in a released version:
- presage: Character class improvements. Otherwise word predictions will include odd characters
Recommended versions of related projects
- phosh-osk-data >= 0.24.0 (for word completions other than English)