[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

?????? [PATCH] Add IME status change support on windows natively

From: Albert
Subject: ?????? [PATCH] Add IME status change support on windows natively
Date: Mon, 13 Apr 2020 18:02:17 +0800

Hi, Eli,

I modified the code processing WM_EMACS_IME_STATUS,  no need to get status of IME, just change IME status by the argument. If the user want to get status of IME to control IME status, he can write some lisp to do it.

and I modifed w32-get-ime-open-status(), get hwnd from FRAME_W32_WINDOW (SELECTED_FRAME ()).

------------------ ???????? ------------------
??????: "Eli Zaretskii"<address@hidden>;
????????: 2020??4??13??(??????) ????5:33
??????: "Albert"<address@hidden>;
????: "emacs-devel"<address@hidden>;
????: Re: [PATCH] Add IME status change support on windows natively

> From: "Albert" <address@hidden>
> Cc: "emacs-devel" <address@hidden>
> Date: Mon, 13 Apr 2020 17:22:35 +0800
> I modifed the code following your instruction.  I added some more comments on functions. Test is done, IME
> status changes as expected.
> I used GetFocus() in w32_msg_pump() now.


> But I can't invoke GetFocus() in w32-get-ime-open-status(), because w32-get-ime-open-status() is invoked
> in lisp thread. I just use w32_system_caret_hwnd instead, if get_ime_context_fn(w32-get-ime-open-status)
> returns NULL, w32-get-ime-open-status() return nil.

Do we actually need w32-get-ime-open-status?  Maybe we should simply
delete that function?  When will it be useful?

If we do need to use it, does it work to use this to find a suitable
window handle:

  HWND current_window = FRAME_W32_WINDOW (SELECTED_FRAME ());

> Attachement is the modifed patch.


Attachment: w32fns.c.patch
Description: Binary data

reply via email to

[Prev in Thread] Current Thread [Next in Thread]