instructions/Instruction_Krokiet.md
For shared terminology (Reference paths, Included/Excluded paths, Excluded items, Cache) see Terminology in the main guide.
Krokiet-specific or tool-focused terms:
| Term | Definition |
|---|---|
| Perceptual hash | A hash computed from visual or audio content, designed so similar content produces similar hashes. Used for similar images, videos, and music fingerprint mode. |
| Prehash | A fast partial hash of the beginning and end of a file. Used to quickly rule out non-duplicates before computing the full hash, speeding up large scans. |
| Hash group | A set of files sharing the same hash (or visually similar within the chosen threshold) - candidate duplicates. |
| Similarity threshold | For similar images/videos/music: the maximum allowed difference between two items for them to be considered similar. Lower = stricter. |
| Preset | A saved configuration profile storing scan directories, filters, and tool parameters. Multiple presets can be created and switched between. |
| Backend / renderer | The graphics API used to draw the Krokiet window. Options: femtovg (OpenGL, default), skia, software. Use software on unusual setups or when OpenGL is unavailable. |
| Hard link | A filesystem feature where two filenames point to the same inode. Krokiet detects hard links and counts them only once by default to avoid false duplicates. |
Prebuilt binaries (no extra dependencies required) are available for Windows 10/11, macOS, and Ubuntu 22.04+.
Download from the GitHub releases page.
For the Similar Videos tool, ffmpeg must be installed separately:
| OS | Command |
|---|---|
| Linux | sudo apt install ffmpeg |
| macOS | brew install ffmpeg |
| Windows | choco install ffmpeg or download from ffmpeg.org and place ffmpeg.exe in PATH |
| Feature | Library | Purpose |
|---|---|---|
heif | libheif | HEIF/HEIC image support |
libraw | libraw | RAW camera image support |
libavif | libavif, libdav1d | AVIF image support |
# Simplest - installs the latest optimized binary
cargo install krokiet --locked
# With optional image format support
cargo build --release --bin krokiet --features "heif,libraw,libavif"
By default femtovg (OpenGL) and software renderers are built in. Switch at runtime:
SLINT_BACKEND=software ./krokiet # pure software rendering, safest fallback
SLINT_BACKEND=winit-femtovg ./krokiet # OpenGL via femtovg (default)
SLINT_BACKEND=skia ./krokiet # Skia (requires winit_skia_opengl compile feature)
To verify which backend is active:
SLINT_DEBUG_PERFORMANCE=refresh_lazy,console,overlay ./krokiet
# Prints: "Slint: Build config: release; Backend: femtovg"
The main window has six areas:
| # | Area | Purpose |
|---|---|---|
| 1 | Left panel | Tool selector - logo at top, 14 tools listed vertically, Settings gear at the very bottom |
| 2 | Results area | Scan results displayed as grouped rows; occupies the bulk of window height |
| 3 | Action bar | Below the results area - Scan/Stop buttons plus selection helpers and action buttons (delete, move, rename, hardlink, ...). Right side has two toggle buttons: folder icon (show/hide directory panel) and info icon (show/hide error log). |
| 4 | Status bar | Immediately below the action bar - read-only text line showing current scan state or result summary ("Found N items in Xms"). |
| 5 | Directory panel | Togglable panel below the status bar (folder icon button). Shows Included Paths (left) and Excluded Paths (right). Extensions, size filters, and excluded items are in Settings, not here. |
| 6 | Right pane | Optional image preview / tool sub-settings panel; shown for Similar Images and other visual tools when preview or sub-settings are active. |
Available tools: Duplicate Files, Empty Folders, Big Files, Empty Files, Temporary Files, Similar Images, Similar Videos, Same Music, Invalid Symlinks, Broken Files, Bad Extensions, Bad Names, Exif Remover, Video Optimizer.
Toggled by the folder icon button on the right side of the action bar. Contains only:
Extensions, size filters, excluded items, and recursive search are configured in Settings, not in this panel.
The action bar sits below the results area. Buttons visible depend on the active tool and whether results exist.
Always present (when not scanning):
Tool-specific buttons (only shown for relevant tool):
Finds files with identical content (or matching name/size, depending on the method chosen).
Sub-settings (right pane):
Check method (UI order, Hash is default):
| Method | Notes |
|---|---|
| Hash | Compares full file content via hash; recommended; default |
| Size | Compares file size only; many false positives |
| Name | Compares filename only; many false positives |
| Size and Name | Combines size and name comparison |
Hash type (used with Hash method):
| Hash | Notes |
|---|---|
| Blake3 | Default |
| CRC32 | |
| XXH3 |
Case sensitive - toggle for name-based methods only.
In global Settings (under "Duplicate Files" section):
Finds directories that contain no files or subdirectories. Uses a recursive algorithm that propagates "not empty" status upward through the directory tree. No sub-settings.
Finds the N largest (or N smallest) files in the specified directories.
Sub-settings (right pane):
Finds files with 0 bytes.
Sub-settings (right pane) - additional file types to find:
Finds files matching common temporary file patterns.
Sub-settings (right pane):
Editable extension/pattern list, with a Reset button. Default list:
#,thumbs.db,.bak,~,.tmp,.temp,.ds_store,.crdownload,.part,.cache,.dmp,.download,.partial
Finds images that look alike but are not byte-for-byte identical (different resolution, watermarks, compression artifacts, JPEG re-save, etc.).
Sub-settings (right pane):
| Setting | Default | Notes |
|---|---|---|
| Hash size | 16 | Options: 8, 16, 32, 64. Higher = more precise; requires higher max difference threshold. |
| Resize algorithm | Lanczos3 | Options: Lanczos3, Nearest, Triangle, Gaussian, CatmullRom. |
| Hash type | Mean | Options: Mean, Gradient, BlockHash, VertGradient, DoubleGradient, Median. BlockHash does not resize before hashing. |
| Geometric invariance | Off | Options: Off, Mirror + Flip, Mirror + Flip + Rotate 90. |
| Ignore images with same size | off | Skip groups where all images have identical byte size. |
| Ignore images with same resolution | off | Skip groups where all images have identical pixel dimensions. |
| Max difference | 10 | Max hash distance. Raise for more matches, lower for stricter. |
In global Settings (under "Similar Images tool" section):
Finds visually or acoustically similar videos. Requires ffmpeg installed.
Sub-settings (right pane):
Toggle at the top: Compare by audio fingerprint - switches between visual and audio comparison mode.
Visual mode (default):
Audio fingerprint mode:
In global Settings (under "Similar Videos tool" and "Video Thumbnails" sections):
Finds duplicate or similar music files.
Sub-settings (right pane):
Audio check type: Tags (default) or Fingerprint.
When Tags:
When Fingerprint:
Finds symbolic links whose target does not exist or that form a circular chain. No sub-settings.
Finds files that fail to open with their expected library (corrupted or truncated content).
Sub-settings (right pane) - file types to check (defaults shown):
Note: false positives can occur depending on the library used. Always verify before deleting.
Finds files whose content (detected from magic bytes) does not match their extension. No sub-settings.
The "Proper Extension" column shows the detected type and compatible extensions. Use the Rename button to apply the suggested fix.
Finds files with problematic names.
Sub-settings (right pane) - checks (defaults shown):
.JPG) - on by default_- )file---name) - off; flags consecutive duplicated non-alphanumeric charactersResults include a suggested corrected name.
Finds image files containing EXIF metadata (GPS coordinates, camera model, creation date, etc.).
Sub-settings (right pane):
Use the Clean button to remove EXIF from selected files.
Identifies videos suitable for optimization.
Sub-settings (right pane):
Mode: Crop (default) or Transcode.
When Crop:
When Transcode:
h265,av1,vp9; Reset button available)Use the Optimize button to process selected videos (opens a confirmation popup with output settings).
Open settings via the gear icon at the bottom of the left panel. Settings is a single scrollable list with section headers - not a tabbed view.
Scan filters (these are here, not in the directory panel):
jpg,png). Supports keywords: image, video, text (expanded to the relevant extension lists).*/tmp*, */.git)General:
Performance:
Each preset stores: included/excluded paths, extension and size filters, tool-specific parameters.
Presets are saved at ~/.config/krokiet/config_preset_N.json (Linux).
czkawka_cli video -d /your/videos --generate-thumbnails
This populates the thumbnail cache so Krokiet can display previews without re-computing them.
For default paths, cache file descriptions, env var overrides, and portable-drive setup see Config/Cache files in the main guide.
| OS | Path |
|---|---|
| Linux | ~/.config/krokiet/ |
| macOS | ~/Library/Application Support/pl.Qarmin.Krokiet/ |
| Windows | C:\Users\<user>\AppData\Roaming\Qarmin\Krokiet\config\ |
Note: there is no Krokiet Flatpak. The Flathub package is GTK-only and frozen at v10.0.
Key files:
config_general.json - window size, theme, preset count, active preset indexconfig_preset_N.json - all scan settings for preset N (paths, filters, tool parameters)config_custom_select_state.json - saved custom selection rulesCache is shared with GTK and CLI (~/.cache/czkawka/ on Linux).
For cross-frontend tips (cache management, prehash, partial scans, native CPU build) see Tips, Tricks and Known Bugs in the main guide.