Releases: contour-terminal/contour
Releases · contour-terminal/contour
contour 0.3.8.247
- 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 fromprofiles.*.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 actionClearHistoryAndReset
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
andindicator_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
- 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
- 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 totrue
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
- 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
- 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
- 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) andCSI 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
- 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
tocontour 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
(andyip
/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
andcolorscheme.*.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
andDECSSDT
, andDECRQSS
has been adapted (#687). - Adds configuration option
profiles.*.status_line.display
to be eithernone
orindicator
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 aslogging.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
andcolorscheme.selection.background_alpha
to enable somewhat more eye-candy visual looks on text selection. - Extends config option
colorscheme.selection.foreground
andcolorscheme.selection.background
to also acceptCellForeground
andCellBackground
as value.
contour 0.3.1.200
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
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 toDECSTBM
enabled andDECOM
being inverted interpreted. - Fixes
XTGETTCAP
(#582). - Fixes
SU
in combination withDECLRM
(#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
(default0
) to adjust where to start looking upwards for theCopyPreviousMarkRange
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
andbackground_image.opacity
to optionally render a terminal background image. - Adds stdout-fastpipe support on new shell file descriptor
3
and exposing availability via environment variableSTDOUT_FASTPIPE
(with value3
). When writing to this file descriptor rather than to stdout (file descriptor1
), 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
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 fordwrite
(#520). - Adds pixel-perfect box-drawing for U+E0B4, U+E0B6, U+E0BC, U+E0BE (some Powerline extended codepoints).