Fully customizable and lightweight image viewer for Wayland based display servers.
- Support for the most popular image formats:
- JPEG (via libjpeg),
- JPEG XL (via libjxl);
- PNG (via libpng);
- GIF (via giflib);
- SVG (via librsvg);
- WebP (via libwebp);
- HEIF/AVIF (via libheif);
- AV1F/AVIFS (via libavif);
- TIFF (via libtiff);
- EXR (via OpenEXR);
- BMP (built-in);
- PNM (built-in);
- TGA (built-in);
- QOI (built-in);
- DICOM (built-in);
- Farbfeld (built-in).
- Fully customizable keyboard bindings, colors, and many other parameters;
- Loading images from files and pipes;
- Gallery and viewer modes with slideshow and animation support;
- Preload images in a separate thread;
- Cache in memory, no data is written to permanent storage (HDD/SSD);
- Sway integration mode: the application creates an "overlay" above the currently active window, which gives the illusion that you are opening the image directly in a terminal window.
swayimg [OPTIONS]... [FILE]...
See man swayimg
for details.
Examples:
- View multiple files:
swayimg photo.jpg logo.png
- Start slideshow for all files (recursively) in the current directory in random order:
swayimg --slideshow --recursive --order=random
- View using pipes:
wget -qO- https://www.kernel.org/theme/images/logos/tux.png | swayimg -
- Loading stdout from external commands:
swayimg "exec://wget -qO- https://www.kernel.org/theme/images/logos/tux.png" \ "exec://curl -so- https://www.kernel.org/theme/images/logos/tux.png"
- View all images from the current directory in gallery mode:
swayimg --gallery
The viewer searches for the configuration file with name config
in the
following directories:
$XDG_CONFIG_HOME/swayimg
$HOME/.config/swayimg
$XDG_CONFIG_DIRS/swayimg
/etc/xdg/swayimg
Sample file is available here or locally /usr/share/swayimg/swayimgrc
.
See man swayimgrc
for details.
List of supported distributives can be found on the Repology page.
Arch users can install the program from the extra repository: swayimg or from AUR swayimg-git package.
The project uses Meson build system:
meson setup _build_dir
meson compile -C _build_dir
meson install -C _build_dir