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

ivy minibuffer doesn't display Korean characters #120

Closed
daehwannam opened this issue Jan 17, 2022 · 9 comments
Closed

ivy minibuffer doesn't display Korean characters #120

daehwannam opened this issue Jan 17, 2022 · 9 comments

Comments

@daehwannam
Copy link

daehwannam commented Jan 17, 2022

When I type Korean characters in ivy minibuffer, the buffer doesn't display the characters until a non-Korean character is inserted or toggle-input-method is called.

For example,

  • My config includes (setq default-input-method 'korean-hangul).
  • I call swiper and toggle-input-method by C-\ then type "한국" in the minibuffer, but it doesn't display the word:
    ivy-posframe-typing1
  • Once I insert a space character (or call toggle-input-method by C-\) then the word is displayed:
    ivy-posframe-typing2

This problem also occurs in other ivy/counsel functions such as ivy-switch-buffer or counsel-find-file.
In contrast, typing Korean characters is well displayed with the default ivy minibuffer by ivy-display-function-fallback.

Thanks.

@tumashu
Copy link
Owner

tumashu commented Jan 17, 2022 via email

@daehwannam
Copy link
Author

I'm sorry to hear that. I hope to find a solution in the future.

@tumashu
Copy link
Owner

tumashu commented Jan 17, 2022

the problem is posframe use different buffer to show candidate, while im's candidate is in minibuffer

@daehwannam
Copy link
Author

daehwannam commented Jan 17, 2022

Thanks for the tip. Now, I see what you means.
I could check that emacs's minibuffer and ivy-minibuffer are not synchronized when typing Korean characters, after evaluating the following code:
(setq ivy-posframe-hide-minibuffer nil)

Currently, enabling minibuffer would be an alternative solution for me. Thanks.

@tumashu
Copy link
Owner

tumashu commented Jan 17, 2022 via email

@daehwannam
Copy link
Author

daehwannam commented Jan 17, 2022

I've just tried vertico-posframe by following its README.org, but unfortunately it doesn't make any difference with vanilla ivy.

Also, I'm thinking that ivy has a fundamental problem with Korean (or CJK) characters because emacs doesn't recognize typing the chracters as self-insert-command. Therefore, ivy cannot update candidates while typing Korean characters, although ivy's default minibuffer displays the characters.

@tumashu
Copy link
Owner

tumashu commented Jan 18, 2022

vertico-posframe need vertico, not need ivy :-)

@daehwannam
Copy link
Author

Oh, I didn't know about vertico. I need to check whether vertico meets my needs ;)

@daehwannam
Copy link
Author

daehwannam commented Sep 2, 2024

I've recently found a solution for the issue of ivy and the input method for Korean:
abo-abo/swiper#3057

When the problem of ivy is fixed, ivy posframe also works well .

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

No branches or pull requests

2 participants