Skip to content

Set terminal window title using OSC escape sequences - #1431

Open
sim590 wants to merge 2 commits into
jonas:masterfrom
sim590:window-title
Open

Set terminal window title using OSC escape sequences#1431
sim590 wants to merge 2 commits into
jonas:masterfrom
sim590:window-title

Conversation

@sim590

@sim590 sim590 commented Jun 8, 2026

Copy link
Copy Markdown

Closes #1430

Summary

tig does not set the terminal window title, making it hard to distinguish between multiple tig instances in a taskbar or window switcher. This is especially important for tiling window managers and window switchers that rely on the title to let users find windows.

This adds terminal title support using the OSC 0 escape sequence. The title follows the format tig (<repo>): <view> (e.g. tig (linux): main) and updates dynamically as the user switches views.

Details

  • The title is written directly to the tty fd to avoid interfering with ncurses buffering
  • The previous terminal title is saved on startup and restored on exit using the xterm title stack (CSI 22;2 t / CSI 23;2 t)
  • The repo name is derived from the git directory path using realpath()
  • Terminals that do not support these sequences silently ignore them

sim590 added 2 commits June 8, 2026 17:10
Set the terminal window title to "tig (<repo>): <view>" using OSC 0
escape sequences written directly to the tty file descriptor.

The previous title is saved on init and restored on exit using the
xterm title stack (CSI 22;2 t / CSI 23;2 t), which is supported by
most modern terminal emulators.

The repo name is derived from the git directory path by resolving it
with realpath() and extracting the basename of its parent directory.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature request: set terminal window title using OSC escape sequences

1 participant