Skip to content

🌹 A fast as fuck, memory efficient and simple but fancy image viewer built with πŸ¦€ Rust that's cross platform. (WIP)

License

Notifications You must be signed in to change notification settings

cloudy-org/roseate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

974f375 Β· Apr 20, 2025
Dec 6, 2024
Apr 18, 2025
Mar 30, 2025
Apr 20, 2025
Apr 14, 2024
Oct 13, 2024
Mar 31, 2024
Mar 31, 2025
Mar 28, 2024
Nov 23, 2024
Feb 9, 2025
Dec 9, 2024

Repository files navigation

🌹 roseate

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. 🀝

🌟 Devlogs

You can find devlogs in video format on my youtube channel; I have a playlist for it here: https://www.youtube.com/playlist?list=PLI8mjQYZec82ZajoDnDkAicBarEZ1yPd-

πŸ› οΈ Installation

As Roseate is in heavy development I won't offer packages and binaries yet so you'll need to compile the application from source.

πŸ— Build from source

Prerequisites:

All of these deps are required on Linux. However they are common x11 / wayland dependencies so you most likely already have them installed.

  1. Clone the repo.
git clone https://github.com/cloudy-org/roseate
cd roseate
  1. Pull the cirrus tool kit submodule.
git submodule update --init --recursive

πŸŽ€ Install into your system.

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). If you would like to run roseate for development continue ahead to the next section.

  1. Build the release binary.
make
  1. Install to your system.
sudo make install
  1. 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 operating system but on many popular Linux desktop environments, the roseate.desktop file that is now installed on your system is your friend. πŸ˜‰

βš™οΈ For Development

Warning

Building a development build WILL SIGNIFICANTLY KILL performance! Read more here.

Now for development, you would just run cargo run.

  1. 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)

About

🌹 A fast as fuck, memory efficient and simple but fancy image viewer built with πŸ¦€ Rust that's cross platform. (WIP)

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published