Skip to content

ggand0/viewskater-egui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

191 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Alt text

ViewSkater

A fast, cross-platform image viewer built with Rust and egui. Designed for exploring and comparing large sets of images. Linux, macOS and Windows are supported.

This is the egui port of the original iced version.

Features

  • Dynamic image caching with background preloading
  • Continuous image rendering via key presses and slider
  • Dual pane view for side-by-side image comparison
  • Scroll-to-zoom centered on cursor, click-drag to pan
  • Fullscreen mode with cursor proximity UI reveal
  • Supports jpg, png, bmp, webp, gif, tiff, qoi, tga

Installation

Download the pre-built binaries from the releases page, or build locally:

cargo run --release

To see debug logs:

RUST_LOG=viewskater_egui=debug cargo run --release

Linux icon setup

On GNOME 46+ (Ubuntu 24.04+), the taskbar icon requires installing a .desktop file and icon:

mkdir -p ~/.local/share/icons/hicolor/256x256/apps
cp assets/icon_256.png ~/.local/share/icons/hicolor/256x256/apps/viewskater-egui.png
gtk-update-icon-cache -f ~/.local/share/icons/hicolor/
cp assets/viewskater-egui.desktop ~/.local/share/applications/

For the AppImage, update the Exec= line to point to the AppImage path:

sed -i "s|Exec=.*|Exec=/path/to/viewskater-egui.AppImage %f|" \
    ~/.local/share/applications/viewskater-egui.desktop

Usage

Drag and drop an image or a directory of images onto a pane, and navigate through the images using the A / D keys or the slider. Use the mouse wheel to zoom in/out of an image.

In dual-pane mode (Ctrl+2 / Cmd+2), the slider syncs images in both panes by default.

Shortcuts

On macOS, use Cmd instead of Ctrl.

Input Action
A / D or Left / Right arrow Previous / next image
Hold A / D or arrows Skate mode (continuous scroll)
Home / End First / last image
Ctrl+1 / Ctrl+2 Single / dual pane
Ctrl+O Open file
Ctrl+Shift+O Open folder
Ctrl+W Close images
Ctrl+Q Quit
Scroll wheel Zoom (centered on cursor)
Click + drag Pan
Double-click Reset zoom and pan
F11 Toggle fullscreen
Escape Exit fullscreen

Caching and memory usage

ViewSkater caches decoded images in RAM for smooth rendering. Both caches are adjustable in Preferences.

Cache Purpose Default Setting
Sliding window Preloads neighbors for instant keyboard navigation 5 images ahead/behind Cache Size
LRU decode Stores visited images for smooth slider scrubbing 1024 MB budget LRU Budget (MB)

Decoded pixels are much larger than compressed files on disk (e.g. a 10 MB PNG at 3840×2160 becomes ~32 MB as raw RGBA), so higher-resolution images use more cache per entry. Current memory usage is shown in the FPS overlay.

License

ViewSkater is licensed under either of

at your option.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors