diff --git a/assets/settings/default.json b/assets/settings/default.json index b425e54ee6..c794ba492b 100644 --- a/assets/settings/default.json +++ b/assets/settings/default.json @@ -490,6 +490,8 @@ // Whether or not selecting text in the terminal will automatically // copy to the system clipboard. "copy_on_select": false, + // Whether to show the terminal button in the status bar + "button": true, // Any key-value pairs added to this list will be added to the terminal's // environment. Use `:` to separate multiple values. "env": { diff --git a/crates/terminal/src/terminal_settings.rs b/crates/terminal/src/terminal_settings.rs index 863d8eff25..3aae19ddc5 100644 --- a/crates/terminal/src/terminal_settings.rs +++ b/crates/terminal/src/terminal_settings.rs @@ -36,6 +36,7 @@ pub struct TerminalSettings { pub alternate_scroll: AlternateScroll, pub option_as_meta: bool, pub copy_on_select: bool, + pub button: bool, pub dock: TerminalDockPosition, pub default_width: Pixels, pub default_height: Pixels, @@ -138,6 +139,10 @@ pub struct TerminalSettingsContent { /// /// Default: false pub copy_on_select: Option, + /// Whether to show the terminal button in the status bar. + /// + /// Default: true + pub button: Option, pub dock: Option, /// Default width when the terminal is docked to the left or right. /// diff --git a/crates/terminal_view/src/terminal_panel.rs b/crates/terminal_view/src/terminal_panel.rs index 243af4cd57..d96eefba00 100644 --- a/crates/terminal_view/src/terminal_panel.rs +++ b/crates/terminal_view/src/terminal_panel.rs @@ -726,8 +726,10 @@ impl Panel for TerminalPanel { "TerminalPanel" } - fn icon(&self, _cx: &WindowContext) -> Option { - Some(IconName::Terminal) + fn icon(&self, cx: &WindowContext) -> Option { + TerminalSettings::get_global(cx) + .button + .then(|| IconName::Terminal) } fn icon_tooltip(&self, _cx: &WindowContext) -> Option<&'static str> { diff --git a/docs/src/configuring_zed.md b/docs/src/configuring_zed.md index 9ef0930280..3872dac058 100644 --- a/docs/src/configuring_zed.md +++ b/docs/src/configuring_zed.md @@ -908,6 +908,7 @@ These values take in the same options as the root-level settings with the same n "font_features": null, "font_size": null, "option_as_meta": false, + "button": false "shell": {}, "toolbar": { "title": true @@ -1086,6 +1087,16 @@ See Buffer Font Features At the moment, only the `title` option is available, it controls displaying of the terminal title that can be changed via `PROMPT_COMMAND`. If the title is hidden, the terminal toolbar is not displayed. +### Terminal Button + +- Description: Control to show or hide the terminal button in the status bar +- Setting: `button` +- Default: `true` + +**Options** + +`boolean` values + ### Working Directory - Description: What working directory to use when launching the terminal.