Skip to content

Add integrated terminal bell + settings - #53752

Merged
probably-neb merged 9 commits into
zed-industries:mainfrom
ian-h-chamberlain:feature/zed-terminal-bell
Apr 23, 2026
Merged

Add integrated terminal bell + settings#53752
probably-neb merged 9 commits into
zed-industries:mainfrom
ian-h-chamberlain:feature/zed-terminal-bell

Conversation

@ian-h-chamberlain

@ian-h-chamberlain ian-h-chamberlain commented Apr 12, 2026

Copy link
Copy Markdown
Contributor

Self-Review Checklist:

  • I've reviewed my own diff for quality, security, and reliability
  • Unsafe blocks (if any) have justifying comments
  • The content is consistent with the UI/UX checklist
  • Tests cover the new/changed behavior
  • Performance impact has been considered and is acceptable

Followup to #47531 to use the gpui feature in Zed. This just plumbs the "system bell" feature into the terminal, behind a new setting (enabled by default, like most other terminal applications).

Closes #5303
Relates to #40826 (comment)

Release Notes:

  • Added audible BEL to Terminal; can be enabled by setting terminal.bell to "system".

ian-h-chamberlain and others added 5 commits April 12, 2026 14:38
Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
This should allow for potential future enhancements like visual bell,
custom sounds, etc. if that becomes desirable (e.g. like ghostty)
@cla-bot cla-bot Bot added the cla-signed The user has signed the Contributor License Agreement label Apr 12, 2026
@zed-codeowner-coordinator
zed-codeowner-coordinator Bot requested review from a team, danilo-leal and probably-neb and removed request for a team April 12, 2026 22:26
Comment thread assets/settings/default.json Outdated
"show_count_badge": false,
"bell": {
// Whether to invoke the OS-default alert sound when the terminal bell (BEL character) is printed.
"system": true,

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This settings structure doesn't really make sense as it is.
If we were to add different sound options the settings would look like

"bell": {
  "system": false,
  "other-sound": true,
}

This should be

"bell": "off" // default
"bell": "system" // use system alert sound

or similar

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's fair, I was thinking a struct/object made sense to allow for the possibility of visual bells or other indicators (like desktop notifications, toasts, whatever), as suggested in #47531 (comment)

Also was looking at VSCode for inspiration here, they have an accessibility setting for announcing the terminal bell (probably via some text-to-speech or something): https://github.com/microsoft/vscode/blob/1faf9f4d1bab92b16b16cc6306f828a8f32567bf/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.ts#L497-L510

What do you think about something like this?

"bell": {
  "audio": "system", // or "off", etc.

  // possible future enhancements:
  "visual": "off",
  "notification": "on",
  "announce": "off"
}

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interesting. I think we should keep it simple, with no nested object for now. It's fairly easy to do a settings migration and add the extra structure if we ever add more capabilities. Until then it's just extra typing in the settings JSON, making the setting less discoverable.

Comment thread assets/settings/default.json Outdated
@zed-industries-bot

Copy link
Copy Markdown
Contributor
Messages
📖

This PR includes links to the following GitHub Issues: #40826
If this PR aims to close an issue, please include a Closes #ISSUE line at the top of the PR body.

Generated by 🚫 dangerJS against b964eb4

@probably-neb
probably-neb added this pull request to the merge queue Apr 23, 2026
Merged via the queue into zed-industries:main with commit 74b15e4 Apr 23, 2026
31 checks passed
pub show_count_badge: Option<bool>,
/// What to do when the `BEL` character (`\a`) is printed to terminal.
///
/// Default: "system"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was missed when changing the default.

kathbigra pushed a commit to kathbigra/zed that referenced this pull request May 10, 2026
Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] ~Unsafe blocks (if any) have justifying comments~
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Followup to zed-industries#47531 to use the gpui feature in Zed. This just plumbs the
"system bell" feature into the terminal, behind a new setting (enabled
by default, like most other terminal applications).

Closes zed-industries#5303
Relates to
zed-industries#40826 (comment)

Release Notes:

- Added audible BEL to Terminal; can be enabled by setting
`terminal.bell` to `"system"`.

---------

Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
Co-authored-by: Ben Kunkle <Ben.kunkle@gmail.com>
jonx pushed a commit to jonx/zed-aros that referenced this pull request Jul 17, 2026
Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] ~Unsafe blocks (if any) have justifying comments~
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Followup to zed-industries#47531 to use the gpui feature in Zed. This just plumbs the
"system bell" feature into the terminal, behind a new setting (enabled
by default, like most other terminal applications).

Closes zed-industries#5303
Relates to
zed-industries#40826 (comment)

Release Notes:

- Added audible BEL to Terminal; can be enabled by setting
`terminal.bell` to `"system"`.

---------

Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
Co-authored-by: Ben Kunkle <Ben.kunkle@gmail.com>
jolutz pushed a commit to jolutz/zed that referenced this pull request Aug 8, 2026
Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] ~Unsafe blocks (if any) have justifying comments~
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Followup to zed-industries#47531 to use the gpui feature in Zed. This just plumbs the
"system bell" feature into the terminal, behind a new setting (enabled
by default, like most other terminal applications).

Closes zed-industries#5303
Relates to
zed-industries#40826 (comment)

Release Notes:

- Added audible BEL to Terminal; can be enabled by setting
`terminal.bell` to `"system"`.

---------

Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
Co-authored-by: Ben Kunkle <Ben.kunkle@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla-signed The user has signed the Contributor License Agreement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support OS notifications long running tasks completing

4 participants