diff --git a/assets/settings/default.json b/assets/settings/default.json index 2506150012..7d58434bf2 100644 --- a/assets/settings/default.json +++ b/assets/settings/default.json @@ -309,8 +309,12 @@ }, // Titlebar related settings "title_bar": { - // Whether to show the branch icon beside branch switcher in the title bar. - "show_branch_icon": false + // Whether to show the branch icon beside branch switcher in the titlebar. + "show_branch_icon": false, + // Whether to show onboarding banners in the titlebar. + "show_onboarding_banner": true, + // Whether to show user picture in the titlebar. + "show_user_picture": true }, // Scrollbar related settings "scrollbar": { @@ -1606,8 +1610,6 @@ // "W": "workspace::Save" // } "command_aliases": {}, - // Whether to show user picture in titlebar. - "show_user_picture": true, // ssh_connections is an array of ssh connections. // You can configure these from `project: Open Remote` in the command palette. // Zed's ssh support will pull configuration from your ~/.ssh too. diff --git a/crates/title_bar/src/title_bar.rs b/crates/title_bar/src/title_bar.rs index b84561292d..50afd0d359 100644 --- a/crates/title_bar/src/title_bar.rs +++ b/crates/title_bar/src/title_bar.rs @@ -208,7 +208,10 @@ impl Render for TitleBar { .on_mouse_down(MouseButton::Left, |_, _, cx| cx.stop_propagation()), ) .child(self.render_collaborator_list(window, cx)) - .child(self.banner.clone()) + .when( + TitleBarSettings::get_global(cx).show_onboarding_banner, + |title_bar| title_bar.child(self.banner.clone()), + ) .child( h_flex() .gap_1() @@ -723,7 +726,7 @@ impl TitleBar { h_flex() .gap_0p5() .children( - workspace::WorkspaceSettings::get_global(cx) + TitleBarSettings::get_global(cx) .show_user_picture .then(|| Avatar::new(user.avatar_uri.clone())), ) diff --git a/crates/title_bar/src/title_bar_settings.rs b/crates/title_bar/src/title_bar_settings.rs index ed7108a96c..87d05c9068 100644 --- a/crates/title_bar/src/title_bar_settings.rs +++ b/crates/title_bar/src/title_bar_settings.rs @@ -6,6 +6,8 @@ use settings::{Settings, SettingsSources}; #[derive(Deserialize, Debug, Clone, Copy, PartialEq)] pub struct TitleBarSettings { pub show_branch_icon: bool, + pub show_onboarding_banner: bool, + pub show_user_picture: bool, } #[derive(Clone, Default, Serialize, Deserialize, JsonSchema, Debug)] @@ -14,6 +16,14 @@ pub struct TitleBarSettingsContent { /// /// Default: false pub show_branch_icon: Option, + /// Whether to show onboarding banners in the title bar. + /// + /// Default: true + pub show_onboarding_banner: Option, + /// Whether to show user avatar in the title bar. + /// + /// Default: true + pub show_user_picture: Option, } impl Settings for TitleBarSettings { diff --git a/crates/workspace/src/workspace_settings.rs b/crates/workspace/src/workspace_settings.rs index 85753b98bf..a3da12f9fc 100644 --- a/crates/workspace/src/workspace_settings.rs +++ b/crates/workspace/src/workspace_settings.rs @@ -23,7 +23,6 @@ pub struct WorkspaceSettings { pub use_system_path_prompts: bool, pub use_system_prompts: bool, pub command_aliases: HashMap, - pub show_user_picture: bool, pub max_tabs: Option, pub when_closing_with_no_tabs: CloseWindowWhenNoItems, pub on_last_window_closed: OnLastWindowClosed, @@ -189,10 +188,6 @@ pub struct WorkspaceSettingsContent { /// /// Default: true pub command_aliases: Option>, - /// Whether to show user avatar in the title bar. - /// - /// Default: true - pub show_user_picture: Option, /// Maximum open tabs in a pane. Will not close an unsaved /// tab. Set to `None` for unlimited tabs. ///