Skip to content
Release 1.16.0

Added
-----

* Support for building with _wayland-protocols_ as a subproject.
* Mouse wheel scrolls can now be used in `mouse-bindings`
  ([#1077](1077)).
* New mouse bindings: `scrollback-up-mouse` and
  `scrollback-down-mouse`, bound to `BTN_BACK` and `BTN_FORWARD`
  respectively.
* New key binding: `select-quote`. This key binding selects text
  between quote characters, and falls back to selecting the entire
  row ([#1364][1364]).
* Support for DECSET/DECRST/DECRQM 2027 (_Grapheme cluster
  processing_).
* New **search mode** key bindings (along with their defaults)
  ([#419][419]):
  - `extend-char` (shift+right)
  - `extend-line-down` (shift+down)
  - `extend-backward-char` (shift+left)
  - `extend-backward-to-word-boundary` (ctrl+shift+left)
  - `extend-backward-to-next-whitespace` (none)
  - `extend-line-up` (shift+up)
  - `scrollback-up-page` (shift+page-up)
  - `scrollback-up-half-page` (none)
  - `scrollback-up-line` (none)
  - `scrollback-down-page` (shift+page-down)
  - `scrollback-down-half-page` (none)
  - `scrollback-down-line` (none)
* Support for visual bell which flashes the terminal window.
  ([#1337][1337]).

[1077]: https://codeberg.org/dnkl/foot/issues/1077
[1364]: https://codeberg.org/dnkl/foot/issues/1364
[419]: https://codeberg.org/dnkl/foot/issues/419
[1337]: https://codeberg.org/dnkl/foot/issues/1337

Changed
-------

* Minimum required version of _wayland-protocols_ is now 1.32
  ([#1391][1391]).
* `foot-server.service` systemd now checks for
  `ConditionEnvironment=WAYLAND_DISPLAY` for consistency with the
  socket unit ([#1448][1448])
* Default key binding for `select-row` is now `BTN_LEFT+4`. However,
  in many cases, triple clicking will still be enough to select the
  entire row; see the new key binding `select-quote` (mapped to
  `BTN_LEFT+3` by default) ([#1364][1364]).
* `file://` prefix from URI's are no longer stripped when
  opened/activated ([#1474][1474]).
* `XTGETTCAP` with capabilities that are not properly hex encoded will
  be ignored, instead of echo:ed back to the TTY in an error response.
* Command line configuration overrides are now applied even if the
  configuration file does not exist or can't be
  parsed. ([#1495][1495]).
* Wayland surface damage is now more fine-grained. This should result
  in lower latencies in many use cases, especially on high DPI
  monitors.

[1391]: https://codeberg.org/dnkl/foot/issues/1391
[1448]: https://codeberg.org/dnkl/foot/pulls/1448
[1474]: https://codeberg.org/dnkl/foot/pulls/1474
[1495]: https://codeberg.org/dnkl/foot/pulls/1495

Removed
-------

* `utempter` config option (was deprecated in 1.15.0).

* Race condition for systemd units start in GNOME and KDE
  ([#1436][1436]).
* One frame being rendered at the wrong scale after being hidden by
  another opaque, maximized window ([#1464][1464]).
* Double-width characters, and grapheme clusters breaking URL
  auto-detection ([#1465][1465]).
* Crash when `XDG_ACTIVATION_TOKEN` is set, but compositor does not
  support XDG activation ([#1493][1493]).
* Crash when compositor calls `fractional_scale::preferred_scale()`
  when there are no monitors (for example, after a monitor has been
  turned off and then back on again) ([#1498][1498]).
* Transparency in margins (padding) not being disabled in fullscreen
  mode ([#1503][1503]).
* Crash when a scrollback search match is in the last column.
* Scrollback search: grapheme clusters not matching correctly.
* Wrong baseline offset for some fonts ([#1511][1511]).

[1436]: https://codeberg.org/dnkl/foot/issues/1436
[1464]: https://codeberg.org/dnkl/foot/issues/1464
[1465]: https://codeberg.org/dnkl/foot/issues/1465
[1493]: https://codeberg.org/dnkl/foot/pulls/1493
[1498]: https://codeberg.org/dnkl/foot/issues/1498
[1503]: https://codeberg.org/dnkl/foot/issues/1503
[1511]: https://codeberg.org/dnkl/foot/issues/1511

Contributors
------------

* 6t8k
* Alyssa Ross
* CismonX
* Max Gautier
* raggedmyth
* Raimund Sacherer
* Sertonix