|
1 | 1 | # Instruction
|
2 | 2 | ## Basic Informations
|
3 |
| -As I write before, Czkawka is fast, powerful and EASY to use. |
4 |
| - |
5 | 3 | Czkawka for now contains two independent frontends - Console and Graphical interface which share the core module which contains basic and common functions used by each frontend.
|
6 | 4 |
|
| 5 | + |
7 | 6 | Using Rust language without unsafe code, helps to create safe, fast with small resource requirements.
|
8 | 7 |
|
9 | 8 | The code has very good support for multithreading, so the better processor/disk the performance should increase exponentially.
|
@@ -32,7 +31,7 @@ Duplicate Finder allows you to search for files and group them according to a pr
|
32 | 31 | Searching for empty files is rather easy, because we only need to read file metadata and check if its length is 0.
|
33 | 32 |
|
34 | 33 | ### Empty Directories
|
35 |
| -Puste katalogi to takie katalogi, które nie zawierają żadnych innych plików, linków symbolicznych itp. chyba że są to inne puste katalogi. |
| 34 | +Empty directories are those that do not contain any other files, symbolic links, etc. unless they are other empty directories. |
36 | 35 |
|
37 | 36 | At the beginning, a special entry is created for each directory containing - the parent path (only if it is not a folder directly selected by the user) and a flag to indicate whether the given directory is empty(at the beginning each one is potentially empty).
|
38 | 37 |
|
@@ -66,7 +65,7 @@ Zeroed files very often are results of e.g. incorrect file downloads.
|
66 | 65 | Their search consists of 3 parts:
|
67 | 66 | - Collecting a list of all files with a size greater than 0
|
68 | 67 | - At start, 64 bytes of each file are checked to discard the vast majority of non-zero files without major performance losses.
|
69 |
| -- The next step is to check the rest of the file |
| 68 | +- The next step is to check the rest of the file with bigger parts(32KB) |
70 | 69 |
|
71 | 70 | ### Invalid Symlinks
|
72 | 71 | To find invalid symlinks we must to find first a symlnks.
|
@@ -106,19 +105,42 @@ Cryptographic hash (used for example in ciphers) for similar inputs gives comple
|
106 | 105 | Perceptual hash at similar inputs, gives similar outputs
|
107 | 106 | 11110 ==> AAAAAB
|
108 | 107 | 11111 ==> AABABB
|
109 |
| -01110 ==> ACAAAB |
| 108 | +01110 ==> AAAACB |
110 | 109 |
|
111 | 110 | The hash data is then thrown into a special tree that allows to compare hashes using [Hamming distance](https://en.wikipedia.org/wiki/Hamming_distance).
|
112 | 111 |
|
113 | 112 | Finally, each hash is compared with the others and if the distance between them is less than the maximum distance specified by the user, the images are considered similar and thrown from the pool of images to be searched.
|
114 | 113 |
|
115 | 114 |
|
116 | 115 | ## GUI GTK
|
117 |
| -**TODO** |
| 116 | +<img src="https://user-images.githubusercontent.com/41945903/103002387-14d1b800-452f-11eb-967e-9d5905dd6db5.png" width="800" /> |
| 117 | + |
| 118 | +The GUI are built from different pieces: |
| 119 | +- Red - Program settings, contains info about included/excluded directories which user may want to check. Also there is a tab with allowed extensions, which allow user to choose which type of files want to check. Next category is Excluded items, which allow to discard specific path with use of `*` wildcard - `/home/*` means that e.g. `/home/rafal/` will be ignored but no `/home/czkawka/`. The last one is settings tab which allow to save configuration of program, reset it and load it when needed. |
| 120 | +- Green - This allow to choose which tool we want to use. |
| 121 | +- Blue - Here are settings to current tool, which we want/need to configure |
| 122 | +- Pink - Window in which result of searching are printed |
| 123 | +- Yellow - Box with buttons like `Search`(starts searching with current selected tool), `Hide Text View`(hide text box at the bottom with white overlay), `Symlink`(create symlink to selected file), `Select`(shows options to select specific rows), `Delete`(deletes selected records), `Save`(save to file result of searching) - some buttons are only visible when at least one result is visible. |
| 124 | +- Brown - Small informative field to show informations e.g. about number of found duplicates files |
| 125 | +- White - Text window to show possible errors/warnings e.g. when failed to delete folder due no permissions etc. |
| 126 | + |
| 127 | +There is also an option to see image previews in Similar Images tool. |
| 128 | + |
| 129 | +<img src="https://user-images.githubusercontent.com/41945903/103025544-50ca4480-4552-11eb-9a54-f1b1f6f725b1.png" width="800" /> |
118 | 130 |
|
119 | 131 | ## CLI
|
120 |
| -**TODO** |
| 132 | +Czkawka CLI frontend is great to automate some tasks like removing empty directories. |
| 133 | + |
| 134 | +To get general info how to use it just try to open czkawka_cli in console `czkawka_cli` |
| 135 | + |
| 136 | +<img src="https://user-images.githubusercontent.com/41945903/103018271-3d64ac80-4545-11eb-975c-2132f2ccf66f.png" width="800" /> |
| 137 | + |
| 138 | +You should see a lot of examples how to use this app. |
| 139 | + |
| 140 | +If you want to get more detailed info about certain tool, after its name just write at the end `-h` or `--help` to get more details about tool. |
121 | 141 |
|
| 142 | +<img src="https://user-images.githubusercontent.com/41945903/103018151-0a221d80-4545-11eb-97b2-d7d77b49c735.png" width="800" /> |
122 | 143 |
|
| 144 | +By default all tools only write about results to console, but it is possible with specific arguments to delete some files/arguments or save it to file. |
123 | 145 |
|
124 | 146 |
|
0 commit comments