Release 1.18.0 Added ----- * `cursor.blink-rate` option, allowing you to configure the rate the cursor blinks with (when `cursor.blink=yes`) ([#1707][1707]); * Support for `wp_single_pixel_buffer_v1`; certain overlay surfaces will now utilize the new single-pixel buffer protocol. This mainly reduces the memory usage, but should also be slightly faster. * Support for high-res mouse wheel scroll events ([#1738][1738]). * Styled and colored underlines ([#828][828]). * Support for SGR 21 (double underline). * Support for `XTPUSHCOLORS`, `XTPOPCOLORS` and `XTREPORTCOLORS`, i.e. color palette stack ([#856][856]). * Log output now respects the [`NO_COLOR`](http://no-color.org/) environment variable ([#1771][1771]). * Support for [in-band window resize notifications](https://gist.github.com/rockorager/e695fb2924d36b2bcf1fff4a3704bd83), private mode `2048`. * Support for OSC-99 [_"Kitty desktop notifications"_](https://sw.kovidgoyal.net/kitty/desktop-notifications/). * `desktop-notifications.command` option, replaces `notify`. * `desktop-notifications.inhibit-when-focused` option, replaces `notify-focus-inhibit`. * `${category}`, `${urgency}`, `${expire-time}`, `${replace-id}`, `${icon}` and `${action-argument}` added to the `desktop-notifications.command` template. * `desktop-notifications.command-action-argument` option, defining how `${action-argument}` (in `desktop-notifications.command`) should be expanded. * `desktop-notifications.close` option, defining what to execute when an application wants to close an existing notification (via an OSC-99 escape sequence). [1707]: https://codeberg.org/dnkl/foot/issues/1707 [1738]: https://codeberg.org/dnkl/foot/issues/1738 [828]: https://codeberg.org/dnkl/foot/issues/828 [856]: https://codeberg.org/dnkl/foot/issues/856 [1771]: https://codeberg.org/dnkl/foot/issues/1771 Changed ------- * All `XTGETTCAP` capabilities are now in the `tigetstr()` format: - parameterized string capabilities were previously "source encoded", meaning e.g. `\E` where not "decoded" into `\x1b`. - Control characters were also "source encoded", meaning they were returned as e.g. "^G" instead of `\x07` ([#1701][1701]). In other words, if, after this change, `XTGETTCAP` returns a string that is different compared to `tigetstr()`, then it is likely a bug in foot's implementation of `XTGETTCAP`. * If the cursor foreground and background colors are identical (for example, when cursor uses inverted colors and the cell's foreground and background are the same), the cursor will instead be rendered using the default foreground and background colors, inverted ([#1761][1761]). * Mouse wheel events now generate `BTN_WHEEL_BACK` and `BTN_WHEEL_FORWARD` "button presses", instead of `BTN_BACK` and `BTN_FORWARD`. The default bindings have been updated, and `scrollback-up-mouse`, `scrollback-down-mouse`, `font-increase` and `font-decrease` now use the new button names. This change allow users to separate physical mouse buttons that _also_ generates `BTN_BACK` and `BTN_FORWARD`, from wheel scrolling ([#1763][1763]). * Replaced the old catppuccin theme with updated flavored themes pulled from [catppuccin/foot](https://github.com/catppuccin/foot) * Mouse selections can now be started inside the margins ([#1702][1702]). [1701]: https://codeberg.org/dnkl/foot/issues/1701 [1761]: https://codeberg.org/dnkl/foot/issues/1761 [1763]: https://codeberg.org/dnkl/foot/issues/1763 [1702]: https://codeberg.org/dnkl/foot/issues/1702 Deprecated ---------- * `notify` option; replaced by `desktop-notifications.command`. * `notify-focus-inhibit` option; replaced by `desktop-notifications.inhibit-when-focused`. Fixed ----- * Crash when zooming in or out, with `dpi-aware=yes`, and the monitor's DPI is 0 (this is true for, for example, nested Wayland sessions, or in virtualized environments). * No error response for empty `XTGETTCAP` request ([#1694][1694]). * Unicode-mode in one foot client affecting other clients, in foot server mode ([#1717][1717]). * IME interfering in URL-mode ([#1718][1718]). * OSC-52 reply interleaved with other data sent to the client ([#1734][1734]). * XKB compose state being reset when foot receives a new keymap ([#1744][1744]). * Regression: alpha changes through OSC-11 sequences not taking effect until window is resized. * VS15 being ignored ([#1742][1742]). * VS16 being ignored for a subset of the valid VS16 sequences ([#1742][1742]). * Crash in debug builds, when using OSC-12 to set the cursor color and foot config has not set any custom cursor colors (i.e. without OSC-12, inverted fg/bg would be used). * Wrong color used when drawing the unfocused, hollow cursor. * Encoding of `BTN_BACK` and `BTN_FORWARD`, when sending a mouse input escape sequence to the terminal application. [1694]: https://codeberg.org/dnkl/foot/issues/1694 [1717]: https://codeberg.org/dnkl/foot/issues/1717 [1718]: https://codeberg.org/dnkl/foot/issues/1718 [1734]: https://codeberg.org/dnkl/foot/issues/1734 [1744]: https://codeberg.org/dnkl/foot/issues/1744 [1742]: https://codeberg.org/dnkl/foot/issues/1742 Contributors ------------ * abs3nt * Artturin * Craig Barnes * Jan Beich * Mariusz Bialonczyk * Nicolas Kolling Ribas