Skip to content

Latest commit

 

History

History
148 lines (103 loc) · 10.7 KB

README.md

File metadata and controls

148 lines (103 loc) · 10.7 KB

Krokiet

Krokiet is new Czkawka frontend written in Slint, which uses Rust in opposite to Gtk 4 frontend which uses mostly C code.

Krokiet

Different toolkit means different look, limitations and features, so you should not expect same features like in Gtk 4 frontend(but of course I want implement most of the features from other project).

Usage

Krokiet should not have any special runtime requirements - it should work on almost any device non-antic device.

Prebuild binaries should work on Windows 10,11, Mac, Ubuntu 22.04/20.04 and similar(libheif version and czkawka_gui requires Ubuntu 22.04+, rest Ubuntu 20.04) - https://github.com/qarmin/czkawka/releases/

Compilation

On Ubuntu you need to install this dependencies:

sudo apt install libfontconfig-dev libfreetype-dev

Default compilation is done by cargo build --release and should work on most systems.

Currently rustc have problems in optimizing code generated by slint(~90000 lines of code with version 7.0.0), so default release build usually take > 60 minutes.
As workaround you can use this command, which require nightly version of rust:

RUSTFLAGS="-Zmir-enable-passes=-ScalarReplacementOfAggregates" cargo +nightly build --release

The only exception is building skia renderer which is non default feature that can be enabled manually if you want to use it, that require on windows msvc compiler(not sure how to exactly install it).

Also skia renderer is written in C++ and uses on platforms like x86_64 and arm64 prebuild binaries, so if you are using different architecture, this library will be build from source, which can take a lot of time and require additional dependencies.

Additional Renderers