On Wed May 10 14:35:28 2023 +0000, Byeongsik Jeon wrote:
> I tested a simple test program with spy++. IMN_SETOPENSTATUS is caught
> in the default ime window and ime ui wndow, not in the application window.
> What is unusual is that the value of lparam is not zero, but has a
> different value each time it occurs. Also, in my tests, wparam ==
> IMN_SETOPENSTATUS | IMN_CHANGECANDIATE.
> My guess is that it's not caused by ImmSetOpenStatus, but somewhere else.
Sorry about that. I analysed the test results incorrectly.
While testing ImmNotifyIME: CPS_COMPLETE, I was not able to see IMN_SETOPENSTATUS in the application windproc, so I also looked at the default ime window and ime ui window. I made the silly mistake of analysing WM_IME_NOTIFY:wparam=0x11 as IMN_SETOPENSTATUS | IMN_CHANGECANDIATE.
It looks like ImmSetOpenStatus is not called on CPS_COMPLETE, CPS_CANCEL. I would be grateful if you could confirm.
I tested it on Japanese and Korean MS IME.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2769#note_32522
--
v2: gdi32/tests: Use win_skip() for missing APIs.
iphlpapi/tests: Use win_skip() for missing APIs.
sti/tests: Use win_skip() for missing APIs.
user32/tests: Use win_skip() for missing APIs.
ntdll/tests: Use win_skip() for missing APIs.
wtsapi32/tests: Use win_skip() for missing APIs.
msvcrt/tests: Use win_skip() for missing APIs.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2785
This fixes the behavior in notepad, with Japanese ibus-mozc IME, when typing "NIHONGO-SPACE-NO", or with Korean ibus-hangul when typing "GA-NA-DA". The latter still has an issue with the last character not appearing in the a composition but I believe it is unrelated to comctl32 and will be fixed by some future imm32 changes.
--
v4: user32/edit: Delegate composition string rendering to the IME UI.
user32/edit: Notify IME on position, format_rect and font changes.
comctl32/edit: Delegate composition string rendering to the IME UI.
comctl32/edit: Notify IME on caret position, format_rect and font changes.
imm32: Use DrawTextW to wrap IME composition string.
imm32: Update the IME composition window position after drawing.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2743
I was writing a component for the media player foobar2000 to add MPRIS support and wanted to communicate with a small Linux daemon which would make the actual D-Bus calls. I figured Unix sockets would be a good way to do that, but Wine didn't support them.
I don't know of any applications that use Unix sockets on Windows; I'd guess the lack of popularity is due to both how recently support was added and the fact that named pipes already existed. Discord on Windows, for instance, uses named pipes for its IPC instead of Unix sockets (as on Linux and macOS).
One of the examples provided by Microsoft's documentation was communication between WSL2 and native Windows programs.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2786#note_32491