Accepting request 1183502 from home:bverhagen:zutty

Version update to 0.16

OBS-URL: https://build.opensuse.org/request/show/1183502
OBS-URL: https://build.opensuse.org/package/show/X11:terminals/zutty?expand=0&rev=11
This commit is contained in:
Bart Verhagen 2024-07-03 12:32:00 +00:00 committed by Git OBS Bridge
commit 48100e372a
7 changed files with 399 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

238
FAQ.md Normal file
View File

@ -0,0 +1,238 @@
[![Zutty icon](https://raw.githubusercontent.com/tomscii/zutty/master/icons/zutty_32x32.png)](https://raw.githubusercontent.com/tomscii/zutty/master/icons/zutty_128x128.png)
What you never thought you'd need to know about Zutty
### Q: What operating systems does Zutty run on?
**A**: Zutty is primarily developed and extensively tested on Linux,
and (to a lesser extent) on OpenBSD.
Zutty is portable: provided that necessary prerequisites are present,
it builds from source and runs without the need for any code fixes or
configuration changes on default installs of recent stable versions
of FreeBSD and OpenBSD.
Zutty will probably work on other UNIX-like systems as well; making
the necessary (small) adjustments is left as an exercise to interested
users. If you have a patch to make Zutty run somewhere not listed
above, I want to hear from you!
If you use Windows or MacOS, I'm afraid Zutty is not going to be
useful for you. I have no interest to work on making Zutty available
on closed source, proprietary operating systems.
### Q: I compiled Zutty successfully but the program cannot start, why is that?
I am getting an error like this:
E [charvdev.cc:181] Error: Compiling fragment shader:
0:1(10): error: GLSL ES 3.10 is not supported. Supported versions are: 1.00 ES, and 3.00 ES
**A**: Your graphics hardware or driver is not sufficient, you need
support for GLSL ES 3.1 or better.
The actual support level of the OpenGL (ES) implementation is only
detectable at runtime, i.e., having the right EGL and GLES libraries
to compile with (which is what the configure script is able to check)
does not guarantee that the OpenGL implementation supports the
required level at runtime. Note that compiling and running a dedicated
test program as part of the configure phase would not solve this: the
Zutty binary can be packaged, distributed and run on other machines
with different graphics hardware (or the hardware of the same machine
could be changed).
You could buy hardware that has sufficient support; the SBC on which I
primarily run Zutty set me back the equivalent of about $50.
Alternatively, see the next question.
### Q: Can I use Zutty without supported graphics hardware?
**A**: Yes. If you can tolerate higher resource usage (primarily CPU
usage), you could try the `llvmpipe` software renderer. Note that you
need a sufficiently recent version that includes support for compute
shaders. Mesa 20.2.6 (present in Debian Bullseye) is ok. Please note
that using Zutty with such a setup is experimental and be prepared for
subpar performance.
### Q: Font XYZ does not load in Zutty or looks crappy, what should I do?
**A**: As a preliminary note: Zutty does work perfectly fine with a
wide range of fonts, both fixed and scalable, loadable from several
font file formats (see
[Screenshots](https://github.com/tomscii/zutty/wiki/Screenshots)). However,
fonts are a highly diverse bunch, so this does not mean that any
random font you found on the 'net will magically work! I personally
have all the fonts I could ever want, so if you insist on using a font
that does not work with Zutty out of the box, *it is on you to do the
extra work to make that happen*. Please keep this in mind.
Now to the specifics. If you get an error message like this:
E [fontpack.cc:218] Error: No Regular variant of the requested font 'Cozette' could be identified.
In that case, Zutty is telling you that the [font file selection
process](https://tomscii.sig7.se/zutty/doc/USAGE.html#Font%20selection)
did not succeed in identifying a suitable font file. Please carefully
read and understand the
[documentation](https://tomscii.sig7.se/zutty/doc/USAGE.html#Making%20fonts%20discoverable)
on how you might make it work.
In case of certain filename endings (extensions) not recognized by
Zutty, you might have to add them to the filter in `src/fontpack.cc`
(search for `.pcf.gz` in `fontFileFilter`) and recompile. Then get
ready to debug all sorts of weird issues related to this new format.
You are on your own.
On the other hand, Zutty might have started up, having found suitably
named font files, but you feel that the font rendering is off, for
example all letters are "stuck to the ceiling" or overly wide, have
wide gaps in between, or rendered with some such distortion. It is up
to you to debug why it does not work like all the fonts that do. You
have the source code of Zutty and all dependencies, so *please do not
expect me to do it for you!*
If you don't have the time to do that, don't know C++, don't know how
to debug, or have any other lame excuse, please do yourself a favour
and use some of the well documented font alternatives [known to
work](https://tomscii.sig7.se/zutty/doc/USAGE.html#Recommended%20fonts)
with Zutty.
*Do not submit bug reports* in the Zutty issue tracker unless you have
a well understood font loading or rendering issue due to an actual,
demonstrable bug in Zutty. Tickets amounting to "Font XYZ does not
work" will be closed with a reference to this FAQ item.
### Q: What about Wayland?
**A**: Zutty has been written (in the year 2020) against plain Xlib.
Yeah, *I know*. That said, according to user reports, Zutty works fine
with XWayland, so just install `xorg-xwayland` (if you haven't
already) and you should be good to go!
### Q: Why would I try (or care about) Zutty? There are lots of terminal emulators, how is Zutty better than others?
**A**: Zutty is not necessarily better than any other program. I do
not have "world domination" on my TODO list, so you are free to ignore
Zutty and use another program.
That said, I believe Zutty has a number of interesting properties. It
is a terminal with accurate VT support, high performance, low latency,
a small codebase and is potentially compatible with a wide array of
contemporary graphics hardware. This combination is, as far as I am
aware, a unique proposition. You might be interested in my articles
that add substance to these claims,
[here](https://tomscii.sig7.se/2020/12/A-totally-biased-comparison-of-Zutty)
and
[here](https://tomscii.sig7.se/2021/01/Typing-latency-of-Zutty).
### Q: Why would I *not* want to use Zutty?
**A**: Lots of reasons! If you want any of these, Zutty is not for
you, and will probably remain so in the future:
- availability on MacOS or Windows
- transparent backgrounds
- scrollbar, menu bar, interactive configuration, etc.
- ligatures
- right-to-left text
- curvy underlines and similar fancy markup
- bitmap images (SIXEL, ReGIS, ...)
- overriding certain symbols / picking and mixing from different fonts
On the other hand, certain features are missing, but only due to the
very limited time I can spend working on Zutty. For details, see the
[README](https://tomscii.sig7.se/zutty/README.html#Omissions%20and%20limitations).
### Q: Can I subscribe to announcements of new versions? Is there a mailing list?
**A**: There is no mailing list, but you can keep track of changes to
Zutty by subscribing to one of the Atom feeds provided by GitHub.
Here's one for
[releases](https://github.com/tomscii/zutty/releases.atom) and
another for
[commits](https://github.com/tomscii/zutty/commits/master.atom),
depending on your level of interest.
### Q: I don't have a GitHub account, can I collaborate with you on Zutty?
**A**: You are free to send me bug reports, patches, or just general
correspondence via e-mail (but please see the next few questions to
set your expectations). Please use my email address in the latest
published commit. I am perfectly fine with this more traditional kind
of open-source collaboration, which used to be the standard before
GitHub (and similar sites) got popular.
### Q: Can I donate / sponsor / pay you to support the development of Zutty? Can I incentivize work on certain bugs or features?
**A**: No, you cannot do that. This is by intention, to preserve my
intellectual freedom and independence, and to ensure that Zutty
remains what it is: a hobby project. I want to be able to say no to
(or ignore) any request, from any person -- having accepted payments
from someone would possibly make this awkward.
### Q: As a user, how can I help you with Zutty?
**A**: First of all, thank you for your interest in Zutty. If you run
into issues, or have ideas on how to meaningfully improve Zutty, you
are welcome to *collaborate* (investing a share of your own time and
mental resources, as opposed to just demanding a slice of mine) to
understand and solve the problem, or discuss a possible improvement.
When asking for an enhancement or new feature, please motivate why you
think it's important (for you, at least) and please cite prior art
(what other terminals are out there already supporting it? what do the
relevant standards say? etc).
I appreciate well thought-out, well written, clear feedback on what
could be better, as well as high quality bug reports, and I try hard
to respond to all such correspondence. Pro tip: I am not a robot. It
helps a lot if you contact me in a friendly way, with some basic
courtesy and respect.
### Q: As a developer, how can I help you with Zutty?
**A**: First of all, thank you for your interest in improving Zutty.
To be honest, I am not overly interested in receiving unsolicited
patches or pull requests, unless you have a clear fix to an actual
(demonstrable) bug. In general, if you have ideas for improvement,
try to convey them without coding them up -- try to put them into well
readable, concise English prose instead! If you found a bug, send me a
high quality report with all the necessary details (and your analysis,
if any) so I can easily reproduce and fix it. If you want to send a
patch with your proposed fix, that's fine, but absolutely not a
requirement!
If you do want to contribute code, make sure you have read the
[Contribution guide](https://tomscii.sig7.se/zutty/doc/HACKING.html#Contribution%20guide),
and please note that my standards for accepting code for inclusion are
*very* high. Your PR will be, in all likelihood, completely rewritten
or ignored.
### Q: How do I correctly pronounce Zutty? What does it mean?
**A**: The IPA notation is `[zuːc̟]`. I'm afraid you won't be able to
pronounce that, unless you happen to natively speak a
[language](https://en.wikipedia.org/wiki/Hungarian_phonology#Consonants)
featuring the
[voiceless palatal plosive](https://en.wikipedia.org/wiki/Voiceless_palatal_plosive).
If you decide to try, make sure to go for the alveolo-palatal variant.
Hint: Zutty does *not* rhyme with *kitty* (or how English-speaking
people commonly pronounce PuTTY).
The word *zutty* itself is an
[onomatopoetic](https://en.wikipedia.org/wiki/Onomatopoeia)
interjection in the Hungarian language, similar in its meaning to the
English *whoops* in referring to some sudden, quick action, but
lacking the element of (often negative) surprise. This fairly obscure
word is borrowed to stand for *zero-cost unicode teletype*.

3
zutty-0.16.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c794ba769f4bd973d0b836c7c138dd2f827ace8359f772d3a136eee671adaa40
size 361065

17
zutty-0.16.tar.gz.asc Normal file
View File

@ -0,0 +1,17 @@
Zutty 0.16
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEtxSivUbXxZ/Sqe0Kc6id0Tk1kS0FAmZi2SAACgkQc6id0Tk1
kS0HRRAAiVpaN45b+zbYmkPaDuws/9Nyl+NKM2xE+qOKpKCQNCAhEMSTkmTpwGQY
XW8a/3BGsBQcI1VD6DUrwkL5bRYeiYO4Bn04KWtcRtbBoSiic7Hc5/EyF4Nx8lG/
6zRd2xLsJutTJiMBmoBuYotv6I3JqKpHo75ibl90JNV5D5u8Zqdzb1CS0tdvRA+s
3UFfoVZpJV5ZM4NpGxsKQKip4tSxsPIcj/+Vxw6oJp+gpoUxMcwX13mtg0YjfvnP
afiksL+Na3dTZONZoKxeCHSrZH/Ot6/ssm5AfR+BBuOpVxlLWAyGEWhwtvFRYL+e
Y/TgvaYyoZix6fy+S8NA7mEAxU5bTw/+1WIUkehPmnP/ivdEEY/VysTWHTXbbwkZ
405sUxeRPeHkAQVCwz5Vr1Rd2oGGI72O220bgrdkD5th+X4lEHKX6PDhhBMyW//T
z5f7wQM/HaNB9J/2kQeJi/nqGvFHfMvhjgHR3khfJNpyLPB6yDtYrtx71A6cq+wl
AqZ2xmWr4q7FRmJHYNk6oTDVp61U/gDYH2bUeINYBfCZFkvyD0F9OiGyhhZAxINJ
xYrelymL3+/1AY2vbee7TNGf6D9TrJeR84opfqqddJ6nqyhG//MuV4YmRJz5wmtL
dxbddbSKgDp4uuR76OKlN7if1kmeV+Abx8v3vunwuwPyXj6OvY8=
=IPOB
-----END PGP SIGNATURE-----

52
zutty.changes Normal file
View File

@ -0,0 +1,52 @@
-------------------------------------------------------------------
Mon Jun 24 23:22:06 UTC 2024 - Bart Verhagen <bart@verhagenconsultancy.be> - 0.16
- Update to 0.16:
* Update documentation
* Add resource options bellIsAudible & bellIsUrgent)
* Use FreeType underline metrics when rendering a scaled font
* Some light GLSL refactoring
* Place shader code into separate source files
* GPU performance optimization: use RGBA8 format instead of RGBA32F
* Cut measured latency by zeroing the EGL swap interval
* Significantly improve/correct rasterization of scaled fonts
* Add XTQMODKEYS (partial, only for supporting modifyOtherKeys)
* Implement DECSCUSR (w/o blinking): block, bar & underline cursors)
* Repository migration
* Add NetBSD-specific font search path
* Fix regression in last commit
* Preserve RGB color across SGR attribute settings
* Remove deprecated key from desktop entry file
* Fix clearing glyph area before rendering overlay font glyph
-------------------------------------------------------------------
Mon Jan 29 13:47:31 UTC 2024 - Andrea Manzini <andrea.manzini@suse.com>
- Update to 0.15:
* Implement DECSCUSR (w/o blinking): block, bar & underline cursors
* Add XTQMODKEYS (partial, only for supporting modifyOtherKeys)
-------------------------------------------------------------------
Mon Mar 20 19:09:06 UTC 2023 - Avindra Goolcharan <avindra@opensuse.org>
- Update to 0.14:
* Update repo urls (846c013)
* Correct modifyOtherKeys=2 behaviour for certain Shift-modified keys (5331995)
* Upgrade WAF to version 2.0.25 (8db89ee)
* Add mouse protocol encoding for buttons 6-7 (wheel left/right) and 8-11 (310d913)
* Ignore several more esoteric keysyms (db2f40a)
* Ignore, but do not prematurely cancel sequence on bad parameter value (bc6e089)
- lint spec with spec-cleaner
-------------------------------------------------------------------
Sun Nov 6 09:45:57 UTC 2022 - Jan Engelhardt <jengelh@inai.de>
- Update description with the good and bad characteristics.
- Add FAQ document from the project wiki.
-------------------------------------------------------------------
Tue Oct 25 20:18:33 UTC 2022 - Bart Verhagen <barrie.verhagen@gmail.com> - 0.13
- Packaged zutty terminal emulator version 0.13
- Add support for openSUSE Tumbleweed
- Add support for openSUSE Leap 15.2 - 15.4

65
zutty.spec Normal file
View File

@ -0,0 +1,65 @@
#
# spec file for package zutty
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: zutty
Version: 0.16
Release: 0
Summary: Terminal program with GLES renderer and low latency
License: GPL-3.0-or-later
Group: System/X11/Terminals
URL: https://tomscii.sig7.se/zutty/
#Git-Clone: https://git.hq.sig7.se/zutty.git
# from https://git.hq.sig7.se/zutty.git/snapshot/0.16.tar.gz
Source: zutty-0.16.tar.gz
Source1: zutty-0.16.tar.gz.asc
Source3: FAQ.md
# Note: Tumbleweed contains waf, but Leap does not (yet), so we use python3 and add waf to the sources.
BuildRequires: Mesa-libEGL-devel
BuildRequires: Mesa-libGLESv3-devel
BuildRequires: freetype2-devel
BuildRequires: gcc-c++
BuildRequires: libXmu-devel
BuildRequires: pkgconfig
BuildRequires: python3
%description
An X terminal emulator rendering through OpenGL ES shaders.
It has good input latency and VTxxx emulation over most other
terminals, ranging second after xterm (as of 2022).
It uses FreeType, but does not support fontconfig, thus won't find
fonts by their usual names. (See FAQ for details.)
%prep
%autosetup -n %{name}-%{version}-a578956
cp -a "%{_sourcedir}/FAQ.md" .
%build
CXXFLAGS="%{?optflags}" LDFLAGS="%{?build_ldflags}" ./waf configure --prefix="%{_prefix}" --no-werror
./waf
strip build/src/zutty
%install
./waf install --destdir=%{buildroot}
%files
%{_bindir}/zutty
%doc FAQ.md
%license LICENSE
%changelog