Repository navigation
Show the candidate page number (PgUp 1/17 PgDn) in the candidate window - #927
Open
DaveTseng2019 wants to merge 4 commits into
Open
DaveTseng2019 wants to merge 4 commits into
DaveTseng2019 wants to merge 4 commits into
Conversation
Member
|
Hi @DaveTseng2019, thank you for your contribution! Currently, I am focused on resolving several critical stability and IPC issues in the core framework. Because of this, pull requests introducing new features are temporarily on hold and will be reviewed once the stability fixes are complete. Thank you for your patience and understanding! 感謝你的貢獻與 PR! 目前我正專注於修復核心架構與各項穩定性問題(Bug fixes),因此新功能的 PR 會在穩定性問題解決告一段落後再陸續進行審核,感謝你的耐心與體諒! |
The next commit passes the candidate page from the backend to the window, which needs this API. - Move the libIME2 submodule to the commit that adds CandidateWindow::setPageInfo(). Architecture and design by Dave Tseng. Implementation generated with AI assistance from Claude Code (Claude Opus 5.5). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Backends page their candidates, but the window only gets the current page, so users cannot see that more candidates exist. - Read optional "candidatePage" (1-based) and "candidatePageCount" that come with "candidateList", and hand them to the candidate window through TextService::setCandidatePage(). - A list without them resets the page to 0/0, so backends that do not send it keep today's window, and an old page number never sticks. Architecture and design by Dave Tseng. Implementation generated with AI assistance from Claude Code (Claude Opus 5.5). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Lets a Python input method tell the candidate window which page it shows and how many pages there are. - setCandidateList(cand, page=0, pageCount=0). When pageCount > 1 the reply also carries "candidatePage" and "candidatePageCount". - Existing callers are unchanged and send no page. Architecture and design by Dave Tseng. Implementation generated with AI assistance from Claude Code (Claude Opus 5.5). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
With 9 candidates per page, 幣 (ㄅㄧˋ) is on page 2 of 17, but the window gave no hint that more pages exist, so it looked missing. - Pass libchewing's cand_CurrentPage() + 1 and cand_TotalPage() with the candidate list. Architecture and design by Dave Tseng. Implementation generated with AI assistance from Claude Code (Claude Opus 5.5). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
DaveTseng2019
force-pushed
the
feat/candidate-page-indicator
branch
from
October 30, 2026 05:18
2c76cce to
25ea8e8
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The candidate window only shows the current page and gives no hint that more pages exist. In 新酷音 with 9 candidates per page, 幣 (ㄅㄧˋ) is on page 2 of 17, so it looks like it cannot be typed. With this PR the window shows
PgUp 1/17 PgDnin grey at the bottom right when there is more than one page.Depends on EasyIME/libIME2#6. Merge that first; until then the submodule commit is only in the fork
DaveTseng2019/libIME2. The submodule points to libIME2#6 on top of78e6104, the libIME2 commit master uses today, so this PR does not pull in other libIME2 changes.CandidateWindow::setPageInfo().candidatePage(1-based) andcandidatePageCountthat come withcandidateList, and pass them to the window. A list without them resets the page to 0/0, so other backends keep today's window and an old page number never sticks.setCandidateList(cand, page=0, pageCount=0); whenpageCount > 1the reply carries the two fields. Existing callers are unchanged.cand_CurrentPage() + 1andcand_TotalPage()with the list.Rebased on current master to resolve the libIME2 submodule conflict; the code changes are the same as before.
Testing: built x86/x64
PIMETextService.dlland the installer, installed on Windows 11 x64, and checked with 新酷音 that ㄅㄧˋ then ↓ shows1/17, PageDown shows2/17with 幣 on it, and a one-page list shows no page line. No unit test: the TSF window and the IPC fields have no test harness yet.Architecture and design by Dave Tseng. Implementation generated with AI assistance from Claude Code (Claude Opus 5.5).
🤖 Generated with Claude Code