diff --git a/assets/settings/default.json b/assets/settings/default.json index 07d2ea111e3b2b9480979a7189094e445b21b655..56dff8b2ad632ed74045887ea274cfa112140b4b 100644 --- a/assets/settings/default.json +++ b/assets/settings/default.json @@ -964,7 +964,7 @@ // // Default: true "flexible": true, - // Where to position the sidebar. Can be 'left' or 'right'. + // Where to position the threads sidebar. Can be 'left' or 'right'. "sidebar_side": "left", // Default width when the agent panel is docked to the left or right. "default_width": 640, diff --git a/crates/settings_content/src/agent.rs b/crates/settings_content/src/agent.rs index 81edf85c8dd97e64567fab522bdcbbebed23997d..76891185c42ee36324c1cc160edfb27d63ecc0d6 100644 --- a/crates/settings_content/src/agent.rs +++ b/crates/settings_content/src/agent.rs @@ -33,7 +33,7 @@ pub enum NewThreadLocation { NewWorktree, } -/// Where to position the sidebar. +/// Where to position the threads sidebar. #[derive( Clone, Copy, @@ -114,7 +114,7 @@ pub struct AgentSettingsContent { /// /// Default: true pub flexible: Option, - /// Where to position the sidebar. + /// Where to position the threads sidebar. /// /// Default: left pub sidebar_side: Option, diff --git a/crates/settings_ui/src/page_data.rs b/crates/settings_ui/src/page_data.rs index 2fa48198dacaf9d9862ffd6e753e0ed735a6ca7b..1bab4984a1515627ef26042fa7937a328877df0a 100644 --- a/crates/settings_ui/src/page_data.rs +++ b/crates/settings_ui/src/page_data.rs @@ -7186,7 +7186,7 @@ fn collaboration_page() -> SettingsPage { } fn ai_page(cx: &App) -> SettingsPage { - fn general_section() -> [SettingsPageItem; 2] { + fn general_section() -> [SettingsPageItem; 3] { [ SettingsPageItem::SectionHeader("General"), SettingsPageItem::SettingItem(SettingItem { @@ -7202,6 +7202,19 @@ fn ai_page(cx: &App) -> SettingsPage { metadata: None, files: USER | PROJECT, }), + SettingsPageItem::SettingItem(SettingItem { + title: "Threads Sidebar Side", + description: "Which side of the window the threads sidebar appears on.", + field: Box::new(SettingField { + json_path: Some("agent.sidebar_side"), + pick: |settings_content| settings_content.agent.as_ref()?.sidebar_side.as_ref(), + write: |settings_content, value| { + settings_content.agent.get_or_insert_default().sidebar_side = value; + }, + }), + metadata: None, + files: USER, + }), ] } diff --git a/crates/settings_ui/src/settings_ui.rs b/crates/settings_ui/src/settings_ui.rs index bbe05a3c23113b1faa968fdd9c084f604debc0c4..9a5a7dafea4708205569b53e7aa460510a9fbb1e 100644 --- a/crates/settings_ui/src/settings_ui.rs +++ b/crates/settings_ui/src/settings_ui.rs @@ -474,6 +474,7 @@ fn init_renderers(cx: &mut App) { .add_basic_renderer::(render_dropdown) .add_basic_renderer::(render_dropdown) .add_basic_renderer::(render_dropdown) + .add_basic_renderer::(render_dropdown) .add_basic_renderer::(render_dropdown) .add_basic_renderer::(render_dropdown) .add_basic_renderer::(render_dropdown)