contour 0.2.0 rc1
Pre-release
Pre-release
- Improved performance (optimized render loop, optimized grapheme cluster segmentation algorithm)
- Improves selection to better automatically deselect on selected area corruption.
- Fixes
ioctl(..., TIOCGWINSZ, ...)
pixel values that were only set during resize but not initially. - Fixes mouse in VIM+Vimspector to also change the document position when moving the mouse.
- Fixes SGR decorations to use designated underline thickness and underline position.
- Fixes font glyph render in some corner cases where the rendered glyph did result in rectangle garbage on the screen.
- Fixes copying the selection containing trailing whitespaces.
- Fixes hard-reset with regards to default tab width.
- Fixes VT sequence
DECRQPSR
forDECTABSR
. - Fixes keyboard keys for
F1
..F4
when pressed with and without modifiers. - Fixes OSC 8 hyperlink rendering when scrolled.
- Fixes SGR 1 (bold) wrongly applied on indexed background colors.
- Preserve active profile when reloading config, and forces redraw after config reload.
- Changes config entry
profile.*.font_size
toprofile.*.font.size
. - Changes config entries
scrollbar.*
toprofile.*.scrollbar.*
. - Changes behavior of live configuration reload, which is not default anymore and must be explicitly enabled via CLI parameter
--live-config
. - Changes the CLI command line interface syntax.
- Removes
tab_width
configuration. Tab width cannot be configured anymore but remaints by default at 8. - Adds basic automatically created archive for Arch Linux to the CI build artifacts page and release page.
- Adds support for bypassing the mouse protocol via Shift-click (configurable via
bypass_mouse_protocol_modifier
) - Adds improved debug logging. via CLI flag
-d
(--enable-debug
) to accept a comma seperated list of tags to enable logging for. Appending a*
at the end of a debug tag will enable all debug tags that match prefix its prefix. The list of available debuglog tags can be found via CLI flag-D
(--list-debug-tags
). - Adds support for different font render modes:
lcd
,light
,gray
,monochrome
inprofiles.NAME.font.render_mode
(default:lcd
). - Adds support for different text render engines:
OpenShaper
,DirectWrite
andCoreText
for upcoming native platform support on Windows (and later OS/X). - Adds support for different font location engines:
fontconfig
(others will follow). - Adds experimental text reflow.
- Adds OpenFileManager action to configuration.
- Adds terminal identification environment variables
TERMINAL_NAME
,TERMINAL_VERSION_TRIPLE
andTERMINAL_VERSION_STRING
. - Adds config option
mode
to input modifiers for additionally filtering based on modes (alt screen, app cursor/keypad, text selection modes, ...). - Adds config option
profile.*.terminal_id: STR
to set the terminal identification to one of VT100, VT220, VT340, etc. - Adds config option
profile.*.maximized: BOOL
to indicate maximized state during profile activation. - Adds config option
profile.*.fullscreen: BOOL
to indicate fullscreen state during profile activation. - Adds config option
profile.*.font.strict_spacing: BOOL
to indicate that only monospace fonts may be used. - Adds config option
profile.*.font.TYPE.weight: WEIGHT
andprofile.*.fonts.TYPE.slant: SLANT
options (optional) along withprofile.*.fonts.TYPE.family: STRING
. - Adds config option
profile.*.font.TYPE.weight: WEIGHT
andprofile.*.fonts.TYPE.slant: SLANT
options (optional) along withprofile.*.fonts.TYPE.family: STRING
. - Adds config option
profile.*.font.dpi_scale: FLOAT
to apply some additional DPI scaling on fonts. - Adds config option
profile.*.font.builtin_box_drawing: BOOL
to use pixel-perfect builtin box drawing instead of font provided box drawing characters. - Adds config option
profile.*.refresh_rate: FLOAT
to configure how often the terminal screen will be rendered at most when currently under heavy screen changes. A value of"auto"
will use the currently connected monitor's refresh rate. - Adds configuration's action
ToggleAllKeyMaps
to enable/disable intercepting and interpreting keybinds. The one that did toggle it will not be disabled. - Adds configuration's action
ClearHistoryAndReset
to clear the history, and resetting the terminal. - Adds VT sequence for enabling/disabling debug logging.
CSI ? 46 h
andCSI ? 46 l
and CLI option-d
. - Adds VT sequence for querying/setting current font
OSC 50 ; ? ST
andOSC 50 ; Font ST
(andOSC 60 Ps Ps Ps Ps Ps ST
for a more fine grained font query/setting control). - Adds VT sequence
CSI 18 t
andCSI 19 t
for getting screen character size. Responds withCSI 8 ; <columns> ; <rows> t
andCSI 9 ; <columns> ; <rows> t
respectively. - Adds VT sequence to capture the current screen buffer
CSI > LineMode ; StartLine ; LineCount t
giving the respone back on stdin viaOSC 314 ; <screen buffer> ST
, and feature detection viaDA1
number314
. - Adds VT sequence
DECSNLS
for setting number of lines to display. - Adds VT sequence
CSI Ps b
(REP
) for repeating the last graphical characterPs
times. - Adds VT sequence
OSC 4 ; INDEX ; COLOR ST
for setting or querying color palette (if COLOR is?
instead of a color spec). - Adds VT sequence
OSC 104 ; INDEX ST
for resetting color palette entry or complete palette (if no (index is given). - Adds VT sequence
DECCRA
to copy a rectangular area. - Adds VT sequence
DECERA
to erase a rectangular area. - Adds VT sequence
DECFRA
to fill a rectangular area. - Adds VT sequence
CSI > q
(XTVERSION) to query terminal identification (name and version). Response comes asDCS >| Contour ContourVersion ST
. - Adds VT sequence
DECRQM
to request ANSI/DEC modes states (set / unset / not recognized). - Adds new CLI command:
contour capture ...
to capture the screen buffer. - Adds new CLI command:
contour set profile to NAME
to change the profile on the fly. - Adds new CLI command:
contour generate terminfo output OUTPUT_FILE
to create a Contour terminfo file. - Adds new CLI command:
contour generate config output OUTPUT_FILE
to create a new default config. - Adds new CLI command:
contour generate integration shell SHELL output OUTPUT_FILE
to create the shell integreation file for the given shell (only zsh supported for now). Also adds a pre-generated shell integration file for Linux (and OS/X) to/usr/share/contour/shell-integration.zsh
. - Unicode data updated to version 14.0 beta. See https://home.unicode.org/unicode-14-0-beta-review.
- Adds support for building with Qt 6 (disabled by default).
- Adds support for building with mimalloc (experimental, disabled by default).