Skip to content
Release 1.22.0

Added
-----

* Support for toplevel edge constraints. When the compositor indicates
  the toplevel has edge constraints, foot will not allow the window to
  be resized (via CSDs) in the constrained directions.
* Virtual modifiers (e.g. `Alt` instead of `Mod1`, `Super` instead of
  `Mod4` etc) in key bindings are now recognized as being virtual, and
  are automatically mapped to the corresponding real modifier. This
  means you can use e.g. `Alt+b` instead of `Mod1+b`.
* `alpha-mode` option to `foot.ini`. Defaults to `default`. This
  config changes how alpha is handled on background colours not set by
  the terminal.(e.g. vim) ([#2026](2026))

[2026]: https://codeberg.org/dnkl/foot/issues/2026

Changed
-------

* UTF-8 error recovery now discards fewer bytes.
* Auto-calculated dimmed and brightened colors (e.g. when custom dim
  colors has not configured) is now done by linear RGB interpolation,
  rather than converting to HSL and adjusting the luminance
  ([#2006][2006]).
* Virtual modifiers in keyboard events from the compositor are now
  supported. This works around various issues seen when running foot
  under mutter (GNOME) ([#2009][2009]):
  - Some key combinations generating the wrong escape sequence in the
    kitty keyboard protocol.
  - some of foot's default shortcuts not working (mainly those using
    `Mod1`) out of the box.
* Default URL regex changed to a much more strict variant
  ([#2016][2016]). You can manually set the [old
  one](https://codeberg.org/dnkl/foot/src/tag/1.21.0/foot.ini#L72), if
  you prefer it over the new regex.
* A tiled window can now be resized in the corners (via CSDs), unless
  the compositor has indicated the toplevel has edge constraints.

[2006]: https://codeberg.org/dnkl/foot/issues/2006
[2009]: https://codeberg.org/dnkl/foot/issues/2009
[2016]: https://codeberg.org/dnkl/foot/issues/2016

Fixed
-----

* Regression: assertion in `url-mode.c` when activating a second URL
  via `show-urls-persistent` ([#2000][2000]).
* Build failure (`srgb.h` not found) when doing a parallel build.
* Regression: reflowing (changing the window size) removing empty
  lines ([#2011][2011]).
* `url/regex-copy` not handling double-width characters correctly
  ([#2027][2027]).

[2000]: https://codeberg.org/dnkl/foot/issues/2000
[2011]: https://codeberg.org/dnkl/foot/issues/2011
[2027]: https://codeberg.org/dnkl/foot/issues/2027

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

* Alex Xu (Hello71)
* datsudo
* Dominique Martinet
* Fazzi
* llyyr
* Łukasz Wojniłowicz
* Sam McCall