Contour

Contour Terminal Emulator · contour-terminal.Contour

Modern C++ Terminal Emulator

Contour is a modern and actually fast, modal, virtual terminal emulator, for everyday use. It is aiming for power users with a modern feature mindset.

winget install --id contour-terminal.Contour --exact --source winget

Latest 0.6.3.8249

Release Notes

Dear package maintainerss We've bumped the libunicode dependency to version 0.9.0: https://github.com/contour-terminal/libunicode/releases/tag/v0.9.0 Dear macOS users I find it incredibly hard to package for macOS these days. The project perfectly compiles and runs self built on macOS, but packages build automatically won't. I am still looking into solving this issue. However, if you are one of those guys wanting to help us getting Contour back on track for macOS, we very much welcome contributions, specifically for macOS and the project in general. Now let's continue with the regular release notes list: Release Notes

  • Adds hint mode for keyboard-driven selection of URLs, file paths, git hashes, and IP addresses with configurable actions (Copy, Open, Paste, Select), activatable via key binding or Vi normal mode (gh/gH)
  • Adds auto-scroll when dragging selection past window edges, and Shift+Click to extend existing selections (#1911)
  • Adds pixel-based smooth scrolling via smooth_scrolling profile setting, supporting trackpad pixel deltas, mouse wheel, and keyboard scroll actions
  • Adds natural momentum scrolling for touchpad gestures with configurable falloff via momentum_scrolling profile setting
  • Adds kitty's unscroll extension (CSI n + T) to restore scrolled-off content from scrollback history
  • Adds snap-to-grid window resizing via WM size-increment hints (X11/macOS) and client-side snapping (Wayland, where xdg-shell has no size-increment hint)
  • Adds environment variable expansion (${VAR_NAME} syntax) in configuration file paths for cross-platform config reuse (#1278)
  • Adds configurable font fallback limit (max_fallback_count) with on-demand loading and persistent locate cache for faster font resolution
  • Adds animated cursor movement between grid cells with ease-out interpolation via cursor_motion_animation_duration profile setting
  • Adds configurable crossfade transition between primary and alternate screens via screen_transition and screen_transition_duration profile settings
  • Replaces abrupt cell blink toggle with configurable smooth pulse animation via blink_style profile setting (classic/smooth/linger)
  • Adds configurable text outline rendering to improve glyph readability on transparent or low-opacity backgrounds (#1895)
  • Adds pixel-perfect builtin rendering for mathematical bracket and symbol characters (U+239B–U+23B3), including parenthesis pieces, curly bracket pieces, integral extensions, horizontal line extension, bracket sections, and summation symbols
  • Adds pixel-perfect builtin rendering for shade characters (U+2591–U+2593): light shade, medium shade, and dark shade
  • Adds Kitty OSC 99 desktop notification protocol with D-Bus backend on Linux, supporting structured metadata, chunked payloads, base64 encoding, urgency levels, display occasion filtering, bidirectional close/activation events, and query/alive responses
  • Adds DEC VT420 multi-page support with 16 pages, navigable via NP (CSI Pn U), PP (CSI Pn V), PPA (CSI Pn SP P), PPR (CSI Pn SP Q), and PPB (CSI Pn SP R) sequences
  • Adds DECPCCM (DEC mode 64) page cursor coupling mode to control whether the displayed page follows the cursor page
  • Adds DECRQDE (CSI " v) display extent report for querying page dimensions and current page number
  • Adds cross-page DECCRA (Copy Rectangular Area) support for copying cell content and attributes between pages
  • Adds complete DECCIR (Cursor Information Report) response including character set designations, GL/GR mappings, and wrap-pending state (#97)
  • Adds DECNKM (DEC mode 66, VT320) to toggle numeric keypad between application and numeric mode via CSI ? 66 h / CSI ? 66 l
  • Adds DECARM (DEC mode 8, VT100) to enable/disable keyboard auto-repeat via CSI ? 8 h / CSI ? 8 l
  • Adds DECBKM (DEC mode 67, VT340) to toggle Backspace key between BS (0x08) and DEL (0x7F) via CSI ? 67 h / CSI ? 67 l
  • Fixes crash when rendering oversized non-RGBA glyphs (e.g. Nerd Font icons in JetBrainsMono) by extending glyph scaling to all bitmap formats (#1893)
  • Fixes keyboard input being swallowed in programs like less and bat due to empty-string terminfo capabilities (#1861)
  • Fixes ESC key not being sent to the application when CancelSelection input mapping has no mode restriction (#1839)
  • Fixes F3 key not reaching PTY applications when a keybinding matches but its action does not execute, by falling through to the terminal instead of silently consuming the key event
  • Fixes F3/Shift+F3 search navigation keybindings firing in any mode instead of only when Search mode is active
  • Fixes numpad keys not producing digits when NumLock is ON, especially on Wayland where native modifier detection is unreliable (#1901)
  • Fixes modifier-only key presses (Shift, Ctrl, Alt, etc.) incorrectly scrolling the viewport to the bottom when Kitty keyboard protocol ReportAllKeysAsEscapeCodes is enabled
  • Fixes Home/End key encoding in Kitty keyboard protocol (extended keyboard input generator)
  • Fixes Kitty keyboard protocol: F1-F4 CSI u key codes, legacy F1-F4 modifier encoding, CSI u gating for ReportEventTypes and ReportAllKeys flags, lock modifier handling, and Press event type suppression
  • Fixes Kitty keyboard protocol: proper CapsLock/NumLock modifier reporting, correct modifier encoding per spec, and Unicode case folding for non-ASCII characters
  • Fixes tab characters (HT) intermittently lost in terminal output due to bulk text parser skipping trailing C0 controls and tab cursor movement not filling intermediate cells with spaces (#1876)
  • Fixes text rendering artifacts and corruption when rapidly outputting content
  • Fixes garbled or missing characters when displaying Unicode text
  • Fixes REP (repeat character) VT sequence being silently discarded when preceded by text processed via the parser's bulk text fast path, causing visual gaps in ncurses applications like htop
  • Fixes glyph scaling and vertical centering of colored emoji
  • Fixes Sixel images not rendering on non-first tabs
  • Fixes selective erase (DECSED/DECSEL) incorrectly erasing the cursor line instead of the target line when erasing lines without protected characters (#28)
  • Fixes Insert Replace Mode (IRM, CSI 4 h) not shifting text right on character insertion (#1877)
  • Fixes DECXCPR (Extended Cursor Position Report) to report the correct page number instead of hardcoded page 1
  • Fixes terminal shrinking/growing on tab switch when status line is displayed
  • Fixes WINDOWMANIP cell-based resize (CSI 8;rows;cols t) gaining columns at non-integer content scale
  • Fixes initial terminal window size being wrong at fractional DPR (e.g. 127×29 instead of configured 130×30 at 150% scaling on Wayland, #1858)
  • Fixes initial font sizing at fractional DPR on Wayland by preferring screen DPR over window DPR
  • Fixes ~2s startup delay caused by synchronous Qt multimedia driver probing by deferring audio initialization to a background thread
  • Fixes build failure on Alpine Linux (musl libc) due to missing close_range() function (#1879)
  • Fixes third-party dependency files (headers, libraries) leaking into install tree (#1788)
  • Fixes size of the window when using tiling WM (#1908)
  • Fixes missing kitty keyboard protocol release events (#1924)
  • Fixes terminfo colors capability (32767 → 256) so Midnight Commander and other S-Lang applications correctly detect 256-color support

Installer types: zip , wix

Architecture Scope Type Download SHA256
x64 zip Download 2F18D6304EC643282DF62FBDC9D4391B364E03B94D5582A2E82F3FE0EA506515
x64 machine wix Download 5C8B55C5580A3E263C971C6A9A3CED35014D94B210305A8CB5099177FB89E6A0

Details

Homepage
https://github.com/contour-terminal/contour
License
Apache-2.0
Publisher
Contour Terminal Emulator
Support
https://github.com/contour-terminal/contour/issues

Tags

consoleemojigrapheme-clusterhacktoberfestlibrarylinuxsixel-graphicsterminalterminal-emulatorsunicodeunicode-supportvtewindows-terminalxterm

Older versions (2)

0.6.2.8008
Architecture Scope Type Download SHA256
x64 zip Download 4D735187C5A98692F7058BA70F101A0EEFB9CDE4A24AB74BFF2E44055EAF30F4
x64 machine wix Download 8D204AF14BA7B1B4487C1C8743705A0BA29B0B325EAB66A803272D46B3322833
0.6.1.7494
Architecture Scope Download SHA256
x64 Download A92250F71BAAF013D61EFC84AA25EDA3E38F92FA3DCAF4B8009A5659F93DAAD3