rime / rime/squirrel

希望支援多行網格候選與行內數字選詞(grid candidate navigation)

Open
#1,173 0 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Swift
Stars
6.4k
Forks
554
PR merge metrics
No merged PRs in 30d

Description

各位維護者您好,感謝一直維護鼠鬚管。這套輸入法真的很好用,尤其是 YAML 設定能力非常強,日常使用起來很順手。

想誠懇請教一下,鼠鬚管未來是否有可能支援一種「多行網格候選」的候選窗模式?

目前情況

目前鼠鬚管主要支援:

style/candidate_list_layout: linear
style/candidate_list_layout: stacked
linear 是橫向單列候選,stacked 是直向列表候選。這兩種都很清楚,但在候選很多的時候,橫向單列需要不斷按 = / - 翻頁,一次只能看一小段,找字詞的效率會比較低。
想請求的功能
希望能新增一種可選的候選導覽模式,例如:
style/candidate_list_layout: grid
style/candidate_grid_columns: 10
style/candidate_grid_rows: 5
大致互動可以是:
- 候選窗以多行網格顯示,例如 5 行 x 10 列
- = 向下切換到下一行候選
- - 向上切換到上一行候選
- 數字鍵選擇目前所在行的候選項
- 方向鍵可以上下左右移動目前選取的候選項
- Space 或 Enter 確認目前選取的候選項
- 現有的 linear / stacked 行為保持不變
也就是說,數字鍵仍然只需要對應目前這一行,不必一次對應 50 個候選。這樣鍵盤操作會比較自然,也比較符合目前用數字鍵選字詞的習慣。
使用情境
中文輸入時,特別是在輸入碼較短、使用大詞庫,或是有很多同音候選的情況下,常常需要翻好幾頁找字詞。
如果候選可以像網格一樣展開,使用者就能一次看見更多候選,並且用 = / - 按行切換,再用數字鍵選目前這一行的候選項。這樣應該會比一頁一頁橫向翻找更有效率。
相容性
這個功能可以完全做成可選設定,例如只有設定:
style/candidate_list_layout: grid
時才啟用。現有使用者的 linear 和 stacked 設定都不受影響。
我理解這可能不只是 YAML 設定,可能還需要修改候選窗 UI、候選反白、滑鼠點選判定、方向鍵處理等邏輯。只是作為日常使用者,真的很希望能有這樣一個更適合大量候選瀏覽的模式。
謝謝各位維護者,也再次感謝鼠鬚管這麼多年來的維護。

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the existing candidate window behavior for the linear and stacked layouts, including candidate highlighting, mouse selection, and keyboard handling. Then determine how the proposed grid settings, row navigation, number-key selection, and directional movement should fit while preserving existing layouts; done means the grid is configurable and the full interaction works consistently.

Written by the indexing model from the issue text.

Assessment

Tech stack
swift
Domain
desktop
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.