Small general changes
This commit is contained in:
parent
ecc93484cf
commit
d3bea0db85
|
@ -4,7 +4,12 @@
|
||||||
- Cleaned a little code
|
- Cleaned a little code
|
||||||
- Deleting files and folders i GUI
|
- Deleting files and folders i GUI
|
||||||
- Support for all notebooks items in GUI
|
- Support for all notebooks items in GUI
|
||||||
- Support for deleting and adding directories to search and to exclude
|
- Support for deleting and adding directories to search and to exclude in GUI
|
||||||
|
- Support for light themes in GUI
|
||||||
|
- Changed SystemTime to u64 from EPOCH_TIME
|
||||||
|
- Selective selecting of rows duplicate finder in GUI
|
||||||
|
- Changed minimum version of GTK to 3.22
|
||||||
|
- Added save system to GUI
|
||||||
|
|
||||||
## Version 0.1.3 - 27.09.2020r
|
## Version 0.1.3 - 27.09.2020r
|
||||||
- Big code refactoring - now is a lot of easier create new modules and maintain old ones
|
- Big code refactoring - now is a lot of easier create new modules and maintain old ones
|
||||||
|
|
28
README.md
28
README.md
|
@ -3,10 +3,14 @@ Czkawka is simple, fast and easy to use alternative to Fslint, written in Rust.
|
||||||
This is my first ever project in Rust so probably a lot of things are not being written in the most optimal way.
|
This is my first ever project in Rust so probably a lot of things are not being written in the most optimal way.
|
||||||
|
|
||||||
## Why?
|
## Why?
|
||||||
In internet exists a lot of tools to find duplicates, empty folders, temporary files etc. but in most cases there are only available on CLI, which is hard to use by users.
|
In internet exists a lot of tools to find duplicates, empty folders, temporary files etc. but in most cases there are only available on CLI, which is hard to use by users.
|
||||||
GUI FSlint allows to really easy select different files and folders, but is based on old and unsupported Python 2 and GTK 2.
|
|
||||||
|
GUI FSlint allows to really easy select different files and folders, but is based on old and unsupported Python 2 and GTK 2.
|
||||||
|
|
||||||
Other tools are mostly written in C/C++ to provide big performance but still needs to be tested a lot if not contains memory leaks, invalid memory reads/write and double frees.
|
Other tools are mostly written in C/C++ to provide big performance but still needs to be tested a lot if not contains memory leaks, invalid memory reads/write and double frees.
|
||||||
|
|
||||||
|
But the most important thing for me was to learn Rust and create a program useful for the open source community.
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
- Written in fast and memory safe Rust
|
- Written in fast and memory safe Rust
|
||||||
- CLI frontend, very fast and powerful with rich help
|
- CLI frontend, very fast and powerful with rich help
|
||||||
|
@ -89,6 +93,26 @@ Empty folder finder
|
||||||
|
|
||||||
Differences should be more visible when using slower processor or faster disk.
|
Differences should be more visible when using slower processor or faster disk.
|
||||||
|
|
||||||
|
## Comparsion with FSLint
|
||||||
|
|
||||||
|
| | Czkawka | FSlint |
|
||||||
|
|:----------:|:-------------:|:-----:|
|
||||||
|
| Language | Rust| Python |
|
||||||
|
| Framework | GTK 3 (Gtk-rs)| GTK 2 (PyGTK) |
|
||||||
|
| Duplicate finder | Yes | Yes |
|
||||||
|
| Empty files | Yes | Yes |
|
||||||
|
| Empty folders | Yes | Yes |
|
||||||
|
| Temporary files | Yes | Yes |
|
||||||
|
| Big files | Yes | No |
|
||||||
|
| Installed packages | No | Yes |
|
||||||
|
| Invalid names | No | Yes |
|
||||||
|
| Names conflict | No | Yes |
|
||||||
|
| Invalid symlinks | No | Yes |
|
||||||
|
| Bad ID | No | Yes |
|
||||||
|
| Non stripped binaries | No | Yes |
|
||||||
|
| Redundant whitespace | No | Yes |
|
||||||
|
| Project Activity | High | Very Low |
|
||||||
|
|
||||||
## How it works?
|
## How it works?
|
||||||
### Duplicate Finder
|
### Duplicate Finder
|
||||||
The only required parameter for checking duplicates is included folders `-i`. This parameter validates provided folders - which must have absolute path(without ~ and other similar symbols at the beginning), not contains *(wildcard), be dir(not file or symlink), exists. Later same things are done with excluded folders `-e`.
|
The only required parameter for checking duplicates is included folders `-i`. This parameter validates provided folders - which must have absolute path(without ~ and other similar symbols at the beginning), not contains *(wildcard), be dir(not file or symlink), exists. Later same things are done with excluded folders `-e`.
|
||||||
|
|
|
@ -364,11 +364,11 @@ fn print_help() {
|
||||||
|
|
||||||
[Main commands]:
|
[Main commands]:
|
||||||
--help / --h - prints help, also works without any arguments
|
--help / --h - prints help, also works without any arguments
|
||||||
--d <-i directories_to_search> [-e excluded_directories = ""] [-k excluded_items = ""] [-s min_size = 1024] [-x allowed_extension = ""] [-l type_of_search = "hash"] [-o] [-f file_to_save = "results.txt"] [-delete = "aeo"] - search for duplicates files
|
--d <-i directories_to_search> [-e excluded_directories = ""] [-k excluded_items = ""] [-s min_size = 1024] [-x allowed_extension = ""] [-l type_of_search = "hash"] [-o] [-f file_to_save = "results.txt"] [-delete = "aeo"] - finds duplicates files
|
||||||
--e <-i directories_to_search> [-e excluded_directories = ""] [-o] [-f file_to_save = "results.txt"] [-delete] - option to find and delete empty folders
|
--e <-i directories_to_search> [-e excluded_directories = ""] [-o] [-f file_to_save = "results.txt"] [-delete] - finds empty folders
|
||||||
--b <-i directories_to_search> [-e excluded_directories = ""] [-k excluded_items = ""] [-o] [-p number_of_files = 50] [-x allowed_extension = ""] [-f file_to_save = "results.txt"]
|
--b <-i directories_to_search> [-e excluded_directories = ""] [-k excluded_items = ""] [-o] [-p number_of_files = 50] [-x allowed_extension = ""] [-f file_to_save = "results.txt"] - finds biggest files
|
||||||
--y <-i directories_to_search> [-e excluded_directories = ""] [-k excluded_items = ""] [-o] [-f file_to_save = "results.txt"] [-delete] - search and delete empty files
|
--y <-i directories_to_search> [-e excluded_directories = ""] [-k excluded_items = ""] [-o] [-f file_to_save = "results.txt"] [-delete] - finds empty files
|
||||||
--t <-i directories_to_search> [-e excluded_directories = ""] [-k excluded_items = ""] [-o] [-f file_to_save = "results.txt"] [-delete] - search for temporary files
|
--t <-i directories_to_search> [-e excluded_directories = ""] [-k excluded_items = ""] [-o] [-f file_to_save = "results.txt"] [-delete] - finds temporary files
|
||||||
--version / --v - prints program name and version
|
--version / --v - prints program name and version
|
||||||
|
|
||||||
[Options]:
|
[Options]:
|
||||||
|
|
|
@ -24,7 +24,7 @@ fn main() {
|
||||||
|
|
||||||
for i in all_arguments {
|
for i in all_arguments {
|
||||||
if i == "--v" || i == "--version" {
|
if i == "--v" || i == "--version" {
|
||||||
println!("Czkawka CLI {}", CZKAWKA_VERSION);
|
println!("Czkawka GUI {}", CZKAWKA_VERSION);
|
||||||
process::exit(0);
|
process::exit(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -39,7 +39,7 @@ fn main() {
|
||||||
//// Windows
|
//// Windows
|
||||||
let main_window: gtk::Window = builder.get_object("main_window").unwrap();
|
let main_window: gtk::Window = builder.get_object("main_window").unwrap();
|
||||||
main_window.show_all();
|
main_window.show_all();
|
||||||
main_window.set_title("Czkawka GTK GUI");
|
main_window.set_title("Czkawka");
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
//// States
|
//// States
|
||||||
|
|
Loading…
Reference in a new issue