-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
The new key-binding system mentioned in the previous entry is finally
here! After years of work, done primarily by Dennis van der Schagt, we
now have a `bind` command that:
* can create multi-key bindings, i.e. one can bind not just single
letters (with Control or Shift), but also sequences of letters (each
with their own modifiers);
* allows each binding to execute multiple actions, just like our
existing `macro` command. Unlike macros, `bind` doesn't require
a "macro prefix", so one can finally bind a sequence of operations to
a _single_ key;
* allows adding documentation strings to each binding, which are then
shown in the help dialog. This again is an improvement upon macros,
which had no descriptions and didn't have a way for the user to
provide their own;
* adds alternative syntax for keys. Instead of the usual ^R syntax, one
can now use <C-r> a la Tmux or Emacs. Hopefully this makes multi-key
bindings easier to read.
The feature is very new, and probably contains bugs. Please report them!
In fact, it's so new that we didn't have time to finish the
corresponding `unbind` command LOL. However, since Newsboat doesn't have
any multi-key bindings by default, `unbind` was deemed to not be
a release blocker.
The new feature also has a limitation in that multi-key bindings that
have the same prefix must have the same length. In other words, it's
fine to have `abc` and `abx` bound simultaneously, but it's not possible
to bind both `ab` and `abc` at the same time. This is to avoid an
ambiguity when the prefix is typed; in that case Newsboat would have to
decide somehow if the next key is going to be c.
We are all very proud of this feature, and eagerly awaiting your
feedback! Please try it, and open an issue if something doesn't work or
could be improved.
One more thing: we now require a compiler that accepts
`-std=c++17` flag. In other words, we dropped Clang 4 support. This is
due to libicu 75 requiring C++17; we depend on this library via libxml2,
and the requirement bleeds through to us because we're indirectly
including some of libicu header files.
Compilers without C++17 support are now considered deprecated. Future
Newsboat releases will probably use some of C++17 features, at which
point we'll drop support. If that's going to create problems for you,
please file an issue.
Links:
*
https://newsboat.org/releases/2.39/newsboat-2.39.tar.xz
*
https://newsboat.org/releases/2.39/newsboat-2.39.tar.xz.asc
*
https://newsboat.org/releases/2.39/docs/newsboat.html
*
https://newsboat.org/releases/2.39/docs/faq.html
*
https://github.com/newsboat/newsboat/blob/master/CHANGELOG.md#239---2025-03-23
- - --
Regards,
Alexander Batischev
PGP key 356961A20C8BFD03
Fingerprint: CE6C 4307 9348 58E3 FD94 A00F 3569 61A2 0C8B FD03
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEzmxDB5NIWOP9lKAPNWlhogyL/QMFAmfgbc0ACgkQNWlhogyL
/QN/fBAAs7PbLOR3dHZm9CVrbgoX98Qq3+JqvzIwsYj/FBzvGRQNOYr37hPHY5KX
1FCoEh8Fm8rRvCbnsoH9LGkWXjIKrAlLVpkMWqp9wJAAJuJ1Zzrq5Lzm4v1z3Zc+
zuqC53A6sZR9nwR635cxFQxiplo5ZAxgUrXUirLRsnaVOPgjyVo/Lt0n+7AXhTzF
Ht/FIp2swvKF0zZs5GB+cGhGkaKOHCEwJaFrP+J1vmEZZlDvW0ZKRaVoEIDtHWCT
ehGYHRjHd3+C/ciVxWg0BAF/aa5ZB4BQPdhGcF3pGA/8Lb+fp9Filz/hRBnZ/bHG
ZghNNjLmyLzOa+nbasEe79AeWrc2BaEmu/2q73xceAMBmEBECq/3sjSO3mwei4VS
oggTPQNu1mXbEpUQDBbkIWxiUHx5r6NAL/sg5c1J0iQe2qUJ6sgIzhEP+suayjuc
UWYUckGEy03Hs33UgXmOY0yFzf6j3LobD7x9R2wDYs7jj6y07AJgFsQ0HVNUqz1Z
IeBoDdwZmSnEpHveHQIPh7WMYOnfnGQjQI8Kwo/Xc4k+qJy2OI4FYkc77r3rzR5l
evIpm8XlOdqN9sVJfG74cj1q9HxkmQCv4uSnL6RNc8jN7xr+aCkIg7QXwR95Uv9b
+EfL7tnm2l1Mg1RFmdmIfLWTy2eHv2SmIfLRi9zOYFvOrJIKr4Y=
=SZE/
-----END PGP SIGNATURE-----