Skip to content

Conversation

@mahkoh
Copy link
Owner

@mahkoh mahkoh commented Oct 16, 2025

Since GTK no longer uses XCompose, this restores the previous functionality.

In addition to XCompose, users can also input unicode by invoking the enable-unicode-input action.

@mahkoh mahkoh requested a review from Copilot October 16, 2025 14:20
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Adds a simple, XCompose-based input method (Simple IM) with optional Unicode input, integrates it into the text input pipeline, and exposes configuration and control via protocol, config, IPC, and CLI.

  • Introduces Simple IM implementation and an abstraction layer (InputMethod, InputMethodKeyboardGrab) to support both external IM and Simple IM.
  • Adds configuration support ([simple-im] table with enabled boolean), actions (enable/disable/toggle/reload, enable-unicode-input), and bumps jay_compositor protocol to v22 with new requests.
  • Updates CLI and IPC to control Simple IM and adjusts event handling/render paths for new IM abstraction.

Reviewed Changes

Copilot reviewed 29 out of 29 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
wire/jay_input.txt Adds set_simple_im_enabled and reload_simple_im requests (since v22) to control Simple IM.
toml-spec/spec/spec.yaml Documents new actions and the [simple-im] configuration table.
toml-spec/spec/spec.generated.md Generated docs reflecting new actions and [simple-im] config.
toml-spec/spec/spec.generated.json Schema updated with SimpleIm type and new SimpleActionName values.
toml-config/src/lib.rs Wires new SimpleCommand variants to seat methods; applies [simple-im].enabled at load.
toml-config/src/config/parsers/simple_im.rs Adds parser for the [simple-im] table.
toml-config/src/config/parsers/config.rs Hooks [simple-im] into top-level Config parsing.
toml-config/src/config/parsers/action.rs Supports new simple-IM-related actions.
toml-config/src/config/parsers.rs Registers simple_im parser module.
toml-config/src/config.rs Adds SimpleIm struct and SimpleCommand variants; Config gains simple_im field.
src/tools/tool_client.rs Negotiates JayCompositor version up to 22.
src/ifs/wl_surface.rs Iterates IM popups via new trait API.
src/ifs/wl_seat/text_input/zwp_text_input_v3.rs Switches to trait-based InputMethod interface.
src/ifs/wl_seat/text_input/zwp_input_method_v2.rs Implements InputMethod for external IM; updates cleanup logic.
src/ifs/wl_seat/text_input/zwp_input_method_manager_v2.rs Uses seat APIs to set IM respecting Simple IM precedence.
src/ifs/wl_seat/text_input/zwp_input_method_keyboard_grab_v2.rs Adapts keyboard grab to new trait; controls event forwarding.
src/ifs/wl_seat/text_input/simple_im.rs Implements Simple IM with XCompose and Unicode input handling.
src/ifs/wl_seat/text_input.rs Introduces InputMethod traits and Simple IM lifecycle; connection logic.
src/ifs/wl_seat/event_handling.rs Routes key/modifier events through IM grab and conditionally forwards to node.
src/ifs/wl_seat.rs Stores dyn InputMethod, initializes Simple IM by default; toggling/reload logic.
src/ifs/jay_input.rs Handles new Simple IM control requests.
src/ifs/jay_compositor.rs Bumps compositor protocol version to 22.
src/gfx_api.rs Uses new popups() accessor for IM popups during rendering/hit-testing.
src/config/handler.rs IPC handlers for enable/disable, query, reload, and enable-unicode-input.
src/cli/input.rs Adds seat simple-im CLI (enable/disable/reload).
jay-config/src/input.rs Public API to control/query Simple IM and enable Unicode input.
jay-config/src/_private/ipc.rs Extends IPC messages and responses for Simple IM control.
jay-config/src/_private/client.rs Client-side IPC helpers for Simple IM.
Cargo.toml Enables kbvm compose feature required by Simple IM.

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@mahkoh mahkoh requested a review from Copilot October 16, 2025 14:28
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 29 out of 29 changed files in this pull request and generated 3 comments.


Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@mahkoh mahkoh requested a review from Copilot October 16, 2025 14:38
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 29 out of 29 changed files in this pull request and generated 3 comments.


Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@mahkoh mahkoh merged commit 091918d into master Oct 16, 2025
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants