picker-first startup with per-project sticky override (T-115)
Boot used to auto-open app.lastProject and fall back to the CWD; new default is the welcome screen as the project picker. Sticky-open is opt-in: a checkbox on each recent-projects row toggles a startupSticky flag, and clide auto-opens iff exactly one row has it. Two-or-more, or none, ⇒ picker (unambiguous user intent). RecentProject gains the boolean (persisted in app.recentProjects); ProjectManager exposes stickyProjectPath, openStickyOrNothing, setStickyStartup, isStickyStartup, and preserves the flag across reopens. Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
+4
-4
@@ -156,10 +156,10 @@ Future<void> main() async {
|
||||
|
||||
if (!kIsWeb) {
|
||||
await services.project.loadRecents();
|
||||
var opened = await services.project.openLast();
|
||||
if (!opened) {
|
||||
opened = await services.project.open(Directory.current.path);
|
||||
}
|
||||
// T-115: picker-first. Auto-open only when exactly one recent has
|
||||
// its sticky-startup flag set; otherwise the welcome tab (default
|
||||
// workspace content) serves as the project picker.
|
||||
final opened = await services.project.openStickyOrNothing();
|
||||
if (opened) {
|
||||
services.panels.activateTab(Slots.workspace, 'claude.primary');
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user