Commit graph

625 commits

Author SHA1 Message Date
Lawrence Chen
5d63c5f035
Add command palette (Cmd+Shift+P) (#358)
Implements a VS Code-style command palette with fuzzy search,
workspace/surface switching, rename mode, and keyboard navigation.

Closes https://github.com/manaflow-ai/cmux/issues/133
2026-02-23 03:26:36 -08:00
Lawrence Chen
2499ba1bb2
Fix browser-surface click focus without regressing open (#355)
* Allow click-to-focus for unfocused browser surfaces

* Add browser click-focus diagnostics and guard fix

* Allow pointer-initiated browser focus through responder guard
2026-02-23 03:09:19 -08:00
Lawrence Chen
4fb5da373d
Merge pull request #345 from manaflow-ai/feat-theme-switch-frame-sync
Keep chrome/theme updates in lockstep on theme switch
2026-02-23 02:46:08 -08:00
Lawrence Chen
eb1f0bdd43 Unify theme refresh path across workspace and titlebar 2026-02-23 02:44:28 -08:00
Lawrence Chen
a9603d522c
Merge pull request #354 from manaflow-ai/task-cmd-shift-h-merge-browser-terminal-codepaths
Merge Cmd+Shift+H flash codepath across browser and terminal
2026-02-23 02:39:30 -08:00
Lawrence Chen
e4379a136c Match terminal flash ring padding to browser 2026-02-23 02:37:48 -08:00
Lawrence Chen
a3f3e20d72 Unify Cmd+Shift+H flash path across panel types 2026-02-23 02:31:22 -08:00
Lawrence Chen
1b954f1d68 Sync theme updates in same frame on theme switch 2026-02-23 01:11:27 -08:00
Lawrence Chen
bf17e4a56d
Merge pull request #342 from manaflow-ai/task-bonsplit-tabs-follow-ghostty-theme
Match bonsplit tab chrome to Ghostty theme
2026-02-23 01:04:10 -08:00
Lawrence Chen
cd570dbab2 Unify runtime theme reload path and prioritize surface background updates 2026-02-23 01:03:16 -08:00
Lawrence Chen
afba0fb459 Coalesce Ghostty background notifications to latest value 2026-02-23 00:29:16 -08:00
Lawrence Chen
790f3c8287 Ignore stale background payload in theme refresh 2026-02-23 00:20:12 -08:00
Lawrence Chen
8f68ddb947 Add filesystem logs for theme resolution flow 2026-02-23 00:14:10 -08:00
Lawrence Chen
963bb03e99 Refactor workspace theme refresh to shared resolver 2026-02-23 00:06:39 -08:00
Lawrence Chen
e90b45f75e Match bonsplit chrome to Ghostty theme 2026-02-22 23:48:13 -08:00
Lawrence Chen
42f1933c80
Update bonsplit submodule to fix Release build (#341)
Picks up manaflow-ai/bonsplit#8 which moves ThemedSplitView outside
#if DEBUG so it compiles in Release configuration (fixes nightly).
2026-02-22 22:21:54 -08:00
Lawrence Chen
0e2ac79e06
Merge pull request #340 from manaflow-ai/feat-bonsplit-border-colors
Match bonsplit split/tab borders and remove active-tab bottom line
2026-02-22 20:13:12 -08:00
Lawrence Chen
881ebb2386 Update bonsplit for selected-tab separator gap 2026-02-22 20:07:22 -08:00
Lawrence Chen
4e172abb66 Update bonsplit for selected-tab separator fix 2026-02-22 20:03:39 -08:00
Lawrence Chen
d31cbb7123 Use gray separator borders and drop active-tab bottom border 2026-02-22 20:01:37 -08:00
Lawrence Chen
524fe31dc3
Merge pull request #339 from manaflow-ai/task-331-address-review-comments
Follow-up PR331: sync settings fallback and non-focus split intent
2026-02-22 19:59:58 -08:00
Lawrence Chen
283b898307 Match bonsplit border styling to Ghostty split divider color 2026-02-22 19:57:46 -08:00
Lawrence Chen
6f44f17f33 Fix follow-up PR331 settings and split focus regressions 2026-02-22 19:55:06 -08:00
Lawrence Chen
1d71303d18
Merge pull request #331 from manaflow-ai/task-307-configurable-open-wrapper
Respect open-wrapper browser settings and preserve PR 307 history
2026-02-22 19:38:17 -08:00
Lawrence Chen
4fd669d76e Guard NSWindow responder against unfocused webview descendants 2026-02-22 19:34:07 -08:00
Lawrence Chen
a369cf4419 Prevent background webview autofocus from stealing focus 2026-02-22 19:13:15 -08:00
Lawrence Chen
0dbe95b797 Reassert non-focus split focus after delayed callbacks 2026-02-22 19:04:57 -08:00
Lawrence Chen
4ee6640e35 Preserve terminal focus for non-focus split opens 2026-02-22 18:50:01 -08:00
Lawrence Chen
5697f71fc6
Merge pull request #335 from manaflow-ai/task-browser-omnibar-squircle
Ensure browser omnibar uses squircle styling
2026-02-22 18:39:03 -08:00
Lawrence Chen
3afa345f3a Harden open wrapper for Bash 3 and IDN host parity 2026-02-22 18:38:37 -08:00
Lawrence Chen
af2b276e98 Make browser omnibar squircle 2026-02-22 18:36:27 -08:00
Lawrence Chen
0046b674aa Split open-wrapper interception into its own setting 2026-02-22 18:26:07 -08:00
Lawrence Chen
8c149428c3
Set default workspace indicator style to left rail (#332) 2026-02-22 18:25:07 -08:00
Lawrence Chen
2428ae5dbd Respect browser link settings in open wrapper 2026-02-22 18:13:14 -08:00
sugakoji
f104dbc37f Fix double-open on partial failure with multiple URLs
When multiple URLs were passed and some succeeded but others failed,
the fallback re-opened all URLs via /usr/bin/open, causing duplicates.
Now only failed URLs are passed to the system open fallback.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
(cherry picked from commit 3790b0c0f0b98286b78f6f5aa8dbc9756cf756e8)
2026-02-22 18:05:43 -08:00
sugakoji
2c1fd1f801 Add open wrapper to route URLs to embedded browser
When running `open https://...` inside a cmux terminal, the URL now
opens in the built-in browser panel instead of the system default
browser. Non-URL arguments and explicit flags pass through to
/usr/bin/open unchanged.

Closes #306

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
(cherry picked from commit 174623776eb0baef04f5a9ab49b926427c149acd)
2026-02-22 18:05:43 -08:00
Lawrence Chen
923c62820f
Move workspace indicator setting into workspace colors (#329) 2026-02-22 17:45:11 -08:00
Lawrence Chen
d496a07a84
Hide new-tab toggles and align dark-mode button styling (#322)
* Hide new-tab browser toggles and align dark-mode button style

* Switch forced dark mode from dimming overlay to dark theme

* Add tri-state browser theme mode for embedded web view

* Hide browser theme menu chevron in toolbar

* Use outline icons for browser theme toggle

* Align browser theme icon tint with DevTools button

* Force monochrome rendering for browser toolbar icons

* Reduce browser theme icon weight for visual parity

* Tune browser theme icon stroke for perceptual color match

* Force flat SF Symbol color rendering for toolbar icons

* Use button popover for browser theme selector
2026-02-22 17:41:10 -08:00
Lawrence Chen
0105b6256a
Add workspace tab color schemes and debug scheme toggle (#324)
* Add tab color feature to sidebar workspaces

Lets users assign a custom background color to any sidebar workspace tab
via a right-click "Tab Color" submenu. The primary motivation is working
across multiple projects simultaneously — coloring tabs by project makes
it instant to visually locate the right workspace without reading the title.

- Workspace: adds `customColor: String?` (@Published hex string) and
  `setCustomColor()` setter
- TabManager: adds `setTabColor(tabId:color:)` convenience method
- ContentView: 16-color dark palette (all luminance < 0.30, white text
  always readable), `Color(hex:)` extension, `coloredCircleImage(hex:)`
  helper to render bitmapped NSImage circles (needed because macOS menus
  strip SwiftUI foregroundColor from SF Symbols), updated `backgroundColor`
  to use custom color at full/70%/35% opacity for active/inactive/
  multi-selected states, "Tab Color" submenu in context menu with
  "Clear Color" option, and a 1.5pt `Color.primary` border overlay on
  the active tab for clear selection indication when custom colors are set

* Add workspace tab color schemes with settings and debug toggles

* Remove Kelly scheme and keep only original tab color palette

* Preserve neutral grayscale when brightening tab colors

* Harden UpdatePill UI test polling timeouts

---------

Co-authored-by: Andreas Fruth <andreas.fruth@gmail.com>
2026-02-22 17:30:30 -08:00
Lawrence Chen
c5c27b678f
Merge pull request #328 from manaflow-ai/task-window-local-shortcut-hints
Fix pane shortcut hints leaking across windows
2026-02-22 17:28:33 -08:00
Lawrence Chen
b7d49228b7 Fix pane shortcut hints to active window 2026-02-22 17:19:38 -08:00
Lawrence Chen
018554cc47
Fix theme toggle using system preference instead of selected theme (#326)
Tailwind v4 defaults dark: utilities to @media (prefers-color-scheme)
strategy. Add @custom-variant to use class-based dark mode matching
the next-themes ThemeProvider attribute="class" configuration.

Fixes https://github.com/manaflow-ai/cmux/issues/325
2026-02-22 17:10:11 -08:00
Lawrence Chen
1bc3edf75f
Merge pull request #321 from manaflow-ai/pr-316-head
Follow-up: sync customizable workspace shortcuts across UI
2026-02-22 17:04:07 -08:00
Lawrence Chen
c51a5bf7cf
Merge pull request #316 from 0xble/feat/rename-workspace-keybind
Add keyboard shortcut to rename current workspace
2026-02-22 17:00:19 -08:00
Lawrence Chen
61e4ad9f94 Annotate jump-to-unread shortcut in notifications view 2026-02-22 16:58:24 -08:00
Lawrence Chen
ebc1422c55
Merge pull request #323 from manaflow-ai/feat-cmdf-overlay-retain-cycle-fix
Fix terminal find overlay retain cycle
2026-02-22 16:35:58 -08:00
Lawrence Chen
72791f32bc Break terminal find overlay retain cycle 2026-02-22 16:29:35 -08:00
Lawrence Chen
26d44e84da
Fix changelog page rendering markdown links as raw text (#320)
The InlineCode component only handled backtick code spans but ignored
markdown links, causing PR/issue references to display as raw
[#N](url) text instead of clickable links. Rename to InlineMarkdown
and add link parsing to the split regex.
2026-02-22 16:24:59 -08:00
Lawrence Chen
07796232d7 Sync customizable shortcuts across menus and tooltips 2026-02-22 16:24:43 -08:00
Lawrence Chen
146de6030e
Merge pull request #313 from manaflow-ai/feat-terminal-find-overlay-portal
Fix terminal Cmd+F overlay visibility regression and add layering guardrails
2026-02-22 16:22:36 -08:00