A fast as fuck, memory efficient and simple but fancy image viewer built with Rust that's cross-platform. VERY WIP!
(image from a WIP development build, this is NOT the final product)
Caution
This project is HEAVILY a work in progress, hence it may crash or harm your system. Github issues are very welcome. ๐ค
As Roseate is in heavy development I won't offer packages and binaries yet so you'll need to compile the application from source.
- Clone the repo.
git clone https://github.com/cloudy-org/roseate
cd roseate
- Pull the cirrus tool kit submodule.
git submodule update --init --recursive
At this stage, for development, you would just run cargo run
. If you would like to install it to your system continue ahead to the next section.
- Run dev binary.
cargo run
To run Roseate in development with an image, append --
and pass an image path after like so:
cargo run -- ./anime_girl.png
To run with verbose debugging, call cargo run with the RUST_LOG=DEBUG
environment variable:
RUST_LOG=DEBUG cargo run -- ./anime_girl.png
[2024-10-20T02:20:36Z DEBUG roseate] Image '/home/goldy/Downloads/anime_girl.png' loading from path...
[2024-10-20T02:20:36Z DEBUG eframe] Using the glow renderer
[2024-10-20T02:20:36Z DEBUG sctk] Bound new global [70] wl_output v4
[2024-10-20T02:20:36Z DEBUG sctk] Bound new global [74] wl_output v4
[2024-10-20T02:20:36Z DEBUG sctk] Bound new global [30] zxdg_output_manager_v1 v3
[2024-10-20T02:20:36Z DEBUG sctk] Bound new global [10] wl_seat v7
[2024-10-20T02:20:36Z DEBUG sctk] Bound new global [16] wp_cursor_shape_manager_v1 v1
... (truncated for the sanity of this readme)
Installing it to your system I advise you use GNU Make or else copy the commands from the "Makefile" (you will need to install Make if you haven't already).
- Build the release binary.
make
- Install to your system.
sudo make install
- Then the
roseate
binary will be available in your terminal.
roseate
Open an image by passing its path.
roseate ./anime_girls.png
You might want to also set the binary at /usr/bin/roseate
as your default image viewer so double clicking on images calls it. You can look up how to perform that for your desktop environment or OS.