#showansi β Public Fediverse posts
Live and recent posts from across the Fediverse tagged #showansi, aggregated by home.social.
-
@dani Haha π
I'm running a (heavily configured) #fvwm3 here. This screenshot was just for demonstration that #dos2ansi and #showansi don't depend on any configuration, so this was a completely unconfigured X session in #Xephyr, which by default runs #twm.
You can even see the test mode in #xterm can only use 8 colors (because this is what the default xterm #terminfo entry announces), still the #xterm windows launched by #showansi have full color support, they explicitly set the terminal name to "xterm-256colors".
-
Not having added anything to #dos2ansi for a while now, I'd say v2.0 is the "final" version for now. I initially wanted that for v1.0, and it's amazing how many weird files, edge cases, and also ideas for improvements you can discover for something that "simple" π
I have ideas for future development, like provide the core functionalities as a shared library, like add some config file for dos2ansi itself as well (instead of just for #showansi), maybe even more ... but all of that can wait, it's IMHO "complete" as it is.
A #Debian package is attached to the release on github, and a #FreeBSD port is added ... anyone wants to help make it available in more repositories? π Would be most helpful if the fonts it uses by default are packaged as well and can be set as dependencies ...
https://repology.org/project/dos2ansi/versions -
Released: #dos2ansi v2.0
https://github.com/Zirias/dos2ansi/releases/tag/v2.0The real "visible change" is documentation. #showansi now got a manpage as well, and the one for #dos2ansi improved a lot. Also better build instructions and some updates/corrections in the README. With these docs, you can hopefully make it do exactly what you want π
Also, the build system (my own homebrewn #GNU #make framework) got lots of improvements and fixes.
https://github.com/Zirias/zimk/ -
Now working on adding a manpage for #showansi as well. I noticed I need to add features to my "mkclidoc" tool in order to get something meaningful here ...
First step, added support for cross-references π -- next thing needed will be documenting related files...
Next #dos2ansi release will probably just be nice and complete documentation!
-
#dos2ansi v1.8 released!
https://github.com/Zirias/dos2ansi/releases/tag/v1.8There's some major rework inside adding support for seekable streams, which was necessary to implement the logic detecting #SAUCE even when the preceding DOS EOF character is missing.
Quite some improvements to the #showansi script as well, now comes with "fontsets" (explained in the comments in these and the config file) π
Plus added a manpage. Wanted a single source of truth (shared with the help output) and didn't find a good tool for that, so I quickly came up with my own:
https://github.com/Zirias/mkclidoc
It's bundled with dos2ansi now. Can produce man in both classic troff and BSD mandoc. The default choice is based on `uname` for now, tested on #FreeBSD and #Debian. -
I just released #dos2ansi v1.7, which includes one final bugfix: Quoted output of #SAUCE metadata should use proper "shell-style" quoting, so it can be directly consumed by #showansi, which it does now. Plus #showansi got a (tiny) bit of optimization.
https://github.com/Zirias/dos2ansi/releases/tag/v1.7
Well, just after releasing, I found more stuff to tackle. No, not new bugs at least.
But more weirdly broken ANSIart files. Example:
https://16colo.rs/pack/root0297/FU-B%26B.ANSThis one *has* SAUCE metadata, but it's not properly "hidden" behind a DOS EOF character (0x1a), which means even 'type' on a real DOS machine will output the SAUCE gibberish below the pic π
So, there *might* be a v1.8 adding more heuristics to detect and parse more broken SAUCE ... π
-
Yet another revision, #dos2ansi v1.6.3
https://github.com/Zirias/dos2ansi/releases/tag/v1.6.3--- brings yet another subtle bugfix in #showansi: To set the title with an escape sequence, it uses "printf %b" with its \-notation for control characters, so literal backslashes in the title must be escaped as well π
Apart from that, added nice "portability bikeshed":
- Removed the dependency on 'sed' again, quoting/escaping strings for 'eval' *can* be done in pure #POSIX #shell script.
- Added proper detection of the POSIX shell to my #zimk build system, along with variables to override the choice. Used that to generate the shebang for #dos2ansi. Really an awesome way to write /bin/sh without writing /bin/sh π (rumors say there *are* POSIX systems with the compliant shell in a different path ...)
Screenshot: Yet another file with "weird" title from #SAUCE
-
And now there's even #dos2ansi v1.6.2: https://github.com/Zirias/dos2ansi/releases/tag/v1.6.2
The good thing is: The issues I'm fixing here are getting more and more obscure π
First I noticed #xterm doesn't accept all #utf8 for its '-title' option, no matter what. But it *does* support the escape sequence to set a title, so, why not use this instead.
Having added support for that (and also optionally for setting the window size using an escape sequence), I had a look at quoting again. Indeed, #showansi failed for e.g. file names containing #shell special characters.
Therefore added a *safe* quote function. The downside is, it requires #sed now. Well ....
Screenshot shows both improvements, I picked a "maximum weird" file name and used a file that has an 'ΓΆ' in its title π₯³ -- in the showansi debugging output, you can see the quoting in action π€―
-
Meanwhile:
* Added a #Debian (amd64) package to #dos2ansi v1.6 release (on Github)
* Updated the #FreeBSD port here: https://people.freebsd.org/~zirias/patches/0001-converters-dos2ansi-Add-new-port.patch
* There's of course still the #Windows binary attached to the releaseMight push the FreeBSD port to official ports later ....
Screenshot: Random #showansi rendering ... π
-
Just noticed the #showansi script from #dos2ansi is now "smarter" than the renderer on 16colo.rs π
When there's no (#SAUCE) metadata indicating the font to use, but the canvas after rendering turns out to be exactly 80x50 or 80x43, it just *guesses* that's most likely the VGA50 or EGA43 mode and picks that font π
(Of course, this "smartness" can be disabled with the "-S" flag)
Compare to this: https://16colo.rs/pack/avpack16/frg-ans2.ans
-
#dos2ansi v1.6:
https://github.com/Zirias/dos2ansi/releases/tag/v1.6* Fix cursor movement again, it never wraps or scrolls.
* Many smaller improvements to the #showansi script
* Add an example configuration using scalable fonts from https://int10h.org/oldschool-pc-fonts/ instead of the default bitmap fontsScalable fonts are a tradeoff here. You get freely configurable sizes and correction of aspect ratio. You lose pixel-perfect (perfectly sharp) display. You can't have both, unfortunately.
Screenshot shows scalable fonts π
-
#FreeBSD users can get a #port of #dos2ansi v1.4 here, patch applies to the ports tree with `git am` (hint, use a local git branch to avoid cluttering your `main`):
https://people.freebsd.org/~zirias/patches/0001-textproc-dos2ansi-Add-new-port.patchThe port comes in two flavors: "nox11" makes #showansi optional and doesn't add any dependencies. "x11" (the default flavor) always includes showansi and adds runtime dependencies to #xterm and #ibmfonts, so the default configuration of showansi works out of the box.
Still unsure whether I should add it to the official ports tree .... π€