-
1.8.0bc6b4d7b · ·
Release 1.8.0 Grapheme shaping ---------------- This release adds _experimental, opt-in_ support for grapheme cluster segmentation and grapheme shaping. (note: several of the examples below may not render correctly in your browser, viewer or editor). Grapheme cluster segmentation is the art of splitting up text into grapheme clusters, where a cluster may consist of more than one Unicode codepoint. For example, 🙂 is a single codepoint, while 👩🏽🚀 consists of 4 codepoints (_Woman_ + _Medium skin tone_ + _Zero width joiner_ + _Rocket_). The goal is to _cluster_ codepoints belonging to the same grapheme in the same cell in the terminal. Previous versions of foot implemented a simple grapheme cluster segmentation technique that **only** handled zero-width codepoints. This allowed us to cluster combining characters, like q́ (_q_ + _COMBINING ACUTE ACCENT_). Once we have a grapheme cluster, we need to _shape_ it. Combining characters are simple: they are typically rendered as multiple glyphs layered on top of each other. This is why previous versions of foot got away with it without any actual text shaping support. Beyond that, support from the font library is needed. Foot now depends on fcft-2.4, which added support for grapheme and text shaping. When rendering a cell, we ask the font library: give us the glyph(s) for this sequence of codepoints. Fancy emoji sequences aside, using libutf8proc for grapheme cluster segmentation means **improved correctness**. For full support, the following is required: * fcft compiled with HarfBuzz support * foot compiled with libutf8proc support * `tweak.grapheme-shaping=yes` in `foot.ini` If `tweak.grapheme-shaping` has **not** been enabled, foot will neither use libutf8proc to do grapheme cluster segmentation, nor will it use fcft’s grapheme shaping capabilities to shape combining characters. This feature is _experimental_ mostly due to the “wcwidth” problem; how many cells should foot allocate for a grapheme cluster? While the answer may seem simple, the problem is that, whatever the answer is, the client application **must** come up with the **same** answer. Otherwise we get cursor synchronization issues. In this release, foot simply adds together the `wcwidth()` of all codepoints in the grapheme cluster. This is equivalent to running `wcswidth()` on the entire cluster. **This is likely to change in the future**. Finally, note that grapheme shaping is not the same thing as text (or text run) shaping. In this version, foot only shapes individual graphemes, not entire text runs. That means e.g. ligatures are **not** supported. Added ----- * Support for DECSET/DECRST 2026, as an alternative to the existing "synchronized updates" DCS sequences (https://codeberg.org/dnkl/foot/issues/459). * `cursor.beam-thickness` option to `foot.ini` (https://codeberg.org/dnkl/foot/issues/464). * `cursor.underline-thickness` option to `foot.ini` (https://codeberg.org/dnkl/foot/issues/524). * 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). * Dedicated `[bell]` section to config, supporting multiple actions and a new `command` action to run an arbitrary command. (https://codeberg.org/dnkl/foot/pulls/483) * Dedicated `[url]` section to config. * `[url].protocols` option to `foot.ini` (https://codeberg.org/dnkl/foot/issues/531). * Support for setting the full 256 color palette in foot.ini (https://codeberg.org/dnkl/foot/issues/489) * 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). * `ctrl`+`c` as a default key binding; to cancel search/url mode. * `${window-title}` to `notify`. * Support for including files in `foot.ini` (https://codeberg.org/dnkl/foot/issues/555). * `ENVIRONMENT` section in **foot**(1) and **footclient**(1) man pages (https://codeberg.org/dnkl/foot/issues/556). * `tweak.pua-double-width` option to `foot.ini`, letting you force _Private Usage Area_ codepoints to be treated as double-width characters. * OSC 9 desktop notifications (iTerm2 compatible). * Support for LS2 and LS3 (locking shift) escape sequences (https://codeberg.org/dnkl/foot/issues/581). * Support for overriding configuration options on the command line (https://codeberg.org/dnkl/foot/issues/554, https://codeberg.org/dnkl/foot/issues/600). * `underline-offset` option to `foot.ini` (https://codeberg.org/dnkl/foot/issues/490). * `csd.button-color` option to `foot.ini`. * `-Dterminfo-install-location=disabled|<custom-path>` meson command line option (https://codeberg.org/dnkl/foot/issues/569). Changed ------- * [fcft](https://codeberg.org/dnkl/fcft): required version bumped from 2.3.x to 2.4.x. * `generate-alt-random-writes.py --sixel`: width and height of emitted sixels has been adjusted. * _Concealed_ text (`\E[8m`) is now revealed when highlighted. * 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). * `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. * Foot’s exit code is now -26/230 when foot itself failed to launch (due to invalid command line options, client application/shell not 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 server failed to instantiate a new window (https://codeberg.org/dnkl/foot/issues/466). * Background alpha no longer applied to palette or RGB colors that matches the background color. * Improved performance on compositors that does not release shm buffers immediately, e.g. KWin (https://codeberg.org/dnkl/foot/issues/478). * `ctrl + w` (_extend-to-word-boundary_) can now be used across lines (https://codeberg.org/dnkl/foot/issues/421). * Ignore auto-detected URLs that overlap with OSC-8 URLs. * Default value for the `notify` option to use `-a ${app-id} -i ${app-id} ...` instead of `-a foot -i foot ...`. * `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). * Reverse video (`\E[?5h`) now only swaps the default foreground and background colors. Cells with explicit foreground and/or background colors remain unchanged. * Tabs (`\t`) are now preserved when the window is resized, and when copying text (https://codeberg.org/dnkl/foot/issues/508). * 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). * 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. Deprecated ---------- * `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. Removed ------- * Buffer damage quirk for Plasma/KWin. Fixed ----- * `generate-alt-random-writes.py --sixel` sometimes crashing, resulting in PGO build failures. * Wrong colors in the 256-color cube (https://codeberg.org/dnkl/foot/issues/479). * 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). * Assertion when emitting a sixel occupying the entire scrollback history (https://codeberg.org/dnkl/foot/issues/494). * 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). * Sixels with transparent bottom border being resized below the size specified in _”Set Raster Attributes”_. * 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). * Crash caused by certain CSI sequences with very large parameter values (https://codeberg.org/dnkl/foot/issues/522). * Rare occurrences where the window did not close when the shell exited. Only seen on FreeBSD (https://codeberg.org/dnkl/foot/issues/534) * Foot process(es) sometimes remaining, using 100% CPU, when closing multiple foot windows at the same time (https://codeberg.org/dnkl/foot/issues/542). * 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). * Crash when a line wrapping OSC-8 URI crossed the scrollback wrap around (https://codeberg.org/dnkl/foot/issues/552). * Selection incorrectly wrapping rows ending with an explicit newline (https://codeberg.org/dnkl/foot/issues/565). * Off-by-one error in markup of auto-detected URLs when the URL ends in the right-most column. * Multi-column characters being cut in half when resizing the alternate screen. * Restore `SIGHUP` in spawned processes. * Text reflow performance (https://codeberg.org/dnkl/foot/issues/504). * IL+DL (`CSI Ps L` + `CSI Ps M`) now moves the cursor to column 0. * SS2 and SS3 (single shift) escape sequences behaving like locking shifts (https://codeberg.org/dnkl/foot/issues/580). * `TEXT`+`STRING`+`UTF8_STRING` mime types not being recognized in clipboard offers (https://codeberg.org/dnkl/foot/issues/583). * 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). * Crash in scrollback search when current XKB layout is missing _compose_ definitions. * Window title not being updated while window is hidden (https://codeberg.org/dnkl/foot/issues/591). * Crash on badly formatted URIs in e.g. OSC-8 URLs. * Window being incorrectly resized on CSD/SSD run-time changes. Contributors ------------ * [r\_c\_f](https://codeberg.org/r_c_f) * [craigbarnes](https://codeberg.org/craigbarnes)
-
1.7.20d4e61bb · ·
Release 1.7.2 Added ----- * URxvt OSC-11 extension to set background alpha (https://codeberg.org/dnkl/foot/issues/436). * OSC 17/117/19/119 - change/reset selection background/foreground color. * `box-drawings-uses-font-glyphs=yes|no` option to `foot.ini` (https://codeberg.org/dnkl/foot/issues/430). Changed ------- * Underline cursor is now rendered below text underline (https://codeberg.org/dnkl/foot/issues/415). * Foot now tries much harder to keep URL jump labels inside the window geometry (https://codeberg.org/dnkl/foot/issues/443). * `bold-text-in-bright` may now be set to `palette-based`, in which case it will use the corresponding bright palette color when the color to brighten matches one of the base 8 colors, instead of increasing the luminance (https://codeberg.org/dnkl/foot/issues/449). Fixed ----- * Reverted _"Consumed modifiers are no longer sent to the client application"_ (https://codeberg.org/dnkl/foot/issues/425). * Crash caused by a double free originating in `XTSMGRAPHICS` - set number of color registers (https://codeberg.org/dnkl/foot/issues/427). * Wrong action referenced in error message for key binding collisions (https://codeberg.org/dnkl/foot/issues/432). * OSC 4/104 out-of-bounds accesses to the color table. This was the reason pywal turned foot windows transparent (https://codeberg.org/dnkl/foot/issues/434). * PTY not being drained when the client application terminates. * `auto_left_margin` not being limited to `cub1` (https://codeberg.org/dnkl/foot/issues/441). Contributors ------------ * [cglogic](https://codeberg.org/cglogic)
-
1.7.1ca89f977 · ·
Release 1.7.1 Changed ------- * Update PGO build instructions in `INSTALL.md` (https://codeberg.org/dnkl/foot/issues/418). * In scrollback search mode, empty cells can now be matched by spaces. Fixed ----- * Logic that repairs invalid key bindings ended up breaking valid key bindings instead (https://codeberg.org/dnkl/foot/issues/407). * Custom `line-height` settings now scale when increasing or decreasing the font size at run-time. * Newlines sometimes incorrectly inserted into copied text (https://codeberg.org/dnkl/foot/issues/410). * Crash when compositor send `text-input-v3::enter` events without first having sent a `keyboard::enter` event (https://codeberg.org/dnkl/foot/issues/411). * Deadlock when rendering sixel images. * URL labels, scrollback search box or scrollback position indicator sometimes not showing up, caused by invalidly sized surface buffers when output scaling was enabled (https://codeberg.org/dnkl/foot/issues/409). * Empty sixels resulted in non-empty images.
-
1.7.0be6f7ff9 · ·
Release 1.7.0 Added ----- * The `pad` option now accepts an optional third argument, `center` (e.g. `pad=5x5 center`), causing the grid to be centered in the window, with equal amount of padding of the left/right and top/bottom side (https://codeberg.org/dnkl/foot/issues/273). * `line-height`, `letter-spacing`, `horizontal-letter-offset` and `vertical-letter-offset` to `foot.ini`. These options let you tweak cell size and glyph positioning (https://codeberg.org/dnkl/foot/issues/244). * Key/mouse binding `select-extend-character-wise`, which forces the selection mode to 'character-wise' when extending a selection. * `DECSET` `47`, `1047` and `1048`. * URL detection and OSC-8 support. URLs are highlighted and activated using the keyboard (**no** mouse support). See **foot**(1)::URLs, or [README.md](README.md#urls) for details (https://codeberg.org/dnkl/foot/issues/14). * `-d,--log-level={info|warning|error}` to both `foot` and `footclient` (https://codeberg.org/dnkl/foot/issues/337). * `-D,--working-directory=DIR` to both `foot` and `footclient` (https://codeberg.org/dnkl/foot/issues/347) * `DECSET 80` - sixel scrolling (https://codeberg.org/dnkl/foot/issues/361). * `DECSET 1070` - sixel private color palette (https://codeberg.org/dnkl/foot/issues/362). * `DECSET 8452` - position cursor to the right of sixels (https://codeberg.org/dnkl/foot/issues/363). * Man page **foot-ctlseqs**(7), documenting all supported escape sequences (https://codeberg.org/dnkl/foot/issues/235). * Support for transparent sixels (DCS parameter `P2=1`) (https://codeberg.org/dnkl/foot/issues/391). * `-N,--no-wait` to `footclient` (https://codeberg.org/dnkl/foot/issues/395). * Completions for Bash shell (https://codeberg.org/dnkl/foot/issues/10). Changed ------- * The fcft and tllist library subprojects are now handled via Meson [wrap files](https://mesonbuild.com/Wrap-dependency-system-manual.html) instead of needing to be manually cloned. * Box drawing characters are now rendered by foot, instead of using font glyphs (https://codeberg.org/dnkl/foot/issues/198) * Double- or triple clicking then dragging now extends the selection word- or line-wise (https://codeberg.org/dnkl/foot/issues/267). * The line thickness of box drawing characters now depend on the font size (https://codeberg.org/dnkl/foot/issues/281). * Extending a word/line-wise selection now uses the original selection mode instead of switching to character-wise. * While doing an interactive resize of a foot window, foot now requires 100ms of idle time (where the window size does not change) before sending the new dimensions to the client application. The timing can be tweaked, or completely disabled, by setting `resize-delay-ms` (https://codeberg.org/dnkl/foot/issues/301). * `CSI 13 ; 2 t` now reports (0,0). * Key binding matching logic; key combinations like `Control+Shift+C` **must** now be written as either `Control+C` or `Control+Shift+c`, the latter being the preferred variant. (https://codeberg.org/dnkl/foot/issues/376) * Consumed modifiers are no longer sent to the client application (https://codeberg.org/dnkl/foot/issues/376). * The minimum version requirement for the libxkbcommon dependency is now 1.0.0. * Empty pixel rows at the bottom of a sixel is now trimmed. * Sixels with DCS parameter `P2=0|2` now use the _current_ ANSI background color for empty pixels instead of the default background color (https://codeberg.org/dnkl/foot/issues/391). * Sixel decoding optimized; up to 100% faster in some cases. * Reported sixel “max geometry” from current window size, to the configured maximum size (defaulting to 10000x10000). Removed ------- * The `-g,--geometry` command-line option (which had been deprecated and superseded by `-w,--window-size-pixels` since 1.5.0). Fixed ----- * Some mouse bindings (_primary paste_, for example) did not require `shift` to be pressed while used in a mouse grabbing application. This meant the mouse event was never seen by the application. * Terminals spawned with `ctrl`+`shift`+`n` not terminating when exiting shell (https://codeberg.org/dnkl/foot/issues/366). * Default value of `-t,--term` in `--help` output when foot was built without terminfo support. * Drain PTY when the client application terminates. Contributors ------------ * [craigbarnes](https://codeberg.org/craigbarnes) * toast * [l3mon4d3](https://codeberg.org/l3mon4d3) * [Simon Schricker](mailto:s.schricker@sillage.at)
-
1.6.4dcd4f1ca · ·
Release 1.6.4 Added ----- * `selection-target=none|primary|clipboard|both` to `foot.ini`. It can be used to configure which clipboard(s) selected text should be copied to. The default is `primary`, which corresponds to the behavior in older foot releases (https://codeberg.org/dnkl/foot/issues/288). Changed ------- * The IME state no longer stays stuck in the terminal if the IME goes away during preedit. * `-Dterminfo` changed from a `boolean` to a `feature` option. * Use standard signals instead of a signalfd to handle `SIGCHLD`. Fixes an issue on FreeBSD where foot did not detect when the client application had terminated. Fixed ----- * `BS`, `HT` and `DEL` from being stripped in bracketed paste mode. Contributors ------------ * [tdeo](https://codeberg.org/tdeo) * jbeich
-
1.6.34c168b84 · ·
Release 1.6.3 Added ----- * Completions for fish shell (https://codeberg.org/dnkl/foot/issues/11) * FreeBSD support (https://codeberg.org/dnkl/foot/issues/238). * IME popup location support: foot now sends the location of the cursor so any popup can be displayed near the text that is being typed. Changed ------- * Trailing comments in `foot.ini` must now be preceded by a space or tab (https://codeberg.org/dnkl/foot/issues/270) * The scrollback search box no longer accepts non-printable characters. * Non-formatting C0 control characters, `BS`, `HT` and `DEL` are now stripped from pasted text. Fixed ----- * Exit when the client application terminates, not when the TTY file descriptor is closed. * Crash on compositors not implementing the _text input_ interface (https://codeberg.org/dnkl/foot/issues/259). * Erased, overflowing glyphs (when `tweak.allow-overflowing-double-width-glyphs=yes` - the default) not properly erasing the cell overflowed **into**. * `word-delimiters` option ignores `#` and subsequent characters (https://codeberg.org/dnkl/foot/issues/270) * Combining characters not being rendered when composed with colored bitmap glyphs (i.e. colored emojis). * Pasting URIs from the clipboard when the source has not newline-terminated the last URI (https://codeberg.org/dnkl/foot/issues/291). * Sixel “current geometry” query response not being bounded by the current window dimensions (fixes `lsix` output) * Crash on keyboard input when repeat rate was zero (i.e. no repeat). * Wrong button encoding of mouse buttons 6 and 7 in mouse events. * Scrollback search not matching composed characters. * High CPU usage when holding down e.g. arrow keys while in scrollback search mode. * Rendering of composed characters in the scrollback search box. * IME pre-edit cursor when positioned at the end of the pre-edit string. * Scrollback search not matching multi-column characters. Contributors ------------ * [birger](https://codeberg.org/birger) * [pc](https://codeberg.org/pc) * [FollieHiyuki](https://codeberg.org/FollieHiyuki) * jbeich * [tdeo](https://codeberg.org/tdeo)
-
1.6.17c3cb008 · ·
Release 1.6.1 Added ----- * `--seed` to `generate-alt-random.py`, enabling deterministic PGO builds. Changed ------- * Use `-std=c11` instead of `-std=c18`. * Added `-Wno-profile-instr-unprofiled` to Clang cflags in PGO builds ([INSTALL.md](https://codeberg.org/dnkl/foot/src/branch/releases/1.6/INSTALL.md#user-content-performance-optimized-pgo)) Fixed ----- * Missing dependencies in meson, causing heavily parallelized builds to fail. * Background color when alpha < 1.0 being wrong (https://codeberg.org/dnkl/foot/issues/249). * `generate-alt-random.py` failing in containers. Contributors ------------ * [craigbarnes](https://codeberg.org/craigbarnes) * [sterni](https://codeberg.org/sterni)
-
1.6.0098a7e42 · ·
Release 1.6.0 For packagers ------------- Starting with this release, foot can be PGO:d (compiled using profile guided optimizations) **without** a running Wayland session. This means foot can be PGO:d in e.g. sandboxed build scripts. See [INSTALL.md](INSTALL.md#user-content-performance-optimized-pgo). Added ----- * IME support. This is compile-time optional, see [INSTALL.md](INSTALL.md#user-content-options) (https://codeberg.org/dnkl/foot/issues/134). * `DECSET` escape to enable/disable IME: `CSI ? 737769 h` enables IME and `CSI ? 737769 l` disables it. This can be used to e.g. enable/disable IME when entering/leaving insert mode in vim. * `dpi-aware` option to `foot.ini`. The default, `auto`, sizes fonts using the monitor’s DPI when output scaling has been **disabled**. If output scaling has been **enabled**, fonts are sized using the scaling factor. DPI-only font sizing can be forced by setting `dpi-aware=yes`. Setting `dpi-aware=no` forces font sizing to be based on the scaling factor. (https://codeberg.org/dnkl/foot/issues/206). * Implement reverse auto-wrap (_auto\_left\_margin_, _bw_, in terminfo). This mode can be enabled/disabled with `CSI ? 45 h` and `CSI ? 45 l`. It is **enabled** by default (https://codeberg.org/dnkl/foot/issues/150). * `bell` option to `foot.ini`. Can be set to `set-urgency` to make foot render the margins in red when receiving `BEL` while **not** having keyboard focus. Applications can dynamically enable/disable this with the `CSI ? 1042 h` and `CSI ? 1042 l` escape sequences. Note that Wayland does **not** implement an _urgency_ hint like X11, but that there is a [proposal](https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/9) to add support for this. The value `set-urgency` was chosen for forward-compatibility, in the hopes that this proposal eventualizes (https://codeberg.org/dnkl/foot/issues/157). * `bell` option can also be set to `notify`, in which case a desktop notification is emitted when foot receives `BEL` in an unfocused window. * `word-delimiters` option to `foot.ini` (https://codeberg.org/dnkl/foot/issues/156). * `csd.preferred` can now be set to `none` to disable window decorations. Note that some compositors will render SSDs despite this option being used (https://codeberg.org/dnkl/foot/issues/163). * Terminal content is now auto-scrolled when moving the mouse above or below the window while selecting (https://codeberg.org/dnkl/foot/issues/149). * `font-bold`, `font-italic` `font-bold-italic` options to `foot.ini`. These options allow custom bold/italic fonts. They are unset by default, meaning the bold/italic version of the regular font is used (https://codeberg.org/dnkl/foot/issues/169). * Drag & drop support; text, files and URLs can now be dropped in a foot terminal window (https://codeberg.org/dnkl/foot/issues/175). * `clipboard-paste` and `primary-paste` scrollback search bindings. By default, they are bound to `ctrl+v ctrl+y` and `shift+insert` respectively, and lets you paste from the clipboard or primary selection into the search buffer. * Support for `pipe-*` actions in mouse bindings. It was previously not possible to add a command to these actions when used in mouse bindings, making them useless (https://codeberg.org/dnkl/foot/issues/183). * `bold-text-in-bright` option to `foot.ini`. When enabled, bold text is rendered in a brighter color (https://codeberg.org/dnkl/foot/issues/199). * `-w,--window-size-pixels` and `-W,--window-size-chars` command line options to `footclient` (https://codeberg.org/dnkl/foot/issues/189). * Short command line options for `--title`, `--maximized`, `--fullscreen`, `--login-shell`, `--hold` and `--check-config`. * `DECSET` escape to modify the `escape` key to send `\E[27;1;27~` instead of `\E`: `CSI ? 27127 h` enables the new behavior, `CSI ? 27127 l` disables it (the default). * OSC 777;notify: desktop notifications. Use in combination with the new `notify` option in `foot.ini` (https://codeberg.org/dnkl/foot/issues/224). * Status line terminfo capabilities `hs`, `tsl`, `fsl` and `dsl`. This enables e.g. vim to set the window title (https://codeberg.org/dnkl/foot/issues/242). Changed ------- * Blinking text now uses the foreground color, but dimmed down in its off state, instead of the background color. * Sixel default maximum size is now 10000x10000 instead of the current window size. * Graphical glitches/flashes when resizing the window while running a fullscreen application, i.e. the 'alt' screen (https://codeberg.org/dnkl/foot/issues/221). * Cursor will now blink if **either** `CSI ? 12 h` or `CSI Ps SP q` has been used to enable blinking. **cursor.blink** in `foot.ini` controls the default state of `CSI Ps SP q` (https://codeberg.org/dnkl/foot/issues/218). * The sub-parameter versions of the SGR RGB color escapes (e.g `\E[38:2...m`) can now be used _without_ the color space ID parameter. * SGR 21 no longer disables **bold**. According to ECMA-48, SGR 21 is _”double underline_”. Foot does not (yet) implement that, but that’s no reason to implement a non-standard behavior. * `DECRQM` now returns actual state of the requested mode, instead of always returning `2`. Removed ------- * Support for loading configuration from `$XDG_CONFIG_HOME/footrc`. * `scrollback` option from `foot.ini`. * `geometry` from `foot.ini`. * Key binding action `scrollback-up` and `scrollback-down`. Fixed ----- * Error when re-assigning a default key binding (https://codeberg.org/dnkl/foot/issues/233). * `\E[s`+`\E[u` (save/restore cursor) now saves and restores attributes and charset configuration, just like `\E7`+`\E8`. * Report mouse motion events to the client application also while dragging the cursor outside the grid. * Parsing of the sub-parameter versions of indexed SGR color escapes (e.g. `\E[38:5...m`) * Frames occasionally being rendered while application synchronized updates is in effect. * Handling of failures to parse the font specification string. * Extra private/intermediate characters in escape sequences not being ignored. Contributors ------------ * [kennylevinsen](https://codeberg.org/kennylevinsen) * [craigbarnes](https://codeberg.org/craigbarnes)
-
1.5.43156db74 · ·
Release 1.5.4 Changed ------- * Num Lock by default overrides the keypad mode. See **foot.ini**(5)::KEYPAD, or [README.md](README.md#user-content-keypad) for details (https://codeberg.org/dnkl/foot/issues/194). * Single-width characters with double-width glyphs are now allowed to overflow into neighboring cells by default. Set **tweak.allow-overflowing-double-width-glyphs** to ‘no’ to disable this. Fixed ----- * Resize very slow when window is hidden (https://codeberg.org/dnkl/foot/issues/190). * Key mappings for key combinations with `shift`+`tab` (https://codeberg.org/dnkl/foot/issues/210). * Key mappings for key combinations with `alt`+`return`. * `footclient` `-m` (`--maximized`) flag being ignored. * Crash with explicitly sized sixels with a height less than 6 pixels. * Key mappings for `esc` with modifiers. Contributors ------------ * [craigbarnes](https://codeberg.org/craigbarnes)