released this 10 months ago | 1673 commits to master since this release
Starting with this release, foot can be PGO:d (compiled using profile guided optimizations) without a running Wayland session. This means foot can be PGO:d in e.g. sandboxed build scripts. See INSTALL.md.
- IME support. This is compile-time optional, see INSTALL.md (#134).
DECSETescape to enable/disable IME:
CSI ? 737769 henables IME and
CSI ? 737769 ldisables it. This can be used to e.g. enable/disable IME when entering/leaving insert mode in vim.
foot.ini. The default,
auto, sizes fonts using the monitor’s DPI when output scaling has been disabled. If output scaling has been enabled, fonts are sized using the scaling factor. DPI-only font sizing can be forced by setting
dpi-aware=noforces font sizing to be based on the scaling factor (#206).
- Implement reverse auto-wrap (auto_left_margin, bw, in terminfo). This mode can be enabled/disabled with
CSI ? 45 hand
CSI ? 45 l. It is enabled by default (#150).
foot.ini. Can be set to
set-urgencyto make foot render the margins in red when receiving
BELwhile not having keyboard focus. Applications can dynamically enable/disable this with the
CSI ? 1042 hand
CSI ? 1042 lescape sequences. Note that Wayland does not implement an urgency hint like X11, but that there is a proposal to add support for this. The value
set-urgencywas chosen for forward-compatibility, in the hopes that this proposal eventualizes (#157).
belloption can also be set to
notify, in which case a desktop notification is emitted when foot receives
BELin an unfocused window.
csd.preferredcan now be set to
noneto disable window decorations. Note that some compositors will render SSDs despite this option being used (#163).
- Terminal content is now auto-scrolled when moving the mouse above or below the window while selecting
foot.ini. These options allow custom bold/italic fonts. They are unset by default, meaning the bold/italic version of the regular font is used (#169).
- Drag & drop support; text, files and URLs can now be dropped in a foot terminal window (#175).
primary-pastescrollback search bindings. By default, they are bound to
shift+insertrespectively, and lets you paste from the clipboard or primary selection into the search buffer.
- Support for
pipe-*actions in mouse bindings. It was previously not possible to add a command to these actions when used in mouse bindings, making them useless (#183).
foot.ini. When enabled, bold text is rendered in a brighter color (#199).
-W,--window-size-charscommand line options to
- Short command line options for
DECSETescape to modify the
escapekey to send
CSI ? 27127 henables the new behavior,
CSI ? 27127 ldisables it (the default).
- OSC 777;notify: desktop notifications. Use in combination with the new
- Status line terminfo capabilities
dsl. This enables e.g. vim to set the window title (#242).
- Blinking text now uses the foreground color, but dimmed down in its off state, instead of the background color.
- Sixel default maximum size is now 10000x10000 instead of the current window size.
- Graphical glitches/flashes when resizing the window while running a fullscreen application, i.e. the 'alt' screen (#221).
- Cursor will now blink if either
CSI ? 12 hor
CSI Ps SP qhas been used to enable blinking. cursor.blink in
foot.inicontrols the default state of
CSI Ps SP q(#218).
- The sub-parameter versions of the SGR RGB color escapes (e.g
\E[38:2...m) can now be used without the color space ID parameter.
- SGR 21 no longer disables bold. According to ECMA-48, SGR 21 is ”double underline”. Foot does not (yet) implement that, but that’s no reason to implement a non-standard behavior.
DECRQMnow returns actual state of the requested mode, instead of always returning
- Support for loading configuration from
- Key binding action
- Error when re-assigning a default key binding (#233).
\E[u(save/restore cursor) now saves and restores attributes and charset configuration, just like \E7
- Report mouse motion events to the client application also while dragging the cursor outside the grid.
- Parsing of the sub-parameter versions of indexed SGR color escapes (e.g.
- Frames occasionally being rendered while application synchronized updates is in effect.
- Handling of failures to parse the font specification string.
- Extra private/intermediate characters in escape sequences not being ignored.