-
1.12.1e9526944 · ·
Release 1.12.1 Added ----- * Workaround for Sway bug [#6960][sway-6960]: scrollback search and the OSC-555 (“flash”) escape sequence leaves dimmed (search) and yellow (flash) artifacts ([#1046][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. [sway-6960]: https://github.com/swaywm/sway/issues/6960 [1046]: https://codeberg.org/dnkl/foot/issues/1046 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][1040]). * foot freezing in scrollback search mode, using 100% CPU ([#1036][1036], [#1047][1047]). * Crash when extending a selection to the next word boundary in scrollback search mode ([#1036][1036]). * Scrollback search mode not always highlighting all matches correctly. * Sixel options not being reset on hard resets (`\Ec`) [1040]: https://codeberg.org/dnkl/foot/issues/1040 [1036]: https://codeberg.org/dnkl/foot/issues/1036 [1047]: https://codeberg.org/dnkl/foot/issues/1036
-
1.12.0ea1171a5 · ·
Release 1.12.0 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 (https://codeberg.org/dnkl/foot/issues/325). * Support for [DECNKM](https://vt100.net/docs/vt510-rm/DECNKM.html), which allows setting/saving/restoring/querying the keypad mode. * Sixel support can be disabled by setting `[tweak].sixel=no` (https://codeberg.org/dnkl/foot/issues/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 (https://codeberg.org/dnkl/foot/issues/1004). * `[csd].hide-when-maximized=yes|no` option (https://codeberg.org/dnkl/foot/issues/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 (https://codeberg.org/dnkl/foot/issues/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 (https://codeberg.org/dnkl/foot/issues/919). Changed ------- * Minimum required meson version is now 0.58. * Mouse selections are now finalized when the window is resized (https://codeberg.org/dnkl/foot/issues/922). * OSC-4 and OSC-11 replies now uses four digits instead of 2 (https://codeberg.org/dnkl/foot/issues/971). * `\r` is no longer translated to `\n` when pasting clipboard data (https://codeberg.org/dnkl/foot/issues/980). * Use circles for rendering light arc box-drawing characters (https://codeberg.org/dnkl/foot/issues/988). * Example configuration is now installed to `${sysconfdir}/xdg/foot/foot.ini`, typically resolving to `/etc/xdg/foot/foot.ini` (https://codeberg.org/dnkl/foot/issues/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` (https://codeberg.org/dnkl/foot/issues/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 (https://codeberg.org/dnkl/foot/issues/922). * Large selections crossing the scrollback wrap-around (https://codeberg.org/dnkl/foot/issues/924). * Crash in `pipe-scrollback` (https://codeberg.org/dnkl/foot/issues/926). * Exit code being 0 when a foot server with no open windows terminate due to e.g. a Wayland connection failure (https://codeberg.org/dnkl/foot/issues/943). * Key binding collisions not detected for bindings specified as option overrides on the command line. * Crash when seat has no keyboard (https://codeberg.org/dnkl/foot/issues/963). * Key presses with e.g. `AltGr` triggering key combinations with the base symbol (https://codeberg.org/dnkl/foot/issues/983). * Underline cursor sometimes being positioned too low, either making it look thinner than what it should be, or being completely invisible (https://codeberg.org/dnkl/foot/issues/1005). * Fallback to `/etc/xdg` if `XDG_CONFIG_DIRS` is unset (https://codeberg.org/dnkl/foot/issues/1008). * Improved compatibility with XTerm when `modifyOtherKeys=2` (https://codeberg.org/dnkl/foot/issues/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 (https://codeberg.org/dnkl/foot/issues/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
-
1.11.08c66dbbd · ·
Release 1.11.0 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](https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h3-Extended-coordinates) is now supported (https://codeberg.org/dnkl/foot/issues/762). * `XTGETTCAP` - builtin terminfo. See [README.md::XTGETTCAP](README.md#xtgettcap) for details (https://codeberg.org/dnkl/foot/issues/846). * `DECRQSS` - _Request Selection or Setting_ (https://codeberg.org/dnkl/foot/issues/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 (https://codeberg.org/dnkl/foot/issues/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~` (https://codeberg.org/dnkl/foot/issues/900). * File pasted, or dropped, on the alt screen is no longer quoted (https://codeberg.org/dnkl/foot/issues/379). * Line-based selections now include a trailing newline when copied (https://codeberg.org/dnkl/foot/issues/869). * Foot now clears the signal mask and resets all signal handlers to their default handlers at startup (https://codeberg.org/dnkl/foot/issues/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 (https://codeberg.org/dnkl/foot/pulls/894). Removed ------- * Workaround for slow resize in Sway <= 1.5, when a foot window was hidden, for example, in a tabbed view (https://codeberg.org/dnkl/foot/pulls/507). Fixed ----- * Font size adjustment (“zooming”) when font is configured with a **pixelsize**, and `dpi-aware=no` (https://codeberg.org/dnkl/foot/issues/842). * Key presses triggering keyboard layout switches also emitting CSI codes in the Kitty keyboard protocol. * Assertion in `shm.c:buffer_release()` (https://codeberg.org/dnkl/foot/issues/844). * Crash when setting a key- or mouse binding to the empty string (https://codeberg.org/dnkl/foot/issues/851). * Crash when maximizing the window and `[csd].size=1` (https://codeberg.org/dnkl/foot/issues/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 (https://codeberg.org/dnkl/foot/issues/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 (https://codeberg.org/dnkl/foot/issues/914). Contributors ------------ * [lamonte](https://codeberg.org/lamonte) * Érico Nogueira * feeptr * Felix Lechner * grtcdr * Mark Stosberg * Nicolai Dagestad * Oğuz Ersen * Pranjal Kole * Simon Ser
-
-
1.10.3a9026f16 · ·
Release 1.10.3 Added ----- * Kitty keyboard protocol: - [Report event types](https://sw.kovidgoyal.net/kitty/keyboard-protocol/#report-events) (mode `0b10`) - [Report alternate keys](https://sw.kovidgoyal.net/kitty/keyboard-protocol/#report-alternates) (mode `0b100`, but not that only the _shifted_ key is reported, not the _base layout key_) - [Report all keys as escape codes](https://sw.kovidgoyal.net/kitty/keyboard-protocol/#report-all-keys) (mode `0b1000`) - [Report associated text](https://sw.kovidgoyal.net/kitty/keyboard-protocol/#report-text) (mode `0b10000`) Fixed ----- * Crash when bitmap fonts are scaled down to very small font sizes (https://codeberg.org/dnkl/foot/issues/830). * Crash when overwriting/erasing an OSC-8 URL.
-
1.10.246994a3e · ·
Release 1.10.2 Added ----- * New value, `max`, for `[tweak].grapheme-width-method`. * Initial support for the [Kitty keyboard protocol](https://sw.kovidgoyal.net/kitty/keyboard-protocol/). Modes supported: - [Disambiguate escape codes](https://sw.kovidgoyal.net/kitty/keyboard-protocol/#disambiguate) * “Window menu” (compositor provided) on right clicks on the CSD title bar. 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 (https://codeberg.org/dnkl/foot/issues/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 (https://codeberg.org/dnkl/foot/issues/823). * Mouse cursor shape sometimes not being updated correctly. * Color palette changes (via OSC 4/104) no longer affect RGB colors (https://codeberg.org/dnkl/foot/issues/678). Contributors ------------ * Jonas Ådahl
-
1.10.15eded729 · ·
Release 1.10.1 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 (https://codeberg.org/dnkl/foot/issues/795). * Regression: bad section name in configuration error messages. * Regression: `pipe-*` key bindings not being parsed correctly, resulting in invalid error messages (https://codeberg.org/dnkl/foot/issues/809). * OSC-8 data not being cleared when cell is overwritten (https://codeberg.org/dnkl/foot/issues/804). Contributors ------------ * Arnavion * Craig Barnes * Soc Virnyl Silab Estela * Xiretza
-
1.10.0589404b3 · ·
Release 1.10.0 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 (https://codeberg.org/dnkl/foot/issues/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 (https://codeberg.org/dnkl/foot/issues/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 (https://codeberg.org/dnkl/foot/issues/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 (https://codeberg.org/dnkl/foot/issues/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 (https://codeberg.org/dnkl/foot/issues/752). * Clipboard occasionally ceasing to work, until window has been re-focused (https://codeberg.org/dnkl/foot/issues/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ý
-
1.9.2af3f4899 · ·
Release 1.9.2 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 (https://codeberg.org/dnkl/foot/issues/728).
-
1.9.1c1f18360 · ·
Release 1.9.1 Added ----- * Warn when it appears the primary font is not monospaced. Can be disabled by setting `[tweak].font-monospace-warn=no` (https://codeberg.org/dnkl/foot/issues/704). * PGO build scripts, in the `pgo` directory. See INSTALL.md - _Performance optimized, PGO_, for details (https://codeberg.org/dnkl/foot/issues/701). * Braille characters (U+2800 - U+28FF) are now rendered by foot itself (https://codeberg.org/dnkl/foot/issues/702). * `-e` command-line option. This option is simply ignored, to appease program launchers that blindly pass `-e` to any terminal emulator (https://codeberg.org/dnkl/foot/issues/184). Changed ------- * `-Ddefault-terminfo` is now also applied to the generated terminfo definitions when `-Dterminfo=enabled`. * `-Dcustom-terminfo-install-location` no longer accepts `no` as a special value, to disable exporting `TERMINFO`. To achieve the same result, simply don’t set it at all. If it _is_ set, `TERMINFO` is still exported, like before. * The default install location for the terminfo definitions have been changed back to `${datadir}/terminfo`. * `dpi-aware=auto`: fonts are now scaled using the monitor’s DPI only when **all** monitors have a scaling factor of one (https://codeberg.org/dnkl/foot/issues/714). Fixed ----- * Added workaround for GNOME bug where multiple button press events (for the same button) is sent to the CSDs without any release or leave events in between (https://codeberg.org/dnkl/foot/issues/709). * Line-wise selection not taking soft line-wrapping into account (https://codeberg.org/dnkl/foot/issues/726). Contributors ------------ * [craigbarnes](https://codeberg.org/craigbarnes) * Arnavion
-
1.9.0fec5f878 · ·
Release 1.9.0 Added ----- * Window title in the CSDs (https://codeberg.org/dnkl/foot/issues/638). * `-Ddocs=disabled|enabled|auto` meson command line option. * Support for `~`-expansion in the `include` directive (https://codeberg.org/dnkl/foot/issues/659). * Unicode 13 characters U+1FB3C - U+1FB6F, U+1FB9A and U+1FB9B to list of box drawing characters rendered by foot itself (rather than using font glyphs) (https://codeberg.org/dnkl/foot/issues/474). * `XM`+`xm` to terminfo. * Mouse buttons 6/7 (mouse wheel left/right). * `url.uri-characters` option to `foot.ini` (https://codeberg.org/dnkl/foot/issues/654). Changed ------- * Terminfo files can now co-exist with the foot terminfo files from ncurses. See `INSTALL.md` for more information (https://codeberg.org/dnkl/foot/issues/671). * `bold-text-in-bright=palette-based` now only brightens colors from palette * Raised grace period between closing the PTY and sending `SIGKILL` (when terminating the client application) from 4 to 60 seconds. * When terminating the client application, foot now sends `SIGTERM` immediately after closing the PTY, instead of waiting 2 seconds. * Foot now sends `SIGTERM`/`SIGKILL` to the client application’s process group, instead of just to the client application’s process. * `kmous` terminfo capability from `\E[M` to `\E[<`. * pt-or-px values (`letter-spacing`, etc) and the line thickness (`tweak.box-drawing-base-thickness`) in box drawing characters are now translated to pixel values using the monitor’s scaling factor when `dpi-aware=no`, or `dpi-aware=auto` and the scaling factor is larger than 1 (https://codeberg.org/dnkl/foot/issues/680). Removed ------- * `km`/`smm`/`rmm` from terminfo; foot prefixes Alt-key combinations with `ESC`, and not by setting the 8:th “meta” bit, regardless of `smm`/`rmm`. While this _can_ be disabled by, resetting private mode 1036, the terminfo should reflect the **default** behavior (https://codeberg.org/dnkl/foot/issues/670). * Keypad application mode keys from terminfo; enabling the keypad application mode is not enough to make foot emit these sequences - you also need to disable private mode 1035 (https://codeberg.org/dnkl/foot/issues/670). Fixed ----- * Rendering into the right margin area with `tweak.overflowing-glyphs` enabled. * PGO builds with clang (https://codeberg.org/dnkl/foot/issues/642). * Crash in scrollback search mode when selection has been canceled due to terminal content updates (https://codeberg.org/dnkl/foot/issues/644). * Foot process not terminating when the Wayland connection is broken (https://codeberg.org/dnkl/foot/issues/651). * Output scale being zero on compositors that does not advertise a scaling factor. * Slow-to-terminate client applications causing other footclient instances to freeze when closing a footclient window. * Underlying cell content showing through in the left-most column of sixels. * `cursor.blink` not working in GNOME (https://codeberg.org/dnkl/foot/issues/686). * Blinking cursor stops blinking, or becoming invisible, when switching focus from, and then back to a terminal window on GNOME (https://codeberg.org/dnkl/foot/issues/686). Contributors ------------ * Nihal Jere * [nowrep](https://codeberg.org/nowrep) * [clktmr](https://codeberg.org/clktmr)
-
1.8.2cd8c96d7 · ·
Release 1.8.2 Added ----- * `locked-title=no|yes` to `foot.ini` (https://codeberg.org/dnkl/foot/issues/386). * `tweak.overflowing-glyphs` option, which can be enabled to fix rendering issues with glyphs of any width that appear cut-off (https://codeberg.org/dnkl/foot/issues/592). Changed ------- * Non-empty lines are now considered to have a hard linebreak, _unless_ an actual word-wrap is inserted. * Setting `DECSDM` now _disables_ sixel scrolling, while resetting it _enables_ scrolling (https://codeberg.org/dnkl/foot/issues/631). Removed ------- * The `tweak.allow-overflowing-double-width-glyphs` and `tweak.pua-double-width` options (which have been superseded by `tweak.overflowing-glyphs`). Fixed ----- * FD exhaustion when repeatedly entering/exiting URL mode with many URLs. * Double free of URL while removing duplicated and/or overlapping URLs in URL mode (https://codeberg.org/dnkl/foot/issues/627). * Crash when an unclosed OSC-8 URL ran into un-allocated scrollback rows. * Some box-drawing characters were rendered incorrectly on big-endian architectures. * Crash when resizing the window to the smallest possible size while scrollback search is active. * Scrollback indicator being incorrectly rendered when window size is very small. * Reduced memory usage in URL mode. * Crash when the `E3` escape (`\E[3J`) was executed, and there was a selection, or sixel image, in the scrollback (https://codeberg.org/dnkl/foot/issues/633). Contributors ------------ * [clktmr](https://codeberg.org/clktmr)
-
1.8.11d488bb6 · ·
Release 1.8.1 Added ----- * `--log-level=none` command-line option. * `Tc`, `setrgbf` and `setrgbb` capabilities in `foot` and `foot-direct` terminfo entries. This should make 24-bit RGB colors work in tmux and neovim, without the need for config hacks or detection heuristics (https://codeberg.org/dnkl/foot/issues/615). Changed ------- * Grapheme cluster width is now limited to two cells by default. This may cause cursor synchronization issues with many applications. You can set `[tweak].grapheme-width-method=wcswidth` to revert to the behavior from foot-1.8.0. Fixed ----- * Grapheme cluster state being reset between codepoints. * Regression: custom URL key bindings not working (https://codeberg.org/dnkl/foot/issues/614). Contributors ------------ * [craigbarnes](https://codeberg.org/craigbarnes)