Skip to content

Commit 598aec3

Browse files
committed
Update instructions
1 parent 58e6221 commit 598aec3

File tree

2 files changed

+39
-15
lines changed

2 files changed

+39
-15
lines changed

README.md

+10-8
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
![com github qarmin czkawka](https://user-images.githubusercontent.com/41945903/102616149-66490400-4137-11eb-9cd6-813b2b070834.png)
22

3-
**Czkawka** is a simple, fast, written in Rust and easy to use app to remove unnecessary files from your computer.
3+
**Czkawka** is written in Rust, simple, fast and easy to use app to remove unnecessary files from your computer.
44

55
## Features
66
- Written in memory safe Rust
77
- Amazingly fast - due using more or less advanced algorithms and multithreading support
88
- Free, Open Source without ads
9-
- CLI frontend, very fast and powerful with rich help
9+
- CLI frontend, very fast to automate tasks
1010
- GUI GTK frontend - uses modern GTK 3 and looks similar to FSlint
1111
- Light/Dark theme match the appearance of the system(Linux only)
1212
- Saving results to a file - allows reading entries found by the tool easily
1313
- Rich search option - allows setting absolute included and excluded directories, set of allowed file extensions or excluded items with * wildcard
14-
- Clean Glade file in which UI can be easily modernized
14+
- Image previews to get quick view at the compared photos
1515
- Multiple tools to use:
1616
- Duplicates - Finds duplicates basing on size(fast), hash(accurate), first 1MB of hash(moderate)
1717
- Empty Folders - Finds empty folders with the help of advanced algorithm
@@ -27,7 +27,7 @@
2727
## Requirements
2828
If you are using Windows or Mac binaries, there is no specific requirements.
2929
Same with Appimage on Linux(except having system 18.04+ or similar).
30-
But compiled binaries on Linux or compiling it on your own os require to install this packages:
30+
But compiled GUI binaries on Linux or compiling it on your own os require to install this packages:
3131
### Ubuntu/Debian
3232
```
3333
sudo apt install cargo libgtk-dev
@@ -45,15 +45,18 @@ If the app does not run when clicking at a launcher, run it through a terminal.
4545
### Appimage
4646
Appimage files are available in release page - https://github.com/qarmin/czkawka/releases/
4747

48+
For now looks that there is a bug with this format, because it doesn't allow to open two images/files at once.
49+
4850
### Cargo
49-
Easier method to install Czkawka is to use Cargo command(you must have installed GTK libraries in OS)
51+
The easiest method to install Czkawka is to use Cargo command(you must have installed GTK libraries in OS)
5052
```
5153
cargo install czkawka_gui
54+
cargo install czkawka_cli
5255
```
5356
You can update package by typing same command.
5457

5558
### Snap
56-
Sadly some features are not available like mounted drives
59+
Snap also are available, but there is no access to
5760
```
5861
sudo snap install czkawka
5962
```
@@ -184,11 +187,10 @@ You can help by creating:
184187
- Bug report - memory leaks, unexpected behavior, crashes
185188
- Feature proposals - proposal to change/add/delete some features
186189
- Pull Requests - implementing a new feature yourself or fixing bugs, but you have to pay attention to code quality. If the change is bigger, then it's a good idea to open a new issue to discuss changes.
190+
- Documentation - There is [insruction](instructions/Instruction.md) which you can improve.
187191

188192
The code should be clean and well formatted (Clippy and fmt are required in each PR).
189193

190-
The code should also be easy to read, so please use the simplest language possible without any magic numbers and variables with strange names. You should also try to write unit tests if possible.
191-
192194
## Name
193195
Czkawka is a Polish word which means _hiccup_.
194196

instructions/Instruction.md

+29-7
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
# Instruction
22
## Basic Informations
3-
As I write before, Czkawka is fast, powerful and EASY to use.
4-
53
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.
64

5+
76
Using Rust language without unsafe code, helps to create safe, fast with small resource requirements.
87

98
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
3231
Searching for empty files is rather easy, because we only need to read file metadata and check if its length is 0.
3332

3433
### 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.
3635

3736
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).
3837

@@ -66,7 +65,7 @@ Zeroed files very often are results of e.g. incorrect file downloads.
6665
Their search consists of 3 parts:
6766
- Collecting a list of all files with a size greater than 0
6867
- 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)
7069

7170
### Invalid Symlinks
7271
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
106105
Perceptual hash at similar inputs, gives similar outputs
107106
11110 ==> AAAAAB
108107
11111 ==> AABABB
109-
01110 ==> ACAAAB
108+
01110 ==> AAAACB
110109

111110
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).
112111

113112
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.
114113

115114

116115
## 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" />
118130

119131
## 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.
121141

142+
<img src="https://user-images.githubusercontent.com/41945903/103018151-0a221d80-4545-11eb-97b2-d7d77b49c735.png" width="800" />
122143

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

124146

0 commit comments

Comments
 (0)