Browse by type

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.
scrolloff feature.SM ? 2026 / RM ? 2026)SM ? 2028 / RM ? 2028)contour is packaged and available for installation on multiple distributions:
- Fedora use official package
- Arch use official package
- Void use official package
- openSUSE use official package
Additional packages can be found on the release page including: - ubuntu package - AppImage - static build - MacOS bundle - Windows installer and zipped app
Click the following button to install Contour from the Flathub store.
flatpak --version)flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo.In order to configure Contour, it is necessary to modify the configuration file
contour.yml, which is initially generated in the $HOME/.config/contour
directory. Some features also require shell integration. These can be generated
via the CLI (see below), these currently exist for zsh, fish and tcsh.
Contour is best installed from supported package managers, but you can build from source by following the instructions below.
./scripts/install-deps.sh
This script might ask you for the administrator password if a package dependency can be insalled via the system package manager.
You can use cmake presets to compile contour. The full list of available presets can be seen using cmake --list-presets. To compile release build for linux clang-release or gcc-release, or appleclang-release on macOS accordingly.
cmake --preset clang-release
cmake --build --preset clang-release
# Optionally, if you want to install from source
cmake --build --preset clang-release --target install
For Windows, you must have Windows 10, 2018 Fall Creators Update, and Visual Studio 2019, installed. It will neither build nor run on any prior Windows OS, due to libterminal making use of ConPTY API.
On Windows 10, the built-in ConPTY implementation has limitations with mouse input handling, particularly when using WSL2 with terminal applications like tmux. This is a known issue that affects several terminal emulators.
Contour supports using an external conpty.dll implementation which resolves these issues on Windows 10.
To enable external ConPTY:
conpty.dll and OpenConsole.exe files from wezterm:
Go to https://github.com/wez/wezterm/tree/main/assets/windows/conhost and download conpty.dll and OpenConsole.exeStart Contour. It will automatically detect and use the external ConPTY implementation.
Set up vcpkg, preferably somewhere high up in the folder hierarchy, and add the folder to your PATH.
cd C:\
git clone https://github.com/Microsoft/vcpkg.git
.\vcpkg\bootstrap-vcpkg.bat
contour source folder execute .\scripts\install-deps.ps1. This step may take a very long time.In the developer version of Powershell:
# change paths accordingly if you installed QT and vcpkg to somewhere else
cmake -S . -B build -DCMAKE_TOOLCHAIN_FILE=C:\vcpkg\scripts\buildsystems\vcpkg.cmake -DCMAKE_PREFIX_PATH=C:\Qt\6.5.0\msvc2019_64\lib\cmake
cmake --build build/
# Optionally, if you want to install from source
cmake --build build/ --target install
Usage:
contour [terminal] [config FILE] [profile NAME] [debug TAGS] [live-config] [dump-state-at-exit PATH]
[early-exit-threshold UINT] [working-directory DIRECTORY] [class WM_CLASS]
[platform PLATFORM[:OPTIONS]] [session SESSION_ID] [PROGRAM ARGS...]
contour font-locator [config FILE] [profile NAME] [debug TAGS]
contour info vt
contour help
contour version
contour license
contour parser-table
contour list-debug-tags
contour generate terminfo to FILE
contour generate config to FILE
contour generate integration shell SHELL to FILE
contour capture [logical] [words] [timeout SECONDS] [lines COUNT] to FILE
contour set profile [to NAME]
Contour - A modern C++ Terminal Emulator
-------------------------------------------
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
$ claude mcp add contour \
-- python -m otcore.mcp_server <graph>