2020-03-06 19:45:04 +01:00
|
|
|
|
# Changelog
|
|
|
|
|
|
|
2021-03-28 14:29:55 +02:00
|
|
|
|
* [Unreleased](#unreleased)
|
2021-04-18 20:12:26 +02:00
|
|
|
|
* [1.7.2](#1-7-2)
|
2021-03-28 14:25:09 +02:00
|
|
|
|
* [1.7.1](#1-7-1)
|
2021-03-20 14:02:12 +01:00
|
|
|
|
* [1.7.0](#1-7-0)
|
2021-02-12 10:44:42 +01:00
|
|
|
|
* [1.6.4](#1-6-4)
|
2021-01-21 11:43:22 +01:00
|
|
|
|
* [1.6.3](#1-6-3)
|
2020-12-21 15:58:25 +01:00
|
|
|
|
* [1.6.2](#1-6-2)
|
2020-12-20 15:46:05 +01:00
|
|
|
|
* [1.6.1](#1-6-1)
|
2020-12-19 22:50:18 +00:00
|
|
|
|
* [1.6.0](#1-6-0)
|
2020-12-01 19:33:22 +01:00
|
|
|
|
* [1.5.4](#1-5-4)
|
2020-11-06 20:06:31 +01:00
|
|
|
|
* [1.5.3](#1-5-3)
|
2020-10-13 08:02:09 +02:00
|
|
|
|
* [1.5.2](#1-5-2)
|
2020-10-11 19:31:01 +02:00
|
|
|
|
* [1.5.1](#1-5-1)
|
2020-09-18 21:22:59 +02:00
|
|
|
|
* [1.5.0](#1-5-0)
|
2020-07-29 06:55:23 +02:00
|
|
|
|
* [1.4.4](#1-4-4)
|
2020-07-27 18:55:12 +02:00
|
|
|
|
* [1.4.3](#1-4-3)
|
|
|
|
|
|
* [1.4.2](#1-4-2)
|
2020-07-22 20:03:28 +02:00
|
|
|
|
* [1.4.1](#1-4-1)
|
2020-07-22 18:59:19 +02:00
|
|
|
|
* [1.4.0](#1-4-0)
|
2020-05-13 13:09:12 +02:00
|
|
|
|
* [1.3.0](#1-3-0)
|
2020-03-15 11:39:11 +01:00
|
|
|
|
* [1.2.3](#1-2-3)
|
|
|
|
|
|
* [1.2.2](#1-2-2)
|
|
|
|
|
|
* [1.2.1](#1-2-1)
|
|
|
|
|
|
* [1.2.0](#1-2-0)
|
|
|
|
|
|
|
2020-09-18 21:29:39 +02:00
|
|
|
|
|
2021-03-28 14:29:55 +02:00
|
|
|
|
## Unreleased
|
2021-04-25 18:35:46 +01:00
|
|
|
|
|
2021-04-18 20:16:48 +02:00
|
|
|
|
### Added
|
2021-04-25 18:35:46 +01:00
|
|
|
|
|
|
|
|
|
|
* Support for DECSET/DECRST 2026, as an alternative to the existing
|
|
|
|
|
|
"synchronized updates" DCS sequences
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/459).
|
2021-04-30 20:31:47 +02:00
|
|
|
|
* `cursor.beam-thickness` option to `foot.ini`
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/464).
|
2021-05-18 18:52:10 +02:00
|
|
|
|
* `cursor.underline-thickness` option to `foot.ini`
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/524).
|
2021-05-03 17:57:16 +02:00
|
|
|
|
* Unicode 13 characters U+1FB70 - U+1FB8B to list of box drawing
|
|
|
|
|
|
characters rendered by foot itself (rather than using font glyphs)
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/471).
|
2021-05-20 17:56:56 +02:00
|
|
|
|
* Dedicated `[bell]` section to config, supporting multiple actions
|
|
|
|
|
|
and a new `command` action to run an arbitrary command.
|
2021-05-07 04:49:34 -05:00
|
|
|
|
(https://codeberg.org/dnkl/foot/pulls/483)
|
2021-05-20 17:56:56 +02:00
|
|
|
|
* Dedicated `[url]` section to config.
|
2021-05-20 17:58:06 +02:00
|
|
|
|
* `[url].protocols` option to `foot.ini`
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/531).
|
2021-05-08 02:18:45 -05:00
|
|
|
|
* Support for setting the full 256 color palette in foot.ini
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/489)
|
2021-05-14 14:22:43 +02:00
|
|
|
|
* XDG activation support, will be used by `[bell].urgent` when
|
|
|
|
|
|
available (falling back to coloring the window margins red when
|
|
|
|
|
|
unavailable) (https://codeberg.org/dnkl/foot/issues/487).
|
2021-05-25 16:51:07 +01:00
|
|
|
|
* `ctrl`+`c` as a default key binding; to cancel search/url mode.
|
2021-05-27 12:11:47 +02:00
|
|
|
|
* `${window-title}` to `notify`.
|
2021-05-28 17:44:13 +02:00
|
|
|
|
* Support for including files in `foot.ini`
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/555).
|
2021-05-30 10:21:24 +02:00
|
|
|
|
* `ENVIRONMENT` section in **foot**(1) and **footclient**(1) man pages
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/556).
|
2021-05-31 17:10:05 +02:00
|
|
|
|
* `tweak.pua-double-width` option to `foot.ini`, letting you force
|
|
|
|
|
|
_Private Usage Area_ codepoints to be treated as double-width
|
|
|
|
|
|
characters.
|
2021-06-02 17:50:29 +02:00
|
|
|
|
* OSC 9 desktop notifications (iTerm2 compatible).
|
2021-06-09 09:30:34 +01:00
|
|
|
|
* Support for LS2 and LS3 (locking shift) escape sequences
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/581).
|
2021-04-30 20:31:47 +02:00
|
|
|
|
|
2021-04-25 18:35:46 +01:00
|
|
|
|
|
2021-04-18 20:16:48 +02:00
|
|
|
|
### Changed
|
2021-04-22 11:26:59 +02:00
|
|
|
|
|
2021-05-07 11:31:33 +02:00
|
|
|
|
* [fcft](https://codeberg.org/dnkl/fcft): required version bumped from
|
|
|
|
|
|
2.3.x to 2.4.x.
|
2021-04-22 11:26:59 +02:00
|
|
|
|
* `generate-alt-random-writes.py --sixel`: width and height of emitted
|
|
|
|
|
|
sixels has been adjusted.
|
2021-04-23 21:27:32 +02:00
|
|
|
|
* _Concealed_ text (`\E[8m`) is now revealed when highlighted.
|
2021-04-23 21:30:47 +02:00
|
|
|
|
* The background color of highlighted text is now adjusted, when the
|
|
|
|
|
|
foreground and background colors are the same, making the
|
|
|
|
|
|
highlighted text legible
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/455).
|
2021-04-30 20:31:47 +02:00
|
|
|
|
* `cursor.style=bar` to `cursor.style=beam`. `bar` remains a
|
|
|
|
|
|
recognized value, but will eventually be deprecated, and removed.
|
|
|
|
|
|
* Point values in `line-height`, `letter-spacing`,
|
|
|
|
|
|
`horizontal-letter-offset` and `vertical-letter-offset` are now
|
|
|
|
|
|
rounded, not truncated, when translated to pixel values.
|
2021-05-01 10:46:40 +02:00
|
|
|
|
* Foot’s exit code is now -26/230 when foot itself failed to launch
|
2021-04-30 22:47:16 +02:00
|
|
|
|
(due to invalid command line options, client application/shell not
|
2021-05-01 10:46:40 +02:00
|
|
|
|
found etc). Footclient’s exit code is -36/220 when it itself fails
|
|
|
|
|
|
to launch (e.g. bad command line option) and -26/230 when the foot
|
2021-04-30 22:47:16 +02:00
|
|
|
|
server failed to instantiate a new window
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/466).
|
2021-05-01 20:17:54 +02:00
|
|
|
|
* Background alpha no longer applied to palette or RGB colors that
|
|
|
|
|
|
matches the background color.
|
2021-05-12 20:07:18 +02:00
|
|
|
|
* Improved performance on compositors that does not release shm
|
|
|
|
|
|
buffers immediately, e.g. KWin
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/478).
|
2021-05-17 18:19:55 +02:00
|
|
|
|
* `ctrl + w` (_extend-to-word-boundary_) can now be used across lines
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/421).
|
2021-05-22 16:42:43 +02:00
|
|
|
|
* Ignore auto-detected URLs that overlap with OSC-8 URLs.
|
2021-05-27 11:41:57 +02:00
|
|
|
|
* Default value for the `notify` option to use `-a ${app-id} -i
|
|
|
|
|
|
${app-id} ...` instead of `-a foot -i foot ...`.
|
2021-06-04 23:25:45 +02:00
|
|
|
|
* `scrollback-*`+`pipe-scrollback` key bindings are now passed through
|
|
|
|
|
|
to the client application when the alt screen is active
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/573).
|
2021-06-07 21:46:46 +02:00
|
|
|
|
* Reverse video (`\E[?5h`) now only swaps the default foreground and
|
|
|
|
|
|
background colors. Cells with explicit foreground and/or background
|
|
|
|
|
|
colors remain unchanged.
|
2021-06-09 09:57:20 +02:00
|
|
|
|
* Tabs (`\t`) are now preserved when the window is resized, and when
|
|
|
|
|
|
copying text (https://codeberg.org/dnkl/foot/issues/508).
|
sixel: add support for overlapping sixels
Writing a sixel on top of an already existing sixel currently has the
following limitations in foot:
* The parts of the first sixel that is covered by the new sixel are
removed, completely. Even if the new sixel has transparent
areas. I.e. writing a transparent sixel on top of another
sixel *replaces* the first sixel with the new sixel, instead of
layering them on top of each other.
* The second sixel erases the first sixel cell-wise. That is, a sixel
whose size isn’t a multiple of the cell dimensions will leave
unsightly holes in the first sixel.
This patch takes care of both issues.
The first one is actually the easiest one: all we need to do is
calculate the intersection, and blend the two images. To keep things
relatively simple, we use the pixman image from the *new* image, and
use the ‘OVER_REVERSE’ operation to blend the new image over the old
one.
That is, the old image is still split into four tiles (top, left,
right, bottom), just like before. But instead of throwing away the
fifth middle tile, we blend it with the new image. As an optimization,
this is only done if the new image has transparency (P1=1).
The second problem is solved by detecting when we’re erasing an area
from the second image that is larger than the new image. In this case,
we enlarge the new image, and copy the old image into the new one.
Finally, when we enlarge the new image, there may be areas in the new
image that is *not* covered by the old image. These areas are made
transparent.
The end result is:
* Each cell is covered by at *most* 1 sixel image. I.e. the total
numbers of sixels are finite. This is important for the ‘mpv
--vo=sixel’ use case - we don’t want to end up with thousands of
sixels layered on top of each other.
* Writing an opaque sixel on top of another sixel has _almost_ zero
performance impact. Especially if the two sixels have the same size,
so that we don’t have to resize the new image. Again, important for
the ‘mpv --vo=sixel’ use case.
Closes #562
2021-06-06 21:38:31 +02:00
|
|
|
|
* Writing a sixel on top of another sixel no longer erases the first
|
|
|
|
|
|
sixel, but the two are instead blended
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/562).
|
2021-06-10 20:40:01 +02:00
|
|
|
|
* Running foot without a configuration file is no longer an error; it
|
|
|
|
|
|
has been demoted to a warning, and is no longer presented as a
|
|
|
|
|
|
notification in the terminal window, but only logged on stderr.
|
2021-04-22 11:26:59 +02:00
|
|
|
|
|
|
|
|
|
|
|
2021-04-18 20:16:48 +02:00
|
|
|
|
### Deprecated
|
2021-05-11 17:40:59 +02:00
|
|
|
|
|
2021-05-20 17:56:56 +02:00
|
|
|
|
* `bell` option in `foot.ini`; set actions in the `[bell]` section
|
|
|
|
|
|
instead.
|
|
|
|
|
|
* `url-launch` option in `foot.ini`; use `launch` in the `[url]`
|
|
|
|
|
|
section instead.
|
|
|
|
|
|
* `jump-label-letters` option in `foot.ini`; use `label-letters` in
|
|
|
|
|
|
the `[url]` section instead.
|
|
|
|
|
|
* `osc8-underline` option in `foot.ini`; use `osc8-underline` in the
|
|
|
|
|
|
`[url]` section instead.
|
2021-05-07 04:49:34 -05:00
|
|
|
|
|
2021-05-11 17:40:59 +02:00
|
|
|
|
|
2021-04-18 20:16:48 +02:00
|
|
|
|
### Removed
|
2021-05-11 17:39:13 +02:00
|
|
|
|
|
|
|
|
|
|
* Buffer damage quirk for Plasma/KWin.
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-04-18 20:16:48 +02:00
|
|
|
|
### Fixed
|
2021-04-22 11:26:59 +02:00
|
|
|
|
|
|
|
|
|
|
* `generate-alt-random-writes.py --sixel` sometimes crashing,
|
|
|
|
|
|
resulting in PGO build failures.
|
2021-05-06 12:37:22 +02:00
|
|
|
|
* Wrong colors in the 256-color cube
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/479).
|
2021-05-08 15:18:25 +02:00
|
|
|
|
* Memory leak triggered by “opening” an OSC-8 URI and then resetting
|
|
|
|
|
|
the terminal without closing the URI
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/495).
|
2021-05-08 20:29:35 +02:00
|
|
|
|
* Assertion when emitting a sixel occupying the entire scrollback
|
|
|
|
|
|
history (https://codeberg.org/dnkl/foot/issues/494).
|
2021-05-11 17:40:59 +02:00
|
|
|
|
* Font underlines being positioned below the cell (and thus being
|
|
|
|
|
|
invisible) for certain combinations of fonts and font sizes
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/503).
|
2021-05-16 10:57:43 +02:00
|
|
|
|
* Sixels with transparent bottom border being resized below the size
|
|
|
|
|
|
specified in _”Set Raster Attributes”_.
|
2021-05-13 00:21:22 +02:00
|
|
|
|
* Fonts sometimes not being reloaded with the correct scaling factor
|
|
|
|
|
|
when `dpi-aware=no`, or `dpi-aware=auto` with monitor(s) with a
|
|
|
|
|
|
scaling factor > 1 (https://codeberg.org/dnkl/foot/issues/509).
|
2021-05-16 19:38:00 +01:00
|
|
|
|
* Crash caused by certain CSI sequences with very large parameter
|
|
|
|
|
|
values (https://codeberg.org/dnkl/foot/issues/522).
|
2021-05-21 20:00:45 +02:00
|
|
|
|
* Rare occurrences where the window did not close when the shell
|
|
|
|
|
|
exited. Only seen on FreeBSD
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/534)
|
2021-05-24 20:42:55 +02:00
|
|
|
|
* Foot process(es) sometimes remaining, using 100% CPU, when closing
|
|
|
|
|
|
multiple foot windows at the same time
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/542).
|
2021-05-25 07:57:23 +02:00
|
|
|
|
* Regression where `<mod>+shift+tab` always produced `\E[Z` instead of
|
|
|
|
|
|
the correct `\E[27;<mod>;9~` sequence
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/547).
|
2021-05-26 13:59:32 +02:00
|
|
|
|
* Crash when a line wrapping OSC-8 URI crossed the scrollback wrap
|
|
|
|
|
|
around (https://codeberg.org/dnkl/foot/issues/552).
|
2021-05-31 17:12:38 +02:00
|
|
|
|
* Selection incorrectly wrapping rows ending with an explicit newline
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/565).
|
2021-06-01 18:58:26 +02:00
|
|
|
|
* Off-by-one error in markup of auto-detected URLs when the URL ends
|
|
|
|
|
|
in the right-most column.
|
2021-06-02 19:32:05 +02:00
|
|
|
|
* Multi-column characters being cut in half when resizing the
|
|
|
|
|
|
alternate screen.
|
2021-06-02 17:48:57 +02:00
|
|
|
|
* Restore `SIGHUP` in spawned processes.
|
2021-06-04 07:42:53 +02:00
|
|
|
|
* Text reflow performance (https://codeberg.org/dnkl/foot/issues/504).
|
2021-06-07 21:57:11 +02:00
|
|
|
|
* IL+DL (`CSI Ps L` + `CSI Ps M`) now moves the cursor to column 0.
|
2021-06-08 21:09:40 +01:00
|
|
|
|
* SS2 and SS3 (single shift) escape sequences behaving like locking
|
2021-06-09 09:30:34 +01:00
|
|
|
|
shifts (https://codeberg.org/dnkl/foot/issues/580).
|
2021-06-09 09:51:07 +02:00
|
|
|
|
* `TEXT`+`STRING`+`UTF8_STRING` mime types not being recognized in
|
|
|
|
|
|
clipboard offers (https://codeberg.org/dnkl/foot/issues/583).
|
2021-06-09 10:31:24 +02:00
|
|
|
|
* Memory leak caused by custom box drawing glyphs not being completely
|
|
|
|
|
|
freed when destroying a foot window instance
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/586).
|
2021-04-22 11:26:59 +02:00
|
|
|
|
|
|
|
|
|
|
|
2021-04-18 20:16:48 +02:00
|
|
|
|
### Security
|
|
|
|
|
|
### Contributors
|
2021-05-07 04:49:34 -05:00
|
|
|
|
* [r\_c\_f](https://codeberg.org/r_c_f)
|
2021-05-30 03:29:31 +01:00
|
|
|
|
* [craigbarnes](https://codeberg.org/craigbarnes)
|
2021-04-18 20:16:48 +02:00
|
|
|
|
|
|
|
|
|
|
|
2021-04-18 20:12:26 +02:00
|
|
|
|
## 1.7.2
|
|
|
|
|
|
|
2021-03-28 14:29:55 +02:00
|
|
|
|
### Added
|
2021-04-05 22:05:50 +02:00
|
|
|
|
|
2021-04-07 08:01:55 +02:00
|
|
|
|
* URxvt OSC-11 extension to set background alpha
|
2021-04-05 22:05:50 +02:00
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/436).
|
2021-04-08 13:50:02 +02:00
|
|
|
|
* OSC 17/117/19/119 - change/reset selection background/foreground
|
|
|
|
|
|
color.
|
2021-04-09 23:19:20 +02:00
|
|
|
|
* `box-drawings-uses-font-glyphs=yes|no` option to `foot.ini`
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/430).
|
2021-04-05 22:05:50 +02:00
|
|
|
|
|
|
|
|
|
|
|
2021-03-28 14:29:55 +02:00
|
|
|
|
### Changed
|
2021-04-09 21:47:57 +02:00
|
|
|
|
|
|
|
|
|
|
* Underline cursor is now rendered below text underline
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/415).
|
render: don’t let URL jump label sub-surfaces extend outside window geometry
We have no guarantee that sub-surfaces extending outside the window
geometry are rendered correctly (if at all).
For example, both Sway and River will render the window border on top
of the sub-surface.
Future versions of Sway may clip the sub-surface.
Since jump-labels are positioned slightly above, and to the left of
the URLs first character, having a label on either the top row, or on
the first column, will likely position it outside the window. This is
handled by simply setting x/y to 0 (or, to -margin, since the label
coordinate is later offsetted with the window margins).
Second, if the label is very long, it may extend outside the
window. This is very unusual for labels only showing the key, and not
the URL itself, but could happen in this case too, if e.g. the user
has configured double-width key characters.
This is handled by calculating its maximum width, and then truncating
the label.
Although very unlikely, it is possible for a label to also extend
outside the window’s vertical size. This could happen for very small
font sizes, where the label’s own margins are large, relative to the
font size. This case is currently not handled.
Closes #443
2021-04-10 13:16:39 +02:00
|
|
|
|
* Foot now tries much harder to keep URL jump labels inside the window
|
|
|
|
|
|
geometry (https://codeberg.org/dnkl/foot/issues/443).
|
2021-04-17 21:57:08 +02:00
|
|
|
|
* `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
|
2021-04-17 21:02:02 +02:00
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/449).
|
2021-04-09 21:47:57 +02:00
|
|
|
|
|
|
|
|
|
|
|
2021-03-28 14:29:55 +02:00
|
|
|
|
### Fixed
|
2021-03-29 20:11:32 +02:00
|
|
|
|
|
|
|
|
|
|
* Reverted _"Consumed modifiers are no longer sent to the client
|
|
|
|
|
|
application"_ (https://codeberg.org/dnkl/foot/issues/425).
|
sixel: fix double free caused by bad free() in sixel_colors_set()
sixel_color_set() is called when the number of (sixel) color registers
is changed.
It frees the current palette, and changes the “palette size” variable.
Originally, we only had a single palette. This is the one free:d by
sixel_color_set().
Later, we added support for private vs. shared palettes. With this
change, we now have one palette that is “never” free:d (the shared
one), and a private palette that is always free:d after a sixel has
been emitted.
‘sixel.palette’ is a pointer to the palette currently in use, and
should only be accessed **while emitting a sixel**.
This is the pointer sixel_color_set() free:d. So for example, if
‘sixel.palette’ pointed to the shared palette, we’d free the shared
palette. But, we didn’t reset ‘sixel.shared_palette’, causing a double
free later on.
Closes #427
2021-03-30 11:08:03 +02:00
|
|
|
|
* Crash caused by a double free originating in `XTSMGRAPHICS` - set
|
|
|
|
|
|
number of color registers
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/427).
|
2021-04-05 14:33:44 +02:00
|
|
|
|
* Wrong action referenced in error message for key binding collisions
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/432).
|
2021-04-07 08:02:21 +02:00
|
|
|
|
* OSC 4/104 out-of-bounds accesses to the color table. This was the
|
2021-04-05 22:07:58 +02:00
|
|
|
|
reason pywal turned foot windows transparent
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/434).
|
2021-04-07 19:09:31 +02:00
|
|
|
|
* PTY not being drained when the client application terminates.
|
2021-04-08 13:11:37 +02:00
|
|
|
|
* `auto_left_margin` not being limited to `cub1`
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/441).
|
2021-03-28 20:59:35 +02:00
|
|
|
|
* Crash in scrollback search mode when searching beyond the last output.
|
2021-03-29 20:11:32 +02:00
|
|
|
|
|
|
|
|
|
|
|
2021-03-28 14:29:55 +02:00
|
|
|
|
### Contributors
|
|
|
|
|
|
|
2021-04-18 20:11:27 +02:00
|
|
|
|
* [cglogic](https://codeberg.org/cglogic)
|
|
|
|
|
|
|
2021-03-28 14:29:55 +02:00
|
|
|
|
|
2021-03-28 14:25:09 +02:00
|
|
|
|
## 1.7.1
|
|
|
|
|
|
|
2021-03-20 14:14:58 +01:00
|
|
|
|
### Changed
|
2021-03-26 21:00:41 +01:00
|
|
|
|
|
|
|
|
|
|
* Update PGO build instructions in `INSTALL.md`
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/418).
|
2021-03-27 23:02:56 +01:00
|
|
|
|
* In scrollback search mode, empty cells can now be matched by spaces.
|
2021-03-26 21:00:41 +01:00
|
|
|
|
|
|
|
|
|
|
|
2021-03-20 14:14:58 +01:00
|
|
|
|
### Fixed
|
input: must have all required modifiers to un-shift a symbol
When detecting, and repairing, “broken” key bindings (where the key
binding itself explicitly lists a modifier that is consumed by the
final symbol - e.g “Shift+W”), don’t just look for an intersection
between the set of modifiers needed to produce the final symbol, and
the modifiers listed in the key combo. Instead, check if the key combo
has *all* the required modifiers.
Example: Shift+AltGr+w produces Page_Down. I.e. Page_Down is the
_shifted_ symbol, ‘w’ is the un-shifted symbol, and Shift+AltGr are
the modifiers required to shift ‘w’ to Page_Down.
If we have the key combo Shift+Page_Down, foot would, correctly,
determine that Page_Down is a shifted symbol. It would find the
Shift+AltGr modifier set, and since the intersection of “Shift+AltGr”
and “Shift” (from our key combo) is non-empty, foot
would (incorrectly) determine that we can, and should, replace
Page_Down with its un-shifted symbol ‘w’.
This is completely wrong, since Shift+w does _not_ produce Page_Down.
Closes #407
2021-03-21 11:55:03 +01:00
|
|
|
|
|
|
|
|
|
|
* Logic that repairs invalid key bindings ended up breaking valid key
|
|
|
|
|
|
bindings instead (https://codeberg.org/dnkl/foot/issues/407).
|
2021-03-20 15:32:31 +01:00
|
|
|
|
* Custom `line-height` settings now scale when increasing or
|
|
|
|
|
|
decreasing the font size at run-time.
|
2021-03-23 14:18:04 +01:00
|
|
|
|
* Newlines sometimes incorrectly inserted into copied text
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/410).
|
2021-03-23 14:06:10 +01:00
|
|
|
|
* Crash when compositor send `text-input-v3::enter` events without
|
|
|
|
|
|
first having sent a `keyboard::enter` event
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/411).
|
2021-03-24 20:46:51 +01:00
|
|
|
|
* Deadlock when rendering sixel images.
|
2021-03-25 09:42:15 +01:00
|
|
|
|
* 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).
|
2021-03-28 13:04:15 +02:00
|
|
|
|
* Empty sixels resulted in non-empty images.
|
input: must have all required modifiers to un-shift a symbol
When detecting, and repairing, “broken” key bindings (where the key
binding itself explicitly lists a modifier that is consumed by the
final symbol - e.g “Shift+W”), don’t just look for an intersection
between the set of modifiers needed to produce the final symbol, and
the modifiers listed in the key combo. Instead, check if the key combo
has *all* the required modifiers.
Example: Shift+AltGr+w produces Page_Down. I.e. Page_Down is the
_shifted_ symbol, ‘w’ is the un-shifted symbol, and Shift+AltGr are
the modifiers required to shift ‘w’ to Page_Down.
If we have the key combo Shift+Page_Down, foot would, correctly,
determine that Page_Down is a shifted symbol. It would find the
Shift+AltGr modifier set, and since the intersection of “Shift+AltGr”
and “Shift” (from our key combo) is non-empty, foot
would (incorrectly) determine that we can, and should, replace
Page_Down with its un-shifted symbol ‘w’.
This is completely wrong, since Shift+w does _not_ produce Page_Down.
Closes #407
2021-03-21 11:55:03 +01:00
|
|
|
|
|
|
|
|
|
|
|
2021-03-20 14:02:12 +01:00
|
|
|
|
## 1.7.0
|
|
|
|
|
|
|
2020-12-18 15:02:08 +01:00
|
|
|
|
### Added
|
2021-01-06 11:17:29 +01:00
|
|
|
|
|
|
|
|
|
|
* 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).
|
2021-01-11 09:30:08 +01:00
|
|
|
|
* `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).
|
2021-01-06 11:11:46 +01:00
|
|
|
|
* Key/mouse binding `select-extend-character-wise`, which forces the
|
|
|
|
|
|
selection mode to 'character-wise' when extending a selection.
|
2021-01-16 13:34:40 +01:00
|
|
|
|
* `DECSET` `47`, `1047` and `1048`.
|
2021-02-21 20:16:25 +01:00
|
|
|
|
* URL detection and OSC-8 support. URLs are highlighted and activated
|
|
|
|
|
|
using the keyboard (**no** mouse support). See **foot**(1)::URLs, or
|
2021-02-07 11:42:41 +01:00
|
|
|
|
[README.md](README.md#urls) for details
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/14).
|
2021-02-09 21:20:18 +01:00
|
|
|
|
* `-d,--log-level={info|warning|error}` to both `foot` and
|
|
|
|
|
|
`footclient` (https://codeberg.org/dnkl/foot/issues/337).
|
2021-02-12 09:48:32 +01:00
|
|
|
|
* `-D,--working-directory=DIR` to both `foot` and `footclient`
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/347)
|
sixel: implement private mode 80 - sixel scrolling
When enabled (the default), sixels behave much like normal output; the
start where the cursor is, and the cursor moves with the
sixel. I.e. after emitting a sixel the cursor is left after the image;
either to the right, if private mode 8452 is enabled, or otherwise on
the next line. Terminal content is scrolled up if the sixel is larger
than the screen.
When disabled, sixels *always* start at (0,0), the cursor never moves,
and the terminal content never scrolls.
In other words, the ‘disabled’ mode is a much simpler mode.
All we need to do to support both modes is re-write the sixel-emitting
loop to:
* break early if we’re “out of rows”, i.e. we’ve reached the bottom of
the screen.
* not linefeed, or move the cursor when scrolling is disabled
This patch also fixes a bug in the (new) implementation of private
mode 8452.
When emitting a sixel, we may break it up into smaller pieces, to
ensure a single sixel (as tracked internally) does not cross the
scrollback wrap-around.
The code that checked if we should do a linefeed or not, would skip
the linefeed on the last row of *each* such sixel piece. The correct
thing to do is to skip it only on the last row of the *last* piece.
I chose not to fix this bug in a separate patch since doing so would
have meant re-writing it again when implementing private mode 80.
2021-02-26 09:28:03 +01:00
|
|
|
|
* `DECSET 80` - sixel scrolling
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/361).
|
2021-02-16 19:37:49 +01:00
|
|
|
|
* `DECSET 1070` - sixel private color palette
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/362).
|
2021-02-16 19:11:38 +01:00
|
|
|
|
* `DECSET 8452` - position cursor to the right of sixels
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/363).
|
2021-02-23 19:58:26 +00:00
|
|
|
|
* Man page **foot-ctlseqs**(7), documenting all supported escape
|
|
|
|
|
|
sequences (https://codeberg.org/dnkl/foot/issues/235).
|
2021-03-11 17:37:56 +01:00
|
|
|
|
* Support for transparent sixels (DCS parameter `P2=1`)
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/391).
|
2021-03-13 07:49:57 -03:00
|
|
|
|
* `-N,--no-wait` to `footclient`
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/395).
|
2021-03-13 19:04:33 +01:00
|
|
|
|
* Completions for Bash shell
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/10).
|
2021-01-29 20:12:32 +01:00
|
|
|
|
|
2021-01-06 11:17:29 +01:00
|
|
|
|
|
2020-12-18 15:02:08 +01:00
|
|
|
|
### Changed
|
2020-12-19 22:43:09 +00:00
|
|
|
|
|
|
|
|
|
|
* 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.
|
2021-01-01 21:08:57 +01:00
|
|
|
|
* Box drawing characters are now rendered by foot, instead of using
|
|
|
|
|
|
font glyphs (https://codeberg.org/dnkl/foot/issues/198)
|
2021-01-02 21:28:55 +01:00
|
|
|
|
* Double- or triple clicking then dragging now extends the selection
|
|
|
|
|
|
word- or line-wise (https://codeberg.org/dnkl/foot/issues/267).
|
2021-01-12 17:38:12 +01:00
|
|
|
|
* The line thickness of box drawing characters now depend on the font
|
|
|
|
|
|
size (https://codeberg.org/dnkl/foot/issues/281).
|
2021-01-06 11:11:46 +01:00
|
|
|
|
* Extending a word/line-wise selection now uses the original selection
|
|
|
|
|
|
mode instead of switching to character-wise.
|
2021-01-20 18:10:24 +01:00
|
|
|
|
* 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
|
2021-01-21 15:14:43 +01:00
|
|
|
|
`resize-delay-ms` (https://codeberg.org/dnkl/foot/issues/301).
|
2021-02-16 14:31:46 +01:00
|
|
|
|
* `CSI 13 ; 2 t` now reports (0,0).
|
2021-03-04 10:12:39 +01:00
|
|
|
|
* 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)
|
2021-02-26 20:54:42 +01:00
|
|
|
|
* Consumed modifiers are no longer sent to the client application
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/376).
|
2021-03-07 19:28:17 +00:00
|
|
|
|
* The minimum version requirement for the libxkbcommon dependency is
|
|
|
|
|
|
now 1.0.0.
|
2021-03-11 17:32:38 +01:00
|
|
|
|
* Empty pixel rows at the bottom of a sixel is now trimmed.
|
2021-03-11 17:37:56 +01:00
|
|
|
|
* 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).
|
2021-03-12 21:43:35 +01:00
|
|
|
|
* Sixel decoding optimized; up to 100% faster in some cases.
|
2021-03-14 10:58:13 +01:00
|
|
|
|
* Reported sixel “max geometry” from current window size, to the
|
|
|
|
|
|
configured maximum size (defaulting to 10000x10000).
|
2021-02-16 14:31:46 +01:00
|
|
|
|
|
2020-12-20 15:42:32 +01:00
|
|
|
|
|
2020-12-20 15:51:04 +01:00
|
|
|
|
### Removed
|
2021-01-13 19:59:54 +00:00
|
|
|
|
|
2021-02-11 19:54:55 +01:00
|
|
|
|
* The `-g,--geometry` command-line option (which had been deprecated
|
|
|
|
|
|
and superseded by `-w,--window-size-pixels` since 1.5.0).
|
2021-01-13 19:59:54 +00:00
|
|
|
|
|
|
|
|
|
|
|
2021-01-29 20:12:32 +01:00
|
|
|
|
### Fixed
|
2021-02-02 09:53:24 +01:00
|
|
|
|
|
|
|
|
|
|
* 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.
|
2021-02-21 11:57:38 +01:00
|
|
|
|
* Terminals spawned with `ctrl`+`shift`+`n` not terminating when
|
|
|
|
|
|
exiting shell (https://codeberg.org/dnkl/foot/issues/366).
|
2021-02-26 15:16:42 +01:00
|
|
|
|
* Default value of `-t,--term` in `--help` output when foot was built
|
|
|
|
|
|
without terminfo support.
|
2021-03-12 22:06:50 +01:00
|
|
|
|
* Drain PTY when the client application terminates.
|
2021-02-02 09:53:24 +01:00
|
|
|
|
|
|
|
|
|
|
|
2021-01-29 20:12:32 +01:00
|
|
|
|
### Contributors
|
|
|
|
|
|
|
|
|
|
|
|
* [craigbarnes](https://codeberg.org/craigbarnes)
|
2021-02-26 15:16:42 +01:00
|
|
|
|
* toast
|
2021-03-01 20:26:56 +01:00
|
|
|
|
* [l3mon4d3](https://codeberg.org/l3mon4d3)
|
2021-03-13 19:04:33 +01:00
|
|
|
|
* [Simon Schricker](mailto:s.schricker@sillage.at)
|
2021-02-12 21:41:53 +01:00
|
|
|
|
|
|
|
|
|
|
|
2021-02-12 10:44:42 +01:00
|
|
|
|
## 1.6.4
|
2021-02-12 21:27:15 +01:00
|
|
|
|
|
2021-02-12 10:44:42 +01:00
|
|
|
|
### Added
|
2021-01-16 15:44:51 +01:00
|
|
|
|
|
|
|
|
|
|
* `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).
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-02-12 10:44:42 +01:00
|
|
|
|
### Changed
|
2021-01-29 12:57:03 -07:00
|
|
|
|
|
|
|
|
|
|
* The IME state no longer stays stuck in the terminal if the IME goes
|
|
|
|
|
|
away during preedit.
|
2021-02-09 19:44:57 +01:00
|
|
|
|
* `-Dterminfo` changed from a `boolean` to a `feature` option.
|
2021-02-11 19:54:55 +01:00
|
|
|
|
* 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.
|
2021-01-29 12:57:03 -07:00
|
|
|
|
|
|
|
|
|
|
|
2021-02-12 10:44:42 +01:00
|
|
|
|
### Fixed
|
2021-02-12 10:03:01 +01:00
|
|
|
|
|
|
|
|
|
|
* `BS`, `HT` and `DEL` from being stripped in bracketed paste mode.
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-02-12 10:44:42 +01:00
|
|
|
|
### Contributors
|
|
|
|
|
|
|
2021-01-29 12:57:03 -07:00
|
|
|
|
* [tdeo](https://codeberg.org/tdeo)
|
2021-02-09 19:44:57 +01:00
|
|
|
|
* jbeich
|
2021-01-29 20:12:32 +01:00
|
|
|
|
|
|
|
|
|
|
|
2021-01-21 11:43:22 +01:00
|
|
|
|
## 1.6.3
|
2021-01-29 19:52:27 +01:00
|
|
|
|
|
2021-01-21 11:43:22 +01:00
|
|
|
|
### Added
|
2021-01-07 22:21:07 +03:00
|
|
|
|
|
|
|
|
|
|
* Completions for fish shell
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/11)
|
2021-01-23 10:19:28 +01:00
|
|
|
|
* FreeBSD support (https://codeberg.org/dnkl/foot/issues/238).
|
2020-12-20 15:01:21 -07:00
|
|
|
|
* 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.
|
2021-01-07 22:21:07 +03:00
|
|
|
|
|
|
|
|
|
|
|
2021-01-21 11:43:22 +01:00
|
|
|
|
### Changed
|
2021-01-03 14:08:25 -05:00
|
|
|
|
|
|
|
|
|
|
* Trailing comments in `foot.ini` must now be preceded by a space or tab
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/270)
|
2021-01-24 11:33:59 +01:00
|
|
|
|
* The scrollback search box no longer accepts non-printable characters.
|
2021-01-23 11:22:22 +01:00
|
|
|
|
* Non-formatting C0 control characters, `BS`, `HT` and `DEL` are now
|
|
|
|
|
|
stripped from pasted text.
|
2021-01-03 14:08:25 -05:00
|
|
|
|
|
|
|
|
|
|
|
2020-12-20 15:51:04 +01:00
|
|
|
|
### Fixed
|
2020-12-26 01:29:40 +01:00
|
|
|
|
|
|
|
|
|
|
* Exit when the client application terminates, not when the TTY file
|
|
|
|
|
|
descriptor is closed.
|
2020-12-25 22:04:19 +01:00
|
|
|
|
* Crash on compositors not implementing the _text input_ interface
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/259).
|
2021-01-02 22:24:49 +01:00
|
|
|
|
* Erased, overflowing glyphs (when
|
|
|
|
|
|
`tweak.allow-overflowing-double-width-glyphs=yes` - the default) not
|
|
|
|
|
|
properly erasing the cell overflowed **into**.
|
2021-01-03 14:08:25 -05:00
|
|
|
|
* `word-delimiters` option ignores `#` and subsequent characters
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/270)
|
2021-01-04 18:32:55 +01:00
|
|
|
|
* Combining characters not being rendered when composed with colored
|
2021-01-11 09:35:01 +01:00
|
|
|
|
bitmap glyphs (i.e. colored emojis).
|
2021-01-12 14:55:21 +01:00
|
|
|
|
* Pasting URIs from the clipboard when the source has not
|
|
|
|
|
|
newline-terminated the last URI
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/291).
|
2021-01-14 14:41:34 +01:00
|
|
|
|
* Sixel “current geometry” query response not being bounded by the
|
|
|
|
|
|
current window dimensions (fixes `lsix` output)
|
2021-01-16 12:27:58 +01:00
|
|
|
|
* Crash on keyboard input when repeat rate was zero (i.e. no repeat).
|
2021-01-22 17:03:43 +01:00
|
|
|
|
* Wrong button encoding of mouse buttons 6 and 7 in mouse events.
|
2021-01-24 12:02:20 +01:00
|
|
|
|
* Scrollback search not matching composed characters.
|
2021-01-25 10:05:51 +01:00
|
|
|
|
* High CPU usage when holding down e.g. arrow keys while in scrollback
|
|
|
|
|
|
search mode.
|
2021-01-25 10:00:43 +01:00
|
|
|
|
* Rendering of composed characters in the scrollback search box.
|
2021-01-25 21:57:42 +01:00
|
|
|
|
* IME pre-edit cursor when positioned at the end of the pre-edit
|
|
|
|
|
|
string.
|
2021-01-26 20:05:14 +01:00
|
|
|
|
* Scrollback search not matching multi-column characters.
|
2020-12-26 01:29:40 +01:00
|
|
|
|
|
|
|
|
|
|
|
2020-12-20 15:51:04 +01:00
|
|
|
|
### Contributors
|
|
|
|
|
|
|
2021-01-03 15:49:24 -05:00
|
|
|
|
* [pc](https://codeberg.org/pc)
|
2021-01-07 22:21:07 +03:00
|
|
|
|
* [FollieHiyuki](https://codeberg.org/FollieHiyuki)
|
2021-01-23 10:12:39 +01:00
|
|
|
|
* jbeich
|
2020-12-20 15:01:21 -07:00
|
|
|
|
* [tdeo](https://codeberg.org/tdeo)
|
2020-12-20 15:51:04 +01:00
|
|
|
|
|
|
|
|
|
|
|
2020-12-21 15:58:25 +01:00
|
|
|
|
## 1.6.2
|
|
|
|
|
|
|
|
|
|
|
|
### Fixed
|
|
|
|
|
|
|
|
|
|
|
|
* Version number in `meson.build`.
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-12-20 15:51:04 +01:00
|
|
|
|
## 1.6.1
|
2020-12-20 15:46:05 +01:00
|
|
|
|
### Added
|
2020-12-21 13:47:45 +01:00
|
|
|
|
|
|
|
|
|
|
* `--seed` to `generate-alt-random.py`, enabling deterministic PGO
|
|
|
|
|
|
builds.
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-12-20 15:46:05 +01:00
|
|
|
|
### Changed
|
2020-12-21 12:20:08 +01:00
|
|
|
|
|
2020-12-21 13:55:19 +01:00
|
|
|
|
|
2020-12-21 12:20:08 +01:00
|
|
|
|
* Use `-std=c11` instead of `-std=c18`.
|
2020-12-21 13:50:06 +01:00
|
|
|
|
* 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))
|
2020-12-21 12:20:08 +01:00
|
|
|
|
|
|
|
|
|
|
|
2020-12-18 15:02:08 +01:00
|
|
|
|
### Fixed
|
2020-12-20 11:56:18 +01:00
|
|
|
|
|
|
|
|
|
|
* Missing dependencies in meson, causing heavily parallelized builds
|
|
|
|
|
|
to fail.
|
2020-12-20 12:25:12 +01:00
|
|
|
|
* Background color when alpha < 1.0 being wrong
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/249).
|
2020-12-21 13:40:53 +01:00
|
|
|
|
* `generate-alt-random.py` failing in containers.
|
2020-12-20 11:56:18 +01:00
|
|
|
|
|
|
|
|
|
|
|
2020-12-18 15:02:08 +01:00
|
|
|
|
### Contributors
|
|
|
|
|
|
|
2020-12-19 22:43:09 +00:00
|
|
|
|
* [craigbarnes](https://codeberg.org/craigbarnes)
|
2020-12-20 15:42:32 +01:00
|
|
|
|
* [sterni](https://codeberg.org/sterni)
|
2020-12-19 22:43:09 +00:00
|
|
|
|
|
2020-12-18 15:02:08 +01:00
|
|
|
|
|
2020-12-18 14:51:34 +01:00
|
|
|
|
## 1.6.0
|
2020-11-22 12:18:22 +01:00
|
|
|
|
|
|
|
|
|
|
### 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
|
2020-11-22 19:03:41 +01:00
|
|
|
|
[INSTALL.md](INSTALL.md#user-content-performance-optimized-pgo).
|
2020-11-22 12:18:22 +01:00
|
|
|
|
|
|
|
|
|
|
|
2020-09-18 21:29:39 +02:00
|
|
|
|
### Added
|
2020-10-02 21:44:03 +02:00
|
|
|
|
|
2020-12-05 11:09:05 +01:00
|
|
|
|
* IME support. This is compile-time optional, see
|
|
|
|
|
|
[INSTALL.md](INSTALL.md#user-content-options)
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/134).
|
2020-12-08 20:31:22 +01:00
|
|
|
|
* `DECSET` escape to enable/disable IME: `CSI ? 737769 h` enables IME
|
2020-12-08 20:31:48 +01:00
|
|
|
|
and `CSI ? 737769 l` disables it. This can be used to
|
2020-12-08 20:29:44 +01:00
|
|
|
|
e.g. enable/disable IME when entering/leaving insert mode in vim.
|
2020-12-18 14:46:56 +01:00
|
|
|
|
* `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).
|
2020-10-06 18:42:26 +02:00
|
|
|
|
* Implement reverse auto-wrap (_auto\_left\_margin_, _bw_, in
|
|
|
|
|
|
terminfo). This mode can be enabled/disabled with `CSI ? 45 h` and
|
2020-10-08 19:52:10 +02:00
|
|
|
|
`CSI ? 45 l`. It is **enabled** by default
|
2020-10-02 21:44:03 +02:00
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/150).
|
2020-12-18 14:46:16 +01:00
|
|
|
|
* `bell` option to `foot.ini`. Can be set to `set-urgency` to make
|
2020-10-08 19:55:32 +02:00
|
|
|
|
foot render the margins in red when receiving `BEL` while **not**
|
2020-10-11 17:44:29 +02:00
|
|
|
|
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
|
2020-10-08 19:55:32 +02:00
|
|
|
|
[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).
|
2020-12-18 14:46:16 +01:00
|
|
|
|
* `bell` option can also be set to `notify`, in which case a desktop
|
2020-12-16 10:32:21 +01:00
|
|
|
|
notification is emitted when foot receives `BEL` in an unfocused
|
|
|
|
|
|
window.
|
2020-12-18 14:46:16 +01:00
|
|
|
|
* `word-delimiters` option to `foot.ini`
|
2020-10-09 19:47:03 +02:00
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/156).
|
2020-12-18 14:46:16 +01:00
|
|
|
|
* `csd.preferred` can now be set to `none` to disable window
|
2020-10-11 19:04:21 +02:00
|
|
|
|
decorations. Note that some compositors will render SSDs despite
|
|
|
|
|
|
this option being used (https://codeberg.org/dnkl/foot/issues/163).
|
2020-10-11 18:19:38 +02:00
|
|
|
|
* Terminal content is now auto-scrolled when moving the mouse above or
|
|
|
|
|
|
below the window while selecting
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/149).
|
2020-12-18 14:46:16 +01:00
|
|
|
|
* `font-bold`, `font-italic` `font-bold-italic` options to
|
2020-10-20 21:04:47 +02:00
|
|
|
|
`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).
|
selection: implement support for drag-and-drop
We accept COPY and MOVE actions, for text/plain;charset=utf-8
mime-types.
To implement DnD, we need to track the current DnD data offer *and*
the terminal instance it is (currently) targeting.
To do this, a seat has a new member, ‘dnd_term’. On a DnD enter event,
we lookup the corresponding terminal instance and point ‘dnd_term’ to
it.
On a DnD leave event, ‘dnd_term’ is reset.
The DnD data offer is tracked in the terminal’s wayland window
instance. It is reset, along with the seat’s ‘dnd_term’ on a DnD leave
event.
On a drop event, we immediately clear the seat’s ‘dnd_term’, to ensure
we don’t reset it, or destroy the offer before the drop has been
completed.
The drop’s ‘done()’ callback takes care of destroying and resetting
the DnD offer in the terminal’s wayland window instance.
Closes #175
2020-10-26 21:02:53 +01:00
|
|
|
|
* Drag & drop support; text, files and URLs can now be dropped in a
|
|
|
|
|
|
foot terminal window (https://codeberg.org/dnkl/foot/issues/175).
|
2020-12-18 14:46:16 +01:00
|
|
|
|
* `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
|
2020-11-13 23:26:03 +01:00
|
|
|
|
not possible to add a command to these actions when used in mouse
|
|
|
|
|
|
bindings, making them useless
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/183).
|
2020-12-18 14:46:16 +01:00
|
|
|
|
* `bold-text-in-bright` option to `foot.ini`. When enabled, bold text
|
|
|
|
|
|
is rendered in a brighter color
|
2020-11-14 11:23:01 +01:00
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/199).
|
2020-11-22 18:36:37 +00:00
|
|
|
|
* `-w,--window-size-pixels` and `-W,--window-size-chars` command line
|
2020-11-23 07:34:27 +01:00
|
|
|
|
options to `footclient` (https://codeberg.org/dnkl/foot/issues/189).
|
2020-11-23 19:19:19 +01:00
|
|
|
|
* Short command line options for `--title`, `--maximized`,
|
|
|
|
|
|
`--fullscreen`, `--login-shell`, `--hold` and `--check-config`.
|
2020-12-07 20:43:32 +01:00
|
|
|
|
* `DECSET` escape to modify the `escape` key to send `\E[27;1;27~`
|
2020-12-08 20:29:44 +01:00
|
|
|
|
instead of `\E`: `CSI ? 27127 h` enables the new behavior, `CSI ?
|
|
|
|
|
|
27127 l` disables it (the default).
|
2020-12-08 19:19:55 +01:00
|
|
|
|
* OSC 777;notify: desktop notifications. Use in combination with the
|
2020-12-18 14:46:16 +01:00
|
|
|
|
new `notify` option in `foot.ini`
|
2020-12-08 19:19:55 +01:00
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/224).
|
2020-12-18 13:46:57 +01:00
|
|
|
|
* 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).
|
2020-10-02 21:44:03 +02:00
|
|
|
|
|
|
|
|
|
|
|
2020-10-11 19:36:00 +02:00
|
|
|
|
### Changed
|
2020-10-22 18:41:47 +02:00
|
|
|
|
|
|
|
|
|
|
* Blinking text now uses the foreground color, but dimmed down in its
|
|
|
|
|
|
off state, instead of the background color.
|
2020-11-23 20:10:55 +01:00
|
|
|
|
* Sixel default maximum size is now 10000x10000 instead of the current
|
|
|
|
|
|
window size.
|
resize: don’t reflow text on alt screen
Alt screen applications normally reflow/readjust themselves on a
window resize.
When we do it too, the result is graphical glitches/flashes since our
re-flowed text is rendered in one frame, and the application re-flowed
text soon thereafter.
We can’t avoid rendering some kind of re-flowed frame, since we don’t
know when, or even if, the application will update itself. To avoid
glitches, we need to render, as closely as possible, what the
application itself will render shortly.
This is actually pretty simple; we just need to copy the visible
content over from the old grid to the new grid. We don’t bother with
text re-flow, but simply truncate long lines.
To simplify things, we simply cancel any active selection (since often
times, it will be corrupted anyway when the application redraws
itself).
Since we’re not reflowing text, there’s no need to translate e.g. the
cursor position - we just keep the current position (but bounded to
the new dimensions).
Fun thing: ‘less’ gets corrupted if we don’t leave the cursor at
the (new) bottom row. To handle this, we check if the cursor (before
resize) is at the bottom row, and if so, we move it to the new bottom
row.
Closes #221
2020-11-24 19:00:57 +01:00
|
|
|
|
* Graphical glitches/flashes when resizing the window while running a
|
|
|
|
|
|
fullscreen application, i.e. the 'alt' screen
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/221).
|
term: split cursor blink state into two
There are two different escape sequences that can be used to set the
cursor blink state: ‘CSI ? 12 h/l’ and ‘CSI Ps SP q’.
Up until now, they both modified the same internal state in foot. This
meant you could enable a blinking cursor with e.g. ‘CSI ? 12 h’ and
then disable it with ‘CSI 2 SP q’.
Since the ‘CSI ? 12’ escapes are used in the civis/cnorm/cvvis
terminfo entries, applications often ended up disabling the blink
state on exit (typically be emitting ‘cnorm’), requiring users to
manually re-enable blinking.
By splitting the internal state into two separate states, we can
improve the situation.
The cursor will blink if at least one of the two have been enabled.
The setting in foot.ini sets the default state of the ‘CSI Ps SP q’
escape.
This means if the user has enabled blinking in the configuration, the
cursor will blink regardless of civis/cnorm/cvvis. Which probably is
what the user wants.
If the user has NOT enabled blinking, civis/cnorm/cvvis act as
intended: cvvis blink, civis and cnorm do not.
If an application overrides the cursor blink/style with ‘CSI Ps SP q’,
that will override the user’s setting in foot.ini. But most likely
that too is intended (for example, the user may have configured the
application to use a different cursor style). And, a well written
application will emit the ‘Se’ terminfo sequence on exit, which in
foot is defined to ‘CSI SP q’, which will reset both the style and
blink state to the user configured style/state.
Closes #218
2020-11-26 18:09:32 +01:00
|
|
|
|
* 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).
|
2020-12-12 20:50:43 +01:00
|
|
|
|
* 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.
|
2020-12-16 10:33:04 +01:00
|
|
|
|
* SGR 21 no longer disables **bold**. According to ECMA-48, SGR 21 is
|
2020-12-14 19:10:30 +01:00
|
|
|
|
_”double underline_”. Foot does not (yet) implement that, but that’s
|
|
|
|
|
|
no reason to implement a non-standard behavior.
|
2020-12-16 13:57:40 +01:00
|
|
|
|
* `DECRQM` now returns actual state of the requested mode, instead of
|
|
|
|
|
|
always returning `2`.
|
2020-12-12 20:50:43 +01:00
|
|
|
|
|
2020-10-22 18:41:47 +02:00
|
|
|
|
|
2020-10-11 19:36:00 +02:00
|
|
|
|
### Removed
|
2020-12-08 19:49:43 +01:00
|
|
|
|
|
|
|
|
|
|
* Support for loading configuration from `$XDG_CONFIG_HOME/footrc`.
|
2020-12-18 14:46:16 +01:00
|
|
|
|
* `scrollback` option from `foot.ini`.
|
|
|
|
|
|
* `geometry` from `foot.ini`.
|
|
|
|
|
|
* Key binding action `scrollback-up` and `scrollback-down`.
|
2020-12-08 19:49:43 +01:00
|
|
|
|
|
|
|
|
|
|
|
2020-10-11 19:36:00 +02:00
|
|
|
|
### Fixed
|
2020-12-05 11:21:17 +01:00
|
|
|
|
|
|
|
|
|
|
* Error when re-assigning a default key binding
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/233).
|
2020-12-11 20:01:19 +01:00
|
|
|
|
* `\E[s`+`\E[u` (save/restore cursor) now saves and restores
|
|
|
|
|
|
attributes and charset configuration, just like `\E7`+`\E8`.
|
input: report mouse drag events also when the pointer is outside the grid
As long as the mouse button was *pressed* while the pointer was inside
the grid, we want to keep reporting motion events until the button is
released.
Even when the pointer moves outside the grid (but in this case, the
reported coordinates are bounded by the grid size).
This patch also tries to improve multi-button handling (i.e. multiple
buttons pressed at the same time), and the events we report to the
client for these, in the following ways:
* Motion events now report the *initial* button. That is, if you start
a drag operation with the LEFT button, then press RIGHT (before
releasing LEFT), keep reporting LEFT in the motion events.
* Mouse release events are reported for *any* button, as long as the
pointer is *inside* the grid, *or*, the button released was the
button used to start a drag operation.
The last point is important; if we have reported a button press
followed by motion events (i.e. a drag operation), we need to report
the button release, *even* if the pointer is outside the grid.
Note that the client may receive unbalanced button press/release
events in the following ways if the user pressed one, and then a
second button *inside* the grid, then releases the *first*
button (possibly outside the grid), and finally releases the *second*
button *outside* the grid.
In this case, both buttons will report press events. The first button
will report a release event since it is the initial button in the drag
operation.
However, we don’t track the fact that the second button is being
pressed, and thus if it is released outside the grid, it wont generate
a release event.
2020-12-11 20:48:43 +01:00
|
|
|
|
* Report mouse motion events to the client application also while
|
|
|
|
|
|
dragging the cursor outside the grid.
|
2020-12-12 20:50:43 +01:00
|
|
|
|
* Parsing of the sub-parameter versions of indexed SGR color escapes
|
|
|
|
|
|
(e.g. `\E[38:5...m`)
|
2020-12-14 19:05:03 +01:00
|
|
|
|
* Frames occasionally being rendered while application synchronized
|
|
|
|
|
|
updates is in effect.
|
2020-12-15 18:55:27 +01:00
|
|
|
|
* Handling of failures to parse the font specification string.
|
vt: don’t ignore extra private/intermediate characters
Take ‘\E(#0’ for example - this is *not* the same as ‘\E(0’.
Up until now, foot has however treated them as the same escape,
because the handler for ‘\E(0’ didn’t verify there weren’t any _other_
private characters present.
Fix this by turning the ‘private’ array into a single 4-byte
integer. This allows us to match *all* privates with a single
comparison.
Private characters are added to the LSB first, and MSB last. This
means we can check for single privates in pretty much the same way as
before:
switch (term->vt.private) {
case ‘?’:
...
break;
}
Checking for two (or more) is much uglier, but foot only supports
a *single* escape with two privates, and no escapes with three or
more:
switch (term->vt.private) {
case 0x243f: /* ‘?$’ */
...
break;
}
The ‘clear’ action remains simple (and fast), with a single write
operation.
Collecting privates is potentially _slightly_ more complex than
before; we now need mask and compare, instead of simply comparing,
when checking how many privates we already have.
We _could_ add a counter, which would make collecting privates easier,
but this would add an additional write to the ‘clean’ action which is
really bad since it’s in the hot path.
2020-12-16 14:30:49 +01:00
|
|
|
|
* Extra private/intermediate characters in escape sequences not being
|
|
|
|
|
|
ignored.
|
2020-12-05 11:21:17 +01:00
|
|
|
|
|
|
|
|
|
|
|
2020-12-01 20:02:58 +01:00
|
|
|
|
### Contributors
|
|
|
|
|
|
|
|
|
|
|
|
* [kennylevinsen](https://codeberg.org/kennylevinsen)
|
|
|
|
|
|
* [craigbarnes](https://codeberg.org/craigbarnes)
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-12-01 19:33:22 +01:00
|
|
|
|
## 1.5.4
|
|
|
|
|
|
|
2020-11-11 18:37:28 +01:00
|
|
|
|
### Changed
|
|
|
|
|
|
|
2020-12-01 20:02:58 +01:00
|
|
|
|
|
2020-11-11 18:37:28 +01:00
|
|
|
|
* Num Lock by default overrides the keypad mode. See
|
2020-11-12 18:20:54 +01:00
|
|
|
|
**foot.ini**(5)::KEYPAD, or
|
|
|
|
|
|
[README.md](README.md#user-content-keypad) for details
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/194).
|
2020-11-13 17:49:23 +01:00
|
|
|
|
* 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.
|
2020-11-11 18:37:28 +01:00
|
|
|
|
|
2020-12-01 19:33:22 +01:00
|
|
|
|
### Fixed
|
|
|
|
|
|
|
2020-11-10 19:20:35 +01:00
|
|
|
|
* Resize very slow when window is hidden
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/190).
|
2020-11-19 19:15:13 +01:00
|
|
|
|
* Key mappings for key combinations with `shift`+`tab`
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/210).
|
2020-11-19 19:20:15 +01:00
|
|
|
|
* Key mappings for key combinations with `alt`+`return`.
|
2020-11-22 16:40:15 +00:00
|
|
|
|
* `footclient` `-m` (`--maximized`) flag being ignored.
|
2020-11-23 19:22:40 +01:00
|
|
|
|
* Crash with explicitly sized sixels with a height less than 6 pixels.
|
2020-11-28 11:50:32 +01:00
|
|
|
|
* Key mappings for `esc` with modifiers.
|
2020-11-06 20:21:33 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Contributors
|
|
|
|
|
|
|
2020-11-21 22:05:24 +01:00
|
|
|
|
* [craigbarnes](https://codeberg.org/craigbarnes)
|
|
|
|
|
|
|
2020-11-06 20:21:33 +01:00
|
|
|
|
|
2020-11-06 20:06:31 +01:00
|
|
|
|
## 1.5.3
|
|
|
|
|
|
|
|
|
|
|
|
### Fixed
|
|
|
|
|
|
|
2020-10-19 18:30:19 +02:00
|
|
|
|
* 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).
|
2020-10-20 20:58:03 +02:00
|
|
|
|
* Restored window size when window is un-tiled.
|
2020-10-20 21:00:19 +02:00
|
|
|
|
* XCursor shape in CSD corners when window is tiled.
|
2020-10-20 21:01:33 +02:00
|
|
|
|
* Error handling when processing keyboard input (maybe
|
|
|
|
|
|
https://codeberg.org/dnkl/foot/issues/171).
|
2020-10-29 18:06:04 +01:00
|
|
|
|
* 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).
|
2020-11-03 19:44:51 +01:00
|
|
|
|
* Crash when using the mouse in alternate scroll mode in an unfocused
|
|
|
|
|
|
window (https://codeberg.org/dnkl/foot/issues/179).
|
2020-11-04 19:01:59 +01:00
|
|
|
|
* Character dropped from selection when "right-click-hold"-extending a
|
|
|
|
|
|
selection (https://codeberg.org/dnkl/foot/issues/180).
|
2020-10-11 19:36:00 +02:00
|
|
|
|
|
|
|
|
|
|
|
2020-10-13 08:02:09 +02:00
|
|
|
|
## 1.5.2
|
|
|
|
|
|
|
|
|
|
|
|
### Fixed
|
|
|
|
|
|
|
|
|
|
|
|
* Regression: middle clicking double pastes in e.g. vim
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/168)
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-10-11 19:31:01 +02:00
|
|
|
|
## 1.5.1
|
2020-10-02 21:44:03 +02:00
|
|
|
|
|
2020-09-18 21:29:39 +02:00
|
|
|
|
### Changed
|
2020-09-29 19:41:53 +02:00
|
|
|
|
|
2020-09-29 19:43:39 +02:00
|
|
|
|
* Default value of the **scrollback.multiplier** option in `foot.ini`
|
|
|
|
|
|
from `1.0` to `3.0`.
|
2020-10-10 10:27:42 +02:00
|
|
|
|
* `shift`+`insert` now pastes from the primary selection by
|
|
|
|
|
|
default. This is in addition to middle-clicking with the mouse.
|
2020-09-29 19:41:53 +02:00
|
|
|
|
|
|
|
|
|
|
|
2020-09-18 21:29:39 +02:00
|
|
|
|
### Fixed
|
2020-09-27 14:31:39 +02:00
|
|
|
|
|
|
|
|
|
|
* Mouse bindings now match even if the actual click count is larger
|
|
|
|
|
|
than specified in the binding. This allows you to, for example,
|
|
|
|
|
|
quickly press the middle-button to paste multiple times
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/146).
|
2020-09-29 10:11:03 +02:00
|
|
|
|
* Color flashes when changing the color palette with OSC 4,10,11
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/141).
|
2020-09-24 18:35:40 +02:00
|
|
|
|
* Scrollback position is now retained when resizing the window
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/142).
|
2020-09-29 09:49:21 +02:00
|
|
|
|
* Trackpad scrolling speed to better match the mouse scrolling speed,
|
|
|
|
|
|
and to be consistent with other (Wayland) terminal emulators. Note
|
|
|
|
|
|
that it is (much) slower compared to previous foot versions. Use the
|
2020-09-29 19:47:29 +02:00
|
|
|
|
**scrollback.multiplier** option in `foot.ini` if you find the new
|
|
|
|
|
|
speed too slow (https://codeberg.org/dnkl/foot/issues/144).
|
2020-10-07 18:34:48 +02:00
|
|
|
|
* Crash when `foot.ini` contains an invalid section name
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/159).
|
2020-10-08 19:53:11 +02:00
|
|
|
|
* Background opacity when in _reverse video_ mode.
|
2020-10-02 20:55:10 +02:00
|
|
|
|
* Crash when writing a sixel image that extends outside the terminal's
|
|
|
|
|
|
right margin (https://codeberg.org/dnkl/foot/issues/151).
|
2020-10-02 20:56:44 +02:00
|
|
|
|
* Sixel image at non-zero column positions getting sheared at
|
|
|
|
|
|
seemingly random occasions
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/151).
|
2020-10-07 18:46:11 +02:00
|
|
|
|
* Crash after either resizing a window or changing the font size if
|
|
|
|
|
|
there were sixels present in the scrollback while doing so.
|
2020-10-09 18:53:00 +02:00
|
|
|
|
* _Send Device Attributes_ to only send a response if `Ps == 0`.
|
2020-10-10 21:13:08 +03:00
|
|
|
|
* Paste from primary when clipboard is empty.
|
2020-09-27 14:31:39 +02:00
|
|
|
|
|
|
|
|
|
|
|
2020-09-18 21:29:39 +02:00
|
|
|
|
### Contributors
|
|
|
|
|
|
|
2020-10-09 19:19:40 +02:00
|
|
|
|
* [craigbarnes](https://codeberg.org/craigbarnes)
|
2020-10-10 23:34:21 +02:00
|
|
|
|
* [zar](https://codeberg.org/zar)
|
2020-10-09 19:19:40 +02:00
|
|
|
|
|
2020-09-18 21:29:39 +02:00
|
|
|
|
|
2020-09-18 21:22:59 +02:00
|
|
|
|
## 1.5.0
|
2020-07-29 07:08:14 +02:00
|
|
|
|
|
2020-09-08 19:37:59 +02:00
|
|
|
|
### Deprecated
|
|
|
|
|
|
|
|
|
|
|
|
* `$XDG_CONFIG_HOME/footrc`/`~/.config/footrc`. Use
|
|
|
|
|
|
`$XDG_CONFIG_HOME/foot/foot.ini`/`~/.config/foot/foot.ini` instead.
|
2020-09-10 18:17:47 +02:00
|
|
|
|
* **scrollback** option in `foot.ini`. Use **scrollback.lines**
|
|
|
|
|
|
instead.
|
|
|
|
|
|
* **scrollback-up** key binding. Use **scrollback-up-page** instead.
|
|
|
|
|
|
* **scrollback-down** key binding. Use **scrollback-down-page**
|
|
|
|
|
|
instead.
|
2020-09-08 19:37:59 +02:00
|
|
|
|
|
|
|
|
|
|
|
2020-07-23 18:56:47 +02:00
|
|
|
|
### Added
|
2020-07-27 19:08:28 +02:00
|
|
|
|
|
|
|
|
|
|
* Scrollback position indicator. This feature is optional and
|
2020-07-29 17:50:19 +02:00
|
|
|
|
controlled by the **scrollback.indicator-position** and
|
2020-09-08 19:37:59 +02:00
|
|
|
|
**scrollback.indicator-format** options in `foot.ini`
|
2020-07-27 19:08:28 +02:00
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/42).
|
2020-08-15 23:29:38 +02:00
|
|
|
|
* Key bindings in _scrollback search_ mode are now configurable.
|
2020-07-29 17:48:22 +02:00
|
|
|
|
* `--check-config` command line option.
|
2020-07-31 17:02:53 +02:00
|
|
|
|
* **pipe-selected** key binding. Works like **pipe-visible** and
|
|
|
|
|
|
**pipe-scrollback**, but only pipes the currently selected text, if
|
|
|
|
|
|
any (https://codeberg.org/dnkl/foot/issues/51).
|
2020-09-08 19:37:59 +02:00
|
|
|
|
* **mouse.hide-when-typing** option to `foot.ini`.
|
|
|
|
|
|
* **scrollback.multiplier** option to `foot.ini`
|
2020-08-03 19:43:06 +02:00
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/54).
|
2020-08-12 18:53:32 +02:00
|
|
|
|
* **colors.selection-foreground** and **colors.selection-background**
|
2020-09-08 19:37:59 +02:00
|
|
|
|
options to `foot.ini`.
|
|
|
|
|
|
* **tweak.render-timer** option to `foot.ini`.
|
2020-08-10 19:16:26 +02:00
|
|
|
|
* Modifier support in mouse bindings
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/77).
|
2020-08-10 20:59:05 +02:00
|
|
|
|
* Click count support in mouse bindings, i.e double- and triple-click
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/78).
|
2020-08-11 10:26:31 +02:00
|
|
|
|
* All mouse actions (begin selection, select word, select row etc) are
|
|
|
|
|
|
now configurable, via the new **select-begin**,
|
|
|
|
|
|
**select-begin-block**, **select-extend**, **select-word**,
|
|
|
|
|
|
**select-word-whitespace** and **select-row** options in the
|
2020-09-08 19:37:59 +02:00
|
|
|
|
**mouse-bindings** section in `foot.ini`
|
2020-08-11 10:26:31 +02:00
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/79).
|
2020-08-16 17:03:58 +02:00
|
|
|
|
* Implement XTSAVE/XTRESTORE escape sequences, `CSI ? Ps s` and `CSI ?
|
|
|
|
|
|
Ps r` (https://codeberg.org/dnkl/foot/issues/91).
|
2020-08-23 05:31:34 +01:00
|
|
|
|
* `$COLORTERM` is now set to `truecolor` at startup, to indicate
|
|
|
|
|
|
support for 24-bit RGB colors.
|
2020-09-03 17:37:44 +02:00
|
|
|
|
* Experimental support for rendering double-width glyphs with a
|
|
|
|
|
|
character width of 1. Must be explicitly enabled with
|
|
|
|
|
|
`tweak.allow-overflowing-double-width-glyphs`
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/116).
|
2020-09-08 19:17:29 +02:00
|
|
|
|
* **initial-window-size-pixels** options to `foot.ini` and
|
|
|
|
|
|
`-w,--window-size-pixels` command line option to `foot`. This option
|
|
|
|
|
|
replaces the now deprecated **geometry** and `-g,--geometry`
|
|
|
|
|
|
options.
|
|
|
|
|
|
* **initial-window-size-chars** option to `foot.ini` and
|
|
|
|
|
|
`-W,--window-size-chars` command line option to `foot`. This option
|
|
|
|
|
|
configures the initial window size in **characters**, and is an
|
|
|
|
|
|
alternative to **initial-window-size-pixels**.
|
2020-09-10 18:17:47 +02:00
|
|
|
|
* **scrollback-up-half-page** and **scrollback-down-half-page** key
|
2020-09-09 19:40:48 +02:00
|
|
|
|
bindings. They scroll up/down half of a page in the scrollback
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/128).
|
2020-09-10 18:17:47 +02:00
|
|
|
|
* **scrollback-up-line** and **scrollback-down-line** key
|
|
|
|
|
|
bindings. They scroll up/down a single line in the scrollback.
|
2020-09-15 19:09:00 +02:00
|
|
|
|
* **mouse.alternate-scroll-mode** option to `foot.ini`. This option
|
|
|
|
|
|
controls the initial state of the _Alternate Scroll Mode_, and
|
2020-09-15 19:29:38 +02:00
|
|
|
|
defaults to `yes`. When enabled, mouse scroll events are translated
|
|
|
|
|
|
to up/down key events in the alternate screen, letting you scroll in
|
2020-09-15 19:09:00 +02:00
|
|
|
|
e.g. `less` and other applications without enabling native mouse
|
|
|
|
|
|
support in them (https://codeberg.org/dnkl/foot/issues/135).
|
2020-07-27 19:08:28 +02:00
|
|
|
|
|
2020-07-29 17:41:24 +02:00
|
|
|
|
|
2020-07-29 07:08:14 +02:00
|
|
|
|
### Changed
|
|
|
|
|
|
|
2020-09-08 19:37:59 +02:00
|
|
|
|
* Renamed man page for `foot.ini` from **foot**(5) to **foot.ini**(5).
|
2020-07-31 17:07:14 +02:00
|
|
|
|
* Configuration errors are no longer fatal; foot will start and print
|
|
|
|
|
|
an error inside the terminal (and of course still log errors on
|
|
|
|
|
|
stderr).
|
2020-08-02 13:10:31 +02:00
|
|
|
|
* Default `--server` socket path to use `$WAYLAND_DISPLAY` instead of
|
|
|
|
|
|
`$XDG_SESSION_ID` (https://codeberg.org/dnkl/foot/issues/55).
|
2020-08-18 18:03:41 +02:00
|
|
|
|
* Trailing empty cells are no longer highlighted in mouse selections.
|
2020-08-27 20:02:43 +02:00
|
|
|
|
* Foot now searches for its configuration in
|
|
|
|
|
|
`$XDG_DATA_DIRS/foot/foot.ini`, if no configuration is found in
|
|
|
|
|
|
`$XDG_CONFIG_HOME/foot/foot.ini` or in `$XDG_CONFIG_HOME/footrc`.
|
2020-09-07 19:34:06 +02:00
|
|
|
|
* Minimum window size changed from four rows and 20 columns, to 1 row
|
|
|
|
|
|
and 2 columns.
|
2020-09-10 18:17:47 +02:00
|
|
|
|
* **scrollback-up/down** renamed to **scrollback-up/down-page**.
|
2020-09-13 17:59:56 +02:00
|
|
|
|
* fcft >= 2.3.0 is now required.
|
2020-07-29 07:08:14 +02:00
|
|
|
|
|
|
|
|
|
|
|
2020-07-30 18:53:51 +02:00
|
|
|
|
### Fixed
|
|
|
|
|
|
|
|
|
|
|
|
* Command lines for **pipe-visible** and **pipe-scrollback** are now
|
|
|
|
|
|
tokenized (i.e. syntax checked) when the configuration is loaded,
|
|
|
|
|
|
instead of every time the key binding is executed.
|
2020-08-04 18:07:54 +02:00
|
|
|
|
* Incorrect multi-column character spacer insertion when reflowing
|
|
|
|
|
|
text.
|
2020-08-06 23:20:46 +02:00
|
|
|
|
* Compilation errors in 32-bit builds.
|
2020-08-07 20:08:30 +02:00
|
|
|
|
* Mouse cursor style in top and left margins.
|
2020-08-07 19:55:02 +02:00
|
|
|
|
* Selection is now **updated** when the cursor moves outside the grid
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/70).
|
2020-08-12 18:45:35 +02:00
|
|
|
|
* Viewport sometimes not moving when doing a scrollback search.
|
2020-08-13 06:33:10 +02:00
|
|
|
|
* Crash when canceling a scrollback search and the window had been
|
2020-08-12 18:45:35 +02:00
|
|
|
|
resized while searching.
|
2020-08-12 18:50:49 +02:00
|
|
|
|
* Selection start point not moving when the selection changes
|
|
|
|
|
|
direction.
|
2020-08-18 07:20:57 +02:00
|
|
|
|
* OSC 10/11/104/110/111 (modify colors) did not update existing screen
|
|
|
|
|
|
content (https://codeberg.org/dnkl/foot/issues/94).
|
2020-08-20 19:21:25 +02:00
|
|
|
|
* Extra newlines when copying empty cells
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/97).
|
2020-08-22 13:35:36 +02:00
|
|
|
|
* Mouse events from being sent to client application when a mouse
|
|
|
|
|
|
binding has consumed it.
|
2020-08-22 09:16:51 +02:00
|
|
|
|
* Input events from getting mixed with paste data
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/101).
|
2020-09-04 18:08:37 +02:00
|
|
|
|
* Missing DPI values for “some” monitors on Gnome
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/118).
|
2020-09-06 19:14:46 +02:00
|
|
|
|
* Handling of multi-column composed characters while reflowing.
|
2020-09-07 22:03:58 +02:00
|
|
|
|
* Escape sequences sent for key combinations with `Return`, that did
|
|
|
|
|
|
**not** include `Alt`.
|
2020-09-09 18:46:39 +02:00
|
|
|
|
* Clipboard (or primary selection) is now cleared when receiving an
|
|
|
|
|
|
OSC-52 command with an invalid base64 encoded payload.
|
2020-09-09 18:40:06 +02:00
|
|
|
|
* Cursor position being set outside the grid when reflowing text.
|
2020-09-09 18:43:23 +02:00
|
|
|
|
* CSD buttons to be hidden when window size becomes so small that they
|
|
|
|
|
|
no longer fit.
|
2020-07-30 18:53:51 +02:00
|
|
|
|
|
|
|
|
|
|
|
2020-07-29 07:07:46 +02:00
|
|
|
|
### Contributors
|
|
|
|
|
|
|
2020-08-03 08:17:26 +02:00
|
|
|
|
* [craigbarnes](https://codeberg.org/craigbarnes)
|
2020-08-08 10:23:26 +02:00
|
|
|
|
* [birger](https://codeberg.org/birger)
|
2020-08-16 09:14:15 +02:00
|
|
|
|
* [Ordoviz](https://codeberg.org/Ordoviz)
|
2020-09-18 21:22:27 +02:00
|
|
|
|
* [cherti](https://codeberg.org/cherti)
|
2020-08-03 08:17:26 +02:00
|
|
|
|
|
2020-07-29 07:01:44 +02:00
|
|
|
|
|
2020-07-29 06:55:23 +02:00
|
|
|
|
## 1.4.4
|
2020-07-26 12:31:13 +02:00
|
|
|
|
### Changed
|
|
|
|
|
|
|
|
|
|
|
|
* Mouse cursor is now always a `left_ptr` when inside the margins, to
|
|
|
|
|
|
indicate it is not possible to start a selection.
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-07-27 19:00:25 +02:00
|
|
|
|
### Fixed
|
2020-07-27 19:08:28 +02:00
|
|
|
|
|
|
|
|
|
|
* Crash when starting a selection inside the margins.
|
2020-07-28 20:07:53 +02:00
|
|
|
|
* Improved font size consistency across multiple monitors with
|
|
|
|
|
|
different DPI (https://codeberg.org/dnkl/foot/issues/47).
|
2020-07-28 19:55:09 +02:00
|
|
|
|
* Handle trailing comments in `footrc`
|
2020-07-27 19:00:25 +02:00
|
|
|
|
|
|
|
|
|
|
|
2020-07-27 18:55:12 +02:00
|
|
|
|
## 1.4.3
|
2020-07-23 18:56:47 +02:00
|
|
|
|
### Added
|
2020-07-24 17:50:48 +02:00
|
|
|
|
|
|
|
|
|
|
* Section to [README.md](README.md) describing how to programmatically
|
|
|
|
|
|
identify foot.
|
2020-07-25 09:05:11 +02:00
|
|
|
|
* [LICENSE](LICENSE), [README.md](README.md) and
|
|
|
|
|
|
[CHANGELOG.md](CHANGELOG.md) are now installed to
|
|
|
|
|
|
`${datadir}/doc/foot`.
|
2020-07-27 16:43:41 +02:00
|
|
|
|
* Support for escaping quotes in **pipe-visible** and
|
|
|
|
|
|
**pipe-scrollback** commands.
|
2020-07-24 17:50:48 +02:00
|
|
|
|
|
|
|
|
|
|
|
2020-07-23 18:56:47 +02:00
|
|
|
|
### Changed
|
2020-07-24 17:46:18 +02:00
|
|
|
|
|
|
|
|
|
|
* Primary DA to no longer indicate support for _Selective Erase_,
|
|
|
|
|
|
_Technical Characters_ and _Terminal State Interrogation_.
|
2020-07-24 17:47:47 +02:00
|
|
|
|
* Secondary DA to report foot as a VT220 instead of a VT420.
|
|
|
|
|
|
* Secondary DA to report foot's version number in parameter 2, the
|
|
|
|
|
|
_Firmware Version_. The string is made up of foot's major, minor and
|
|
|
|
|
|
patch version numbers, always using two digits for each version
|
|
|
|
|
|
number and without any other separating characters. Thus, _1.4.2_
|
|
|
|
|
|
would be reported as `010402` (i.e. the full response would be
|
|
|
|
|
|
`\E[>1;010402;0c`).
|
2020-07-24 17:49:50 +02:00
|
|
|
|
* Scrollback search to only move the viewport if the match lies
|
|
|
|
|
|
outside it.
|
|
|
|
|
|
* Scrollback search to focus match, that requires a viewport change,
|
|
|
|
|
|
roughly in the center of the screen.
|
2020-07-27 16:44:41 +02:00
|
|
|
|
* Extending a selection with the right mouse button now works while
|
|
|
|
|
|
dragging the mouse.
|
2020-07-24 17:49:50 +02:00
|
|
|
|
|
|
|
|
|
|
|
2020-07-23 18:56:47 +02:00
|
|
|
|
### Fixed
|
2020-07-25 11:23:54 +02:00
|
|
|
|
|
2020-07-27 16:44:41 +02:00
|
|
|
|
* Crash in scrollback search.
|
2020-07-27 16:41:35 +02:00
|
|
|
|
* Crash when a **pipe-visible** or **pipe-scrollback** command
|
|
|
|
|
|
contained an unclosed quote
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/49).
|
2020-07-25 11:23:54 +02:00
|
|
|
|
|
|
|
|
|
|
|
2020-07-25 13:55:05 +02:00
|
|
|
|
### Contributors
|
|
|
|
|
|
|
|
|
|
|
|
* [birger](https://codeberg.org/birger)
|
|
|
|
|
|
* [cherti](https://codeberg.org/cherti)
|
2020-07-23 18:56:47 +02:00
|
|
|
|
|
2020-03-15 11:39:11 +01:00
|
|
|
|
|
2020-07-23 18:51:33 +02:00
|
|
|
|
## 1.4.2
|
|
|
|
|
|
|
2020-07-22 21:07:57 +02:00
|
|
|
|
### Changed
|
|
|
|
|
|
|
|
|
|
|
|
* Maximum window title length from 100 to 2048.
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-07-22 20:06:07 +02:00
|
|
|
|
### Fixed
|
2020-07-23 18:13:54 +02:00
|
|
|
|
|
|
|
|
|
|
* Crash when overwriting a sixel and the row being overwritten did not
|
|
|
|
|
|
cover an entire cell.
|
2020-07-23 18:15:29 +02:00
|
|
|
|
* Assertion failure in debug builds when overwriting a sixel image.
|
|
|
|
|
|
|
2020-07-23 18:13:54 +02:00
|
|
|
|
|
2020-07-22 20:03:28 +02:00
|
|
|
|
## 1.4.1
|
|
|
|
|
|
|
2020-07-22 19:11:57 +02:00
|
|
|
|
### Fixed
|
2020-07-22 20:03:28 +02:00
|
|
|
|
|
|
|
|
|
|
* Compilation errors in release builds with some combinations of
|
|
|
|
|
|
compilers and compiler flags.
|
2020-07-22 19:11:57 +02:00
|
|
|
|
|
|
|
|
|
|
|
2020-07-22 18:59:19 +02:00
|
|
|
|
## 1.4.0
|
2020-05-13 13:22:19 +02:00
|
|
|
|
|
|
|
|
|
|
### Added
|
2020-05-16 14:13:45 +02:00
|
|
|
|
|
|
|
|
|
|
* `Sync` to terminfo. This is a tmux extension that indicates
|
|
|
|
|
|
_"Synchronized Updates"_ are supported.
|
2020-05-26 20:12:53 +02:00
|
|
|
|
* `--hold` command line option to `footclient`.
|
2020-06-27 20:03:41 +02:00
|
|
|
|
* Key mapping for `KP_Decimal`.
|
2020-06-27 20:05:50 +02:00
|
|
|
|
* Terminfo entries for keypad keys: `ka1`, `ka2`, `ka3`, `kb1`, `kb3`,
|
|
|
|
|
|
`kc1`, `kc2`, `kc3`, `kp5`, `kpADD`, `kpCMA`, `kpDIV`, `kpDOT`,
|
|
|
|
|
|
`kpMUL`, `kpSUB` and `kpZRO`.
|
2020-06-30 17:45:34 +02:00
|
|
|
|
* **blink** option to `footrc`; a boolean that lets you control
|
|
|
|
|
|
whether the cursor should blink or not by default. Note that
|
|
|
|
|
|
applications can override this.
|
2020-07-09 09:17:42 +02:00
|
|
|
|
* Multi-seat support
|
2020-07-14 09:18:52 +02:00
|
|
|
|
* Implemented `C0::FF` (form feed)
|
2020-07-15 17:53:36 +02:00
|
|
|
|
* **pipe-visible** and **pipe-scrollback** key bindings. These let you
|
|
|
|
|
|
pipe either the currently visible text, or the entire scrollback to
|
|
|
|
|
|
external tools (https://codeberg.org/dnkl/foot/issues/29). Example:
|
2020-07-15 18:22:40 +02:00
|
|
|
|
`pipe-visible=[sh -c "xurls | bemenu | xargs -r firefox] Control+Print`
|
2020-05-16 14:13:45 +02:00
|
|
|
|
|
2020-05-16 16:26:52 +02:00
|
|
|
|
|
2020-05-13 13:22:19 +02:00
|
|
|
|
### Changed
|
2020-05-16 16:26:52 +02:00
|
|
|
|
|
|
|
|
|
|
* Background transparency to only be used with the default background
|
|
|
|
|
|
color.
|
2020-06-29 21:52:32 +02:00
|
|
|
|
* Copy-to-clipboard/primary-selection to insert a line break if either
|
2020-05-16 22:29:53 +02:00
|
|
|
|
the last cell on the previous line or the first cell on the next
|
|
|
|
|
|
line is empty.
|
2020-05-16 23:44:54 +02:00
|
|
|
|
* Number of lines to scroll is now always clamped to the number of
|
|
|
|
|
|
lines in the scrolling region..
|
2020-05-21 20:28:26 +02:00
|
|
|
|
* New terminal windows spawned with `ctrl`+`shift`+`n` are no longer
|
2020-05-21 20:17:29 +02:00
|
|
|
|
double forked.
|
2020-06-14 09:14:04 +02:00
|
|
|
|
* Unicode combining character overflow errors are only logged when
|
2020-06-09 17:31:58 +02:00
|
|
|
|
debug logging has been enabled.
|
2020-06-14 09:34:46 +02:00
|
|
|
|
* OSC 4 (_Set Color_) now updates already rendered cells, excluding
|
|
|
|
|
|
scrollback.
|
2020-06-29 21:51:53 +02:00
|
|
|
|
* Mouse cursor from `hand2` to `left_ptr` when client is capturing the
|
|
|
|
|
|
mouse.
|
2020-06-29 21:53:29 +02:00
|
|
|
|
* Sixel images are now removed when the font size is **decreased**.
|
2020-06-30 17:43:43 +02:00
|
|
|
|
* `DECSCUSR` (_Set Cursor Style_, `CSI Ps SP q`) now uses `Ps=0`
|
|
|
|
|
|
instead of `Ps=2` to reset the style to the user configured default
|
|
|
|
|
|
style. `Ps=2` now always configures a _Steady Block_ cursor.
|
|
|
|
|
|
* `Se` terminfo capability from `\E[2 q` to `\E[ q`.
|
2020-07-11 18:43:50 +02:00
|
|
|
|
* Hollow cursor to be drawn when window has lost _keyboard_ focus
|
|
|
|
|
|
rather than _visual_ focus.
|
2020-05-16 16:26:52 +02:00
|
|
|
|
|
2020-05-19 18:51:56 +02:00
|
|
|
|
|
2020-05-13 13:22:19 +02:00
|
|
|
|
### Fixed
|
2020-05-16 21:09:59 +02:00
|
|
|
|
|
|
|
|
|
|
* Do not stop an ongoing selection when `shift` is released. When the
|
2020-06-29 21:52:50 +02:00
|
|
|
|
client application is capturing the mouse, one must hold down
|
2020-05-16 21:09:59 +02:00
|
|
|
|
`shift` to start a selection. This selection is now finalized only
|
|
|
|
|
|
when the mouse button is released - not as soon as `shift` is
|
|
|
|
|
|
released.
|
2020-06-14 09:14:04 +02:00
|
|
|
|
* Selected cells did not appear selected if programmatically modified.
|
2020-05-19 18:51:56 +02:00
|
|
|
|
* Rare crash when scrolling and the new viewport ended up **exactly**
|
|
|
|
|
|
on the wrap around.
|
2020-05-19 18:49:42 +02:00
|
|
|
|
* Selection handling when viewport wrapped around.
|
2020-06-29 21:53:07 +02:00
|
|
|
|
* Restore signal mask in the client process.
|
2020-05-26 18:18:11 +02:00
|
|
|
|
* Set `IUTF8`.
|
2020-06-02 18:21:39 +02:00
|
|
|
|
* Selection of double-width characters. It is no longer possible to
|
|
|
|
|
|
select half of a double-width character.
|
2020-06-02 18:22:55 +02:00
|
|
|
|
* Draw hollow block cursor on top of character.
|
2020-06-29 21:53:07 +02:00
|
|
|
|
* Set an initial `TIOCSWINSZ`. This ensures clients never read a
|
2020-06-02 19:59:28 +02:00
|
|
|
|
`0x0` terminal size (https://codeberg.org/dnkl/foot/issues/20).
|
2020-06-03 17:40:55 +02:00
|
|
|
|
* Glyphs overflowing into surrounding cells
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/21).
|
2020-06-09 17:32:34 +02:00
|
|
|
|
* Crash when last rendered cursor cell had scrolled off screen and
|
|
|
|
|
|
`\E[J3` was executed.
|
2020-06-09 17:33:26 +02:00
|
|
|
|
* Assert (debug builds) when an `\e]4` OSC escape was not followed by
|
|
|
|
|
|
a `;`.
|
2020-06-29 21:57:01 +02:00
|
|
|
|
* Window title always being set to "foot" on reset.
|
|
|
|
|
|
* Terminfo entry `kb2` (center keypad key); it is now set to `\EOu`
|
|
|
|
|
|
(which is what foot emits) instead of the incorrect value `\EOE`.
|
2020-06-10 18:36:54 +02:00
|
|
|
|
* Palette re-use in sixel images. Previously, the palette was reset
|
|
|
|
|
|
after each image.
|
2020-08-15 23:29:38 +02:00
|
|
|
|
* Do not auto-resize a sixel image for which the client has specified
|
2020-06-11 18:40:52 +02:00
|
|
|
|
a size. This fixes an issue where an image would incorrectly
|
|
|
|
|
|
overflow into the cell row beneath.
|
2020-06-27 14:27:49 +02:00
|
|
|
|
* Text printed, or other sixel images drawn, on top of a sixel image
|
|
|
|
|
|
no longer erases the entire image, only the part(s) covered by the
|
|
|
|
|
|
new text or image.
|
2020-06-29 21:57:01 +02:00
|
|
|
|
* Sixel images being erased when printing text next to them.
|
2020-06-29 21:59:40 +02:00
|
|
|
|
* Sixel handling when resizing window.
|
2020-06-29 22:01:02 +02:00
|
|
|
|
* Sixel handling when scrollback wraps around.
|
2020-07-13 15:10:03 +02:00
|
|
|
|
* Foot now issues much fewer `wl_surface_damage_buffer()` calls
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/35).
|
2020-07-14 09:15:15 +02:00
|
|
|
|
* `C0::VT` to be processed as `C0::LF`. Previously, `C0::VT` would
|
|
|
|
|
|
only move the cursor down, but never scroll.
|
2020-07-14 11:33:30 +02:00
|
|
|
|
* `C0::HT` (_Horizontal Tab_, or `\t`) no longer clears `LCF` (_Last
|
2020-07-14 10:49:44 +02:00
|
|
|
|
Column Flag_).
|
2020-07-14 11:33:30 +02:00
|
|
|
|
* `C0::LF` now always clears `LCF`. Previously, it only cleared it
|
|
|
|
|
|
when the cursor was **not** at the bottom of the scrolling region.
|
2020-07-14 10:52:15 +02:00
|
|
|
|
* `IND` and `RI` now clears `LCF`.
|
2020-07-14 12:48:16 +02:00
|
|
|
|
* `DECAWM` now clears `LCF`.
|
2020-07-14 10:58:57 +02:00
|
|
|
|
* A multi-column character that does not fit on the current line is
|
|
|
|
|
|
now printed on the next line, instead of only printing half the
|
|
|
|
|
|
character.
|
2020-07-15 11:05:22 +02:00
|
|
|
|
* Font size can no longer be reduced to negative values
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/38).
|
2020-06-27 14:27:49 +02:00
|
|
|
|
|
2020-06-14 09:14:04 +02:00
|
|
|
|
|
2020-05-13 13:09:12 +02:00
|
|
|
|
## 1.3.0
|
|
|
|
|
|
|
2020-03-06 20:11:50 +01:00
|
|
|
|
### Added
|
2020-03-14 23:28:21 +01:00
|
|
|
|
|
2020-03-12 10:23:59 +01:00
|
|
|
|
* User configurable key- and mouse bindings. See `man 5 foot` and the
|
|
|
|
|
|
example `footrc` (https://codeberg.org/dnkl/foot/issues/1)
|
2020-03-28 12:04:00 +01:00
|
|
|
|
* **initial-window-mode** option to `footrc`, that lets you control
|
|
|
|
|
|
the initial mode for each newly spawned window: _windowed_,
|
|
|
|
|
|
_maximized_ or _fullscreen_.
|
2020-04-24 20:40:33 +02:00
|
|
|
|
* **app-id** option to `footrc` and `--app-id` command line option,
|
|
|
|
|
|
that sets the _app-id_ property on the Wayland window.
|
|
|
|
|
|
* **title** option to `footrc` and `--title` command line option, that
|
|
|
|
|
|
sets the initial window title.
|
2020-04-04 12:08:46 +02:00
|
|
|
|
* Right mouse button extends the current selection.
|
2020-04-25 23:07:47 +02:00
|
|
|
|
* `CSI Ps ; Ps ; Ps t` escape sequences for the following parameters:
|
2020-04-25 23:09:10 +02:00
|
|
|
|
`11t`, `13t`, `13;2t`, `14t`, `14;2t`, `15t`, `19t`.
|
2020-05-10 17:10:33 +02:00
|
|
|
|
* Unicode combining characters.
|
2020-03-14 23:28:21 +01:00
|
|
|
|
|
2020-06-30 17:45:34 +02:00
|
|
|
|
|
2020-03-14 23:21:56 +01:00
|
|
|
|
### Changed
|
2020-03-15 12:31:42 +01:00
|
|
|
|
|
|
|
|
|
|
* Spaces no longer removed from zsh font name completions.
|
2020-03-17 21:12:37 +01:00
|
|
|
|
* Default key binding for _spawn-terminal_ to ctrl+shift+n.
|
2020-03-29 11:32:38 +02:00
|
|
|
|
* Renderer is now much faster with interactive scrolling
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/4)
|
2020-04-03 20:17:47 +02:00
|
|
|
|
* memfd sealing failures are no longer fatal errors.
|
2020-04-17 22:43:28 +02:00
|
|
|
|
* Selection to no longer be cleared on resize.
|
2020-04-22 19:52:28 +02:00
|
|
|
|
* The current monitor's subpixel order (RGB/BGR/V-RGB/V-BGR) is
|
|
|
|
|
|
preferred over FontConfig's `rgba` property. Only if the monitor's
|
|
|
|
|
|
subpixel order is `unknown` is FontConfig's `rgba` property used. If
|
|
|
|
|
|
the subpixel order is `none`, then grayscale antialiasing is
|
|
|
|
|
|
used. The subpixel order is ignored if antialiasing has been
|
|
|
|
|
|
disabled.
|
2020-04-28 22:07:02 +02:00
|
|
|
|
* The four primary font variants (normal, bold, italic, bold italic)
|
|
|
|
|
|
are now loaded in parallel. This speeds up both the initial startup
|
2020-06-30 17:46:25 +02:00
|
|
|
|
time, as well as DPI changes.
|
2020-05-08 18:43:03 +02:00
|
|
|
|
* Command line parsing no longer tries to parse arguments following
|
|
|
|
|
|
the command-to-execute. This means one can now write `foot sh -c
|
|
|
|
|
|
true` instead of `foot -- sh -c true`.
|
2020-03-15 12:31:42 +01:00
|
|
|
|
|
|
|
|
|
|
|
2020-03-14 23:21:56 +01:00
|
|
|
|
### Removed
|
2020-03-14 23:28:21 +01:00
|
|
|
|
|
2020-03-14 23:21:56 +01:00
|
|
|
|
* Keyboard/pointer handler workarounds for Sway 1.2.
|
|
|
|
|
|
|
2020-03-14 23:28:21 +01:00
|
|
|
|
|
2020-03-14 23:21:56 +01:00
|
|
|
|
### Fixed
|
2020-03-14 23:28:21 +01:00
|
|
|
|
|
2020-03-14 23:21:56 +01:00
|
|
|
|
* Sixel images moved or deleted on window resize.
|
2020-03-16 12:00:25 +01:00
|
|
|
|
* Cursor sometimes incorrectly restored on exit from alternate screen.
|
2020-03-17 11:47:47 +01:00
|
|
|
|
* 'Underline' cursor being invisible on underlined text.
|
2020-03-22 11:14:56 +01:00
|
|
|
|
* Restored cursor position in 'normal' screen when window was resized
|
|
|
|
|
|
while in 'alt' screen.
|
2020-04-03 20:16:56 +02:00
|
|
|
|
* Hostname in OSC 7 URI not being validated.
|
2020-04-04 14:31:46 +02:00
|
|
|
|
* OSC 4 with multiple `c;spec` pairs.
|
2020-04-08 17:39:54 +02:00
|
|
|
|
* Alt+Return to emit "ESC \r".
|
2020-04-10 18:43:29 +02:00
|
|
|
|
* Trackpad sloooow scrolling to eventually scroll a line.
|
2020-04-13 11:42:10 +02:00
|
|
|
|
* Memory leak in terminal reset.
|
2020-04-17 20:49:09 +02:00
|
|
|
|
* Translation of cursor coordinates on resize
|
2020-05-02 23:07:26 +02:00
|
|
|
|
* Scaling color specifiers in OSC sequences.
|
2020-05-02 22:58:30 +02:00
|
|
|
|
* `OSC 12 ?` to return the cursor color, not the cursor's text color.
|
2020-05-02 22:58:50 +02:00
|
|
|
|
* `OSC 12;#000000` to configure the cursor to use inverted
|
|
|
|
|
|
foreground/background colors.
|
2020-05-13 13:04:52 +02:00
|
|
|
|
* Call `ioctl(TIOCSCTTY)` on the pts fd in the slave process.
|
2020-05-09 12:04:55 +02:00
|
|
|
|
|
2020-03-14 23:28:21 +01:00
|
|
|
|
|
2020-03-15 11:28:01 +01:00
|
|
|
|
## 1.2.3
|
|
|
|
|
|
|
|
|
|
|
|
### Fixed
|
|
|
|
|
|
* Forgot to version bump 1.2.2
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-03-09 21:11:41 +01:00
|
|
|
|
## 1.2.2
|
|
|
|
|
|
|
2020-03-06 20:11:50 +01:00
|
|
|
|
### Changed
|
2020-03-14 23:28:21 +01:00
|
|
|
|
|
2020-03-09 21:11:41 +01:00
|
|
|
|
* Changed icon name in `foot.desktop` and `foot-server.desktop` from
|
|
|
|
|
|
_terminal_ to _utilities-terminal_.
|
|
|
|
|
|
* `XDG_SESSION_ID` is now included in the server/daemon default socket
|
|
|
|
|
|
path.
|
|
|
|
|
|
|
2020-03-14 23:28:21 +01:00
|
|
|
|
|
2020-03-06 20:11:50 +01:00
|
|
|
|
### Fixed
|
2020-03-14 23:28:21 +01:00
|
|
|
|
|
2020-03-10 18:17:14 +01:00
|
|
|
|
* Window size doubling when moving window between outputs with
|
|
|
|
|
|
different scaling factors (https://codeberg.org/dnkl/foot/issues/3).
|
2020-03-11 20:18:47 +01:00
|
|
|
|
* Font being too small on monitors with fractional scaling
|
|
|
|
|
|
(https://codeberg.org/dnkl/foot/issues/5).
|
2020-03-10 18:17:14 +01:00
|
|
|
|
|
2020-03-06 20:11:50 +01:00
|
|
|
|
|
2020-03-06 21:21:34 +01:00
|
|
|
|
## 1.2.1
|
|
|
|
|
|
|
|
|
|
|
|
### Fixed
|
2020-03-14 23:28:21 +01:00
|
|
|
|
|
2020-03-06 21:21:34 +01:00
|
|
|
|
* Building AUR package
|
|
|
|
|
|
|
2020-03-06 20:11:50 +01:00
|
|
|
|
|
|
|
|
|
|
## 1.2.0
|
2020-03-06 20:10:27 +01:00
|
|
|
|
|
2020-03-06 19:45:04 +01:00
|
|
|
|
### Added
|
2020-03-14 23:28:21 +01:00
|
|
|
|
|
2020-03-06 20:10:27 +01:00
|
|
|
|
* Run-time text resize using ctrl-+, ctrl+- and ctrl+0
|
|
|
|
|
|
* Font size adjusts dynamically to outputs' DPI
|
|
|
|
|
|
* Reflow text when resizing window
|
|
|
|
|
|
* **pad** option to `footrc`
|
|
|
|
|
|
* **login-shell** option to `footrc` and `--login-shell` command line
|
|
|
|
|
|
option
|
|
|
|
|
|
* Client side decorations (CSDs). This finally makes foot usable on
|
|
|
|
|
|
GNOME.
|
|
|
|
|
|
* Sixel graphics support
|
|
|
|
|
|
* OSC 12 and 112 escape sequences (set/reset text cursor color)
|
|
|
|
|
|
* REP CSI escape sequence
|
|
|
|
|
|
* `oc` to terminfo
|
|
|
|
|
|
* foot-server.desktop file
|
|
|
|
|
|
* Window and cell size reporting escape sequences
|
|
|
|
|
|
* `--hold` command line option
|
|
|
|
|
|
* `--print-pid=FILE|FD` command line option
|
|
|
|
|
|
|
2020-03-14 23:28:21 +01:00
|
|
|
|
|
2020-03-06 19:45:04 +01:00
|
|
|
|
### Changed
|
2020-03-14 23:28:21 +01:00
|
|
|
|
|
2020-03-06 20:10:27 +01:00
|
|
|
|
* Subpixel antialiasing is only enabled when background is opaque
|
|
|
|
|
|
* Meta/alt ESC prefix can now be disabled with `\E[?1036l`. In this
|
|
|
|
|
|
mode, the 8:th bit is set and the result is UTF-8 encoded. This can
|
|
|
|
|
|
also be disabled with `\E[1024l` (in which case the Alt key is
|
|
|
|
|
|
effectively being ignored).
|
|
|
|
|
|
* terminfo now uses ST instead of BEL as OSC terminator
|
|
|
|
|
|
* Logging to print to stderr, not stdout
|
|
|
|
|
|
* Backspace now emits DEL (^?), and ctrl+backspace emits BS (^H)
|
|
|
|
|
|
|
2020-03-14 23:28:21 +01:00
|
|
|
|
|
2020-03-06 19:45:04 +01:00
|
|
|
|
### Removed
|
2020-03-14 23:28:21 +01:00
|
|
|
|
|
2020-03-06 20:10:27 +01:00
|
|
|
|
* '28' from DA response
|