From e569887e40b283d972b0a7999787285ad1afac40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Morten=20Aslo-=C3=98stergaard?= Date: Tue, 12 May 2026 11:06:58 +0200 Subject: [PATCH 01/15] feat: session groups and per-branch worktrees MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds two related sidebar features: - Categories: a vertical group-tab strip to the left of the session list that filters sessions by user-defined group. Shift/Ctrl-click on session items to multi-select, then right-click β†’ "Add to group β–Έ". Strip auto- hides when no groups exist or when ShowGroupsTab is off. The legacy auto- created "Default" group is silently dropped on first load after upgrade. - Worktrees: right-click a local git session β†’ "New worktree from this branch…" creates a sibling worktree (new or existing branch) and launches a new session in it cloning the source session's command + profile. When 2+ live sessions share a repo root, both show a "πŸ“ repo βŽ‡ branch" subtitle so the relationship is visible inside any category. Also fixes the sidebar header "+" button alignment and right-edge clipping. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/CodeShellManager/MainWindow.xaml | 56 ++- src/CodeShellManager/MainWindow.xaml.cs | 391 +++++++++++++++++- src/CodeShellManager/Models/AppState.cs | 3 +- src/CodeShellManager/Services/GitService.cs | 84 +++- .../Services/SessionManager.cs | 63 ++- .../ViewModels/MainViewModel.cs | 112 +++++ .../ViewModels/SessionViewModel.cs | 20 + .../Views/InputBoxDialog.xaml | 33 ++ .../Views/InputBoxDialog.xaml.cs | 38 ++ .../Views/NewWorktreeDialog.xaml | 122 ++++++ .../Views/NewWorktreeDialog.xaml.cs | 126 ++++++ .../Views/SettingsWindow.xaml | 2 + .../Views/SettingsWindow.xaml.cs | 3 + 13 files changed, 1010 insertions(+), 43 deletions(-) create mode 100644 src/CodeShellManager/Views/InputBoxDialog.xaml create mode 100644 src/CodeShellManager/Views/InputBoxDialog.xaml.cs create mode 100644 src/CodeShellManager/Views/NewWorktreeDialog.xaml create mode 100644 src/CodeShellManager/Views/NewWorktreeDialog.xaml.cs diff --git a/src/CodeShellManager/MainWindow.xaml b/src/CodeShellManager/MainWindow.xaml index 543f13a..2fa5cce 100644 --- a/src/CodeShellManager/MainWindow.xaml +++ b/src/CodeShellManager/MainWindow.xaml @@ -228,23 +228,49 @@ - - - - - -