Skip to content

Feature Request: Focus Next Bell Tab - Navigate to tabs with bell indicators #19788

@shanselman

Description

@shanselman

Feature Request: Focus Next Bell Tab

The Problem

When multiple tabs have bell indicators, there's no way to quickly navigate to them.

Windows Terminal already shows a 🔔 icon on tabs when processes output a bell character (\a). However, with many tabs open, users must visually scan all tabs to find which ones are signaling for attention.

Why This Matters: Background Processes & AI Agents

Modern terminal workflows involve running multiple background processes:

Scenario Bell Usage
Long-running builds Bell on completion
Test suites Bell on pass/fail
AI coding agents Bell when task finishes
SSH sessions Bell on disconnect/alert
Package installs Bell when done

When 3 different tabs bell while you're focused elsewhere, you need a quick way to cycle through them.

Prior Art

tmux

# Jump to window with bell
tmux select-window -t :!  # Most recent bell

iTerm2

  • Has "Jump to next bell" in menu
  • Configurable keybinding

VS Code Terminal

  • Bell icon clickable to focus that terminal

Proposed Solution

Add a new action focusBellTab that:

  1. Finds the next tab (by index) with BellIndicator == true
  2. Wraps around to the beginning if needed
  3. Cycles through on repeated presses
  4. Does nothing if no bells are active

Usage

// Keybinding (suggested default: Ctrl+Shift+B)
{ "keys": "ctrl+shift+b", "command": "focusBellTab" }

Or via Command Palette: "Focus next bell tab"

Use Case Flow

┌─────────────────────────────────────────────────────────────┐
│  Tab 1: npm build     (running)                             │
│  Tab 2: pytest        (🔔 finished!)                        │
│  Tab 3: Claude Code   (🔔 finished!)                        │
│  Tab 4: ssh server    (focused)                             │
│                                                             │
│  User presses Ctrl+Shift+B                                  │
│  → Jumps to Tab 2 (first bell after current)               │
│                                                             │
│  User presses Ctrl+Shift+B again                            │
│  → Jumps to Tab 3 (next bell)                              │
│                                                             │
│  User presses Ctrl+Shift+B again                            │
│  → Wraps to Tab 2 (no more bells ahead)                    │
└─────────────────────────────────────────────────────────────┘

Implementation

I have a working implementation ready (~40 lines of code):

  • New action FocusBellTab in AllShortcutActions.h
  • Handler in AppActionHandlers.cpp iterates tabs checking TabStatus().BellIndicator()
  • Default keybinding Ctrl+Shift+B in defaults.json
  • Command palette entry via Resources.resw

PR incoming - will link shortly.

Related


Environment: Windows 11, Windows Terminal 1.21+

Metadata

Metadata

Assignees

No one assigned

    Labels

    Area-UserInterfaceIssues pertaining to the user interface of the Console or TerminalInclusionBacklogAccessibility trackingInclusionBacklog-Windows TerminalWin32Accessibility trackingIssue-FeatureComplex enough to require an in depth planning process and actual budgeted, scheduled work.Priority-3A description (P3)Product-TerminalThe new Windows Terminal.

    Projects

    Status

    Spec Needed ❓

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions