Skip to content

Remove Display and Allow Multi-line Suggestions from menu bar popup#456

Merged
FuJacob merged 1 commit into
mainfrom
fix/trim-menubar-controls
May 31, 2026
Merged

Remove Display and Allow Multi-line Suggestions from menu bar popup#456
FuJacob merged 1 commit into
mainfrom
fix/trim-menubar-controls

Conversation

@FuJacob

@FuJacob FuJacob commented May 31, 2026

Copy link
Copy Markdown
Owner

Summary

Two controls removed from the menu bar popup because they are set-it-and-forget-it preferences that don't change mid-session:

  • Display (Auto / Inline / Mirror) -- most users stay on Auto permanently; the rare override is a one-time decision made in Settings.
  • Allow Multi-line Suggestions -- a niche power-user toggle that does not change session to session.

Both remain fully accessible in Settings. The popup now stays focused on controls users actually reach for mid-work: Fast Mode, Enable Globally / per-app, Clipboard Context, Engine, Model, and Length.

Validation

xcodebuild -project Cotabby.xcodeproj -scheme Cotabby \
  -destination 'platform=macOS' CODE_SIGNING_ALLOWED=NO build
# ** BUILD SUCCEEDED **

swiftlint lint --quiet
# exit 0

Linked issues

Risk / rollout notes

Both settings remain in Settings > Writing / Advanced. No data migration needed.

Greptile Summary

This PR removes two "set-and-forget" controls — Allow Multi-line Suggestions (toggle) and Display (picker) — from the menu bar popup, leaving them accessible only through the Settings window. The corresponding multiLineEnabledBinding and mirrorPreferenceBinding computed properties are also deleted.

  • The Group wrapping both clipboard and multi-line toggles is replaced by the single remaining Toggle("Include Clipboard Context"), which is structurally correct and stays under SwiftUI's 10-child ViewBuilder limit.
  • The mirrorPreferenceBinding and multiLineEnabledBinding Bindings are cleanly removed with no dangling references, and the Group enclosing the remaining picker rows is properly preserved.

Confidence Score: 5/5

Safe to merge — changes are purely subtractive UI removals with no functional side effects.

The two removed controls and their backing Binding properties are cleanly excised with no remaining references. The underlying settings remain writable through the Settings window, so no user data or behavior is lost. The only issue found is a stale plural comment.

No files require special attention.

Important Files Changed

Filename Overview
Cotabby/UI/MenuBarView.swift Removed the "Allow Multi-line Suggestions" toggle and "Display" picker from the menu bar popup, along with their backing Binding computed properties; only a stale plural comment remains as a minor nit.

Sequence Diagram

sequenceDiagram
    participant User
    participant MenuBarView
    participant SuggestionSettingsModel
    participant SettingsWindow

    Note over MenuBarView: Controls removed from popup
    User->>MenuBarView: Opens menu bar popup
    MenuBarView-->>User: "Shows: Fast Mode, Enable Globally,<br/>Include Clipboard Context, Engine, Model, Length"

    Note over MenuBarView,SettingsWindow: Removed controls now Settings-only
    User->>SettingsWindow: Opens Settings
    SettingsWindow-->>SuggestionSettingsModel: Read/write Allow Multi-line Suggestions
    SettingsWindow-->>SuggestionSettingsModel: Read/write Display (MirrorPreference)
Loading

Fix All in Codex Fix All in Claude Code

Reviews (1): Last reviewed commit: "Remove Display and Allow Multi-line Sugg..." | Re-trigger Greptile

Greptile also left 1 inline comment on this PR.

@FuJacob FuJacob merged commit 88821e9 into main May 31, 2026
4 checks passed
Comment on lines 106 to +107
// Context-shaping toggles that change what the model is fed.
Group {
Toggle("Include Clipboard Context", isOn: clipboardContextEnabledBinding)
.toggleStyle(.switch)
.controlSize(.small)

Toggle("Allow Multi-line Suggestions", isOn: multiLineEnabledBinding)
.toggleStyle(.switch)
.controlSize(.small)
}
Toggle("Include Clipboard Context", isOn: clipboardContextEnabledBinding)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P2 The comment says "toggles" (plural), but after removing "Allow Multi-line Suggestions", only a single toggle remains in this section. The comment should be updated to reflect the singular form.

Suggested change
// Context-shaping toggles that change what the model is fed.
Group {
Toggle("Include Clipboard Context", isOn: clipboardContextEnabledBinding)
.toggleStyle(.switch)
.controlSize(.small)
Toggle("Allow Multi-line Suggestions", isOn: multiLineEnabledBinding)
.toggleStyle(.switch)
.controlSize(.small)
}
Toggle("Include Clipboard Context", isOn: clipboardContextEnabledBinding)
// Context-shaping toggle that changes what the model is fed.
Toggle("Include Clipboard Context", isOn: clipboardContextEnabledBinding)

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Fix in Codex Fix in Claude Code

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