Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

apprt/gtk: when text is committed, end the preedit state #5324

Merged
merged 1 commit into from
Jan 23, 2025

Conversation

mitchellh
Copy link
Contributor

Fixes #3567

ibus 1.5.29 doesn't trigger a preedit end state when text is committed. This is fixed in ibus 1.5.30, but we need to handle this case for older versions which are shipped on LTS distributions such as Ubuntu.

Every other input method engine I've tried thus far also triggers a preedit end state when text is committed, and none would expect preedit to continue after text is committed. So I think it's safe to assume that this is the expected behavior.

Fixes #3567

ibus 1.5.29 doesn't trigger a preedit end state when text is committed.
This is fixed in ibus 1.5.30, but we need to handle this case for older
versions which are shipped on LTS distributions such as Ubuntu.

Every other input method engine I've tried thus far also triggers a
preedit end state when text is committed, and none would expect preedit
to continue after text is committed. So I think it's safe to assume that
this is the expected behavior.
@mitchellh mitchellh enabled auto-merge January 23, 2025 19:48
@mitchellh mitchellh merged commit cd57612 into main Jan 23, 2025
60 checks passed
@mitchellh mitchellh deleted the push-vnzvyykoxnzm branch January 23, 2025 20:01
@github-actions github-actions bot added this to the 1.1.0 milestone Jan 23, 2025
@tomaspinho
Copy link

tomaspinho commented Jan 31, 2025

Hey @mitchellh , thanks a lot for Ghostty. ❤️

1.1.0 breaks dead keys on ibus 1.5.31 in Hyprland (non-GNOME). The initial modifier character shows but the final character eats up input. Example:

`  + a = both are eaten up
´ + e = both are eaten up
¨ + space = both are eaten up

and so on...

I had to downgrade to 1.0.1. I'm running on Arch with the following:

Ghostty 1.0.1-arch

Version
  - version: 1.0.1-arch
  - channel: tip
Build Config
  - Zig version: 0.13.0
  - build mode : builtin.OptimizeMode.ReleaseFast
  - app runtime: apprt.Runtime.gtk
  - font engine: font.main.Backend.fontconfig_freetype
  - renderer   : renderer.OpenGL
  - libxev     : main.Backend.io_uring
  - GTK version:
    build      : 4.16.12
    runtime    : 4.16.12
  - libadwaita : enabled
    build      : 1.6.3
    runtime    : 1.6.4
  - libX11     : enabled

ibus versions:

pacman -Q | grep ibus
ibus 1.5.31-2
libibus 1.5.31-2

Other GTK4/Adwaita apps are working fine, so are browsers, etc. I'm running on Hyprland, but I assume this happens in other places too. I'll try GNOME and report back. EDIT: 1.1.0 works in GNOME, but not Hyprland.

So, I kept digging. The difference between GNOME and Hyprland on the same system is that Hyprland doesn't start ibus, so the changes between 1.0.3 and 1.1.0 are dependent on ibus being running. Digging further...

@tomaspinho
Copy link

So now I'm convinced the culprit of this is actually eb21a58

Some assumptions are made there regarding indirect interactions with something that is not running - ibus.

@4lm1r
Copy link

4lm1r commented Feb 7, 2025

In my case, under Archlinux, I realized that pressing ALT GR before worked for me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

GTK: Spanish dead key input breaks input buffer
3 participants