Commit Graph
25 Commits
Author SHA1 Message Date
fanlusky a8c10a63a6 feat(settings): add a restart-server button under the UI backend setting
界面渲染 only takes effect at Server startup, so the setting already told the
user to restart the IME process but offered no way to do it outside the
Ctrl+Shift+Alt+R developer shortcut. Add a 重启 button in the same section.

Settings runs in its own process, so the request travels the Aux pipe — the
supported cross-integrity control path the config notifications already use —
and the Server exits with the Watchdog restart code. The shortcut and the
button now share RestartServerProcess().
2026-09-12 16:41:13 +08:00
Evan 42238a2af6 style: 用 .clang-format 重排 server / windows / ui / log
一次性重排,无任何行为改动。四个目录各自的 .clang-format 放在仓库里已久,但全组织只有
MSIME-Linux 在 CI 里执行 clang-format 检查,这边 149 个文件里有 149 个不符合自己声明的风格。

已逐文件核对语义等价:去掉空白、注释与相邻字符串字面量拆分之后,全部 149 个文件与重排前逐字节
相同。差异只有三类——缩进与换行、clang-format 补的 } // namespace 结尾注释、以及长字符串被拆成
相邻字面量(C++ 保证自动拼接)。

这个提交会写进 .git-blame-ignore-revs。
2026-09-06 12:13:47 +09:00
fanlusky 1cf7846382 There should also be a corresponding status indicator when the keyboard Caps Lock is turned on. 2026-08-21 23:09:03 +08:00
fanlusky ef8cad988c Try to locate tray-menu not render issue once installed. 2026-08-01 14:52:08 +08:00
fanlusky f0b9932c3e Continue trying to stabilize the WebView2 loading process during server initialization. 2026-07-31 19:51:56 +08:00
fanlusky 8caf0eb399 fix(ftb): stop the floating toolbar from rendering blank
The toolbar occasionally stayed invisible while its host window looked
perfectly healthy: the HWND was shown at the right position and size, so
screenshot tools could still frame it, but WebView2 never painted into
it. Two independent causes, both specific to the toolbar.

The toolbar was the only small window left out of the cloaked warmup, so
whenever no client was active at startup its controller was created
against a hidden host and WebView2 never finished raster setup. The later
ShowWindow could not repair that.

The toolbar was also the only small window not renotified after
HWND_TOPMOST was applied. Pinning moves the host between z-bands, and in
a uiAccess process a WebView2 that is not told about it keeps compositing
against the old parent state. The toolbar reports navigation-ready last,
so the topmost gate normally opened inside its own navigation-completed
handler, before it had painted a single frame.

Changes:
- Warm up the toolbar host DWM-cloaked like the candidate and menu hosts,
  and express hide as a cloak until the first navigation completes so the
  warmup cannot be cut short. HideFloatingToolbarHost replaces the raw
  ShowWindow(SW_HIDE), including in the fullscreen hook.
- Give the toolbar the same post-topmost put_Bounds +
  NotifyParentWindowPositionChanged the menu host already had.
- Defer the first topmost application to a later message-loop turn via
  WM_APPLY_SMALL_WINDOW_TOPMOST, and route EnsureSmallWindowsTopmost
  through the same path so it can no longer pin inline.
- Add an opt-out diagnostic trace (ftb-diagnostic.log, disabled with
  MSIME_FTB_DIAG=0) recording every visibility decision together with the
  host and controller state, plus the foreground window behind a
  fullscreen hide.

Also drops the earlier attempt at deriving g_is_ime_active from the IPC
active client, which targeted a different failure mode than the one
actually reproduced.
2026-07-31 14:39:13 +08:00
fanlusky e2af2c49d2 chore(logging): remove server debug logging
- remove OutputDebugString calls across the server
- remove spdlog calls and file logger initialization
- disable IPC and WebView debug output
- remove temporary database performance instrumentation
- update the MetasequoiaImeEngine submodule revision
2026-07-27 15:13:51 +08:00
fanlusky 0dbe4c2c86 Add voice commit modes, InsertText IPC, and Ctrl+Shift+Alt hotkey fix.
Support tsf/sendinput/ctrl_v voice commit, route TSF inserts via worker
InsertText, handle WM_SYSKEYDOWN for Ctrl+Shift+Alt+digit candidate delete,
and skip watchdog when the IME profile is disabled.
2026-07-25 21:30:44 +08:00
fanlusky 6385c73e7a Add a watchdog program to keep the server alive. 2026-07-20 17:02:47 +08:00
fanlusky 4765d72156 Integrate the handwriting recognition board into the server. 2026-07-20 01:57:31 +08:00
fanlusky 54acf0dfa0 Change the shortcut for opening the on-screen keyboard to Ctrl+Shift+Win+K. 2026-07-19 14:51:49 +08:00
fanlusky c7a06b4150 Add support for the on-screen soft keyboard. 2026-07-17 23:22:17 +08:00
fanlusky 408fa1fd90 When Ctrl+Shift+Alt+T exits the server, also exit the settings program. 2026-07-17 21:42:36 +08:00
fanlusky 300b9586df Implement bidirectional hot synchronization for the floating toolbar as well, and actually add the feature. 2026-07-10 16:50:08 +08:00
fanlusky a203d733f1 add shortcut for clearing cache 2026-05-07 11:16:13 +08:00
fanlumaster a66c1f1561 Wrap log with macros. 2026-03-14 00:21:34 +08:00
fanlumaster 6a815c069b remove log new lines 2026-03-12 02:23:26 +08:00
fanlumaster 9bfa8160e1 log format 2026-03-12 01:34:41 +08:00
fanlumaster cbb013a0cb [feat]: Response mouse click to delete a candidate item 2026-01-28 20:40:59 +08:00
fanlumaster c26534ca87 [ftb]: do not hide ftb wnd when show a window from taskbar preview 2026-01-15 14:02:23 +08:00
fanlumaster 69efed6068 [ftb]: Hide ftb when fullscreen detected 2026-01-03 14:01:09 +08:00
fanlumaster 6ec3aa7ebc chore: add hotkeys to restart/terninate process 2025-11-15 09:42:18 +08:00
fanlumaster 1441fbc387 [refactor]: tidy some codes 2025-10-31 16:07:26 +08:00
fanlumaster 0e0dd16ccb [feat]: initial version of tray icon pop up menu window 2025-10-31 07:21:06 +08:00
fanlumaster 2f41e73e37 [feat]: Add delete word feature 2025-10-29 15:58:51 +08:00