Skip to content

Releases: contour-terminal/contour

contour 0.3.8.247

18 Dec 18:43
Compare
Choose a tag to compare
  • 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.

contour 0.3.7.245

01 Nov 07:09
Compare
Choose a tag to compare
  • 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.

contour 0.3.6.240

30 Oct 22:22
Compare
Choose a tag to compare
  • Fixes ground-state infinite loop in corner case + refactor and tiny optimization.
  • Fixes assertion in optimized bulk text processing.
  • Fixes rare displacement of characters following a wide character (e.g. Emoji) in some cases.
  • Fixes IME (input method editor) background rendering for wide characters (e.g. Kanji).
  • Fixes escape_sandbox config option that wasn't set to true by default as documented.
  • Improve throughput performance for scroll-up when custom vertical margins are in effect.
  • Improve rendering performance slightly for so called trivial lines.
  • Adds menu entry to Dolphin file manager (KDE Plasma) to open Contour at current working directory.

contour 0.3.5.238

21 Oct 19:38
Compare
Choose a tag to compare
  • Fixes a problem with oversized glyphs being wrongly cut off (#821).
  • Fixes Sixel handling of non-standard aspect ratio (#827).
  • Fixes Sixel mode, when updating the color palette with a new color, that color must also be used for subsequent paints.
  • Fixes vertical cursor movement for Sixel graphics with only newlines (#822).
  • Fixes Sixel rendering for images with aspect ratios other than 1:1.
  • Fixes Sixel rendering for images that show below but should be rendered above text (#831).
  • Fixes cursor highlight in VI mode
  • Removes images.sixel_cursor_conformance config option.
  • Adds VT sequence DECSCA, DECSEL, DECSED and DECSERA to support protected grid areas during erase operations (#29, #30, #31).
  • Improve Input Method (IME) handling, visualizing preedit-text.
  • Improve throughput performance of arbitrary complex Unicode.
  • Update Unicode data to version 15.0.0 (release). See Announcing The Unicode® Standard, Version 15.0.0.

contour 0.3.4.223

14 Sep 15:25
Compare
Choose a tag to compare
  • Fixes selection magically deselecting when indicator status line was shown and the top page line was selected.
  • Fixes interpretation of VT sequence DECSDM to disable Sixel auto-scrolling, if enabled.
  • Fixes visibility of the cursor in some situation when blending too much into the background color.
  • Fixes dim/faint coloring to not affect background and default text coloring when feint SGR attribute is set (#786).
  • Fixes SGR 9 (crossed out) and 53 (overline) to both look like underline.
  • Fixes size of drawn sixel image if no size is given beforehand (#809).
  • Fixes glyph rendering for some unexpectly oversized glyphs (#423).
  • Adds line#24 to terminfo file for backwards compatibility.
  • Adds configuration key live_config to determine whether or not to reload running terminal instances on every config file change.
  • Adds DEC-mode 2027 for enabling/discovering Unicode support as per draft specification (Terminal Unicode Core).
  • Adds CreateDebugDump action to dump terminal state for debugging purposes.
  • [Flatpak] Adds configuration key profiles.*.escape_sandbox to decide whether or not to escape the sandbox.
  • [Packaging] Adding AppImage files to Github release page and CI artifacts and bump Ubuntu packages using Ubuntu 22.04 LTS
  • [Linux] Changes context menu icon for "Run in Contour" action to be the Contour logo.
  • Improve startup-time by not pre-rasterizing all printable US-ASCII codepoints at once.

contour 0.3.3.204

31 Aug 07:12
Compare
Choose a tag to compare
  • Fixes a screen buffer manipulation bug that may happen on non-stylyzed but interactive command prompts (#787).
  • Fixes viewport misalignment when in scrollback area white new lines are being added to the main page area.
  • Fixes logging file toggle.
  • Adds VT sequence CSI 5m (blink) and CSI 6m (rapid blink).
  • Adds vim-like scrolloff feature to normal mode cursor movements to ensure a line padding when scrolling up/down.
  • Adds vim-like incremental search functionality with realtime highlighting and cycling through the matches.
  • Adds ability to initiate search via configuration action SearchReverse in input mappings.
  • Adds ability to cancel highlighted search terms via configuration action NoSearchHighlight in input mappings.
  • Adds input mapping mode Search to conditionally enable input mapping when a search term is present.
  • Adds support for HSL colorspace in Sixel images.
  • Adds configuration key colorscheme.*.search_highlight for coloring search matches.
  • Adds configuration key colorscheme.*.search_highlight_focused for coloring the active search match, containing the cursor.
  • Adds alpha value to colorscheme.*.vi_mode_highlight color configuration.
  • Adds VT sequence for ANSI mode NLM (NewLine Mode).
  • Always show indicator status line when ANSI mode KAM is enabled (which can be toggled via action ToggleInputProtection).
  • Always show indicator status line when in non-insert mode.
  • [Linux] Changes the .desktop file name and icon file name to conform to the flatpak recommendations.
  • [Linux] Provide an AppStream XML file.
  • [Linux] Drop KDE/KWin dependency on the binary by implementing enabling blur-behind background manually.
  • [Linux] Adds support for blur-behind window on GNOME shell.
  • [Flatpak] Also pass stdout-fastpipe (3) to shell.
  • [Flatpak] Do not set controlling terminal in order to allow TTY abilities like Ctrl+C. This seems to be a known bug in flatpak.
  • [Flatpak] Exposes TERMINFO environment variable pointing to a valid path containing the contour terminfo file.
  • Changes behavior of PTY (and shell process) creation until only when a PTY is required by the terminal emulator during instanciation, possibly avoiding problems with xdotool running too early.
  • Internal: Y-axis inverted to match GUI coordinate systems where (0, 0) is top left rather than bottom left.

contour 0.3.2.202

07 Jul 15:43
Compare
Choose a tag to compare
  • Fixes writing to a non-empty line sometimes destroying the contents of that line (#702).
  • Fixes underline decoration for wide character cells.
  • Fixes SGR 8 (Conceal/Hidden) attribute doesn't work as expected (#699).
  • Fixes Synchronized Updates (SM/RM ? 2026) sometimes lagging behind in rendering.
  • Fixes SGR and text breakage when altering charsets via ESC ( 0 VT sequence (#661).
  • Fixes SEGV when closing the terminal via GUI close button.
  • Fixes scrolling in alt-screen.
  • Fixes VT sequence for setting indexed color from palette.
  • Fixes some config false positives error messages.
  • Fixes command line arguments parser handling of -- for switching to verbatim mode (#670).
  • Fixes rendering of U+E0B2  in pixel-perfect box drawing mode (#707).
  • Fixes rendering of cursor sometimes being almost invisible when foreground and background colors are similar/equal (#691).
  • Fixes line based selection sometimes not selecting the full line when wrapped over multiple lines.
  • Fixes warning message on terminal's console output when enabling blurred background images.
  • Fixes Win32 command output: Attaches to parent console if present, so typing contour help in a terminal actually shows something.
  • Changes XTSMGRAPHICS to match implementation of xterm exactly when querying sixel image limits, to be capped at terminal viewport dimensions (#656).
  • Changes CLI syntax for contour parser-table to contour generate parser-table.
  • Implements UTF-8 encoded mouse transport (CSI ? 1005 h)
  • Improved vi-like input modes.
    • Fixed the text cursor not being visible during selection.
    • Don't leak but actually support cursor keys up/down/left/right/page-up/page-down.
    • Added vip, vap (and yip / yap) motions.
    • Adds ^ motion.
    • When being in normal mode, pressing a also puts you back to insert mode.
    • Properly show cursor if it was hidden in insert mode and restore visibility & shape when going back to insert mode.
    • <S-K> and <S-J> don't just move the cursor up/down but also move the terminal's viewport respectively (inspired by tmux).
    • <S-H> and <S-L> to move cursor to the current viewport's page top/bottom (inspired by tmux).
    • and more...
  • Adds new config option profile.*.vi_mode_highlight_timeout and colorscheme.*.vi_mode_highlight and adds cell highlighting on yank (#669).
  • Adds support for running on ARMv8 platform with crypto extensions (#611).
  • Adds back support OpenGL ES (3.1).
  • Adds E3 capability, so clear now defaults to clearing screen and scrollback (#693).
  • Adds specialized PTY implementation for Linux operating system utilizing OS-specific kernel APIs.
  • Adds basic support for Indicator status line and their VT sequences DECSASD and DECSSDT, and DECRQSS has been adapted (#687).
  • Adds configuration option profiles.*.status_line.display to be either none or indicator to reflect the initial state of the status line (more customizability of the Indicator status-line will come in future releases).
  • Adds new action ToggleInputProtection to protect terminal application against accidental input (#697).
  • Adds configuration options logging.enabled as well as logging.file.
  • Adds VT sequences XTPUSHCOLORS, XTPOPCOLORS, XTREPORTCOLORS (#714).
  • Adds CLI syntax contour info vt to print list of supported VT sequences (#730).
  • Adds VT sequence DECPS (#237).
  • Adds new config option colorscheme.selection.foreground_alpha and colorscheme.selection.background_alpha to enable somewhat more eye-candy visual looks on text selection.
  • Extends config option colorscheme.selection.foreground and colorscheme.selection.background to also accept CellForeground and CellBackground as value.

contour 0.3.1.200

01 May 19:35
Compare
Choose a tag to compare

TL;DR This release is important as it's fixing some rendering bug. Most proudly however is to be presented the introduction of different vi-like input modes, that can be used to quickly copy'n'paste and move around in the grid buffer using the well known vi motions.

  • Adds Vi-like input modes for improved selection and copy'n'paste experience.
  • Adds contour executable to search path for spawned shell process on OS/X and Windows.
  • Adds customizability to dim colors (#664).
  • Adds the profile configuration option: draw_bold_text_with_bright_colors.
  • Fixes CSI K accidentally removing line flags, e.g. line marks (#658).
  • Fixes wrong-spacing rendering bug on some lines.
  • Fixes assertion on font resize when a (Sixel) image is currently being rendered (#642).
  • Fixes assertion on too quick shell terminations (#647).
  • Fixes fallback shell execution on UNIX-like systems when the reuqested shell cannot be spawned (#647).
  • Fixes selection being wrongly rendered when viewport is scrolled (#641).
  • Fixes full-line selection not properly injecting linefeeds between the lines.
  • Changes behaviour of full-line selection to include a trailing linefeed for the last line (#641).
  • Changes behaviour of bold text to by rendered using normal colors by default (was forced to bright before, and is now configurable via draw_bold_text_with_bright_colors).

contour 0.3.0.198

18 Apr 16:33
Compare
Choose a tag to compare

TL;DR Many thanks to all for the great support and feedback. This release
marks a huge milestone for me especially with regards to VT backend performance(!),
improved rendering architecture, and a more complete list of pixel perfect box drawings.

  • Fixes installation from .deb (missing terminfo dependency)
  • Fixes PTY write race condition.
  • Fixes VT sequence DECFI.
  • Fixes VT sequence ICH (#559).
  • Fixes VT sequence OSC 4's response.
  • Fixes VT sequence OESC 4 to also support setting color via #RRGGBB.
  • Fixes VT sequence extension: capture buffer (#493).
  • Fixes DECRC with respect to DECSTBM enabled and DECOM being inverted interpreted.
  • Fixes XTGETTCAP (#582).
  • Fixes SU in combination with DECLRM (#593).
  • Fixes an assertion in text renderer.
  • Fixes wrongly advertising DEC locator mode (it is not supported).
  • Improved VT backend performance (#342).
  • Improved text selection behaviour.
  • Improved detection of runtime DPI changes for KDE (Plasma) desktop environment.
  • Improves Window manipulation VT sequence for saving/restoring window title (CSI 22 ; Ps t, CSI 23 ; Ps t)
  • Adds pixel-perfect box-drawing for U+EE00 .. U+EE05 for progress bar glyphs as first introduced by Fira Code (#521).
  • Adds pixel-perfect box-drawing for U+E0B0, U+E0B2, U+E0BA (Triangle Powerline glyphs).
  • Adds preliminary implementation of DA3 VT sequence.
  • Adds new configuration option mouse_block_selection_modifier.
  • Adds new configuration option profiles.*.copy_last_mark_range_offset (default 0) to adjust where to start looking upwards for the CopyPreviousMarkRange action. This is useful for multi-line prompts.
  • Adds new configuration option platform_plugin.
  • Adds new configuration option renderer.backend for explicitly setting renderer to one of: OpenGL, software, default.
  • Adds new configuration option renderer.tile_hashtable_slots to configure texture atlas hashtable capacity.
  • Adds new configuration option renderer.tile_cache_count to configure texture atlas cache capacity.
  • Adds new configuration option renderer.tile_direct_mapping to enable/disalbe texture atlas direct mapping.
  • Adds new colorscheme setting background_image.path and background_image.opacity to optionally render a terminal background image.
  • Adds stdout-fastpipe support on new shell file descriptor 3 and exposing availability via environment variable STDOUT_FASTPIPE (with value 3). When writing to this file descriptor rather than to stdout (file descriptor 1), the full performance of Contour can be explored.
  • Adds new configuration option pty_buffer_size for tweaking the new size in bytes for the PTY buffer objects.
  • Adds mock font locator (mostly interesting for advanced use for CI testing).
  • Adds VT sequence SM ? 8452 h / RM ? 8452 l for enabling/disabling sixel cursor placement conformance (xterm extension).
  • Adds SGR-Pixels support, VT sequence SM ? 1016 h / RM ? 1016 l (#574).
  • Adds VT sequence DECCARA, Change Attributes in Rectangular Area, with the extension that it applies to all SGR attributes. (#15).

contour 0.2.3.183

08 Jan 23:21
Compare
Choose a tag to compare

Important: It is recommended to also use the latest contour termcap file if you are already using one
from a previous release.

  • Fixes installation from .deb (missing terminfo dependency)
  • Fixes Sixel image rendering when scrolling is needed and ANSI cursor is not on left margin.
  • Fixes Qt-related CLI options that that were largely ignored.
  • Fixes crash caused by VT sequence PM and SOS (#513).
  • Fixes parsing VT sequence RGB color parsing for cell decoratioins (e.g. underline).
  • Fixes double-underline to not look like a very thick line on small font sizes.
  • Applies antialiasing to curly underline.
  • Changes contour exit code to reflect the shell's exit code of the last closed window.
  • Improves text cursor rendering and extends cursor configuration accordingly (#526).
  • Improves visual appearance of dotted underline SGR.
  • Adds CLI option terminal early-exit-threshold SECS (defaulting to 6) to only report and wait if the process did exit below this threshold seconds.
  • Adds CLI option terminal dump-state-at-exit to auto-dump internal state at exit.
  • Adds support for CoreText for matching font descriptions and font fallback (#479).
  • Adds support for font feature settings. This is currently only implemented for openshaper, not yet for dwrite (#520).
  • Adds pixel-perfect box-drawing for U+E0B4, U+E0B6, U+E0BC, U+E0BE (some Powerline extended codepoints).