Archived
1
0
Fork
You've already forked viu-debian
0
Debian packaging for https://github.com/atanunq/viu (I'm now using chafa)
This repository has been archived on 2026年05月01日. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
  • Rust 100%
Find a file
2026年01月17日 15:40:08 +01:00
.github/workflows Import upstream version 1.6.1 2026年01月17日 15:39:50 +01:00
debian feat(debian): initial debian packaging 2026年01月17日 15:40:08 +01:00
img Import upstream version 1.6.1 2026年01月17日 15:39:50 +01:00
src Import upstream version 1.6.1 2026年01月17日 15:39:50 +01:00
.gitignore Import upstream version 1.6.1 2026年01月17日 15:39:50 +01:00
Cargo.lock Import upstream version 1.6.1 2026年01月17日 15:39:50 +01:00
Cargo.toml Import upstream version 1.6.1 2026年01月17日 15:39:50 +01:00
LICENSE-MIT Import upstream version 1.6.1 2026年01月17日 15:39:50 +01:00
README.md Import upstream version 1.6.1 2026年01月17日 15:39:50 +01:00

Description

A small command-line application to view images from the terminal written in Rust. It is basically the front-end of viuer. It uses either iTerm or Kitty graphics protocol, if supported. If not, lower half blocks (▄ or \u2584) are displayed instead.

Based on the value of $TERM, viuer decides which protocol to use. For half blocks, $COLORTERM is inspected. If it contains either truecolor or 24bit, truecolor (16 million colors) will be used. If not, it will fallback to using only ansi256. A nice explanation can be found in this gist.

Features

  • Native iTerm and Kitty support
  • Animated GIF support
  • Accept media through stdin
  • Custom dimensions
  • Transparency
  • Experimental Sixel support (behind either sixel or icy_sixel feature flags)

Installation

Installation from source requires a local Rust environment.

git clone https://github.com/atanunq/viu.git
# Build & Install
cd viu/
cargo install --path .
# Use
viu img/giphy.gif

Or without cloning:

cargo install viu

Binary

A precompiled binary can be downloaded from the release page. GPG fingerprint is B195BADA40BEF20E4907A5AC628280A0217A7B0F.

Packages

MacOS

Available in brew.

brew install viu

Arch Linux

Available in extra/viu.

pacman -S viu

NetBSD

Available in graphics/viu.

Usage

Examples

On a Kitty terminal:

Kitty

On a Mac with iTerm:

iTerm

Using half blocks (Kitty protocol and tmux do not get along):

Demo

Demo

Demo

Ctrl-C was pressed to stop the GIFs.

When viu receives only one file and it is GIF, it will be displayed over and over until Ctrl-C is pressed. However, when couple of files are up for display the GIF will be displayed only once.

iTerm note

iTerm can handle GIFs by itself with better performance, but configuration through --once and --frame-rate will have no effect there.

Aspect Ratio

If no flags are supplied to viu it will try to get the size of the terminal where it was invoked. If it succeeds it will fit the image and preserve the aspect ratio. The aspect ratio will be changed only if both options -w and -h are used together.

Command line options

View images right from the terminal.
Usage: viu [OPTIONS] [file]...
Arguments:
 [file]... The images to be displayed. Set to - for standard input.
Options:
 -w, --width <width>
 Resize the image to a provided width
 -h, --height <height>
 Resize the image to a provided height
 -x <x>
 X offset [default: 0]
 -y <y>
 Y offset [default: 0]
 -a, --absolute-offset
 Make the x and y offset be relative to the top left terminal corner. If not set, they are relative to the cursor's position.
 -r, --recursive
 Recurse down directories if passed one
 -b, --blocks
 Force block output
 -n, --name
 Output the name of the file before displaying
 -c, --caption
 Output the name of the file after displaying
 -t, --transparent
 Display transparent images with transparent background
 -f, --frame-rate <frames-per-second>
 Play the gif at a given frame rate
 -1, --once
 Loop only once through the gif
 -s, --static
 Show only the first frame of the gif
 -H, --help
 Print help information
 -V, --version
 Print version information