Skip to content

Add a overlay message field for UI to standardize the input panel base notification - #1619

Merged
wengxt merged 2 commits into
masterfrom
overlay
Jul 31, 2026
Merged

Add a overlay message field for UI to standardize the input panel base notification#1619
wengxt merged 2 commits into
masterfrom
overlay

Conversation

@wengxt

@wengxt wengxt commented Jul 30, 2026

Copy link
Copy Markdown
Member

Summary by CodeRabbit

  • New Features

    • Added support for displaying temporary overlay messages in the input panel.
    • Input-method information can now appear as a dedicated overlay message.
  • Bug Fixes

    • Improved presentation of preedit text, auxiliary messages, and candidate lists when overlays are shown.
    • Ensured overlay messages are cleared correctly after input-method information is dismissed.
    • Improved consistency across classic, D-Bus, and Kimpanel interfaces.

@coderabbitai

coderabbitai Bot commented Jul 30, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: b8d35ee4-4e1f-487e-8012-34fe3d526c54

📥 Commits

Reviewing files that changed from the base of the PR and between 006ba1d and 4db08ce.

📒 Files selected for processing (1)
  • src/lib/fcitx/inputpanel.h
🚧 Files skipped from review as they are similar to previous changes (1)
  • src/lib/fcitx/inputpanel.h

📝 Walkthrough

Walkthrough

The change adds overlay-message state to InputPanel, uses it for input-method information, renders it through DBus, classic, and Kimpanel clients, and relocates startup logging from the server entry point into Instance construction.

Changes

Input panel overlay messages

Layer / File(s) Summary
Overlay state and input-method information
src/lib/fcitx/inputpanel.h, src/lib/fcitx/inputpanel.cpp, src/lib/fcitx/instance.cpp
InputPanel stores, exposes, updates, and resets overlay text; input-method information now uses and clears the overlay message.
Overlay rendering in UI clients
src/frontend/dbusfrontend/dbusfrontend.cpp, src/ui/classic/inputwindow.cpp, src/ui/kimpanel/kimpanel.cpp
DBus, classic, and Kimpanel UI paths select overlay text when regular input-panel content is absent.

Startup logging

Layer / File(s) Summary
Instance startup logging
src/lib/fcitx/instance.cpp, src/server/main.cpp
Startup and Flatpak logging move into Instance construction, and the prior server-level Flatpak log is removed.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Sequence Diagram(s)

sequenceDiagram
  participant InputState
  participant InputPanel
  participant UIClients
  InputState->>InputPanel: setOverlayMessage(input-method text)
  InputState->>UIClients: update UI
  InputPanel->>UIClients: provide overlay when panel is empty
  UIClients->>UIClients: render auxiliary overlay text
  InputState->>InputPanel: clear matching overlay message
  InputState->>UIClients: update UI
Loading
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: adding an overlay message field to standardize input panel notifications.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch overlay

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/frontend/dbusfrontend/dbusfrontend.cpp`:
- Around line 229-240: Route overlay messages through Instance::outputFilter
before assigning auxUp in dbusfrontend.cpp, inputwindow.cpp, and kimpanel.cpp at
the specified ranges, using each site’s existing input context or frontend
context argument. Preserve the current overlay handling while ensuring all three
renderers apply output filtering.

In `@src/lib/fcitx/inputpanel.h`:
- Around line 77-98: Update the documentation for InputPanel::overlayMessage()
to state that the overlay message is displayed only when the regular input panel
is empty, so normal panel content takes precedence. Remove or revise the wording
claiming that setting it suppresses all other fields, while preserving the
existing temporary-message and reset behavior.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 4af5d7ce-fcfc-4f82-9134-df654f41fccb

📥 Commits

Reviewing files that changed from the base of the PR and between 1426cce and 006ba1d.

📒 Files selected for processing (7)
  • src/frontend/dbusfrontend/dbusfrontend.cpp
  • src/lib/fcitx/inputpanel.cpp
  • src/lib/fcitx/inputpanel.h
  • src/lib/fcitx/instance.cpp
  • src/server/main.cpp
  • src/ui/classic/inputwindow.cpp
  • src/ui/kimpanel/kimpanel.cpp

Comment thread src/frontend/dbusfrontend/dbusfrontend.cpp
Comment thread src/lib/fcitx/inputpanel.h
@wengxt
wengxt merged commit 98058cf into master Jul 31, 2026
6 checks passed
@wengxt
wengxt deleted the overlay branch July 31, 2026 02:10
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.

1 participant