Crates.io | krokiet |
lib.rs | krokiet |
version | 10.0.0 |
created_at | 2024-02-19 13:03:43.343883+00 |
updated_at | 2025-08-18 15:11:50.278085+00 |
description | Slint frontend of Czkawka Core |
homepage | https://github.com/qarmin/czkawka |
repository | https://github.com/qarmin/czkawka |
max_upload_size | |
id | 1145195 |
size | 1,053,124 |
Krokiet is a new Czkawka frontend written in Slint.
A different toolkit means a different look, limitations, and features, so you should not expect the same functionality as in the Czkawka GTK 4 frontend (but of course, I aim to implement most features from the other project).
Krokiet should not have any special runtime requirements—it should work on almost any modern device.
Prebuilt binaries are available for Windows 10/11, Mac, and Ubuntu 22.04 (and similar distros with the same or newer glibc version): https://github.com/qarmin/czkawka/releases/
On Ubuntu, you need to install these dependencies:
sudo apt install libfontconfig-dev libfreetype-dev
The default compilation is done with cargo build --release
and should work on most systems.
By default, only femtovg (OpenGL) and the software renderer are enabled, but you can enable more renderers by compiling the app with additional features.
Most users will want to use the app with a windowing system/compositor, so features starting with winit
in the name are
recommended.
For example:
cargo build --release --features "winit_skia_opengl"
cargo build --release --features "winit_software"
To run the app with a different renderer, set the SLINT_BACKEND
environment variable(but app must be compiled with the appropriate feature):
SLINT_BACKEND=winit-femtovg ./target/release/krokiet
SLINT_BACKEND=software ./target/release/krokiet
SLINT_BACKEND=skia ./target/release/krokiet
If you use an invalid or non-existing backend, the app will show a warning:
slint winit: unrecognized renderer skia, falling back to FemtoVG
To check which backend is actually used, add the SLINT_DEBUG_PERFORMANCE=refresh_lazy,console,overlay
environment variable:
SLINT_DEBUG_PERFORMANCE=refresh_lazy,console,overlay cargo run
You should see output like:
Slint: Build config: debug; Backend: software
By default, the Slint application will automatically scale to match your system settings, but you can also manually set the scaling factor with the SLINT_SCALE_FACTOR
environment variable:
SLINT_SCALE_FACTOR=2 cargo run
By default, Czkawka was created with the fluent
theme in mind, but Slint also supports other themes, which are not officially supported by this app and may look broken.
SLINT_STYLE=cupertino-light cargo run -- --path .
SLINT_STYLE=cupertino-dark cargo run -- --path .
SLINT_STYLE=material-light cargo run -- --path .
SLINT_STYLE=material-dark cargo run -- --path .
For many, it might seem surprising to abandon the existing GTK 4 frontend of Czkawka—especially considering that GTK is one of the most popular GUI frameworks—and replace it with a new one based on Slint, which is still relatively unknown.
This decision was driven by several key factors:
The code is licensed under the MIT license, but the entire project is licensed under GPL-3.0 due to Slint license restrictions.
All icons and images are licensed under the CC BY 4.0 license.
Why Krokiet (eng. Croquette)?
Because I like croquettes (the Polish version), the ones with meat and mushrooms wrapped in breadcrumbs... it makes my mouth water.
I also considered other dishes I like, such as pierogi, żurek, pączek, schabowy, or zapiekanka.
This name should be much easier to remember than czkawka or szyszka.