Skip to content

Tags

Tags give the ability to mark specific points in history as being important
  • 1.19.0
    Release 1.19.0
    
    Added
    -----
    
    * `resize-keep-grid` option, controlling whether the window is resized (and the grid reflowed) or not when e.g. zooming in/out ([#1807][1807]).
    * `strikeout-thickness` option.
    * Implemented the new `xdg-toplevel-icon-v1` protocol.
    * Implemented `CSI 21 t`: report window title.
    * `colors.sixelNN` option, controlling the default sixel color palette.
    
    [1807]: https://codeberg.org/dnkl/foot/issues/1807
    
    Changed
    -------
    
    * `cursor.unfocused-style` is now effective even when `cursor.style` is not `block`.
    * Activating a notification triggered with OSC-777, or BEL, now focuses the foot window, if XDG activation tokens are supported by the compositor, the notification daemon, and the notification helper used by foot (i.e. `desktop-notifications.command`). This has been supported for OSC-99 since 1.18.0, and now we also support it for BEL and OSC-777 ([#1822][1822]).
    * Sixel background color (when `P2=0|2`) is now set to the **sixel** color palette entry #0, instead of using the current ANSI background color. This is what a real VT340 does.
    * The `.desktop` files no longer use the reverse DNS naming scheme, and their names now match the default app-ids used by foot (`foot` and `footclient`) ([#1607][1607]).
    * `file://` prefix are now stripped from OSC-8 URIs when activated/opened, **if** the hostname matches the hostname of the computer foot is running on ([#1840][1840]).
    
    [1822]: https://codeberg.org/dnkl/foot/issues/1822
    [1607]: https://codeberg.org/dnkl/foot/issues/1607
    [1840]: https://codeberg.org/dnkl/foot/issues/1840
    
    Fixed
    -----
    
    * Some invalid UTF-8 strings passing the validity check when setting the window title, triggering a Wayland protocol error which then caused foot to shutdown.
    * "Too large" values for `scrollback.lines` causing an integer overflow, resulting in either visual glitches, crashes, or both ([#1828][1828]).
    * Crash when trying to set an invalid cursor shape with OSC-22, when foot uses server-side cursor shapes.
    * Occasional visual glitches when selecting text, when foot is running under a compositor that forces foot to double buffer (e.g. KDE/KWin) ([#1715][1715]).
    * Sixels flickering when foot is running under a compositor that forces foot to double buffer (e.g. KDE, or Smithay based compositors) ([#1851][1851]).
    
    [1828]: https://codeberg.org/dnkl/foot/issues/1828
    [1715]: https://codeberg.org/dnkl/foot/issues/1715
    [1851]: https://codeberg.org/dnkl/foot/issues/1851
    
    Contributors
    ------------
    
    * Andrew J. Hesford
    * Craig Barnes
    * Oleh Hushchenkov
    * tokyo4j
    
  • 1.18.1
    Release 1.18.1
    
    Added
    -----
    
    * OSC-99: support for the `s` parameter. Supported keywords are
      `silent`, `system` and names from the freedesktop sound naming
      specification.
    * `${muted}` and `${sound-name}` added to the
      `desktop-notifications.command` template.
    
    Changed
    -------
    
    * CSD buttons now activate on mouse button **release**, rather than
      press ([#1787][1787]).
    
    Fixed
    -----
    
    * Regression: OSC-111 not handling alpha changes correctly, causing
      visual glitches ([#1801][1801]).
    
    [1801]: https://codeberg.org/dnkl/foot/issues/1801
    
    Contributors
    ------------
    
    * Craig Barnes
    * Shogo Yamazaki
    
  • 1.18.0
    Release 1.18.0
    
    Added
    -----
    
    * `cursor.blink-rate` option, allowing you to configure the rate the
      cursor blinks with (when `cursor.blink=yes`) ([#1707][1707]);
    * Support for `wp_single_pixel_buffer_v1`; certain overlay surfaces
      will now utilize the new single-pixel buffer protocol. This mainly
      reduces the memory usage, but should also be slightly faster.
    * Support for high-res mouse wheel scroll events ([#1738][1738]).
    * Styled and colored underlines ([#828][828]).
    * Support for SGR 21 (double underline).
    * Support for `XTPUSHCOLORS`, `XTPOPCOLORS` and `XTREPORTCOLORS`,
      i.e. color palette stack ([#856][856]).
    * Log output now respects the [`NO_COLOR`](http://no-color.org/)
      environment variable ([#1771][1771]).
    * Support for [in-band window resize
      notifications](https://gist.github.com/rockorager/e695fb2924d36b2bcf1fff4a3704bd83),
      private mode `2048`.
    * Support for OSC-99 [_"Kitty desktop
      notifications"_](https://sw.kovidgoyal.net/kitty/desktop-notifications/).
    * `desktop-notifications.command` option, replaces `notify`.
    * `desktop-notifications.inhibit-when-focused` option, replaces
      `notify-focus-inhibit`.
    * `${category}`, `${urgency}`, `${expire-time}`, `${replace-id}`,
      `${icon}` and `${action-argument}` added to the
      `desktop-notifications.command` template.
    * `desktop-notifications.command-action-argument` option, defining how
      `${action-argument}` (in `desktop-notifications.command`) should be
      expanded.
    * `desktop-notifications.close` option, defining what to execute when
      an application wants to close an existing notification (via an
      OSC-99 escape sequence).
    
    [1707]: https://codeberg.org/dnkl/foot/issues/1707
    [1738]: https://codeberg.org/dnkl/foot/issues/1738
    [828]: https://codeberg.org/dnkl/foot/issues/828
    [856]: https://codeberg.org/dnkl/foot/issues/856
    [1771]: https://codeberg.org/dnkl/foot/issues/1771
    
    Changed
    -------
    
    * All `XTGETTCAP` capabilities are now in the `tigetstr()` format:
    
      - parameterized string capabilities were previously "source
        encoded", meaning e.g. `\E` where not "decoded" into `\x1b`.
      - Control characters were also "source encoded", meaning they were
        returned as e.g. "^G" instead of `\x07` ([#1701][1701]).
    
      In other words, if, after this change, `XTGETTCAP` returns a string
      that is different compared to `tigetstr()`, then it is likely a bug
      in foot's implementation of `XTGETTCAP`.
    * If the cursor foreground and background colors are identical (for
      example, when cursor uses inverted colors and the cell's foreground
      and background are the same), the cursor will instead be rendered
      using the default foreground and background colors, inverted
      ([#1761][1761]).
    * Mouse wheel events now generate `BTN_WHEEL_BACK` and
      `BTN_WHEEL_FORWARD` "button presses", instead of `BTN_BACK` and
      `BTN_FORWARD`. The default bindings have been updated, and
      `scrollback-up-mouse`, `scrollback-down-mouse`, `font-increase` and
      `font-decrease` now use the new button names.
    
      This change allow users to separate physical mouse buttons that
      _also_ generates `BTN_BACK` and `BTN_FORWARD`, from wheel scrolling
      ([#1763][1763]).
    * Replaced the old catppuccin theme with updated flavored themes
      pulled from [catppuccin/foot](https://github.com/catppuccin/foot)
    * Mouse selections can now be started inside the margins
      ([#1702][1702]).
    
    [1701]: https://codeberg.org/dnkl/foot/issues/1701
    [1761]: https://codeberg.org/dnkl/foot/issues/1761
    [1763]: https://codeberg.org/dnkl/foot/issues/1763
    [1702]: https://codeberg.org/dnkl/foot/issues/1702
    
    Deprecated
    ----------
    
    * `notify` option; replaced by `desktop-notifications.command`.
    * `notify-focus-inhibit` option; replaced by
      `desktop-notifications.inhibit-when-focused`.
    
    Fixed
    -----
    
    * Crash when zooming in or out, with `dpi-aware=yes`, and the
      monitor's DPI is 0 (this is true for, for example, nested Wayland
      sessions, or in virtualized environments).
    * No error response for empty `XTGETTCAP` request ([#1694][1694]).
    * Unicode-mode in one foot client affecting other clients, in foot
      server mode ([#1717][1717]).
    * IME interfering in URL-mode ([#1718][1718]).
    * OSC-52 reply interleaved with other data sent to the client
      ([#1734][1734]).
    * XKB compose state being reset when foot receives a new keymap
      ([#1744][1744]).
    * Regression: alpha changes through OSC-11 sequences not taking effect
      until window is resized.
    * VS15 being ignored ([#1742][1742]).
    * VS16 being ignored for a subset of the valid VS16 sequences
      ([#1742][1742]).
    * Crash in debug builds, when using OSC-12 to set the cursor color and
      foot config has not set any custom cursor colors (i.e. without
      OSC-12, inverted fg/bg would be used).
    * Wrong color used when drawing the unfocused, hollow cursor.
    * Encoding of `BTN_BACK` and `BTN_FORWARD`, when sending a mouse input
      escape sequence to the terminal application.
    
    [1694]: https://codeberg.org/dnkl/foot/issues/1694
    [1717]: https://codeberg.org/dnkl/foot/issues/1717
    [1718]: https://codeberg.org/dnkl/foot/issues/1718
    [1734]: https://codeberg.org/dnkl/foot/issues/1734
    [1744]: https://codeberg.org/dnkl/foot/issues/1744
    [1742]: https://codeberg.org/dnkl/foot/issues/1742
    
    Contributors
    ------------
    
    * abs3nt
    * Artturin
    * Craig Barnes
    * Jan Beich
    * Mariusz Bialonczyk
    * Nicolas Kolling Ribas
    
  • 1.17.2
    Release 1.17.2
    
    Changed
    -------
    
    * Notifications with invalid UTF-8 strings are now ignored.
    
    Fixed
    -----
    
    * Crash when changing aspect ratio of a sixel, in the middle of the
      sixel data (this is unsupported in foot, but should of course not
      result in a crash).
    * Crash when printing double-width (or longer) characters to, or near,
      the last column, when auto-wrap (private mode 7) has been disabled.
    * Dynamically sized sixel being trimmed to nothing.
    * Flickering with `dpi-aware=yes` and window is unmapped/remapped
      (some compositors do this when window is minimized), in a
      multi-monitor setup with different monitor DPIs.
    
  • 1.17.1
    Release 1.17.1
    
    Added
    -----
    
    * `cursor.unfocused-style=unchanged|hollow|none` to `foot.ini`. The
      default is `hollow` ([#1582][1582]).
    * New key binding: `quit` ([#1475][1475]).
    
    [1582]: https://codeberg.org/dnkl/foot/issues/1582
    [1475]: https://codeberg.org/dnkl/foot/issues/1475
    
    Fixed
    -----
    
    * Log-level not respected by syslog.
    * Regression: terminal shutting down when the PTY is closed by the
      client application, which may be earlier than when the client
      application exits ([#1666][1666]).
    * When closing the window, send `SIGHUP` to the client application,
      before sending `SIGTERM`. The signal sequence is now `SIGHUP`, wait,
      `SIGTERM`, wait `SIGKILL`.
    * Crash when receiving a `DECRQSS` request with more than 2 bytes in
      the `q` parameter.
    
    [1666]: https://codeberg.org/dnkl/foot/issues/1666
    
  • 1.17.0
    Release 1.17.0
    
    - Support for opening an existing PTY, e.g. a VM console.
      ([#1564][1564])
    * Unicode input mode now accepts input from the numpad as well,
      numlock is ignored.
    * A new `resize-by-cells` option, enabled by default, allows the size
      of floating windows to be constrained to multiples of the cell size.
    * Support for custom (i.e. other than ctrl/shift/alt/super) modifiers
      in key bindings ([#1348][1348]).
    * `pipe-command-output` key binding.
    * Support for OSC-176, _"Set App-ID"_
      (https://gist.github.com/delthas/d451e2cc1573bb2364839849c7117239).
    * Support for `DECRQM` queries with ANSI/ECMA-48 modes (`CSI Ps $ p`).
    * Rectangular edit functions: `DECCARA`, `DECRARA`, `DECCRA`, `DECFRA`
      and `DECERA` ([#1633][1633]).
    * `Rect` capability to terminfo.
    * `fe` and `fd` (focus in/out enable/disable) capabilities to
      terminfo.
    * `nel` capability to terminfo.
    
    [1348]: https://codeberg.org/dnkl/foot/issues/1348
    [1633]: https://codeberg.org/dnkl/foot/issues/1633
    [1564]: https://codeberg.org/dnkl/foot/pulls/1564
    [`DECBKM`]: https://vt100.net/docs/vt510-rm/DECBKM.html
    
    * config: ARGB color values now default to opaque, rather than
      transparent, when the alpha component has been left out
      ([#1526][1526]).
    * The `foot` process now changes CWD to `/` after spawning the shell
      process. This ensures the terminal itself does not "lock" a
      directory; for example, preventing a mount point from being
      unmounted ([#1528][1528]).
    * Kitty keyboard protocol: updated behavior of modifiers bits during
      modifier key events, to match the (new [#6913][kitty-6913]) behavior
      in kitty >= 0.32.0 ([#1561][1561]).
    * When changing font sizes or display scales in floating windows, the
      window will be resized as needed to preserve the same grid size.
    * `smm` now disables private mode 1036 (_"send ESC when Meta modifies
      a key"_), and enables private mode 1034 (_"8-bit Meta mode"_). `rmm`
      does the opposite ([#1584][1584]).
    * Grid is now always centered in the window, when either fullscreened
      or maximized.
    * Ctrl+wheel up/down bound to `font-increase` and `font-decrease`
      respectively (in addition to the already existing default key
      bindings `ctrl-+` and `ctrl+-`).
    * Use XRGB pixel format (instead of ARGB) when there is no
      transparency.
    * Prefer CSS xcursor names, and fallback to legacy X11 names.
    * Kitty keyboard protocol: use the `XKB` mode when retrieving locked
      modifiers, instead of the `GTK` mode. This fixes an issue where some
      key combinations (e.g. Shift+space) produces different results
      depending on the state of e.g. the NumLock key.
    * Kitty keyboard protocol: filter out **all** locked modifiers (as
      reported by XKB), rather than hardcoding it to CapsLock only, when
      determining whether a key combination produces text or not.
    * CSI-t queries now report pixel values **unscaled**, instead of
      **scaled** ([#1643][1643]).
    * Sixel: text cursor is now placed on the last text row touched by the
      sixel, instead of the text row touched by the _upper_ pixel of the
      last sixel ([#chafa-192][chafa-192]).
    * Sixel: trailing, fully transparent rows are now trimmed
      ([#chafa-192][chafa-192]).
    * `1004` (enable focus in/out events) removed from the `XM` terminfo
      capability. To enable focus in/out, use the `fe` and `fd`
      capabilities instead.
    * Tightened the regular expression in the `rv` terminfo capability.
    * Tightened the regular expression in the `xr` terminfo capability.
    * `DECRQM` queries for private mode 67 ([`DECBKM`]) now reply with mode
      value 4 ("permanently reset") instead of 0 ("not recognized").
    
    [1526]: https://codeberg.org/dnkl/foot/issues/1526
    [1528]: https://codeberg.org/dnkl/foot/issues/1528
    [1561]: https://codeberg.org/dnkl/foot/issues/1561
    [kitty-6913]: https://github.com/kovidgoyal/kitty/issues/6913
    [1584]: https://codeberg.org/dnkl/foot/issues/1584
    [1643]: https://codeberg.org/dnkl/foot/issues/1643
    [chafa-192]: https://github.com/hpjansson/chafa/issues/192
    
    * config: improved validation of color values.
    * config: double close of file descriptor, resulting in a chain of
      errors ultimately leading to a startup failure ([#1531][1531]).
    * Crash when using a desktop scaling factor > 1, on compositors that
      implements neither the `fractional-scale-v1`, nor the
      `cursor-shape-v1` Wayland protocols ([#1573][1573]).
    * Crash in `--server` mode when one or more environment variables are
      set in `[environment]`.
    * Environment variables normally set by foot lost with `footclient
      -E,--client-environment` ([#1568][1568]).
    * XDG toplevel protocol violation, by trying to set a title that
      contains an invalid UTF-8 sequence ([#1552][1552]).
    * Crash when erasing the scrollback, when scrollback history is
      exactly 0 rows. This happens when `[scrollback].line = 0`, and the
      window size (number of rows) is a power of two (i.e. 2, 4, 8, 16
      etc) ([#1610][1610]).
    * VS16 (variation selector 16 - emoji representation) should only
      affect emojis.
    * Pressing a modifier key while the kitty keyboard protocol is enabled
      no longer resets the viewport, or clears the selection.
    * Crash when failing to load an xcursor image ([#1624][1624]).
    * Crash when resizing a dynamically sized sixel (no raster
      attributes), with a non-1:1 aspect ratio.
    * The default sixel color table is now initialized to the colors used
      by the VT340, instead of not being initialized at all (thus
      requiring the sixel escape sequence to explicitly set all colors it
      used).
    
    [1531]: https://codeberg.org/dnkl/foot/issues/1531
    [1573]: https://codeberg.org/dnkl/foot/issues/1573
    [1568]: https://codeberg.org/dnkl/foot/issues/1568
    [1552]: https://codeberg.org/dnkl/foot/issues/1552
    [1610]: https://codeberg.org/dnkl/foot/issues/1610
    [1624]: https://codeberg.org/dnkl/foot/issues/1624
    
    * Alyssa Ross
    * Andrew J. Hesford
    * Artturin
    * Craig Barnes
    * delthas
    * eugenrh
    * Fazzi
    * Gregory Anders
    * Jan Palus
    * Leonardo Hernández Hernández
    * LmbMaxim
    * Matheus Afonso Martins Moreira
    * Sivecano
    * Tim Culverhouse
    * xnuk
    
  • 1.16.2
    Release 1.16.2
    
    Fixed
    -----
    
    * 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][1520]).
    
    [1520]: https://codeberg.org/dnkl/foot/issues/1520
  • 1.16.1
    Release 1.16.1
    
    Fixed
    -----
    
    * Foot not starting on linux kernels before 6.3 ([#1514][1514]).
    * Cells underneath erased sixels not being repainted ([#1515][1515]).
    
    [1514]: https://codeberg.org/dnkl/foot/issues/1514
    [1515]: https://codeberg.org/dnkl/foot/issues/1515
    
  • 1.16.0
    Release 1.16.0
    
    Added
    -----
    
    * Support for building with _wayland-protocols_ as a subproject.
    * Mouse wheel scrolls can now be used in `mouse-bindings`
      ([#1077](1077)).
    * New mouse bindings: `scrollback-up-mouse` and
      `scrollback-down-mouse`, bound to `BTN_BACK` and `BTN_FORWARD`
      respectively.
    * New key binding: `select-quote`. This key binding selects text
      between quote characters, and falls back to selecting the entire
      row ([#1364][1364]).
    * Support for DECSET/DECRST/DECRQM 2027 (_Grapheme cluster
      processing_).
    * New **search mode** key bindings (along with their defaults)
      ([#419][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][1337]).
    
    [1077]: https://codeberg.org/dnkl/foot/issues/1077
    [1364]: https://codeberg.org/dnkl/foot/issues/1364
    [419]: https://codeberg.org/dnkl/foot/issues/419
    [1337]: https://codeberg.org/dnkl/foot/issues/1337
    
    Changed
    -------
    
    * Minimum required version of _wayland-protocols_ is now 1.32
      ([#1391][1391]).
    * `foot-server.service` systemd now checks for
      `ConditionEnvironment=WAYLAND_DISPLAY` for consistency with the
      socket unit ([#1448][1448])
    * Default key binding for `select-row` is now `BTN_LEFT+4`. However,
      in many cases, triple clicking will still be enough to select the
      entire row; see the new key binding `select-quote` (mapped to
      `BTN_LEFT+3` by default) ([#1364][1364]).
    * `file://` prefix from URI's are no longer stripped when
      opened/activated ([#1474][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][1495]).
    * Wayland surface damage is now more fine-grained. This should result
      in lower latencies in many use cases, especially on high DPI
      monitors.
    
    [1391]: https://codeberg.org/dnkl/foot/issues/1391
    [1448]: https://codeberg.org/dnkl/foot/pulls/1448
    [1474]: https://codeberg.org/dnkl/foot/pulls/1474
    [1495]: https://codeberg.org/dnkl/foot/pulls/1495
    
    Removed
    -------
    
    * `utempter` config option (was deprecated in 1.15.0).
    
    * Race condition for systemd units start in GNOME and KDE
      ([#1436][1436]).
    * One frame being rendered at the wrong scale after being hidden by
      another opaque, maximized window ([#1464][1464]).
    * Double-width characters, and grapheme clusters breaking URL
      auto-detection ([#1465][1465]).
    * Crash when `XDG_ACTIVATION_TOKEN` is set, but compositor does not
      support XDG activation ([#1493][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][1498]).
    * Transparency in margins (padding) not being disabled in fullscreen
      mode ([#1503][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][1511]).
    
    [1436]: https://codeberg.org/dnkl/foot/issues/1436
    [1464]: https://codeberg.org/dnkl/foot/issues/1464
    [1465]: https://codeberg.org/dnkl/foot/issues/1465
    [1493]: https://codeberg.org/dnkl/foot/pulls/1493
    [1498]: https://codeberg.org/dnkl/foot/issues/1498
    [1503]: https://codeberg.org/dnkl/foot/issues/1503
    [1511]: https://codeberg.org/dnkl/foot/issues/1511
    
    Contributors
    ------------
    
    * 6t8k
    * Alyssa Ross
    * CismonX
    * Max Gautier
    * raggedmyth
    * Raimund Sacherer
    * Sertonix
    
  • 1.15.3
    Release 1.15.3
    
    Fixed
    -----
    
    * `-f,--font` command line option not affecting `csd.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][1430]).
    
  • 1.15.2
    Release 1.15.2
    
    Added
    -----
    
    * `[tweak].bold-text-in-bright-amount` option ([#1434][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`).
    
    [1434]: https://codeberg.org/dnkl/foot/issues/1434
    
    Fixed
    -----
    
    * Crash when copying text that contains invalid UTF-8 ([#1423][1423]).
    * Wrong font size after suspending the monitor ([#1431][1431]).
    * Vertical alignment in URL jump labels, and the scrollback position
      indicator ([#1430][1430]).
    * Regression: line- and box drawing characters not covering the full
      height of the line, when a custom `line-height` is being used
      ([#1430][1430]).
    * Crash when compositor does not implement the _viewporter_ interface
      ([#1444][1444]).
    * CSD rendering with fractional scaling ([#1441][1441]).
    * Regression: crash with certain combinations of
      `--window-size-chars=NxM` and desktop scaling factors
      ([#1446][1446]).
    
    [1423]: https://codeberg.org/dnkl/foot/issues/1423
    [1431]: https://codeberg.org/dnkl/foot/issues/1431
    [1430]: https://codeberg.org/dnkl/foot/issues/1430
    [1444]: https://codeberg.org/dnkl/foot/issues/1444
    [1441]: https://codeberg.org/dnkl/foot/issues/1441
    [1446]: https://codeberg.org/dnkl/foot/issues/1446
    
  • 1.15.1
    Release 1.15.1
    
    Changed
    -------
    
    * 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][starlight-v4]
    * Background transparency (alpha) is now disabled in fullscreened
      windows ([#1416][1416]).
    * Foot server systemd units now use the standard
      graphical-session.target ([#1281][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][1281]).
    * Font baseline calculation: try to center the text within the line,
      instead of anchoring it at the top ([#1302][1302]).
    
    [starlight-v4]: https://github.com/CosmicToast/starlight/blob/v4/CHANGELOG.md#v4
    [1416]: https://codeberg.org/dnkl/foot/issues/1416
    [1281]: https://codeberg.org/dnkl/foot/pulls/1281
    [1302]: https://codeberg.org/dnkl/foot/issues/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 on `fractional-scale-v1` capable
      compositors (and when a fractional scaling factor is being used)
      ([#1404][1404]).
    * Initial font size being wrong on `fractional-scale-v1` capable
      compositors, with multiple monitors with different scaling factors
      connected ([#1404][1404]).
    * Crash when _pointer capability_ is removed from a seat, on
      compositors without `cursor-shape-v1 support` ([#1411][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.
    
    [1404]: https://codeberg.org/dnkl/foot/issues/1404
    [1411]: https://codeberg.org/dnkl/foot/pulls/1411
    
    Contributors
    ------------
    
    * Ayush Agarwal
    * CismonX
    * Max Gautier
    * Ronan Pigott
    * xdavidwu
    
  • 1.15.0
    Release 1.15.0
    
    Added
    -----
    
    * VT: implemented `XTQMODKEYS` query (`CSI ? Pp m`).
    * Meson option `utmp-backend=none|libutempter|ulog|auto`. The default
      is `auto`, which will select `libutempter` on Linux, `ulog` on
      FreeBSD, and `none` 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][1379]).
    * Support for touchscreen input ([#517][517]).
    * `csd.double-click-to-maximize` option to `foot.ini`. Defaults to
      `yes` ([#1293][1293]).
    
    [1379]: https://codeberg.org/dnkl/foot/issues/1379
    [517]: https://codeberg.org/dnkl/foot/issues/517
    [1293]: https://codeberg.org/dnkl/foot/issues/1293
    
    Changed
    -------
    
    * Default color theme is now
      [starlight](https://github.com/CosmicToast/starlight)
      ([#1321][1321]).
    * Minimum required meson version is now 0.59 ([#1371][1371]).
    * `Control+Shift+u` is now bound to `unicode-input` instead of
      `show-urls-launch`, to follow the convention established in GTK and
      Qt ([#1183][1183]).
    * `show-urls-launch` now bound to `Control+Shift+o` ([#1183][1183]).
    * Kitty keyboard protocol: F3 is now encoded as `CSI 13~` instead of
      `CSI R`. The kitty keyboard protocol originally allowed F3 to be
      encoded as `CSI R`, but this was removed from the specification
      since `CSI 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 to
      `utmp-default-helper-path`.
    * Opaque sixels now retain the background opacity (when current
      background color is the **default** background color)
      ([#1360][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][1383]).
    * `dpi-aware` now defaults to `no`, and the `auto` value has been
      removed.
    * When using custom cursor colors (`cursor.color` is set in
      `foot.ini`), the cursor is no longer inverted when the cell is
      selected, or when the cell has the `reverse` (SGR 7) attribute set
      ([#1347][1347]).
    
    [1321]: https://codeberg.org/dnkl/foot/issues/1321
    [1371]: https://codeberg.org/dnkl/foot/pulls/1371
    [1183]: https://codeberg.org/dnkl/foot/issues/1183
    [1360]: https://codeberg.org/dnkl/foot/issues/1360
    [1383]: https://codeberg.org/dnkl/foot/issues/1383
    [1347]: https://codeberg.org/dnkl/foot/issues/1347
    
    Deprecated
    ----------
    
    * `[main].utempter` option.
    
    Removed
    -------
    
    * `auto` value for the `dpi-aware` option.
    
    Fixed
    -----
    
    * Incorrect icon in dock and window switcher on Gnome ([#1317][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][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][1377]).
    * Crash when scrolling up while running something that generates a lot
      of output (for example, `yes`) ([#1380][1380]).
    * Default key binding for URL mode conflicting with Unicode input on
      some DEs; `show-urls-launched` is now mapped to `Control+Shift+o` by
      default, instead of `Control+Shift+u` ([#1183][1183]).
    
    [1317]: https://codeberg.org/dnkl/foot/issues/1317
    [1355]: https://codeberg.org/dnkl/foot/issues/1355
    [1377]: https://codeberg.org/dnkl/foot/issues/1377
    [1380]: https://codeberg.org/dnkl/foot/issues/1380
    
    Contributors
    ------------
    
    * Antoine Beaupré
    * CismonX
    * Craig Barnes
    * Dan Bungert
    * jdevdevdev
    * Kyle Gunger
    * locture
    * Phillip Susi
    * sewn
    * ShugarSkull
    * Vivian Szczepanski
    * Vladimir Bauer
    * wout
    * CosmicToast
  • 1.14.0
    Release 1.14.0
    
    Added
    -----
    
    * Support for adjusting the thickness of regular underlines ([#1136][1136]).
    * Support (optional) for utmp logging with libutempter.
    * `kxIN` and `kxOUT` (focus in/out events) to terminfo.
    * `name` capability to `XTGETTCAP`.
    * 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][1225]).
    * `font-size-adjustment=N[px]` option, letting you configure how much
      to increment/decrement the font size when zooming in or out
      ([#1188][1188]).
    * Bracketed paste terminfo entries (`BD`, `BE`, `PE` and `PS`, 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.
    
    [1136]: https://codeberg.org/dnkl/foot/issues/1136
    [1225]: https://codeberg.org/dnkl/foot/issues/1225
    [1188]: https://codeberg.org/dnkl/foot/issues/1188
    
    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][1166]).
    * `DECRPM` replies (to `DECRQM` queries) now report a value of `4`
      ("permanently reset") instead of `2` ("reset") for DEC private
      modes that are known but unsupported.
    * Set `PWD` environment variable in the slave process ([#1179][1179]).
    * DPI is now forced to 96 when found to be unreasonably high.
    * Set default log level to warning ([#1215][1215]).
    * Default `grapheme-width-method` from `wcswidth` to `double-width`.
    * When determining initial font size, do FontConfig config
      substitution if the user-provided font pattern has no {pixel}size
      option ([#1287][1287]).
    * DECRST of DECCOLM and DECSCLM removed from terminfo.
    
    [1166]: https://codeberg.org/dnkl/foot/issues/1166
    [1179]: https://codeberg.org/dnkl/foot/issues/1179
    [1215]: https://codeberg.org/dnkl/foot/pulls/1215
    [1287]: https://codeberg.org/dnkl/foot/issues/1287
    
    Fixed
    -----
    
    * Crash in `foot --server` on key press, after another `footclient`
      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][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][1190]).
    * Background transparency being applied to the text "behind" the
      cursor. Only applies to block cursor using inversed fg/bg
      colors. ([#1205][1205]).
    * Crash when monitor’s physical size is "too small" ([#1209][1209]).
    * Line-height adjustment when incrementing/decrementing the font size
      with a user-set line-height ([#1218][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` and `DL`.
    * 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][1259]).
    * Double-width glyphs glitching when surrounded by glyphs overflowing
      into the double-width glyph ([#1256][1256]).
    * Wayland protocol violation when ack:ing a configure event for an
      unmapped surface ([#1249][1249]).
    * `xdg_toplevel::set_min_size()` not being called.
    * Key bindings with consumed modifiers masking other key bindings
      ([#1280][1280]).
    * Multi-character compose sequences with the kitty keyboard protocol
      ([#1288][1288]).
    * Crash when application output scrolls very fast, e.g. `yes`
      ([#1305][1305]).
    * Crash when application scrolls **many** lines (> ~2³¹).
    * DECCOLM erasing the screen ([#1265][1265]).
    
    [1173]: https://codeberg.org/dnkl/foot/issues/1173
    [1190]: https://codeberg.org/dnkl/foot/issues/1190
    [1205]: https://codeberg.org/dnkl/foot/issues/1205
    [1209]: https://codeberg.org/dnkl/foot/issues/1209
    [1218]: https://codeberg.org/dnkl/foot/issues/1218
    [1259]: https://codeberg.org/dnkl/foot/issues/1259
    [1256]: https://codeberg.org/dnkl/foot/issues/1256
    [1249]: https://codeberg.org/dnkl/foot/issues/1249
    [1280]: https://codeberg.org/dnkl/foot/issues/1280
    [1288]: https://codeberg.org/dnkl/foot/issues/1288
    [1305]: https://codeberg.org/dnkl/foot/issues/1305
    [1265]: https://codeberg.org/dnkl/foot/issues/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
  • 1.13.1
    Release 1.13.1
    
    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][1074])
    * OSC-8 URLs with matching IDs, but mismatching URIs being incorrectly
      connected.
    
    [1074]: https://codeberg.org/dnkl/foot/pulls/1074
  • 1.13.0
    Release 1.13.0
    
    Added
    -----
    
    * XDG activation support when opening URLs ([#1058][1058]).
    * `-Dsystemd-units-dir=<path>` meson command line option.
    * Support for custom environment variables in `foot.ini`
      ([#1070][1070]).
    * Support for jumping to previous/next prompt (requires shell
      integration). By default bound to `ctrl`+`shift`+`z` and
      `ctrl`+`shift`+`x` respectively ([#30][30]).
    * `colors.search-box-no-match` and `colors.search-box-match` options
      to `foot.ini` ([#1112][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][1116]).
    * Support for `xdg_toplevel.wm_capabilities`, to adapt the client-side
      decoration buttons to the compositor capabilities ([#1061][1061]).
    
    [1058]: https://codeberg.org/dnkl/foot/issues/1058
    [1070]: https://codeberg.org/dnkl/foot/issues/1070
    [30]: https://codeberg.org/dnkl/foot/issues/30
    [1112]: https://codeberg.org/dnkl/foot/issues/1112
    [1116]: https://codeberg.org/dnkl/foot/issues/1116
    [1061]: https://codeberg.org/dnkl/foot/pulls/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][1084]).
    * NUL is now stripped when pasting in non-bracketed mode
      ([#1084][1084]).
    * `alt`+`escape` now emits `\E\E` instead of a `CSI 27` sequence
      ([#1105][1105]).
    
    [1084]: https://codeberg.org/dnkl/foot/issues/1084
    [1105]: https://codeberg.org/dnkl/foot/issues/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][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][1092]).
    * Keyboard enter/leave events being ignored if there is no keymap
      ([#1097][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][1111]).
    * Certain dead-key combinations resulting in different escape
      sequences compared to kitty, when the kitty keyboard protocol is
      used ([#1120][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][1114]).
    * Bogus error message when using systemd socket activation for server
      mode ([#1107][1107])
    * Empty line at the bottom after a window resize ([#1108][1108]).
    
    [1055]: https://codeberg.org/dnkl/foot/issues/1055
    [1092]: https://codeberg.org/dnkl/foot/issues/1092
    [1097]: https://codeberg.org/dnkl/foot/issues/1097
    [1111]: https://codeberg.org/dnkl/foot/issues/1111
    [1120]: https://codeberg.org/dnkl/foot/issues/1120
    [1114]: https://codeberg.org/dnkl/foot/issues/1114
    [1107]: https://codeberg.org/dnkl/foot/issues/1107
    [1108]: https://codeberg.org/dnkl/foot/issues/1108
    
    Contributors
    ------------
    
    * Craig Barnes
    * Lorenz
    * Max Gautier
    * Simon Ser
    * Stefan Prosiegel
  • 1.12.1
    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.0
    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.0
    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.3
    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.