Commit graph

125 commits

Author SHA1 Message Date
Lawrence Chen
2877531ea2
Auto-focus omnibar when focusing blank browser surfaces (#448)
* Auto-focus omnibar when focusing blank browser surfaces

* Fix browser omnibar autofocus across pane and palette paths

* Fix Cmd+P switcher omnibar autofocus timing
2026-02-24 16:00:03 -08:00
Lawrence Chen
7ee3831eb5
Merge pull request #317 from manaflow-ai/issue-143-session-persistence
Implement session persistence pass 1 (windows/workspaces/scrollback)
2026-02-24 15:25:46 -08:00
Lawrence Chen
e8477131c1 Merge origin/main into issue-143-session-persistence 2026-02-24 14:41:27 -08:00
austinpower1258
7a75988c5b Fix double-click titlebar zoom not working on browser panel side
The browser portal's hit-test was intercepting clicks in the titlebar
region, preventing double-click-to-zoom from reaching the window.

Three fixes:
- BrowserWindowPortal: pass through hits landing in the native titlebar
- WindowDragHandleView: only let titlebar-overlay views block capture,
  not underlay browser content; respect AppleActionOnDoubleClick pref
- ContentView: use shared performStandardTitlebarDoubleClick() helper

Closes https://github.com/manaflow-ai/cmux/issues/422

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 14:35:10 -08:00
Lawrence Chen
710ed9b068 Fix Cmd+P/Cmd+Shift+P window routing (#413)
* Fix command palette shortcuts to stay window-scoped

* Fix cross-window command palette typing focus lock
2026-02-24 14:35:10 -08:00
austinpower1258
04eee73a22 Fix stuck titlebar drag suppression 2026-02-24 14:35:10 -08:00
Lawrence Chen
5c584dd7f7 Block tab drags across cmux app instances 2026-02-24 14:35:09 -08:00
Lawrence Chen
ce681bac67 Implement cross-window tab and workspace move UI 2026-02-24 14:35:09 -08:00
Lawrence Chen
7b59954a88 Fix command palette caret color in light mode 2026-02-24 14:35:09 -08:00
Lawrence Chen
e0e66a69cc Fix light-mode typing indicator contrast in active sidebar 2026-02-24 14:35:09 -08:00
Lawrence Chen
9953fa58d9 Fix light-mode sidebar typing indicator contrast 2026-02-24 14:35:09 -08:00
Lawrence Chen
92d558cb95 Refine command palette focus restore and shortcut gating 2026-02-24 14:35:09 -08:00
Lawrence Chen
aa222dbc0d Sidebar double-click appends workspace to end 2026-02-24 14:32:56 -08:00
Lawrence Chen
653c59a90b
Merge pull request #437 from manaflow-ai/task-sidebar-selected-workspace-colors
Sidebar: set selected workspace colors and white text
2026-02-24 14:24:46 -08:00
Lawrence Chen
aeda5f827d Adopt custom blue accent across active UI states 2026-02-24 14:22:58 -08:00
austinpower1258
e76de71f3e Fix sidebar titlebar drag and double-click passthrough 2026-02-24 14:18:58 -08:00
Lawrence Chen
2338760186 Set selected sidebar workspace colors and white text 2026-02-24 14:12:15 -08:00
austinpower1258
b0d86a4f0d Fix double-click titlebar zoom not working on browser panel side
The browser portal's hit-test was intercepting clicks in the titlebar
region, preventing double-click-to-zoom from reaching the window.

Three fixes:
- BrowserWindowPortal: pass through hits landing in the native titlebar
- WindowDragHandleView: only let titlebar-overlay views block capture,
  not underlay browser content; respect AppleActionOnDoubleClick pref
- ContentView: use shared performStandardTitlebarDoubleClick() helper

Closes https://github.com/manaflow-ai/cmux/issues/422

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 20:45:25 -08:00
Lawrence Chen
3c1650d3e0
Fix Cmd+P/Cmd+Shift+P window routing (#413)
* Fix command palette shortcuts to stay window-scoped

* Fix cross-window command palette typing focus lock
2026-02-23 20:08:21 -08:00
austinpower1258
e5448ac48a Fix stuck titlebar drag suppression 2026-02-23 20:00:47 -08:00
Lawrence Chen
2c2190b231 Block tab drags across cmux app instances 2026-02-23 19:48:54 -08:00
Lawrence Chen
b57087f796 Implement cross-window tab and workspace move UI 2026-02-23 19:48:54 -08:00
Lawrence Chen
89756bad65 Fix command palette caret color in light mode 2026-02-23 19:28:48 -08:00
Lawrence Chen
666ef75d1e Fix light-mode typing indicator contrast in active sidebar 2026-02-23 19:22:39 -08:00
Lawrence Chen
ea33e3adbd Merge remote-tracking branch 'origin/main' into pr-317-session-persistence
# Conflicts:
#	Sources/AppDelegate.swift
2026-02-23 19:20:56 -08:00
Lawrence Chen
0dee878268 Fix light-mode sidebar typing indicator contrast 2026-02-23 19:14:32 -08:00
Lawrence Chen
011abb62c9 Refine command palette focus restore and shortcut gating 2026-02-23 19:10:02 -08:00
Lawrence Chen
396942c7e4
Merge pull request #357 from manaflow-ai/task-titlebar-folder-icon-drags-window
Fix titlebar folder icon drag hit-testing
2026-02-23 17:05:29 -08:00
Lawrence Chen
0d98db7277 Fix titlebar text dragging while preserving folder icon drag 2026-02-23 17:03:55 -08:00
Lawrence Chen
c5d20ae032
Add Cmd+P open-directory shortcuts for installed apps (#368)
* Add smart Cmd+P directory-open app shortcuts

* Fix command palette scroll snap and jank

* Fix command palette selection-follow scrolling

* Use scrollPosition for command palette list scrolling

* Remove generic IDE directory command from Cmd+P

* Increase command palette max height to 450px
2026-02-23 15:02:48 -08:00
Lawrence Chen
6eeca9c5da Merge remote-tracking branch 'origin/main' into pr-317-session-persistence
# Conflicts:
#	Sources/AppDelegate.swift
#	Sources/cmuxApp.swift
2026-02-23 14:58:16 -08:00
Austin Wang
c1822fdaac
Fix sidebar resize regression with 1/3 width cap (#393) 2026-02-23 11:14:34 -08:00
Austin Wang
3c1f1792c0
Fix browser workspace focus handoff lag (#381) 2026-02-23 10:27:04 -08:00
Lawrence Chen
bf69fcbdcf Hide apply-update command until update is available 2026-02-23 04:56:48 -08:00
Lawrence Chen
82d2d0e474 Add command palette apply and attempt update actions 2026-02-23 04:53:25 -08:00
Lawrence Chen
47d0b60cd6
Merge pull request #362 from manaflow-ai/task-cmd-p-show-all-windows
Cmd+P switcher includes workspaces from every window
2026-02-23 04:33:36 -08:00
Lawrence Chen
1e8859f922 Show Cmd+P switcher results across all windows 2026-02-23 04:13:15 -08:00
Lawrence Chen
8d03657c94
Command palette caret uses white tint (#361)
* Set command palette caret tint to white

* Add command palette window actions and shortcut sync
2026-02-23 04:08:01 -08:00
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
eb1f0bdd43 Unify theme refresh path across workspace and titlebar 2026-02-23 02:44:28 -08:00
Lawrence Chen
1b954f1d68 Sync theme updates in same frame on theme switch 2026-02-23 01:11:27 -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
07796232d7 Sync customizable shortcuts across menus and tooltips 2026-02-22 16:24:43 -08:00
Lawrence Chen
927b0eb2d1 Implement session persistence pass 1 with multi-window restore 2026-02-22 15:39:59 -08:00
Austin Wang
78fe5a9b04
Fix cmux border resize icon disappearing (#284)
* Keep split dividers visible in tiny panes

* Fix collapsed split border resize hit-testing

* Stabilize sidebar and split divider resize routing

* Fix split divider resize cursor routing regressions
2026-02-21 17:57:00 -08:00
Lawrence Chen
685996ef0d
Remove border below titlebar (#242)
* Remove border below titlebar

Remove the 1px separator line overlay at the bottom of the custom
titlebar and its associated fakeTitlebarSeparatorColor computed property.

* Remove tab hover background in bonsplit

Update bonsplit submodule to remove the background fill on hovered
non-selected tabs.

* Restore titlebar border with system separator color, hover bg on all tabs, browser theme bg

- Add back 1px bottom border on titlebar using NSColor.separatorColor
  (matches bonsplit tab separator color)
- Tab hover background now applies to all tabs including the selected one
- Browser address bar and under-page background now use Ghostty theme
  background color instead of window background
2026-02-21 04:31:55 -08:00
Lawrence Chen
a2c39802d1 Merge origin/main into feat-sidebar-branch-refresh-on-close 2026-02-20 23:36:11 -08:00
Lawrence Chen
868c2c9d11 Tighten spacing around branch separator dot 2026-02-20 23:26:47 -08:00
Lawrence Chen
7cb1abca37 Use smaller separator dot for branch directory rows 2026-02-20 23:20:58 -08:00
Austin Wang
021cc05cf3
Stabilize sidebar resizer hitbox and cursor across portals (#255) 2026-02-20 23:14:48 -08:00