chafa
libsixel
Our great sponsors
chafa | libsixel | |
---|---|---|
31 | 23 | |
2,612 | 2,385 | |
- | - | |
9.0 | 0.0 | |
8 days ago | 8 months ago | |
C | C | |
GNU Lesser General Public License v3.0 only | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
chafa
-
what terminal emulator would you recommend?
Like some people here and under this post said, I like Kitty and would recommend it to anyone who uses/used Alacritty, as they are very similar in surface. I actually switch between Alacritty and Kitty pretty often, depending on my "mood". I recently went back to Kitty for image support (through chafa though, for better compatibility across terminal emulators). However, Wayland support is poor and I have some issues with fonts being too bold, although it could just be my config...
-
ASCII-Gen, a Rust CLI tool that converts images to ASCII art
If you use a more modern terminal you can also use stuff like:
https://hpjansson.org/chafa/
-
UPDATE: image.nvim - Color Support
There's also https://github.com/princejoogie/chafa.nvim, which wraps https://github.com/hpjansson/chafa Did you know about that? I wonder what the differences between your plugin and that one are?
-
chafa.py - Terminal graphics with Python
Hello r/Python! I'm here to introduce you to a project I've been working on called chafa.py source. These are Python bindings for the amazing terminal image visualizer Chafa.
-
preview images directly in neovim
this is a plugin that wraps the functionality of chafa into neovim. chafa is a way to display images in the terminal by converting it into ANSI escape sequences.
-
Terminal Image and PDF Not Rendered Right/Blocky
I guess it is using https://github.com/hpjansson/chafa for that, and it needs to be using https://github.com/seebye/ueberzug/tree/2c55173878906c3b221cdef16cf083f0c412bb58
- Does someone have an idea how one could create such an effect?
-
Hacker News top posts: Sep 13, 2022
Chafa: Terminal Graphics for the 21st Century\ (13 comments)
- Terminal Graphics for the 21st Century
-
ANSIArt
See also https://github.com/hpjansson/chafa which is an image -> ANSI art library written in C. I built it into my BBS so users can embed images in their posts. Some turn out better than others but it gives the board a unique feel at least.
libsixel
- GNU/Hurd strikes back: How to use the legendary OS in a (somewhat) practical way
-
VT330/VT340 Sixel Graphics
Library you can use to generate these images:
https://github.com/saitoha/libsixel
Plenty of links to other projects.
- UnicodePlots
-
Forking Chrome to Render in a Terminal
Sixels are pixels and enjoy a wide support due to how old it is.
Kitty protocol is PNG or primitives - which BTW would make it great for a GUI library.
Different tools for different needs, but if you are going for a wide support you want something simple that doesn't have 5 different types you have to separately implement and test:
> d: Direct (the data is transmitted within the escape code itself)
> f: A simple file (regular files only, not named pipes or similar)
> t: A temporary file, the terminal emulator will delete the file after reading the pixel data. For security reasons the terminal emulator should only delete the file if it is in a known temporary directory, such as /tmp, /dev/shm, TMPDIR env var if present and any platform specific temporary directories and the file has the string tty-graphics-protocol in its full file path.
> s: A shared memory object, which on POSIX systems is a POSIX shared memory object and on Windows is a Named shared memory object. The terminal emulator must read the data from the memory object and then unlink and close it on POSIX and just close it on Windows.
> What nonsense, it takes literally 15 lines of code without using anything beyond the standard library to write a client
Conveniently taking a preencoded PNG and assuming away the necessary queries of supported protocol:
> Since a client has no a-priori knowledge of whether it shares a filesystem/shared memory with the terminal emulator, it can send an id with the control data, using the i key (which can be an arbitrary positive integer up to 4294967295, it must not be zero).
> for the kitty graphics protocol. I challenge you to match that for sixel
https://github.com/saitoha/libsixel/tree/master/perl
use Image::LibSIXEL;
-
A command line tool that draw plots on the terminal
Also:
https://github.com/saitoha/libsixel
contains img2sixel, which lets you dump images to the terminal. It can also do animated GIFs.
Video:
https://github.com/saitoha/FFmpeg-SIXEL
GUI apps:
https://github.com/saitoha/SDL1.2-SIXEL
and more, linked from the libsixel repository.
-
Emacs on an iPad
Not sure of Terminal emulator capabilities on Apple devices, but thanks to https://github.com/saitoha/libsixel , several applications, including emacs very much support image output in terminals.
- Libsixel
-
What color do you use for your terminal?
You don't have multi-colored terminal output? Even legacy systems have long had Sixel support.
-
Are We Sixel Yet?
> SIXEL is one of image formats for printer and terminal imaging introduced by Digital Equipment Corp. (DEC). Its data scheme is represented as a terminal-friendly escape sequence. So if you want to view a SIXEL image file, all you have to do is "cat" it to your terminal
https://github.com/saitoha/libsixel
- Saw a few console apps and thought I might pitch in/show my own graphics library for the C# Console: The BasicRender Suite
What are some alternatives?
imgcat - It's like cat, but for images.
sixvid - Simple script for animated GIF viewing using sixels
mpv-image-viewer - Configuration, scripts and tips for using mpv as an image viewer
mpv - π₯ Command line video player
vifm - Vifm is a file manager with curses interface, which provides Vim-like environment for managing objects within file systems, extended with some useful ideas from mutt.
xterm-addon-image - Image addon for xterm.js
ranger - A VIM-inspired filemanager for the console
urxvt-perls - Perl extensions for the rxvt-unicode terminal emulator
zellij - A terminal workspace with batteries included
urxvt-perls - Perl extensions for the rxvt-unicode terminal emulator
vulkano - Safe and rich Rust wrapper around the Vulkan API
mintty - The Cygwin Terminal β terminal emulator for Cygwin, MSYS, and WSL