• Stable 1.13.1 cd1933baf1

    1.13.1

    dnkl released this 1 month ago | 47 commits to master since this release

    Changed

    • 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
     
  • Stable 1.13.0 e0465d3a7a

    1.13.0

    dnkl released this 2 months ago | 64 commits to master since this release

    Added

    • 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 and ctrl+shift+x respectively (#30).
    • colors.search-box-no-match and colors.search-box-match options to foot.ini (#1112).
    • Very basic Unicode input mode via the new key-bindings.unicode-input and search-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 of getpwuid() to retrieve the user’s home directory when searching for foot.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 a CSI 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 or CSI 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
     
  • Stable 1.12.1 e95269447f

    1.12.1

    dnkl released this 5 months ago | 130 commits to master since this release

    Added

    • Workaround for Sway bug #6960: scrollback search and the OSC-555 (“flash”) escape sequence leaves dimmed (search) and yellow (flash) artifacts (#1046).
    • Control+Shift+v and XF86Paste have been added to the default set of key bindings that paste from the clipboard into the scrollback search buffer. This is in addition to the pre-existing Control+v and Control+y bindings.

    Changed

    • Scrollback search’s extend-to-word-boundary no longer stops at space-to-word boundaries, making selection extension feel more natural.

    Fixed

    • build: missing symbols when linking the pgo helper binary.
    • UI not refreshing when pasting something into the scrollback search box, that does not result in a grid update (for example, when the search criteria did not result in any matches) (#1040).
    • foot freezing in scrollback search mode, using 100% CPU (#1036, #1047).
    • Crash when extending a selection to the next word boundary in scrollback search mode (#1036).
    • Scrollback search mode not always highlighting all matches correctly.
    • Sixel options not being reset on hard resets (\Ec)
    Downloads
     
  • Stable 1.12.0 ea1171a5a2

    1.12.0

    dnkl released this 6 months ago | 181 commits to master since this release

    Added

    • OSC-22 - set xcursor pointer.
    • Add "xterm" as fallback cursor where "text" is not available.
    • [key-bindings].scrollback-home|end options.
    • Socket activation for foot --server and accompanying systemd unit files
    • Support for re-mapping input, i.e. mapping input to custom escape sequences (#325).
    • Support for DECNKM, which allows setting/saving/restoring/querying the keypad mode.
    • Sixel support can be disabled by setting [tweak].sixel=no (#950).
    • footclient: -E,--client-environment command line option. When used, the child process in the new terminal instance inherits the environment from the footclient process instead of the server’s (#1004).
    • [csd].hide-when-maximized=yes|no option (#1019).
    • Scrollback search mode now highlights all matches.
    • [key-binding].show-urls-persistent action. This key binding action is similar to show-urls-launch, but does not automatically exit URL mode after activating an URL (#964).
    • Support for CSI > 4 n, disable modifyOtherKeys. Note that since foot only supports level 1 and 2 (and not level 0), this sequence does not disable modifyOtherKeys completely, but simply reverts it back to level 1 (the default).
    • -Dtests=false|true meson command line option. When disabled, test binaries will neither be built, nor will ninja test attempt to execute them. Enabled by default (#919).

    Changed

    • Minimum required meson version is now 0.58.
    • Mouse selections are now finalized when the window is resized (#922).
    • OSC-4 and OSC-11 replies now uses four digits instead of 2 (#971).
    • \r is no longer translated to \n when pasting clipboard data (#980).
    • Use circles for rendering light arc box-drawing characters (#988).
    • Example configuration is now installed to ${sysconfdir}/xdg/foot/foot.ini, typically resolving to /etc/xdg/foot/foot.ini (#1001).

    Removed

    • DECSET mode 27127 (which was first added in release 1.6.0). The kitty keyboard protocol (added in release 1.10.3) can be used to similar effect.

    Fixed

    • Build: missing wayland_client dependency in test-config (#918).
    • “(null)” being logged as font-name (for some fonts) when warning about a non-monospaced primary font.
    • Rare crash when the window is resized while a mouse selection is ongoing (#922).
    • Large selections crossing the scrollback wrap-around (#924).
    • Crash in pipe-scrollback (#926).
    • Exit code being 0 when a foot server with no open windows terminate due to e.g. a Wayland connection failure (#943).
    • Key binding collisions not detected for bindings specified as option overrides on the command line.
    • Crash when seat has no keyboard (#963).
    • Key presses with e.g. AltGr triggering key combinations with the base symbol (#983).
    • Underline cursor sometimes being positioned too low, either making it look thinner than what it should be, or being completely invisible (#1005).
    • Fallback to /etc/xdg if XDG_CONFIG_DIRS is unset (#1008).
    • Improved compatibility with XTerm when modifyOtherKeys=2 (#1009).
    • Window geometry when CSDs are enabled and CSD border width set to a non-zero value. This fixes window snapping in e.g. GNOME.
    • Window size “jumping” when starting an interactive resize when CSDs are enabled, and CSD border width set to a non-zero value.
    • Key binding overrides on the command line having no effect with footclient instances (#931).
    • Search prev/next not updating the selection correctly when the previous and new match overlaps.
    • Various minor fixes to scrollback search, and how it finds the next/prev match.

    Contributors

    • Ashish SHUKLA
    • Craig Barnes
    • Enes Hecan
    • Johannes Altmanninger
    • L3MON4D3
    • Leonardo Neumann
    • Mariusz Bialonczyk
    • Max Gautier
    • Merlin Büge
    • jvoisin
    • merkix
    Downloads
     
  • Stable 1.11.0 8c66dbbd78

    1.11.0

    dnkl released this 8 months ago | 350 commits to master since this release

    Added

    • [mouse-bindings].selection-override-modifiers option, specifying which modifiers to hold to override mouse grabs by client applications and force selection instead.
    • irc:// and ircs:// to the default set of protocols recognized when auto-detecting URLs.
    • SGR-Pixels (1016) mouse extended coordinates is now supported (#762).
    • XTGETTCAP - builtin terminfo. See README.md::XTGETTCAP for details (#846).
    • DECRQSS - Request Selection or Setting (#798). Implemented settings
      are:
      • DECSTBM - Set Top and Bottom Margins
      • SGR - Set Graphic Rendition
      • DECSCUSR - Set Cursor Style
    • Support for searching for the last searched-for string in scrollback search (search for next/prev match with an empty search string).

    Changed

    • PaperColorDark and PaperColorLight themes renamed to paper-color-dark and paper-color-light, for consistency with other theme names.
    • [scrollback].multiplier is now applied in “alternate scroll” mode, where scroll events are translated to fake arrow key presses on the alt screen (#859).
    • The width of the block cursor’s outline in an unfocused window is now scaled by the output scaling factor (“desktop scaling”). Previously, it was always 1px.
    • Foot will now try to change the locale to either “C.UTF-8” or “en_US.UTF-8” if started with a non-UTF8 locale. If this fails, foot will start, but only to display a window with an error (user’s shell is not executed).
    • gettimeofday() has been replaced with clock_gettime(), due to it being marked as obsolete by POSIX.
    • alt+tab now emits ESC \t instead of CSI 27;3;9~ (#900).
    • File pasted, or dropped, on the alt screen is no longer quoted (#379).
    • Line-based selections now include a trailing newline when copied (#869).
    • Foot now clears the signal mask and resets all signal handlers to their default handlers at startup (#854).
    • Copy and Paste keycodes are supported by default for the clipboard. These are useful for keyboards with custom firmware like QMK to enable global copy/paste shortcuts that work inside and outside the terminal (#894).

    Removed

    • Workaround for slow resize in Sway <= 1.5, when a foot window was hidden, for example, in a tabbed view (#507).

    Fixed

    • Font size adjustment (“zooming”) when font is configured with a pixelsize, and dpi-aware=no (#842).
    • Key presses triggering keyboard layout switches also emitting CSI codes in the Kitty keyboard protocol.
    • Assertion in shm.c:buffer_release() (#844).
    • Crash when setting a key- or mouse binding to the empty string (#851).
    • Crash when maximizing the window and [csd].size=1 (#857).
    • OSC-8 URIs not getting overwritten (erased) by double-width characters (e.g. emojis).
    • Rendering of CSD borders when csd.border-width > 0 and desktop scaling has been enabled.
    • Failure to launch when exec(3):ed with an empty argv.
    • Pasting from the primary clipboard (mouse middle clicking) did not reset the scrollback view to the bottom.
    • Wrong mouse binding triggered when doing two mouse selections in very quick (< 300ms) succession (#883).
    • Bash completion giving an error when completing a list of short options
    • Sixel: large image resizes (triggered by e.g. large repeat counts in DECGRI) are now truncated instead of ignored.
    • Sixel: a repeat count of 0 in DECGRI now emits a single sixel.
    • LIGHT ARC box drawing characters incorrectly rendered platforms (#914).

    Contributors

    • lamonte
    • Érico Nogueira
    • feeptr
    • Felix Lechner
    • grtcdr
    • Mark Stosberg
    • Nicolai Dagestad
    • Oğuz Ersen
    • Pranjal Kole
    • Simon Ser
    Downloads
     
  • Stable 1.10.3 a9026f16a7

    1.10.3

    dnkl released this 10 months ago | 585 commits to master since this release

    Added

    Fixed

    • Crash when bitmap fonts are scaled down to very small font sizes (#830).
    • Crash when overwriting/erasing an OSC-8 URL.
    Downloads
     
  • Stable 1.10.2 46994a3e25

    1.10.2

    dnkl released this 10 months ago | 609 commits to master since this release

    Added

    Fixed

    • An ongoing mouse selection is now finalized on a pointer leave event (for example by switching workspace while doing a mouse selection).
    • OSC-8 URIs in the last column
    • OSC-8 URIs sometimes being applied to too many, and seemingly unrelated cells (#816).
    • OSC-8 URIs incorrectly being dropped when resizing the terminal window with the alternate screen active.
    • CSD border not being dimmed when window is not focused.
    • Visual corruption with large CSD borders (#823).
    • Mouse cursor shape sometimes not being updated correctly.
    • Color palette changes (via OSC 4/104) no longer affect RGB color (#678).

    Contributors

    • Jonas Ådahl
    Downloads
     
  • Stable 1.10.1 5eded7292c

    1.10.1

    dnkl released this 11 months ago | 680 commits to master since this release

    Added

    • -Dthemes=false|true meson command line option. When disabled, example theme files are not installed.
    • XDG desktop file for footclient.

    Fixed

    • Regression: letter-spacing resulting in a “not a valid option” error (#795).
    • Regression: bad section name in configuration error messages.
    • Regression: pipe-* key bindings not being parsed correctly, resulting in invalid error messages (#809).
    • OSC-8 data not being cleared when cell is overwritten (#804, #801).

    Contributors

    • Arnavion
    • Craig Barnes
    • Soc Virnyl Silab Estela
    • Xiretza
    Downloads
     
  • Stable 1.10.0 589404b32e

    1.10.0

    dnkl released this 11 months ago | 720 commits to master since this release

    Added

    • notify-focus-inhibit boolean option, which can be used to control whether desktop notifications should be inhibited when the terminal has keyboard focus
    • [colors].scrollback-indicator color-pair option, which specifies foreground and background colors for the scrollback indicator.
    • [key-bindings].noop action. Key combinations assigned to this action will not be sent to the application (#765).
    • Color schemes are now installed to ${datadir}/foot/themes.
    • [csd].border-width and [csd].border-color, allowing you to configure the width and color of the CSD border.
    • Support for XTMODKEYS with Pp=4 and Pv=2 (modifyOtherKeys=2).
    • [colors].dim0-7 options, allowing you to configure custom “dim” colors (#776).

    Changed

    • [tweak].grapheme-shaping is now enabled by default when both foot itself, and fcft has been compiled with support for it.
    • Default value of [tweak].grapheme-width-method changed from double-width to wcswidth.
    • INSTALL.md: --override tweak.grapheme-shaping=no added to PGO command line.
    • Foot now terminates if there are no available seats - for example, due to the compositor not implementing a recent enough version of the wl_seat interface (#779).
    • Boolean options in foot.ini are now limited to “yes|true|on|1|no|false|off|0”, Previously, anything that did not match “yes|true|on”, or a number greater than 0, was treated as “false”.
    • [scrollback].multiplier is no longer applied when the alternate screen is in use (#787).

    Removed

    • The bundled PKGBUILD.
    • Deprecated bell option (replaced with [bell] section in 1.8.0).
    • Deprecated url-launch, jump-label-letters and osc8-underline options (moved to a dedicated [url] section in 1.8.0)

    Fixed

    • ‘Sticky’ modifiers in input handling; when determining modifier state, foot was looking at depressed modifiers, not effective modifiers, like it should.
    • Fix crashes after enabling CSD at runtime when csd.size is 0.
    • Convert \r to \n when reading clipboard data (#752).
    • Clipboard occasionally ceasing to work, until window has been re-focused (#753).
    • Don’t propagate window title updates to the Wayland compositor unless the new title is different from the old title.

    Contributors

    • armin
    • Craig Barnes
    • Daniel Martí
    • feeptr
    • Mitja Horvat
    • Ronan Pigott
    • Stanislav Ochotnický
    Downloads
     
  • Stable 1.9.2 af3f489967

    1.9.2

    dnkl released this 1 year ago | 843 commits to master since this release

    Changed

    • PGO helper scripts no longer set LC_CTYPE=en_US.UTF-8. But, note that “full” PGO builds still require an UTF-8 locale; you need to set one manually in your build script (#728).
    Downloads