foot/CHANGELOG.md
Daniel Eklöf f4fcdbf38b
sixel: hopefully fix erasing of scrollback wrap-around sixels
If a sixel image crossed the scrollback wrap around, the logic that
detected whether a row, or a row range, intersected with the sixel was
incorrect.
2020-06-27 11:00:28 +02:00

6.7 KiB

Changelog

Unreleased

Added

  • Sync to terminfo. This is a tmux extension that indicates "Synchronized Updates" are supported.
  • --hold command line option to footclient.

Changed

  • 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 ctrl+shift+n are 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.

Deprecated

Removed

Fixed

  • Do not stop an ongoing selection when shift is released. When the client application is capturing mouse events, one must hold down shift to start a selection. This selection is now finalized only when the mouse button is released - not as soon as shift is released.
  • 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 slave process.
  • Set IUTF8.
  • 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 reads a 0x0 terminal size (https://codeberg.org/dnkl/foot/issues/20).
  • Glyphs overflowing into surrounding cells (https://codeberg.org/dnkl/foot/issues/21).
  • Sixel images being erased when printing text next to them.
  • Crash when last rendered cursor cell had scrolled off screen and \E[J3 was executed.
  • Assert (debug builds) when an \e]4 OSC escape was not followed by a ;.
  • 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.
  • Window title always being set to "foot" on reset.
  • Erase scrolled out sixel image that crossed the scrollback wrap around boundary.

Security

1.3.0

Added

  • User configurable key- and mouse bindings. See man 5 foot and the example footrc (https://codeberg.org/dnkl/foot/issues/1)
  • initial-window-mode option to footrc, that lets you control the initial mode for each newly spawned window: windowed, maximized or fullscreen.
  • app-id option to footrc and --app-id command line option, that sets the app-id property on the Wayland window.
  • title option to footrc and --title command line option, that sets the initial window title.
  • Right mouse button extends the current selection.
  • CSI Ps ; Ps ; Ps t escape sequences for the following parameters: 11t, 13t, 13;2t, 14t, 14;2t, 15t, 19t.
  • Unicode combining characters.

Changed

  • Spaces no longer removed from zsh font name completions.
  • Default key binding for spawn-terminal to ctrl+shift+n.
  • Renderer is now much faster with interactive scrolling (https://codeberg.org/dnkl/foot/issues/4)
  • memfd sealing failures are no longer fatal errors.
  • Selection to no longer be cleared on resize.
  • The current monitor's subpixel order (RGB/BGR/V-RGB/V-BGR) is preferred over FontConfig's rgba property. Only if the monitor's subpixel order is unknown is FontConfig's rgba property used. If the subpixel order is none, then grayscale antialiasing is used. The subpixel order is ignored if antialiasing has been disabled.
  • The four primary font variants (normal, bold, italic, bold italic) are now loaded in parallel. This speeds up both the initial startup time, as well as a DPI changes.
  • Command line parsing no longer tries to parse arguments following the command-to-execute. This means one can now write foot sh -c true instead of foot -- sh -c true.

Removed

  • Keyboard/pointer handler workarounds for Sway 1.2.

Fixed

  • Sixel images moved or deleted on window resize.
  • Cursor sometimes incorrectly restored on exit from alternate screen.
  • 'Underline' cursor being invisible on underlined text.
  • Restored cursor position in 'normal' screen when window was resized while in 'alt' screen.
  • Hostname in OSC 7 URI not being validated.
  • OSC 4 with multiple c;spec pairs.
  • Alt+Return to emit "ESC \r".
  • Trackpad sloooow scrolling to eventually scroll a line.
  • Memory leak in terminal reset.
  • Translation of cursor coordinates on resize
  • Scaling color specifiers in OSC sequences.
  • OSC 12 ? to return the cursor color, not the cursor's text color.
  • OSC 12;#000000 to configure the cursor to use inverted foreground/background colors.
  • Call ioctl(TIOCSCTTY) on the pts fd in the slave process.

1.2.3

Fixed

  • Forgot to version bump 1.2.2

1.2.2

Changed

  • Changed icon name in foot.desktop and foot-server.desktop from terminal to utilities-terminal.
  • XDG_SESSION_ID is now included in the server/daemon default socket path.

Fixed

1.2.1

Fixed

  • Building AUR package

1.2.0

Added

  • Run-time text resize using ctrl-+, ctrl+- and ctrl+0
  • Font size adjusts dynamically to outputs' DPI
  • Reflow text when resizing window
  • pad option to footrc
  • login-shell option to footrc and --login-shell command line option
  • Client side decorations (CSDs). This finally makes foot usable on GNOME.
  • Sixel graphics support
  • OSC 12 and 112 escape sequences (set/reset text cursor color)
  • REP CSI escape sequence
  • oc to terminfo
  • foot-server.desktop file
  • Window and cell size reporting escape sequences
  • --hold command line option
  • --print-pid=FILE|FD command line option

Changed

  • Subpixel antialiasing is only enabled when background is opaque
  • Meta/alt ESC prefix can now be disabled with \E[?1036l. In this mode, the 8:th bit is set and the result is UTF-8 encoded. This can also be disabled with \E[1024l (in which case the Alt key is effectively being ignored).
  • terminfo now uses ST instead of BEL as OSC terminator
  • Logging to print to stderr, not stdout
  • Backspace now emits DEL (^?), and ctrl+backspace emits BS (^H)

Removed

  • '28' from DA response