commit foot for openSUSE:Factory
Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package foot for openSUSE:Factory checked in at 2025-01-05 15:29:48 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/foot (Old) and /work/SRC/openSUSE:Factory/.foot.new.1881 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "foot" Sun Jan 5 15:29:48 2025 rev:38 rq:1234700 version:1.20.1 Changes: -------- --- /work/SRC/openSUSE:Factory/foot/foot.changes 2025-01-01 23:09:09.351535137 +0100 +++ /work/SRC/openSUSE:Factory/.foot.new.1881/foot.changes 2025-01-05 15:29:54.766446521 +0100 @@ -1,0 +2,11 @@ +Fri Jan 3 08:58:48 UTC 2025 - Arnav Singh <opensuse@arnavion.dev> + +- Update to v1.20.1: + * foot.ini options: + * colors.flash-alpha can no longer be set to 1.0 (fully opaque). + * App ID set using OSC 176 is now limited to 2048 characters. + * Fixed a crash from printing certain Unicode characters. + * Added new themes: iterm. + * See https://codeberg.org/dnkl/foot/releases/tag/1.20.1 for more details. + +------------------------------------------------------------------- Old: ---- foot-1.20.0.tar.gz foot-1.20.0.tar.gz.sig New: ---- foot-1.20.1.tar.gz foot-1.20.1.tar.gz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ foot.spec ++++++ --- /var/tmp/diff_new_pack.eM8wGd/_old 2025-01-05 15:29:55.290468074 +0100 +++ /var/tmp/diff_new_pack.eM8wGd/_new 2025-01-05 15:29:55.290468074 +0100 @@ -20,7 +20,7 @@ %define _distconfdir %{_sysconfdir} %endif Name: foot -Version: 1.20.0 +Version: 1.20.1 Release: 0 Summary: A Wayland terminal emulator License: MIT ++++++ foot-1.20.0.tar.gz -> foot-1.20.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/foot-1.20.0/CHANGELOG.md new/foot-1.20.1/CHANGELOG.md --- old/foot-1.20.0/CHANGELOG.md 2025-01-01 09:21:51.000000000 +0100 +++ new/foot-1.20.1/CHANGELOG.md 2025-01-03 08:01:35.000000000 +0100 @@ -1,5 +1,6 @@ # Changelog +* [1.20.1](#1-20-1) * [1.20.0](#1-20-0) * [1.19.0](#1-19-0) * [1.18.1](#1-18-1) @@ -55,6 +56,27 @@ * [1.2.0](#1-2-0) +## 1.20.1 + +### Changed + +* Runtime changes to the app-id (OSC-176) now limits the app-id string + to 2048 characters ([#1897][1897]). +* `colors.flash-alpha` can no longer be set to 1.0 (i.e. fully + opaque). This fixes an issue where the window would be stuck in the + flash state. + +[1897]: https://codeberg.org/dnkl/foot/issues/1897 + + +### Fixed + +* Regression: trying to print a Unicode _"Legacy Computing symbol"_, + in the range U+1FB00 - U+1FB9B would crash foot ([#][]). + +[1901]: https://codeberg.org/dnkl/foot/issues/1901 + + ## 1.20.0 ### Added @@ -69,6 +91,8 @@ host clipboard access via the OSC-52 escape sequence ([#1867][1867]). +[1867]: https://codeberg.org/dnkl/foot/issues/1867 + ### Changed diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/foot-1.20.0/config.c new/foot-1.20.1/config.c --- old/foot-1.20.0/config.c 2025-01-01 09:21:51.000000000 +0100 +++ new/foot-1.20.1/config.c 2025-01-03 08:01:35.000000000 +0100 @@ -1445,8 +1445,8 @@ if (!value_to_float(ctx, &alpha)) return false; - if (alpha < 0. || alpha > 1.) { - LOG_CONTEXTUAL_ERR("not in range 0.0-1.0"); + if (alpha < 0. || alpha >= 1.) { + LOG_CONTEXTUAL_ERR("not in range 0.0-0.999"); return false; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/foot-1.20.0/meson.build new/foot-1.20.1/meson.build --- old/foot-1.20.0/meson.build 2025-01-01 09:21:51.000000000 +0100 +++ new/foot-1.20.1/meson.build 2025-01-03 08:01:35.000000000 +0100 @@ -1,5 +1,5 @@ project('foot', 'c', - version: '1.20.0', + version: '1.20.1', license: 'MIT', meson_version: '>=0.59.0', default_options: [ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/foot-1.20.0/notify.c new/foot-1.20.1/notify.c --- old/foot-1.20.0/notify.c 2025-01-01 09:21:51.000000000 +0100 +++ new/foot-1.20.1/notify.c 2025-01-03 08:01:35.000000000 +0100 @@ -10,7 +10,7 @@ #include <fcntl.h> #define LOG_MODULE "notify" -#define LOG_ENABLE_DBG 1 +#define LOG_ENABLE_DBG 0 #include "log.h" #include "config.h" #include "spawn.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/foot-1.20.0/osc.c new/foot-1.20.1/osc.c --- old/foot-1.20.0/osc.c 2025-01-01 09:21:51.000000000 +0100 +++ new/foot-1.20.1/osc.c 2025-01-03 08:01:35.000000000 +0100 @@ -8,7 +8,7 @@ #include <sys/epoll.h> #define LOG_MODULE "osc" -#define LOG_ENABLE_DBG 1 +#define LOG_ENABLE_DBG 0 #include "log.h" #include "base64.h" #include "config.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/foot-1.20.0/render.c new/foot-1.20.1/render.c --- old/foot-1.20.0/render.c 2025-01-01 09:21:51.000000000 +0100 +++ new/foot-1.20.1/render.c 2025-01-03 08:01:35.000000000 +0100 @@ -817,14 +817,14 @@ size_t count; size_t idx; - if (base >= GLYPH_OCTANTS_FIRST) { - arr = &term->custom_glyphs.octants; - count = GLYPH_OCTANTS_COUNT; - idx = base - GLYPH_OCTANTS_FIRST; - } else if (base >= GLYPH_LEGACY_FIRST) { + if (base >= GLYPH_LEGACY_FIRST) { arr = &term->custom_glyphs.legacy; count = GLYPH_LEGACY_COUNT; idx = base - GLYPH_LEGACY_FIRST; + } else if (base >= GLYPH_OCTANTS_FIRST) { + arr = &term->custom_glyphs.octants; + count = GLYPH_OCTANTS_COUNT; + idx = base - GLYPH_OCTANTS_FIRST; } else if (base >= GLYPH_BRAILLE_FIRST) { arr = &term->custom_glyphs.braille; count = GLYPH_BRAILLE_COUNT; @@ -1898,6 +1898,27 @@ break; case OVERLAY_FLASH: + /* + * A compositor will not send a frame callback for our main + * window if it is fully occluded (for example, by a fully + * opaque overlay...). This causes the overlay to stuck. + * + * For regular buffers, it _should_ be enough to *not* hint + * the compositor it's opaque. But at least some compositor + * special cases single-pixel buffers, and actually look at + * their pixel value. + * + * Thus, we have two options: implement frame callback + * handling for the overlay sub-surface, or ensure we don't + * use a fully opaque surface. Since no overlays are fully + * opaque by default, and the flash surface is the only one + * that can be configured to be opaque (colors.flash-alpha), + * and since adding frame callback handling adds a lot of + * boilerplate code... let's go with the simpler solution of + * not allowing colors.flash-alpha to be 1.0. + */ + xassert(term->conf->colors.flash_alpha != 0xffff); + color = color_hex_to_pixman_with_alpha( term->conf->colors.flash, term->conf->colors.flash_alpha); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/foot-1.20.0/terminal.c new/foot-1.20.1/terminal.c --- old/foot-1.20.0/terminal.c 2025-01-01 09:21:51.000000000 +0100 +++ new/foot-1.20.1/terminal.c 2025-01-03 08:01:35.000000000 +0100 @@ -3588,8 +3588,10 @@ { if (app_id != NULL && *app_id == '\0') app_id = NULL; + if (term->app_id == NULL && app_id == NULL) return; + if (term->app_id != NULL && app_id != NULL && streq(term->app_id, app_id)) return; @@ -3604,6 +3606,19 @@ } else { term->app_id = NULL; } + + const size_t length = strlen(app_id); + if (length > 2048) { + /* + * Not sure if there's a limit in the protocol, or the + * libwayland implementation, or e.g. wlroots, but too long + * app-id's (not e.g. title) causes at least river and sway to + * peg the CPU at 100%, and stop sending e.g. frame callbacks. + * + */ + term->app_id[2048] = '\0'; + } + render_refresh_app_id(term); render_refresh_icon(term); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/foot-1.20.0/terminal.h new/foot-1.20.1/terminal.h --- old/foot-1.20.0/terminal.h 2025-01-01 09:21:51.000000000 +0100 +++ new/foot-1.20.1/terminal.h 2025-01-03 08:01:35.000000000 +0100 @@ -482,8 +482,8 @@ struct { struct fcft_glyph **box_drawing; struct fcft_glyph **braille; - struct fcft_glyph **legacy; struct fcft_glyph **octants; + struct fcft_glyph **legacy; #define GLYPH_BOX_DRAWING_FIRST 0x2500 #define GLYPH_BOX_DRAWING_LAST 0x259F @@ -495,15 +495,15 @@ #define GLYPH_BRAILLE_COUNT \ (GLYPH_BRAILLE_LAST - GLYPH_BRAILLE_FIRST + 1) - #define GLYPH_LEGACY_FIRST 0x1FB00 - #define GLYPH_LEGACY_LAST 0x1FB9B - #define GLYPH_LEGACY_COUNT \ - (GLYPH_LEGACY_LAST - GLYPH_LEGACY_FIRST + 1) - #define GLYPH_OCTANTS_FIRST 0x1CD00 #define GLYPH_OCTANTS_LAST 0x1CDE5 #define GLYPH_OCTANTS_COUNT \ (GLYPH_OCTANTS_LAST - GLYPH_OCTANTS_FIRST + 1) + + #define GLYPH_LEGACY_FIRST 0x1FB00 + #define GLYPH_LEGACY_LAST 0x1FB9B + #define GLYPH_LEGACY_COUNT \ + (GLYPH_LEGACY_LAST - GLYPH_LEGACY_FIRST + 1) } custom_glyphs; bool is_sending_paste_data; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/foot-1.20.0/themes/iterm new/foot-1.20.1/themes/iterm --- old/foot-1.20.0/themes/iterm 1970-01-01 01:00:00.000000000 +0100 +++ new/foot-1.20.1/themes/iterm 2025-01-03 08:01:35.000000000 +0100 @@ -0,0 +1,27 @@ +# -*- conf -*- +# this foot theme is based on alacritty iterm theme: +# https://github.com/alacritty/alacritty-theme/blob/master/themes/iterm.toml + +[colors] +foreground=fffbf6 +background=101421 + +## Normal/regular colors (color palette 0-7) +regular0=2e2e2e # black +regular1=eb4129 # red +regular2=abe047 # green +regular3=f6c744 # yellow +regular4=47a0f3 # blue +regular5=7b5cb0 # magenta +regular6=64dbed # cyan +regular7=e5e9f0 # white + +## Bright colors (color palette 8-15) +bright0=565656 # bright black +bright1=ec5357 # bright red +bright2=c0e17d # bright green +bright3=f9da6a # bright yellow +bright4=49a4f8 # bright blue +bright5=a47de9 # bright magenta +bright6=99faf2 # bright cyan +bright7=ffffff # bright white
participants (1)
-
Source-Sync