Skip to content

[codex] Add ignored app controls - #23

Merged
ygsgdbd merged 1 commit into
mainfrom
codex/explicit-do-not-switch
Jul 18, 2026
Merged

[codex] Add ignored app controls#23
ygsgdbd merged 1 commit into
mainfrom
codex/explicit-do-not-switch

Conversation

@ygsgdbd

@ygsgdbd ygsgdbd commented Jul 16, 2026

Copy link
Copy Markdown
Owner

Problem

TypeSwitch previously had no complete way to exclude an application from management. An app using the default strategy still inherited the global fallback, so users could not prevent automatic switching for selected apps. Those apps also continued to occupy the current, running, configured, unavailable, and statistics menus even when the user did not want TypeSwitch to manage or display them.

Root cause and user impact

The rule model only distinguished inherited, fixed, and remember-last input method behavior. It did not have a persistent ignored state or a recovery surface. Adding a simple no-switch branch alone would stop switching, but it would still leave ignored apps visible and could make menu contents mutate while an open native menu was being used.

Fix

This change adds an ignored input method strategy. Ignored apps skip input method lookup and switching, do not increment statistics, and are filtered from all regular app and statistics lists. A new Ignored Apps menu provides individual restore and restore-all actions; restoring returns the app to the default inherited strategy.

The menu bar app now snapshots app strategies while the root NSMenu is tracking. Ignore and restore operations are persisted immediately, while visible menu membership remains stable until the menu closes. Unavailable ignored rules are preserved by cleanup, and ignoring an unavailable app retains its last known path.

The change also adds Base, English, Simplified Chinese, and Traditional Chinese copy, updates both READMEs, and refreshes all deterministic raw and composite screenshots to show the new controls.

Validation

  • rtk just check
  • rtk proxy ./script/validate_readme_screenshots.sh
  • rtk git diff --check
  • Reducer tests covering fixed-fallback override, list and statistics filtering, individual and bulk restore, menu snapshot stability, unavailable-rule cleanup, and path preservation
  • Persistence tests covering ignored round trips and existing strategy decoding
  • Localization key and placeholder parity tests across all four localizations
  • README demo fixture tests and visual inspection of generated light/dark English and Simplified Chinese screenshots

@ygsgdbd ygsgdbd changed the title Add ignored app controls [codex] Add ignored app controls Jul 16, 2026
@ygsgdbd
ygsgdbd marked this pull request as ready for review July 18, 2026 06:57
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@ygsgdbd
ygsgdbd merged commit bd474ba into main Jul 18, 2026
2 checks passed
@ygsgdbd
ygsgdbd deleted the codex/explicit-do-not-switch branch July 18, 2026 06:57
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