Contour Terminal Contour Versions Save

Modern C++ Terminal Emulator

v0.4.3.6442

3 months ago
  • Fixes dead lock bug on mouse selection.

This is a hotfix release!

v0.4.2.6429

3 months ago

IMPORTANT

Please download Contour 0.4.3 instead. We've made that hotfix release because this release here sadly contains a deadlock on mouse selection. We apologize.

Changelog

  • Fixes Windows alt/control key modifiers (#1408).
  • Fixes Windows built accidentally not including builtin-SSH support (#1427).
  • Fixes some text run segmentation problems, e.g., not making use of some programming ligatures (#395).
  • Fixes mouse scroll wheel events going into the wrong direction if Alt modifier was pressed at the same time (#394).
  • Fixes scripts/install-deps.sh for openSuSE (Tumbleweed) to install the correct dependencies.
  • Fixes missing dependencies for release .deb packages (#1397).
  • Fixes legacy keyboard input protocol not reporting non-Alt modifier (#1411).
  • Fixes thread safety issue on mouse move event handling (#1444).
  • Digitally sign MacOS release binaries using a valid Apple ID.
  • Add support for authenticating to SSH servers with a private key without a password and without requesting for one - also allow password retry (#1425).
  • Default history limit is now 1000 lines rather than 0 lines (#1424).

New Contributors

Full Changelog: https://github.com/contour-terminal/contour/compare/v0.4.1.6292...v0.4.2.6429

v0.4.1.6292

4 months ago
  • Fixes fast scrolling when using trackpad (#1360)
  • Fixes variable fonts loading
  • Fixes Command modifier for input mappings, such as Command+C or Command+V on on MacOS (#1379).
  • Fixes CSIu encoding of shift modifier produced characters (#1373).
  • Fixes screen destruction on sibling cells when overwriting wide characters, such as Emoji, Kanji, etc.
  • Changes VT sequence DECSCUSR (CSI ? 0 SP q and CSI ? SP q) to reset to user-configured cursor style (#1377).
  • Remove contour-latest terminfo file. Please use contour terminfo instead.
  • Adds Command as modifier to input mappings on MacOS to work along with Meta for convenience reasons (#1379).
  • Adds config option profiles.*.margins to allow customizing the horizontal / vertical margins (#1384).
  • Adds config option for colorscheme default.bright_foreground and default.dimmed_foreground to configure bright and dimmed default foreground text respectively (#1383).

v0.4.0.6245

4 months ago
  • Fixes GUI terminating on idle input in some conditions.
  • Fixes search term rendering highlighting for search terms containing whitespaces (#966).
  • Fixes rendering in cases of glyphs with inverted orientation (#1115).
  • Fixes Emoji rendering being too small on OS/X (#1215)
  • Fixes config option show_title_bar (#1153)
  • Fixes VT sequence DECSTBM and DECSLRM defaulting parameters (#1164).
  • Fixes VT sequence DECFRA (#1189).
  • Fixes VT sequence DECSCPP and DECCOLM (#1205).
  • Fixes VT sequence DECALN to properly reset margins when statusline is shown
  • Fixes VT sequence ED (CSI J) when statusline is shown.
  • Fixes VT sequence SM ?1003 (Any Event mouse tracking) not reporting mouse move events.
  • Fixes VT sequence XTWINOPS (CSI 22 t and CSI 23 t) to not assert and terminate the terminal but default to missing paramter 0 instead (#1369).
  • Fixes VT sequences CUU/CUD/CUF/CUB to better respect margins (#1201)
  • Fixes printing over 2nd cell of a wide character should delete wide character (#1268)
  • Fixes URI re-encoding of local files in OSC 8 (#1199)
  • Fixes LCD subpixel rendering for overly wide US-ASCII glyphs (#1022)
  • Fixes alive process when GUI is closed
  • Fixes vi mode f action freeze on last line
  • Fixes AltGr handling on Windows (#150)
  • Fixes rarely happening bad access to GPU texture atlas (#1309)
  • Fixes terminal session not being terminated when the process terminated, but the PTY handle was still open (e.g. by other processes).
  • Fixes setting window class (app_id) on Wayland (#1336)
  • Fixes screen margins not being shared across primary and alt screen, as it should be.
  • Do not clear search term when entering search editor again.
  • Clear search term when switch to insert vi mode (#1135)
  • Delete dpi_scale entry in configuration (#1137)
  • Removes the ability to inline colorschemes within a configuration profile. Colorschemes must now always be referenced by their name.
  • Moves the vi-like cursor with the viewport when scrolling up/down.
  • Adds normal mode motion Ctrl+e and Ctrl+y to vertically move the viewport.
  • Adds the ability to chose a color scheme based on the operating systems's dark/light mode setting. This will change live whenever the OS's dark/light mode setting changes as well (#604).
  • Adds VT sequence DECSSCLS (change scroll speed) and properly handle DECSCLM (enable slow scrolling mode) (#1204)
  • Adds VT sequence parameter ?996 to DSR to request a report of current color scheme dark/light mode hint.
  • Adds VT sequence SM ?2031 and RM ?2031 to enable/disable unsolicited DSR for color scheme updates by the user or OS.
  • Adds support the extended CSIu keyboard protocol to better report key modifiers.
  • Adds extended keyboard protocol support (CSI u) to better report key modifiers.
  • Adds support vor horizontal mouse scrolling event reporting sequences.
  • Adds percentage value to Indicator Statusline to indicate scroll offset in scrollback buffer.
  • Adds inheritance of profiles in configuration file based on default profile (#1063).
  • Adds config option profiles.*.bell to adjust BEL behavior (#1348) and fixes (#1162) and (#1163).
  • Adds config option profiles.*.frozen_dec_modes to permanently enable/disable certain DEC modes.
  • Adds config option profiles.*.option_as_meta to allow remapping Option key to Alt on MacOS.
  • Adds config option profiles.*.ssh to allow connecting to an SSH server directly from Contour.
  • Adds capital A and I keys to switch from normal mode back to insert mode, too.
  • Adds size indicator window on resize (#1203).
  • Adds config entry profile.*.size_indicator_on_resize to control size indicator on resize and makes resize indicator small.
  • Adds OpenSelection action, and honor case in the configuration bindings
  • Adds open resource (URL, local file) feature also to vi mode.
  • Adds configurable window alerts on terminal bells.

v0.3.12.262

11 months ago
  • Fixes terminfo tsl to how todays apps are using it (e.g. zsh) to simply set the window title.
  • Fixes selecting a single character not working easily (#1066).
  • Fixes cycling between different selection modes (by speed-clicking) not properly working.
  • Fixes tcsh shell integration not working (#1074).
  • Fixes [count]w ignoring the [count] parameter in modal mode.
  • Fixes statusline being misplaced after resize when being in alt screen (#1091).
  • Fixes hyperlinks with IDs (#1088)
  • Fixes hyperlink highlight when screen has been scrolled (#1084)
  • Fixes cursor shape changes when entering vi-like normal mode or visual mode.
  • Improves mouse selection to be more natural extending into new grid cells.
  • Modal mode: Improves how [m jumps from the current prompt to the next prompt above it.
  • Adds profiles.*.permissions.display_host_writable_statusline to allow the user to intervene in DECSSDT 2 VT sequence to show the host writable statusline.
  • Adds config entry input_method_editor colorscheme key to allow customization of the IME (input method editor) region (#1058).
  • Adds gui.shader log option for the output of shader configuration procedure (#715).
  • Adds config entry profiles.*.status_line.position to change statusline position to be either bottom (default) or top.
  • Adds config entry profiles.*.status_line.sync_to_window_title to synchronize the window title with the host writable statusline (if it was denied to be shown).
  • Linux: Adds support for writing to utmp/wtmp.
  • Extends ViNormalMode to toggle between insert and normal mode rather than just entering normal mode.
  • Modal mode: Adds Return key to also move the cursor down (like vim).
  • Model mode: Adds text object im and am to select the range between two line marks.
  • Model mode: Adds handling of Home and End keys (#1098).

v0.3.11.258

1 year ago
  • Fixes normal mode motion J and K that got accidentally unimplemented and make it also available to visual mode.
  • Fixes use of config bypass_mouse_protocol_modifier that was ignored.
  • Fixes abnormal termination on incomplete foreground/background color-pair specification.
  • Fixes SendChars input acion to actually send the chars as-is to the standard input of the connected application.
  • Fixes mouse selection to only be initiated if actually meant to, i.e. in alt screen mode only if bypass-modifier was pressed (#1017).
  • Fixes mouse selection within scrolloff setting to not cause the viewport to jump anymore (#1019).
  • Fixes rendering sixel image when status line is active (#1050).
  • Fixes scroll up when infinte history limit is set
  • Adds normal mode motion [[, ]], [], ][ mimmicking exactly what vim does.
  • Adds normal mode motion [m and ]m to jump line marks up/down.
  • Adds normal mode motion mm to toggle the line mark at the current active cursor position.
  • Adds normal mode motion t{char}, T{char}, f{char}, F{char}, ;, , to move cursor in line till before/after or to given {char}.
  • Adds config entry vi_mode_highlight to color palette to highlight current cursor's line when not in insert mode (aka. in Vi-mode).
  • Adds shell integration for fish shell.
  • Adds shell integration for tcsh shell.
  • Improve performance of parsing UTF-8 text on ARM64 platfroms through the use SIMD instructions.
  • Contour can now run on platforms not supporting hardware crypto extension for ARM64 nor AES-NI for x86-64. Hardware acceleration support can be configured to be included at compile time.

v0.3.10.257

1 year ago
  • Fixes initial_working_directory setting being ignored (#946).
  • Fixes background image being accidentally inverted (Bug introduced in 0.3.3.204).
  • Fixes crash in some corner cases of too small fonts (#949).
  • Fixes linefeed not inheriting graphics attributes when scrolling up to create a new line (#945).
  • Fixes normal mode's motion [count]| that was off by one.
  • Fixes switching to normal mode sometimes placing the vi cursor wrong.
  • Fixes vi-like normal mode's word motions w, e, and b to better emulate vim's behaviour.
  • Fixes copying text to clipboard stripping TAB-character generated spaces (#982).
  • Fixes BEL's audio feedback not working on some platform by streamlineing the behaviour with a custom bell sound.
  • Adds new config option word_highlight_current and word_highlight_other to better distinguish between double-click initiated word highlights and actual searches / selections.
  • Adds trace mode to single-step through each VT sequence. New actions: TraceEnter, TraceLeave, TraceStep, TraceBreakAtEmptyQueue and new mode flag Trace.
  • Adds implementation for SO and SI control codes.
  • Adds ability to explicitly disable a font feature by prefixing the feature with a -, such as -calt, explicitly enabling via + prefix was added as well.
  • Adds terminal capability hs and es to improve status-line feature detection via terminfo.
  • Adds normal mode motion: B, B, E.
  • Adds support for mouse in normal mode for selection and normal-mode's cursor placement.
  • Changes terminfo entries tsl, fsl and dsl to make use of the host-writable statusline.
  • Improvements to text objects in vi-like normal mode (i), a), i>, a>, i], a], i}, a}).
  • Improvements to vi-like normal mode: yank-motions (yw, y$, etc).
  • Improvements to vi-like normal mode: support nested matching pairs, such as {, ( etc in text objects.
  • Improvements to vi-like normal mode: Add % motion to jump to matching symbol pairs.
  • Improvements to vi-like normal mode: Add M motion to jump to middle screen line (same column).
  • Improvements to vi-like normal mode: Add P to paste the clipboard with newlines stripped.
  • Improvements to vi-like normal mode: Add SP and BS to move left/right.

v0.3.9.250

1 year ago
  • Fixes statusline clock to show the correct local time.
  • Fixes running within OpenGL/ES context.
  • Fixes failing startup due to background_image.path pointing to a non-existing file (#928).
  • Fixes terminfo entries Se, and adds missing entries Rmol, Sync (#936).
  • Fixes rendering glitches (reverting PR #918 until a better solution has been found).
  • Fixes loading TTC (TrueType Collection) font files not honor which face to load within the collection (#939).
  • Adds config entry indicator_statusline_inactive colorscheme key to colorize the status line differently when the terminal is currently not in focus.

v0.3.8.247

1 year ago
  • Fixes restoring the cursor visibility after leaving alternate screen when application wasn't restoring mode switches in reverse order.
  • Fixes country flags rendering due to misleading grapheme cluster segmentation in corner cases.
  • Fixes mouse reporting in primary screen when viewport has been scrolled into the scrollback area.
  • Fixes VT sequence DECSTR (soft reset) to not move the cursor to home position.
  • Fixes cursor movements for the vi-like cursor (normal mode).
  • Fixes Alt+Backspace on OS/X.
  • Fixes default config entry profiles.*.draw_bold_text_with_bright_colors (it was renamed from profiles.*.bold_is_bright). Please rename this in your existing configuration if not done yet.
  • Fixes sometimes rendering two cursors when statusline is shown.
  • Fixes normal mode's page top (S-H)/ page bottom (S-L) cursor movements to respect scroll offset.
  • Fixes VT sequences RIS and action ClearHistoryAndReset when statusline is shown.
  • Fixes cursor going beyond the terminal screnn in vim mode, move right motion (#917).
  • Fixes selection while statusline is shown. (#910)
  • Improves hard-reset (RIS) to restore initial statusline state.
  • Improves $ motion in vi-like normal mode to point to the last non-empty grid cell in the current line instead of the right page margin.
  • Vi Mode search can handle line wrapping and searchText larger than line length (#869) (#870).
  • Adds ability to highlight same words on double click via profile.*.highlight_word_and_matches_on_double_click.
  • Adds color scheme key indicator_statusline.foreground and indicator_statusline.background to customize indicator statusline colors.
  • Adds clock to indicator status line.
  • Adds current viewport position in scrollback buffer to indicator status line.
  • Adds optional parameter strip to PasteClipboard configuration action to allow stripping newlines and normalizing whitespaces.
  • EXPERIMENTAL: Adds VT extension to enable passive mouse tracking via CSI ? 2029 h / CSI ? 2029 l. Passive mouse tracking enables the application to get notified on mouse events while still allowing mouse selection.
  • EXPERIMENTAL: Adds VT extension to enable text selection tracking via CSI ? 2030 h / CSI ? 2030 l.

v0.3.7.245

1 year ago
  • Fixes display of non-insert mode (vi-like) cursor on monochrome lines.
  • Fixes cursor movements on wide characters for the vi-like cursor.
  • Fixes TERM value resolving in Flatpak environment when not escaping the sandbox.