Repository navigation
cmux-next composer: attach location controls in a tray #18224
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
50d2222
8e1ed81
371bf91
d4c4058
c957c8a
aec8037
beab8c6
d3e48c6
f9e0df1
29a63fc
755b517
3487577
a81f568
d2bb472
d252ebe
5d094a7
77ccb6d
fa166ac
3243ce3
ae8efeb
50c9ac0
12b0cb0
490631f
f25fb19
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -2328,7 +2328,7 @@ | |
| box-sizing: border-box; | ||
| width: 100%; | ||
| min-height: 45px; | ||
| max-height: 40vh; | ||
| max-height: calc(22px * 8 + 23px); | ||
| margin: 0; | ||
| padding: 15px 16px 8px 32px; | ||
| border: 0; | ||
|
|
@@ -2347,7 +2347,7 @@ | |
| .acpmux-composer[data-shell] .acpmux-composer-box { | ||
| box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--acpmux-shell-accent) 55%, transparent); | ||
| } | ||
| /* The location row above the composer (ComposerContext.tsx): "This Mac ⌄ · <folder> ⌄", one quiet | ||
| /* The location tray below the composer (ComposerContext.tsx): folder and branch controls, one quiet | ||
| row of text menu buttons that all look alike. A control is a plain text button (no native bezel, | ||
| no fill, no weight change); hover and an open menu lay a soft rounded wash from the theme under | ||
| it, and keyboard focus draws a ring in the theme's text color. The padding is always there, so | ||
|
|
@@ -2356,14 +2356,23 @@ | |
| display: flex; | ||
| align-items: center; | ||
| justify-content: flex-end; | ||
| gap: 2px; | ||
| gap: 8px; | ||
| min-width: 0; | ||
| height: 28px; | ||
| margin: 0 12px -2px; | ||
| height: 36px; | ||
| margin: -12px 0 16px; | ||
| padding: 0 14px; | ||
| box-sizing: border-box; | ||
| border: 1px solid var(--acpmux-composer-edge); | ||
| border-top: 0; | ||
| border-radius: 0 0 20px 20px; | ||
| background: var(--acpmux-composer-tray); | ||
|
cursor[bot] marked this conversation as resolved.
|
||
| color: var(--agent-muted); | ||
| font-size: 12px; | ||
| line-height: 16px; | ||
| } | ||
| .acpmux-composer-context > .acpmux-location-leading { display: flex; align-items: center; gap: 2px; min-width: 0; margin-right: auto; flex: 1 1 0; } | ||
| .acpmux-composer-context > .acpmux-location-leading > .acpmux-location-picker, | ||
| .acpmux-composer-context > .acpmux-location-picker { flex: 1 1 0; min-width: 0; } | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Location controls stretch with empty gapsMedium Severity Folder, computer, and branch pickers all use Additional Locations (1)Reviewed by Cursor Bugbot for commit 3487577. Configure here. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Branch picker steals tray spaceMedium Severity The shelf gives both the leading cluster and the branch picker Additional Locations (1)Reviewed by Cursor Bugbot for commit a81f568. Configure here. |
||
| .acpmux-location-picker { | ||
| position: relative; | ||
| display: inline-flex; | ||
|
|
@@ -2377,6 +2386,7 @@ | |
| align-items: center; | ||
| gap: 4px; | ||
| min-width: 0; | ||
| width: 100%; | ||
| max-width: 220px; | ||
| height: 22px; | ||
| margin: 0; | ||
|
|
@@ -2428,6 +2438,37 @@ | |
| .acpmux-location-menu .ui-menu-item[data-highlighted] { background: var(--acpmux-menu-hover); } | ||
| .acpmux-location-menu .acpmux-menu-description { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } | ||
| .acpmux-location-menu .ui-separator { flex: none; height: 1px; margin: 4px 6px; background: color-mix(in srgb, var(--agent-text) 12%, transparent); } | ||
|
|
||
| /* The shelf sits behind the composer edge instead of reading as a second full row. The composer | ||
| owns the shadow and the shelf keeps a stable inset, so opening a menu never moves the transcript. */ | ||
| .acpmux-composer-box { z-index: 2; } | ||
| .acpmux-composer-context { | ||
| position: relative; | ||
| z-index: 1; | ||
| height: 40px; | ||
| margin: -14px 2px 12px; | ||
| padding: 10px 10px 0; | ||
| border-top: 0; | ||
| border-radius: 0 0 18px 18px; | ||
| box-shadow: inset 0 0 0 .5px var(--acpmux-composer-edge), 0 4px 10px color-mix(in srgb, var(--agent-text) 6%, transparent); | ||
| } | ||
| .acpmux-composer-bar { | ||
| min-height: 52px; | ||
| height: auto; | ||
| padding: 6px 12px; | ||
| } | ||
| .acpmux-mode .acpmux-mode-text { display: none; } | ||
| .acpmux-mode .acpmux-picker-button { | ||
| width: 30px; | ||
| justify-content: center; | ||
| gap: 0; | ||
| padding: 0; | ||
| } | ||
| .acpmux-mode .acpmux-picker-button .acpmux-icon:last-child { display: none; } | ||
| .acpmux-mode .acpmux-picker-button[aria-expanded="true"], | ||
| .acpmux-mode .acpmux-picker-button:hover { color: var(--agent-text); } | ||
| .acpmux-send { width: 32px; height: 32px; } | ||
| .acpmux-context-ring { width: 32px; height: 32px; } | ||
| /* The composer's attachment row (Composer.tsx AttachmentChip), laid out like a native chat composer: | ||
| the row sits inside the composer at the text's own inset, the attachments keep a gap between them | ||
| and above the text, and each thumbnail's corners nest in the composer's (inner radius = the | ||
|
|
@@ -2685,7 +2726,9 @@ | |
| user formats. Theme tokens only. */ | ||
| .acpmux-md-field { | ||
| position: relative; | ||
| max-height: 40vh; | ||
| /* Keep long drafts inside the composer. Eight lines matches the reference composer and | ||
| leaves the transcript and location shelf anchored while the draft grows. */ | ||
| max-height: calc(22px * 8 + 23px); | ||
| overflow-y: auto; | ||
| padding: 15px 16px 8px; | ||
| font-size: 15px; | ||
|
|
||
Large diffs are not rendered by default.
Large diffs are not rendered by default.


There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Duplicate selector creates dead CSS property values
Low Severity
The
.acpmux-composer-contextselector is declared twice at the same cascade level with no conditional wrapper. The second block (around line 2445) unconditionally overridesheight,margin,padding, andborder-radiusset in the first block (around line 2361). Those four properties in the first block are dead — they never take visual effect, but a future developer editing them would reasonably expect them to control the layout. The values from the two blocks could be consolidated into a single rule to avoid this confusion.Additional Locations (1)
Packages/macOS/CmuxNext/Sources/CmuxNextAgentPane/Resources/agent-pane/index.html#L2444-L2454Reviewed by Cursor Bugbot for commit fa166ac. Configure here.