Appearance

Theme
{#if themeDropdownOpen} {/if}
UI Font
handleUiFontSizeChange((e.target as HTMLInputElement).value)} /> px
Terminal Font
handleTermFontSizeChange((e.target as HTMLInputElement).value)} /> px
Project max aspect ratio
handleAspectChange((e.target as HTMLInputElement).value)} /> w:h

Defaults

{ defaultShell = (e.target as HTMLInputElement).value; saveGlobalSetting('default_shell', defaultShell); }} />
{ defaultCwd = (e.target as HTMLInputElement).value; saveGlobalSetting('default_cwd', defaultCwd); }} />

Editor

Auto-save files when the editor loses focus

Providers

{#each registeredProviders as provider}
{#if expandedProvider === provider.id}
{#if provider.capabilities.hasModelSelection}
Default model setProviderModel(provider.id, (e.target as HTMLInputElement).value)} />
{/if}
Capabilities
{#if provider.capabilities.hasProfiles}Profiles{/if} {#if provider.capabilities.hasSkills}Skills{/if} {#if provider.capabilities.supportsSubagents}Subagents{/if} {#if provider.capabilities.supportsCost}Cost tracking{/if} {#if provider.capabilities.supportsResume}Resume{/if} {#if provider.capabilities.hasSandbox}Sandbox{/if}
{/if}
{/each}

Groups

{#each groups as group}
{group.projects.length} projects {#if groups.length > 1} {/if}
{/each}
{#if activeGroup}

Projects in "{activeGroup.name}"

{#each activeGroup.projects as project}
{#if iconPickerOpenFor === project.id}
{#each PROJECT_ICONS as emoji} {/each}
{/if}
updateProject(activeGroupId, project.id, { name: (e.target as HTMLInputElement).value })} />
Path
updateProject(activeGroupId, project.id, { cwd: (e.target as HTMLInputElement).value })} />
Account {#if profiles.length > 1}
{#if profileDropdownOpenFor === project.id} {/if}
{:else} {getProfileLabel(project.profile)} {/if}
{#if registeredProviders.length > 1}
Provider
{#if providerDropdownOpenFor === project.id} {/if}
{/if}
Anchor Budget
{ const idx = parseInt((e.target as HTMLInputElement).value); updateProject(activeGroupId, project.id, { anchorBudgetScale: ANCHOR_BUDGET_SCALES[idx] }); }} /> {ANCHOR_BUDGET_SCALE_LABELS[project.anchorBudgetScale ?? 'medium']}
{/each}
{#if activeGroup.projects.length < 5}
{:else}

Maximum 5 projects per group reached.

{/if}
{/if}