-
1.16.2 Stable
released this
2023-10-17 15:24:37 +00:00 | 11 commits to master since this releaseFixed
- Last row and/or column of opaque sixels (not having a size that is a multiple of the cell size) being the wrong color (#1520).
Downloads
-
1.16.1 Stable
released this
2023-10-12 14:38:42 +00:00 | 17 commits to master since this releaseFixed
Downloads
-
1.16.0 Stable
released this
2023-10-11 16:16:13 +00:00 | 26 commits to master since this releaseAdded
- Support for building with wayland-protocols as a subproject.
- Mouse wheel scrolls can now be used in
mouse-bindings
(#1077). - New mouse bindings:
scrollback-up-mouse
andscrollback-down-mouse
, bound toBTN_BACK
andBTN_FORWARD
respectively. - New key binding:
select-quote
. This key binding selects text between quote characters, and falls back to selecting the entire row (#1364). - Support for DECSET/DECRST/DECRQM 2027 (Grapheme cluster processing).
- New search mode key bindings (along with their defaults) (#419):
extend-char
(shift+right)extend-line-down
(shift+down)extend-backward-char
(shift+left)extend-backward-to-word-boundary
(ctrl+shift+left)extend-backward-to-next-whitespace
(none)extend-line-up
(shift+up)scrollback-up-page
(shift+page-up)scrollback-up-half-page
(none)scrollback-up-line
(none)scrollback-down-page
(shift+page-down)scrollback-down-half-page
(none)scrollback-down-line
(none)
- Support for visual bell which flashes the terminal window. (#1337).
Changed
- Minimum required version of wayland-protocols is now 1.32 (#1391).
foot-server.service
systemd now checks forConditionEnvironment=WAYLAND_DISPLAY
for consistency with the socket unit (#1448)- Default key binding for
select-row
is nowBTN_LEFT+4
. However, in many cases, triple clicking will still be enough to select the entire row; see the new key bindingselect-quote
(mapped toBTN_LEFT+3
by default) (#1364). file://
prefix from URI's are no longer stripped when opened/activated (#1474).XTGETTCAP
with capabilities that are not properly hex encoded will be ignored, instead of echo:ed back to the TTY in an error response.- Command line configuration overrides are now applied even if the configuration file does not exist or can't be parsed. (#1495).
- Wayland surface damage is now more fine-grained. This should result in lower latencies in many use cases, especially on high DPI monitors.
Removed
utempter
config option (was deprecated in 1.15.0).
Fixed
- Race condition for systemd units start in GNOME and KDE (#1436).
- One frame being rendered at the wrong scale after being hidden by another opaque, maximized window (#1464).
- Double-width characters, and grapheme clusters breaking URL auto-detection (#1465).
- Crash when
XDG_ACTIVATION_TOKEN
is set, but compositor does not support XDG activation (#1493). - Crash when compositor calls
fractional_scale::preferred_scale()
when there are no monitors (for example, after a monitor has been turned off and then back on again) (#1498). - Transparency in margins (padding) not being disabled in fullscreen mode (#1503).
- Crash when a scrollback search match is in the last column.
- Scrollback search: grapheme clusters not matching correctly.
- Wrong baseline offset for some fonts (#1511).
Contributors
- 6t8k
- Alyssa Ross
- CismonX
- Max Gautier
Downloads
-
1.15.3 Stable
released this
2023-08-07 14:42:28 +00:00 | 97 commits to master since this releaseFixed
-f,--font
command line option not affectingcsd.font
(if unset).- Vertical alignment in URL jump labels, and the scrollback position indicator. The fix in 1.15.2 was incorrect, and was reverted in the last minute. But we forgot to remove the entry from the changelog (#1430).
Downloads
-
1.15.2 Stable
released this
2023-07-30 11:19:28 +00:00 | 104 commits to master since this releaseAdded
[tweak].bold-text-in-bright-amount
option (#1434).-Dterminfo-base-name
meson option, allowing you to name the terminfo files to something other than-Ddefault-terminfo
. Use case: have foot default to using the terminfo from ncurses (foot
,foot-direct
), while still packaging foot's terminfo files, but under a different name (e.g.foot-extra
,foot-extra-direct
).
Fixed
- Crash when copying text that contains invalid UTF-8 (#1423).
- Wrong font size after suspending the monitor (#1431).
- Vertical alignment in URL jump labels, and the scrollback position indicator (#1430).
- Regression: line- and box drawing characters not covering the full height of the line, when a custom
line-height
is being used (#1430). - Crash when compositor does not implement the viewporter interface (#1444).
- CSD rendering with fractional scaling (#1441).
- Regression: crash with certain combinations of
--window-size-chars=NxM
and desktop scaling factors (#1446).
Downloads
-
1.15.1 Stable
released this
2023-07-21 06:58:55 +00:00 | 129 commits to master since this releaseChanged
- When window is mapped, use metadata (DPI, scaling factor, subpixel configuration) from the monitor we were most recently mapped on, instead of the one least recently.
- Starlight theme (the default theme) updated to V4
- Background transparency (alpha) is now disabled in fullscreened windows (#1416).
- Foot server systemd units now use the standard graphical-session.target (#1281).
- If
$XDG_RUNTIME_DIR/foot-$WAYLAND_DISPLAY.sock
does not exist,footclient
now tries$XDG_RUNTIME_DIR/foot.sock
, then/tmp/foot.sock
, even if$WAYLAND_DISPLAY
and/or$XDG_RUNTIME_DIR
are defined (#1281). - Font baseline calculation: try to center the text within the line, instead of anchoring it at the top (#1302).
Fixed
- Use appropriate rounding when applying fractional scales.
- Xcursor not being scaled correctly on
fractional-scale-v1
capable compositors. dpi-aware=yes
being broken onfractional-scale-v1
capable compositors (and when a fractional scaling factor is being used) (#1404).- Initial font size being wrong on
fractional-scale-v1
capable compositors, with multiple monitors with different scaling factors connected (#1404). - Crash when pointer capability is removed from a seat, on compositors without
cursor-shape-v1 support
(#1411). - Crash on exit, if the mouse is hovering over the foot window (does not happen on all compositors)
- Visual glitches when CSD titlebar is transparent.
Contributors
- Ayush Agarwal
- CismonX
- Max Gautier
- Ronan Pigott
- xdavidwu
Downloads
-
1.15.0 Stable
released this
2023-07-14 10:39:14 +00:00 | 163 commits to master since this releaseAdded
- VT: implemented
XTQMODKEYS
query (CSI ? Pp m
). - Meson option
utmp-backend=none|libutempter|ulog|auto
. The default isauto
, which will selectlibutempter
on Linux,ulog
on FreeBSD, andnone
for all others. - Sixel aspect ratio.
- Support for the new
fractional-scale-v1
Wayland protocol. This brings true fractional scaling to Wayland in general, and with this release, to foot. - Support for the new
cursor-shape-v1
Wayland protocol, i.e. server side cursor shapes (#1379). - Support for touchscreen input (#517).
csd.double-click-to-maximize
option tofoot.ini
. Defaults toyes
(#1293).
Changed
- Default color theme is now starlight (#1321).
- Minimum required meson version is now 0.59 (#1371).
Control+Shift+u
is now bound tounicode-input
instead ofshow-urls-launch
, to follow the convention established in GTK and Qt (#1183).show-urls-launch
now bound toControl+Shift+o
(#1183).- Kitty keyboard protocol: F3 is now encoded as
CSI 13~
instead ofCSI R
. The kitty keyboard protocol originally allowed F3 to be encoded asCSI R
, but this was removed from the specification sinceCSI R
conflicts with the ”Cursor Position Report”. [main].utempter
renamed to[main].utmp-helper
. The old option name is still recognized, but will log a deprecation warning.- Meson option
default-utempter-path
renamed toutmp-default-helper-path
. - Opaque sixels now retain the background opacity (when current background color is the default background color) (#1360).
- Text cursor’s vertical position after emitting a sixel, when sixel scrolling is enabled (the default) has been updated to match XTerm’s, and the VT382’s behavior: the cursor is positioned on the last sixel row, rather than after it. This allows printing sixels on the last row without scrolling up, but also means applications may have to explicitly emit a newline to ensure the sixel is visible. For example,
cat
:ing a sixel in the shell will typically result in the last row not being visible, unless a newline is explicitly added. - Default sixel aspect ratio is now 2:1 instead of 1:1.
- Sixel images are no longer cropped to the last non-transparent row.
- Sixel images are now re-scaled when the font size is changed (#1383).
dpi-aware
now defaults tono
, and theauto
value has been removed.- When using custom cursor colors (
cursor.color
is set infoot.ini
), the cursor is no longer inverted when the cell is selected, or when the cell has thereverse
(SGR 7) attribute set (#1347).
Deprecated
[main].utempter
option.
Removed
auto
value for thedpi-aware
option.
Fixed
- Incorrect icon in dock and window switcher on Gnome (#1317)
- Crash when scrolling after resizing the window with non-zero scrolling regions.
XTMODKEYS
state not being reset on a terminal reset.- In Gnome dock foot always groups under "foot client". Change instances of footclient and foot to appear as "foot client" and "foot" respectively. (#1355).
- Glitchy rendering when alpha (transparency) is changed between opaque and non-opaque at runtime (using OSC-11).
- Regression: crash when resizing the window when
resize-delay-ms > 0
(#1377). - Crash when scrolling up while running something that generates a lot of output (for example,
yes
) (#1380). - Default key binding for URL mode conflicting with Unicode input on some DEs;
show-urls-launched
is now mapped toControl+Shift+o
by default, instead ofControl+Shift+u
(#1183).
Contributors
- Antoine Beaupré
- CismonX
- Craig Barnes
- Dan Bungert
- jdevdevdev
- Kyle Gunger
- locture
- Phillip Susi
- sewn
- ShugarSkull
- Vivian Szczepanski
- Vladimir Bauer
- wout
- CosmicToast
Downloads
- VT: implemented
-
1.14.0 Stable
released this
2023-04-03 16:52:59 +00:00 | 288 commits to master since this releaseAdded
- Support for adjusting the thickness of regular underlines (#1136).
- Support (optional) for utmp logging with libutempter.
kxIN
andkxOUT
(focus in/out events) to terminfo.name
capability toXTGETTCAP
.- String values in
foot.ini
may now be quoted. This can be used to set a value to the empty string, for example. - Environment variables can now be unset, by setting
[environment].<variable>=""
(quotes are required) (#1225). font-size-adjustment=N[px]
option, letting you configure how much to increment/decrement the font size when zooming in or out (#1188).- Bracketed paste terminfo entries (
BD
,BE
,PE
andPS
, added to ncurses in 2022-12-24). Vim makes use of these. - “Report version” terminfo entries (
XR
/xr
). - “Report DA2” terminfo entries (
RV
/rv
). XF
terminfo capability (focus in/out events available).$TERM_PROGRAM
and$TERM_PROGRAM_VERSION
environment variables set in the slave process.
Changed
- Default color theme from a variant of the Zenburn theme, to a variant of the Solarized dark theme.
- Default
pad
from 2x2 to 0x0 (i.e. no padding at all). - Current working directory (as set by OSC-7) is now passed to the program executed by the
pipe-*
key bindings (#1166). DECRPM
replies (toDECRQM
queries) now report a value of4
("permanently reset") instead of2
("reset") for DEC private modes that are known but unsupported.- Set
PWD
environment variable in the slave process (#1179). - DPI is now forced to 96 when found to be unreasonably high.
- Set default log level to warning (#1215).
- Default
grapheme-width-method
fromwcswidth
todouble-width
. - When determining initial font size, do FontConfig config substitution if the user-provided font pattern has no {pixel}size option (#1287).
- DECRST of DECCOLM and DECSCLM removed from terminfo.
Fixed
- Crash in
foot --server
on key press, after anotherfootclient
has terminated very early (for example, by trying to launch a non-existing shell/client). - Glitchy rendering when scrolling in the scrollback, on compositors that does not allow Wayland buffer re-use (e.g. KDE/plasma) (#1173)
- Scrollback search matches not being highlighted correctly, on compositors that does not allow Wayland buffer re-use (e.g. KDE/plasma).
- Nanosecs "overflow" when calculating timeout value for
resize-delay-ms
option. - Missing backslash in ST terminator in escape sequences in the built-in terminfo (accessed via XTGETTCAP).
- Crash when interactively resizing the window with a very large scrollback.
- Crash when a sixel image exceeds the current sixel max height.
- Crash after reverse-scrolling (
CSI Ps T
) in the ‘normal’ (non-alternate) screen (#1190). - Background transparency being applied to the text "behind" the cursor. Only applies to block cursor using inversed fg/bg colors. (#1205).
- Crash when monitor’s physical size is "too small" (#1209).
- Line-height adjustment when incrementing/decrementing the font size with a user-set line-height (#1218).
- Scaling factor not being correctly applied when converting pt-or-px config values (e.g. letter offsets, line height etc).
- Selection being stuck visually when
IL
andDL
. - URL underlines sometimes still being visible after exiting URL mode.
- Text-bindings, and pipe-* bindings, with multiple key mappings causing a crash (double-free) on exit (#1259).
- Double-width glyphs glitching when surrounded by glyphs overflowing into the double-width glyph (#1256).
- Wayland protocol violation when ack:ing a configure event for an unmapped surface (#1249).
xdg_toplevel::set_min_size()
not being called.- Key bindings with consumed modifiers masking other key bindings (#1280).
- Multi-character compose sequences with the kitty keyboard protocol (#1288).
- Crash when application output scrolls very fast, e.g.
yes
(#1305). - Crash when application scrolls many lines (> ~2³¹).
- DECCOLM erasing the screen (#1265).
Contributors
- Alexey Sakovets
- Andrea Pappacoda
- Antoine Beaupré
- argosatcore
- Craig Barnes
- EuCaue
- Grigory Kirillov
- Harri Nieminen
- Hugo Osvaldo Barrera
- jaroeichler
- Joakim Nohlgård
- Nick Hastings
- Soren A D
- Torsten Trautwein
- Vladimír Magyar
- woojiq
- Yorick Peterse
Downloads
-
1.13.1 Stable
released this
2022-08-31 17:19:38 +00:00 | 448 commits to master since this releaseChanged
- Window is now dimmed while in Unicode input mode.
Fixed
- Compiling against wayland-protocols < 1.25
- Crash on buggy compositors (GNOME) that sometimes send pointer-enter events with a NULL surface. Foot now ignores these events, and the subsequent motion and leave events.
- Regression: “random” selected empty cells being highlighted as selected when they should not.
- Crash when either resizing the terminal window, or scrolling in the scrollback history (#1074)
- OSC-8 URLs with matching IDs, but mismatching URIs being incorrectly connected.
Downloads
-
1.13.0 Stable
released this
2022-08-07 07:32:21 +00:00 | 465 commits to master since this releaseAdded
- XDG activation support when opening URLs (#1058).
-Dsystemd-units-dir=<path>
meson command line option.- Support for custom environment variables in
foot.ini
(#1070). - Support for jumping to previous/next prompt (requires shell integration). By default bound to
ctrl
+shift
+z
andctrl
+shift
+x
respectively (#30). colors.search-box-no-match
andcolors.search-box-match
options tofoot.ini
(#1112).- Very basic Unicode input mode via the new
key-bindings.unicode-input
andsearch-bindings.unicode-input
key bindings. Note that there is no visual feedback, as the preferred way of entering Unicode characters is with an IME (#1116). - Support for
xdg_toplevel.wm_capabilities
, to adapt the client-side decoration buttons to the compositor capabilities (#1061).
Changed
- Use
$HOME
instead ofgetpwuid()
to retrieve the user’s home directory when searching forfoot.ini
. - HT, VT and FF are no longer stripped when pasting in non-bracketed mode (#1084).
- NUL is now stripped when pasting in non-bracketed mode (#1084).
alt
+escape
now emits\E\E
instead of aCSI 27
sequence (#1105).
Fixed
- Graphical corruption when viewport is at the top of the scrollback, and the output is scrolling.
- Improved text reflow of logical lines with trailing empty cells (#1055)
- IME focus is now tracked independently from keyboard focus.
- Workaround for buggy compositors (e.g. some versions of GNOME) allowing drag-and-drops even though foot has reported it does not support the offered mime-types (#1092).
- Keyboard enter/leave events being ignored if there is no keymap (#1097).
- Crash when application emitted an invalid
CSI 38;5;<idx>m
,CSI 38:5:<idx>m
,CSI 48;5;<idx>m
orCSI 48:5:<idx>m
sequence (#1111). - Certain dead-key combinations resulting in different escape sequences compared to kitty, when the kitty keyboard protocol is used (#1120).
- Search matches ending with a double-width character not being highlighted correctly.
- Selection not being cancelled correctly when scrolled out.
- Extending a multi-page selection behaving inconsistently.
- Poor performance when making very large selections (#1114).
- Bogus error message when using systemd socket activation for serve mode (#1107)
- Empty line at the bottom after a window resize (#1108).
Contributors
- Craig Barnes
- Lorenz
- Max Gautier
- Simon Ser
- Stefan Prosiegel
Downloads