erning/agent-skills

macos-input-method

- Create, modify, install, or debug macOS input methods built with InputMethodKit.

查看源码
仓库原始内容

按源仓库内容呈现,保留标题、案例、代码、表格、链接以及原文引用的演示图片。

macOS input methods

InputMethodKit input methods are macOS application bundles whose processes are launched by the system. Preserve the target project's build tools and layout.

Choose the relevant guidance

  • Create an application or change bundle metadata and the server entry point:

references/project.md.

  • Install or update a built input source:

references/installation.md.

  • Diagnose discovery, connection, controller, or event-handling failures:

references/troubleshooting.md.

  • Implement marked text, candidates, menus, lifecycle hooks, or registration:

search the relevant section of references/imkit-api.md.

Read only what the task needs. A candidate-window change normally does not need project scaffolding or installation instructions.

Shared invariants

  • Use an application bundle with an identifier containing .inputmethod. and

LSBackgroundOnly set to true.

  • Match InputMethodConnectionName to the name passed to IMKServer and keep

the server alive for the process lifetime.

  • Match InputMethodServerControllerClass to the controller's Objective-C

runtime name, commonly supplied by @objc(...) in Swift.

  • Disable App Sandbox for the default local-development setup. When diagnosing

connection failures, inspect sandbox settings as well as the name and lifetime.

  • Return true for handled input and false for passthrough. Choose an event

handling entry point appropriate to the feature; multiple overrides can interact.

  • Reference an icon only if its asset is included in the built bundle.

Complete the requested implementation and relevant checks. Installing an input source, selecting it, and logging the user out are separate side effects; carry out only those authorized by the task. State whether validation used a macOS build, an installed input source, or only source inspection.

来自同一仓库

更多 Skills

全部 Skills