released this 1 year ago | 2565 commits to master since this release
Syncto terminfo. This is a tmux extension that indicates "Synchronized Updates" are supported.
--holdcommand line option to
- Key mapping for
- Terminfo entries for keypad keys:
- blink option to
footrc; a boolean that lets you control whether the cursor should blink or not by default. Note that applications can override this.
- Multi-seat support
- pipe-visible and pipe-scrollback key bindings. These let you pipe either the currently visible text, or the entire scrollback to external tools (#29). Example:
pipe-visible=[sh -c "xurls | bemenu | xargs -r firefox] Control+Print
- Background transparency to only be used with the default background color.
- Copy-to-clipboard/primary-selection to insert a line break if either the last cell on the previous line or the first cell on the next line is empty.
- Number of lines to scroll is now always clamped to the number of lines in the scrolling region..
- New terminal windows spawned with
nare no longer double forked.
- Unicode combining character overflow errors are only logged when debug logging has been enabled.
- OSC 4 (Set Color) now updates already rendered cells, excluding scrollback.
- Mouse cursor from
left_ptrwhen client is capturing the mouse.
- Sixel images are now removed when the font size is decreased.
DECSCUSR(Set Cursor Style,
CSI Ps SP q) now uses
Ps=2to reset the style to the user configured default style.
Ps=2now always configures a Steady Block cursor.
Seterminfo capability from
- Hollow cursor to be drawn when window has lost keyboard focus rather than visual focus.
- Do not stop an ongoing selection when
shiftis released. When the client application is capturing the mouse, one must hold down
shiftto start a selection. This selection is now finalized only when the mouse button is released - not as soon as
- Selected cells did not appear selected if programmatically modified.
- Rare crash when scrolling and the new viewport ended up exactly on the wrap around.
- Selection handling when viewport wrapped around.
- Restore signal mask in the client process.
- Selection of double-width characters. It is no longer possible to select half of a double-width character.
- Draw hollow block cursor on top of character.
- Set an initial
TIOCSWINSZ. This ensures clients never read a
0x0terminal size (#20).
- Glyphs overflowing into surrounding cells (#21).
- Crash when last rendered cursor cell had scrolled off screen and
- Assert (debug builds) when an
\e]4OSC escape was not followed by a
- Window title always being set to "foot" on reset.
- Terminfo entry
kb2(center keypad key); it is now set to
\EOu(which is what foot emits) instead of the incorrect value
- Palette re-use in sixel images. Previously, the palette was reset after each image.
- Do not auto-resize a sixel image for which the cllent has specified a size. This fixes an issue where an image would incorrectly overflow into the cell row beneath.
- Text printed, or other sixel images drawn, on top of a sixel image no longer erases the entire image, only the part(s) covered by the new text or image.
- Sixel images being erased when printing text next to them.
- Sixel handling when resizing window.
- Sixel handling when scrollback wraps around.
- Foot now issues much fewer
C0::VTto be processed as
C0::VTwould only move the cursor down, but never scroll.
C0::HT(Horizontal Tab, or
\t) no longer clears
LCF(Last Column Flag).
C0::LFnow always clears
LCF. Previously, it only cleared it when the cursor was not at the bottom of the scrolling region.
- A multi-column character that does not fit on the current line is now printed on the next line, instead of only printing half the character.
- Font size can no longer be reduced to negative values (#38).
The following people helped with this release: