Skip to content
This repository was archived by the owner on Jul 5, 2023. It is now read-only.

Tags: r-c-f/foot

Tags

1.7.2

Toggle 1.7.2's commit message
Release 1.7.2

Added
-----

* URxvt OSC-11 extension to set background alpha
  (https://codeberg.org/dnkl/foot/issues/436).
* OSC 17/117/19/119 - change/reset selection background/foreground
  color.
* `box-drawings-uses-font-glyphs=yes|no` option to `foot.ini`
  (https://codeberg.org/dnkl/foot/issues/430).

Changed
-------

* Underline cursor is now rendered below text underline
  (https://codeberg.org/dnkl/foot/issues/415).
* Foot now tries much harder to keep URL jump labels inside the window
  geometry (https://codeberg.org/dnkl/foot/issues/443).
* `bold-text-in-bright` may now be set to `palette-based`, in which
  case it will use the corresponding bright palette color when the
  color to brighten matches one of the base 8 colors, instead of
  increasing the luminance
  (https://codeberg.org/dnkl/foot/issues/449).

Fixed
-----

* Reverted _"Consumed modifiers are no longer sent to the client
  application"_ (https://codeberg.org/dnkl/foot/issues/425).
* Crash caused by a double free originating in `XTSMGRAPHICS` - set
  number of color registers
  (https://codeberg.org/dnkl/foot/issues/427).
* Wrong action referenced in error message for key binding collisions
  (https://codeberg.org/dnkl/foot/issues/432).
* OSC 4/104 out-of-bounds accesses to the color table. This was the
  reason pywal turned foot windows transparent
  (https://codeberg.org/dnkl/foot/issues/434).
* PTY not being drained when the client application terminates.
* `auto_left_margin` not being limited to `cub1`
  (https://codeberg.org/dnkl/foot/issues/441).

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

* [cglogic](https://codeberg.org/cglogic)

1.7.1

Toggle 1.7.1's commit message
Release 1.7.1

Changed
-------

* Update PGO build instructions in `INSTALL.md`
  (https://codeberg.org/dnkl/foot/issues/418).
* In scrollback search mode, empty cells can now be matched by spaces.

Fixed
-----

* Logic that repairs invalid key bindings ended up breaking valid key
  bindings instead (https://codeberg.org/dnkl/foot/issues/407).
* Custom `line-height` settings now scale when increasing or
  decreasing the font size at run-time.
* Newlines sometimes incorrectly inserted into copied text
  (https://codeberg.org/dnkl/foot/issues/410).
* Crash when compositor send `text-input-v3::enter` events without
  first having sent a `keyboard::enter` event
  (https://codeberg.org/dnkl/foot/issues/411).
* Deadlock when rendering sixel images.
* URL labels, scrollback search box or scrollback position indicator
  sometimes not showing up, caused by invalidly sized surface buffers
  when output scaling was enabled
  (https://codeberg.org/dnkl/foot/issues/409).
* Empty sixels resulted in non-empty images.

1.7.0

Toggle 1.7.0's commit message
Release 1.7.0

Added
-----

* The `pad` option now accepts an optional third argument, `center`
  (e.g. `pad=5x5 center`), causing the grid to be centered in the
  window, with equal amount of padding of the left/right and
  top/bottom side (https://codeberg.org/dnkl/foot/issues/273).
* `line-height`, `letter-spacing`, `horizontal-letter-offset` and
  `vertical-letter-offset` to `foot.ini`. These options let you tweak
  cell size and glyph positioning
  (https://codeberg.org/dnkl/foot/issues/244).
* Key/mouse binding `select-extend-character-wise`, which forces the
  selection mode to 'character-wise' when extending a selection.
* `DECSET` `47`, `1047` and `1048`.
* URL detection and OSC-8 support. URLs are highlighted and activated
  using the keyboard (**no** mouse support). See **foot**(1)::URLs, or
  [README.md](README.md#urls) for details
  (https://codeberg.org/dnkl/foot/issues/14).
* `-d,--log-level={info|warning|error}` to both `foot` and
  `footclient` (https://codeberg.org/dnkl/foot/issues/337).
* `-D,--working-directory=DIR` to both `foot` and `footclient`
  (https://codeberg.org/dnkl/foot/issues/347)
* `DECSET 80` - sixel scrolling
  (https://codeberg.org/dnkl/foot/issues/361).
* `DECSET 1070` - sixel private color palette
  (https://codeberg.org/dnkl/foot/issues/362).
* `DECSET 8452` - position cursor to the right of sixels
  (https://codeberg.org/dnkl/foot/issues/363).
* Man page **foot-ctlseqs**(7), documenting all supported escape
  sequences (https://codeberg.org/dnkl/foot/issues/235).
* Support for transparent sixels (DCS parameter `P2=1`)
  (https://codeberg.org/dnkl/foot/issues/391).
* `-N,--no-wait` to `footclient`
  (https://codeberg.org/dnkl/foot/issues/395).
* Completions for Bash shell
  (https://codeberg.org/dnkl/foot/issues/10).

Changed
-------

* The fcft and tllist library subprojects are now handled via Meson
  [wrap files](https://mesonbuild.com/Wrap-dependency-system-manual.html)
  instead of needing to be manually cloned.
* Box drawing characters are now rendered by foot, instead of using
  font glyphs (https://codeberg.org/dnkl/foot/issues/198)
* Double- or triple clicking then dragging now extends the selection
  word- or line-wise (https://codeberg.org/dnkl/foot/issues/267).
* The line thickness of box drawing characters now depend on the font
  size (https://codeberg.org/dnkl/foot/issues/281).
* Extending a word/line-wise selection now uses the original selection
  mode instead of switching to character-wise.
* While doing an interactive resize of a foot window, foot now
  requires 100ms of idle time (where the window size does not change)
  before sending the new dimensions to the client application. The
  timing can be tweaked, or completely disabled, by setting
  `resize-delay-ms` (https://codeberg.org/dnkl/foot/issues/301).
* `CSI 13 ; 2 t` now reports (0,0).
* Key binding matching logic; key combinations like `Control+Shift+C`
  **must** now be written as either `Control+C` or `Control+Shift+c`,
  the latter being the preferred
  variant. (https://codeberg.org/dnkl/foot/issues/376)
* Consumed modifiers are no longer sent to the client application
  (https://codeberg.org/dnkl/foot/issues/376).
* The minimum version requirement for the libxkbcommon dependency is
  now 1.0.0.
* Empty pixel rows at the bottom of a sixel is now trimmed.
* Sixels with DCS parameter `P2=0|2` now use the _current_ ANSI
  background color for empty pixels instead of the default background
  color (https://codeberg.org/dnkl/foot/issues/391).
* Sixel decoding optimized; up to 100% faster in some cases.
* Reported sixel “max geometry” from current window size, to the
  configured maximum size (defaulting to 10000x10000).

Removed
-------

* The `-g,--geometry` command-line option (which had been deprecated
  and superseded by `-w,--window-size-pixels` since 1.5.0).

Fixed
-----

* Some mouse bindings (_primary paste_, for example) did not require
  `shift` to be pressed while used in a mouse grabbing
  application. This meant the mouse event was never seen by the
  application.
* Terminals spawned with `ctrl`+`shift`+`n` not terminating when
  exiting shell (https://codeberg.org/dnkl/foot/issues/366).
* Default value of `-t,--term` in `--help` output when foot was built
  without terminfo support.
* Drain PTY when the client application terminates.

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

* [craigbarnes](https://codeberg.org/craigbarnes)
* toast
* [l3mon4d3](https://codeberg.org/l3mon4d3)
* [Simon Schricker](mailto:s.schricker@sillage.at)

1.6.4

Toggle 1.6.4's commit message
Release 1.6.4

Added
-----

* `selection-target=none|primary|clipboard|both` to `foot.ini`. It can
  be used to configure which clipboard(s) selected text should be
  copied to. The default is `primary`, which corresponds to the
  behavior in older foot releases
  (https://codeberg.org/dnkl/foot/issues/288).

Changed
-------

* The IME state no longer stays stuck in the terminal if the IME goes
  away during preedit.
* `-Dterminfo` changed from a `boolean` to a `feature` option.
* Use standard signals instead of a signalfd to handle
  `SIGCHLD`. Fixes an issue on FreeBSD where foot did not detect when
  the client application had terminated.

Fixed
-----

* `BS`, `HT` and `DEL` from being stripped in bracketed paste mode.

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

* [tdeo](https://codeberg.org/tdeo)
* jbeich

1.6.3

Toggle 1.6.3's commit message
Release 1.6.3

Added
-----

* Completions for fish shell
  (https://codeberg.org/dnkl/foot/issues/11)
* FreeBSD support (https://codeberg.org/dnkl/foot/issues/238).
* IME popup location support: foot now sends the location of the cursor
  so any popup can be displayed near the text that is being typed.

Changed
-------

* Trailing comments in `foot.ini` must now be preceded by a space or tab
  (https://codeberg.org/dnkl/foot/issues/270)
* The scrollback search box no longer accepts non-printable characters.
* Non-formatting C0 control characters, `BS`, `HT` and `DEL` are now
  stripped from pasted text.

Fixed
-----

* Exit when the client application terminates, not when the TTY file
  descriptor is closed.
* Crash on compositors not implementing the _text input_ interface
  (https://codeberg.org/dnkl/foot/issues/259).
* Erased, overflowing glyphs (when
  `tweak.allow-overflowing-double-width-glyphs=yes` - the default) not
  properly erasing the cell overflowed **into**.
* `word-delimiters` option ignores `#` and subsequent characters
  (https://codeberg.org/dnkl/foot/issues/270)
* Combining characters not being rendered when composed with colored
  bitmap glyphs (i.e. colored emojis).
* Pasting URIs from the clipboard when the source has not
  newline-terminated the last URI
  (https://codeberg.org/dnkl/foot/issues/291).
* Sixel “current geometry” query response not being bounded by the
  current window dimensions (fixes `lsix` output)
* Crash on keyboard input when repeat rate was zero (i.e. no repeat).
* Wrong button encoding of mouse buttons 6 and 7 in mouse events.
* Scrollback search not matching composed characters.
* High CPU usage when holding down e.g. arrow keys while in scrollback
  search mode.
* Rendering of composed characters in the scrollback search box.
* IME pre-edit cursor when positioned at the end of the pre-edit
  string.
* Scrollback search not matching multi-column characters.

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

* [birger](https://codeberg.org/birger)
* [pc](https://codeberg.org/pc)
* [FollieHiyuki](https://codeberg.org/FollieHiyuki)
* jbeich
* [tdeo](https://codeberg.org/tdeo)

1.6.2

Toggle 1.6.2's commit message
Release 1.6.2

Fixed
-----

* Version number in `meson.build`.

1.6.1

Toggle 1.6.1's commit message
Release 1.6.1

Added
-----

* `--seed` to `generate-alt-random.py`, enabling deterministic PGO
  builds.

Changed
-------

* Use `-std=c11` instead of `-std=c18`.
* Added `-Wno-profile-instr-unprofiled` to Clang cflags in PGO builds
  ([INSTALL.md](https://codeberg.org/dnkl/foot/src/branch/releases/1.6/INSTALL.md#user-content-performance-optimized-pgo))

Fixed
-----

* Missing dependencies in meson, causing heavily parallelized builds
  to fail.
* Background color when alpha < 1.0 being wrong
  (https://codeberg.org/dnkl/foot/issues/249).
* `generate-alt-random.py` failing in containers.

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

* [craigbarnes](https://codeberg.org/craigbarnes)
* [sterni](https://codeberg.org/sterni)

1.6.0

Toggle 1.6.0's commit message
Release 1.6.0

For packagers
-------------

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](INSTALL.md#user-content-performance-optimized-pgo).

Added
-----

* IME support. This is compile-time optional, see
  [INSTALL.md](INSTALL.md#user-content-options)
  (https://codeberg.org/dnkl/foot/issues/134).
* `DECSET` escape to enable/disable IME: `CSI ? 737769 h` enables IME
  and `CSI ? 737769 l` disables it. This can be used to
  e.g. enable/disable IME when entering/leaving insert mode in vim.
* `dpi-aware` option to `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=yes`. Setting `dpi-aware=no` forces font
  sizing to be based on the scaling factor.
  (https://codeberg.org/dnkl/foot/issues/206).
* Implement reverse auto-wrap (_auto\_left\_margin_, _bw_, in
  terminfo). This mode can be enabled/disabled with `CSI ? 45 h` and
  `CSI ? 45 l`. It is **enabled** by default
  (https://codeberg.org/dnkl/foot/issues/150).
* `bell` option to `foot.ini`. Can be set to `set-urgency` to make
  foot render the margins in red when receiving `BEL` while **not**
  having keyboard focus. Applications can dynamically enable/disable
  this with the `CSI ? 1042 h` and `CSI ? 1042 l` escape
  sequences. Note that Wayland does **not** implement an _urgency_
  hint like X11, but that there is a
  [proposal](https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/9)
  to add support for this. The value `set-urgency` was chosen for
  forward-compatibility, in the hopes that this proposal eventualizes
  (https://codeberg.org/dnkl/foot/issues/157).
* `bell` option can also be set to `notify`, in which case a desktop
  notification is emitted when foot receives `BEL` in an unfocused
  window.
* `word-delimiters` option to `foot.ini`
  (https://codeberg.org/dnkl/foot/issues/156).
* `csd.preferred` can now be set to `none` to disable window
  decorations. Note that some compositors will render SSDs despite
  this option being used (https://codeberg.org/dnkl/foot/issues/163).
* Terminal content is now auto-scrolled when moving the mouse above or
  below the window while selecting
  (https://codeberg.org/dnkl/foot/issues/149).
* `font-bold`, `font-italic` `font-bold-italic` options to
  `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 (https://codeberg.org/dnkl/foot/issues/169).
* Drag & drop support; text, files and URLs can now be dropped in a
  foot terminal window (https://codeberg.org/dnkl/foot/issues/175).
* `clipboard-paste` and `primary-paste` scrollback search bindings. By
  default, they are bound to `ctrl+v ctrl+y` and `shift+insert`
  respectively, 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
  (https://codeberg.org/dnkl/foot/issues/183).
* `bold-text-in-bright` option to `foot.ini`. When enabled, bold text
  is rendered in a brighter color
  (https://codeberg.org/dnkl/foot/issues/199).
* `-w,--window-size-pixels` and `-W,--window-size-chars` command line
  options to `footclient` (https://codeberg.org/dnkl/foot/issues/189).
* Short command line options for `--title`, `--maximized`,
  `--fullscreen`, `--login-shell`, `--hold` and `--check-config`.
* `DECSET` escape to modify the `escape` key to send `\E[27;1;27~`
  instead of `\E`: `CSI ? 27127 h` enables the new behavior, `CSI ?
  27127 l` disables it (the default).
* OSC 777;notify: desktop notifications. Use in combination with the
  new `notify` option in `foot.ini`
  (https://codeberg.org/dnkl/foot/issues/224).
* Status line terminfo capabilities `hs`, `tsl`, `fsl` and `dsl`. This
  enables e.g. vim to set the window title
  (https://codeberg.org/dnkl/foot/issues/242).

Changed
-------

* 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
  (https://codeberg.org/dnkl/foot/issues/221).
* Cursor will now blink if **either** `CSI ? 12 h` or `CSI Ps SP q`
  has been used to enable blinking. **cursor.blink** in `foot.ini`
  controls the default state of `CSI Ps SP q`
  (https://codeberg.org/dnkl/foot/issues/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.
* `DECRQM` now returns actual state of the requested mode, instead of
  always returning `2`.

Removed
-------

* Support for loading configuration from `$XDG_CONFIG_HOME/footrc`.
* `scrollback` option from `foot.ini`.
* `geometry` from `foot.ini`.
* Key binding action `scrollback-up` and `scrollback-down`.

Fixed
-----

* Error when re-assigning a default key binding
  (https://codeberg.org/dnkl/foot/issues/233).
* `\E[s`+`\E[u` (save/restore cursor) now saves and restores
  attributes and charset configuration, just like `\E7`+`\E8`.
* 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. `\E[38:5...m`)
* 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.

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

* [kennylevinsen](https://codeberg.org/kennylevinsen)
* [craigbarnes](https://codeberg.org/craigbarnes)

1.5.4

Toggle 1.5.4's commit message
Release 1.5.4

Changed
-------

* Num Lock by default overrides the keypad mode. See
  **foot.ini**(5)::KEYPAD, or
  [README.md](README.md#user-content-keypad) for details
  (https://codeberg.org/dnkl/foot/issues/194).
* Single-width characters with double-width glyphs are now allowed to
  overflow into neighboring cells by default. Set
  **tweak.allow-overflowing-double-width-glyphs** to ‘no’ to disable
  this.

Fixed
-----

* Resize very slow when window is hidden
  (https://codeberg.org/dnkl/foot/issues/190).
* Key mappings for key combinations with `shift`+`tab`
  (https://codeberg.org/dnkl/foot/issues/210).
* Key mappings for key combinations with `alt`+`return`.
* `footclient` `-m` (`--maximized`) flag being ignored.
* Crash with explicitly sized sixels with a height less than 6 pixels.
* Key mappings for `esc` with modifiers.

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

* [craigbarnes](https://codeberg.org/craigbarnes)

1.5.3

Toggle 1.5.3's commit message
Release 1.5.3

Fixed
-----

* Crash when libxkbcommon cannot find a suitable libX11 _compose_
  file. Note that foot will run, but without support for dead keys.
  (https://codeberg.org/dnkl/foot/issues/170).
* Restored window size when window is un-tiled.
* XCursor shape in CSD corners when window is tiled.
* Error handling when processing keyboard input (maybe
  https://codeberg.org/dnkl/foot/issues/171).
* Compilation error _"overflow in conversion from long 'unsigned int'
  to 'int' changes value... "_ seen on platforms where the `request`
  argument in `ioctl(3)` is an `int` (for example: linux/ppc64).
* Crash when using the mouse in alternate scroll mode in an unfocused
  window (https://codeberg.org/dnkl/foot/issues/179).
* Character dropped from selection when "right-click-hold"-extending a
  selection (https://codeberg.org/dnkl/foot/issues/180).