urxvt-perls
libsixel
Our great sponsors
urxvt-perls | libsixel | |
---|---|---|
1 | 23 | |
17 | 2,383 | |
- | - | |
0.0 | 0.0 | |
over 9 years ago | 8 months ago | |
C | ||
GNU 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.
urxvt-perls
-
XTerm: It's Better Than You Thought
> but we can hijack it to instead scan the screen for URLs and open the browser
For comparison, rxvt-unicode has perl utils for mouse-less URL selection [1]. Since it's operating within the terminal, scrollback is also available for selection (not just the currently visible screen).
After invoking the selection mode, it's as easy as using j/k to choose the URL and Enter to open or y to yank to clipboard. Installed on Arch with the `urxvt-perls` package.
[1] https://github.com/johntyree/urxvt-perls
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?
kitty - Cross-platform, fast, feature-rich, GPU based terminal
sixvid - Simple script for animated GIF viewing using sixels
mpv - π₯ Command line video player
chafa - πΊπΏ Terminal graphics for the 21st century.
xterm-addon-image - Image addon for xterm.js
urxvt-perls - Perl extensions for the rxvt-unicode terminal emulator
mintty - The Cygwin Terminal β terminal emulator for Cygwin, MSYS, and WSL
iterm2
sixel-tmux - sixel-tmux is a fork of tmux, with just one goal: having the most reliable support of graphics
xserver-SIXEL - A X server implementation for SIXEL-featured terminals, based on @pelya's Xsdl kdrive server(https://github.com/pelya/xserver-xsdl)
contour - Contour is a Kubernetes ingress controller using Envoy proxy.
notcurses - blingful character graphics/TUI library. definitely not curses.