1.3.0
This commit is contained in:
parent
a0e151e5fe
commit
49871e433c
124
Cargo.lock
generated
124
Cargo.lock
generated
|
@ -231,19 +231,6 @@ dependencies = [
|
|||
"futures-core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "async-channel"
|
||||
version = "2.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d37875bd9915b7d67c2f117ea2c30a0989874d0b2cb694fe25403c85763c0c9e"
|
||||
dependencies = [
|
||||
"concurrent-queue",
|
||||
"event-listener 3.0.1",
|
||||
"event-listener-strategy",
|
||||
"futures-core",
|
||||
"pin-project-lite",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "async-executor"
|
||||
version = "1.6.0"
|
||||
|
@ -276,7 +263,7 @@ version = "2.3.1"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f1b6f5d7df27bd294849f8eec66ecfc63d11814df7a4f5d74168a2394467b776"
|
||||
dependencies = [
|
||||
"async-channel 1.9.0",
|
||||
"async-channel",
|
||||
"async-executor",
|
||||
"async-io 1.13.0",
|
||||
"async-lock 2.8.0",
|
||||
|
@ -397,7 +384,7 @@ version = "1.12.0"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "62565bb4402e926b29953c785397c6dc0391b7b446e45008b0049eb43cec6f5d"
|
||||
dependencies = [
|
||||
"async-channel 1.9.0",
|
||||
"async-channel",
|
||||
"async-global-executor",
|
||||
"async-io 1.13.0",
|
||||
"async-lock 2.8.0",
|
||||
|
@ -606,16 +593,16 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "blocking"
|
||||
version = "1.5.0"
|
||||
version = "1.4.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "864b30e660d766b7e9b47347d9b6558a17f1cfa22274034fa6f55b274b3e4620"
|
||||
checksum = "8c36a4d0d48574b3dd360b4b7d95cc651d2b6557b6402848a27d4b228a473e2a"
|
||||
dependencies = [
|
||||
"async-channel 2.1.0",
|
||||
"async-lock 3.0.0",
|
||||
"async-channel",
|
||||
"async-lock 2.8.0",
|
||||
"async-task",
|
||||
"fastrand 2.0.1",
|
||||
"futures-io",
|
||||
"futures-lite 2.0.1",
|
||||
"futures-lite 1.13.0",
|
||||
"piper",
|
||||
"tracing",
|
||||
]
|
||||
|
@ -1014,7 +1001,8 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "const-field-offset"
|
||||
version = "0.1.3"
|
||||
source = "git+https://github.com/slint-ui/slint.git#2acaa222d0aa8c3787f6cd700d0c76768b9612ed"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6304465f16f463cddc572b737c3df93576edd3a6b53f057bd8beeb29f4ef8dfd"
|
||||
dependencies = [
|
||||
"const-field-offset-macro",
|
||||
"field-offset",
|
||||
|
@ -1023,7 +1011,8 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "const-field-offset-macro"
|
||||
version = "0.1.3"
|
||||
source = "git+https://github.com/slint-ui/slint.git#2acaa222d0aa8c3787f6cd700d0c76768b9612ed"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "57aaaad9185d3bcb3afe63549d8ba60b2fb0ea8dc2da83f62dd56805edf56fd1"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
|
@ -1646,9 +1635,9 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
|
|||
|
||||
[[package]]
|
||||
name = "errno"
|
||||
version = "0.3.5"
|
||||
version = "0.3.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860"
|
||||
checksum = "7c18ee0ed65a5f1f81cac6b1d213b69c35fa47d4252ad41f1486dbd8226fe36e"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"windows-sys 0.48.0",
|
||||
|
@ -2241,9 +2230,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "getrandom"
|
||||
version = "0.2.10"
|
||||
version = "0.2.11"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
|
||||
checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"js-sys",
|
||||
|
@ -2673,7 +2662,8 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "i-slint-backend-linuxkms"
|
||||
version = "1.3.0"
|
||||
source = "git+https://github.com/slint-ui/slint.git#2acaa222d0aa8c3787f6cd700d0c76768b9612ed"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8955a5385270c9a8d76530e872a397eb6717bd1020f16c09c7f9c7fc1a59cd39"
|
||||
dependencies = [
|
||||
"calloop 0.11.0",
|
||||
"drm",
|
||||
|
@ -2694,7 +2684,8 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "i-slint-backend-selector"
|
||||
version = "1.3.0"
|
||||
source = "git+https://github.com/slint-ui/slint.git#2acaa222d0aa8c3787f6cd700d0c76768b9612ed"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "059bb78add36aaa9cc1a4f7e5978f47e5ec1ece31ca281451cc646ef3a7e4d85"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"i-slint-backend-linuxkms",
|
||||
|
@ -2707,7 +2698,8 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "i-slint-backend-winit"
|
||||
version = "1.3.0"
|
||||
source = "git+https://github.com/slint-ui/slint.git#2acaa222d0aa8c3787f6cd700d0c76768b9612ed"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8992e2356a2331502261987d2a6803e798bf7a2a5272907713c08f46a7ad0652"
|
||||
dependencies = [
|
||||
"bytemuck",
|
||||
"cfg-if",
|
||||
|
@ -2742,7 +2734,8 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "i-slint-common"
|
||||
version = "1.3.0"
|
||||
source = "git+https://github.com/slint-ui/slint.git#2acaa222d0aa8c3787f6cd700d0c76768b9612ed"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "181a597710932e4ba09cd29fed3d479587fe33d3c880b0addd5421dbed4940bd"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"derive_more",
|
||||
|
@ -2753,7 +2746,8 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "i-slint-compiler"
|
||||
version = "1.3.0"
|
||||
source = "git+https://github.com/slint-ui/slint.git#2acaa222d0aa8c3787f6cd700d0c76768b9612ed"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0020485613a80b6dfe86a46f93c946b8382045ccbb29f7b9faf20725658fc7f0"
|
||||
dependencies = [
|
||||
"by_address",
|
||||
"codemap",
|
||||
|
@ -2782,7 +2776,8 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "i-slint-core"
|
||||
version = "1.3.0"
|
||||
source = "git+https://github.com/slint-ui/slint.git#2acaa222d0aa8c3787f6cd700d0c76768b9612ed"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "408aa4fe8a28ae7284d18d0b35612fe172c096392dc429342e3626926c70e595"
|
||||
dependencies = [
|
||||
"auto_enums",
|
||||
"bytemuck",
|
||||
|
@ -2825,7 +2820,8 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "i-slint-core-macros"
|
||||
version = "1.3.0"
|
||||
source = "git+https://github.com/slint-ui/slint.git#2acaa222d0aa8c3787f6cd700d0c76768b9612ed"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c8d582a1644a5d818ee813f393490a5b2496936ef3962b62ff077e42a81626ef"
|
||||
dependencies = [
|
||||
"quote",
|
||||
"syn 2.0.39",
|
||||
|
@ -2834,7 +2830,8 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "i-slint-renderer-femtovg"
|
||||
version = "1.3.0"
|
||||
source = "git+https://github.com/slint-ui/slint.git#2acaa222d0aa8c3787f6cd700d0c76768b9612ed"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fbc056f6daab6224bb55a55751456ab2897a41ade84ca7772001a1cff46a6b26"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"const-field-offset",
|
||||
|
@ -2866,7 +2863,8 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "i-slint-renderer-skia"
|
||||
version = "1.3.0"
|
||||
source = "git+https://github.com/slint-ui/slint.git#2acaa222d0aa8c3787f6cd700d0c76768b9612ed"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "82c4893627aa07956397bc997b4bcb83a22e1b364f8109be72505168837e2eb7"
|
||||
dependencies = [
|
||||
"ash",
|
||||
"bytemuck",
|
||||
|
@ -2909,7 +2907,7 @@ dependencies = [
|
|||
"serde",
|
||||
"serde_derive",
|
||||
"thiserror",
|
||||
"toml 0.8.6",
|
||||
"toml 0.8.8",
|
||||
"unic-langid",
|
||||
]
|
||||
|
||||
|
@ -3497,9 +3495,9 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
|
|||
|
||||
[[package]]
|
||||
name = "linux-raw-sys"
|
||||
version = "0.4.10"
|
||||
version = "0.4.11"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f"
|
||||
checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829"
|
||||
|
||||
[[package]]
|
||||
name = "locale_config"
|
||||
|
@ -4786,7 +4784,7 @@ dependencies = [
|
|||
"bitflags 2.4.1",
|
||||
"errno",
|
||||
"libc",
|
||||
"linux-raw-sys 0.4.10",
|
||||
"linux-raw-sys 0.4.11",
|
||||
"windows-sys 0.48.0",
|
||||
]
|
||||
|
||||
|
@ -4920,18 +4918,18 @@ checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73"
|
|||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
version = "1.0.191"
|
||||
version = "1.0.192"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a834c4821019838224821468552240d4d95d14e751986442c816572d39a080c9"
|
||||
checksum = "bca2a08484b285dcb282d0f67b26cadc0df8b19f8c12502c13d966bf9482f001"
|
||||
dependencies = [
|
||||
"serde_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_derive"
|
||||
version = "1.0.191"
|
||||
version = "1.0.192"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "46fa52d5646bce91b680189fe5b1c049d2ea38dabb4e2e7c8d00ca12cfbfbcfd"
|
||||
checksum = "d6c7207fbec9faa48073f3e3074cbe553af6ea512d7c21ba46e434e70ea9fbc1"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
|
@ -5062,7 +5060,7 @@ dependencies = [
|
|||
"regex",
|
||||
"serde_json",
|
||||
"tar",
|
||||
"toml 0.8.6",
|
||||
"toml 0.8.8",
|
||||
"ureq",
|
||||
]
|
||||
|
||||
|
@ -5091,7 +5089,8 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "slint"
|
||||
version = "1.3.0"
|
||||
source = "git+https://github.com/slint-ui/slint.git#2acaa222d0aa8c3787f6cd700d0c76768b9612ed"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3b9d589a30c2812877798eecf2b5cb51e7f2c4531f7c9e8746be6b25a24f37e6"
|
||||
dependencies = [
|
||||
"const-field-offset",
|
||||
"i-slint-backend-selector",
|
||||
|
@ -5107,7 +5106,8 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "slint-build"
|
||||
version = "1.3.0"
|
||||
source = "git+https://github.com/slint-ui/slint.git#2acaa222d0aa8c3787f6cd700d0c76768b9612ed"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2edbdfb7bdb1688273656c301ffa221a3939869620e7a12f02d7cae6532098ee"
|
||||
dependencies = [
|
||||
"i-slint-compiler",
|
||||
"spin_on",
|
||||
|
@ -5118,7 +5118,8 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "slint-macros"
|
||||
version = "1.3.0"
|
||||
source = "git+https://github.com/slint-ui/slint.git#2acaa222d0aa8c3787f6cd700d0c76768b9612ed"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ee1b8b49389eb768793499fce1c60d613ac52d14fe77383a65f233327cd65715"
|
||||
dependencies = [
|
||||
"i-slint-compiler",
|
||||
"proc-macro2",
|
||||
|
@ -5137,9 +5138,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "smallvec"
|
||||
version = "1.11.1"
|
||||
version = "1.11.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a"
|
||||
checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970"
|
||||
|
||||
[[package]]
|
||||
name = "smithay-client-toolkit"
|
||||
|
@ -5571,7 +5572,7 @@ dependencies = [
|
|||
"cfg-expr",
|
||||
"heck",
|
||||
"pkg-config",
|
||||
"toml 0.8.6",
|
||||
"toml 0.8.8",
|
||||
"version-compare",
|
||||
]
|
||||
|
||||
|
@ -5790,14 +5791,14 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "toml"
|
||||
version = "0.8.6"
|
||||
version = "0.8.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8ff9e3abce27ee2c9a37f9ad37238c1bdd4e789c84ba37df76aa4d528f5072cc"
|
||||
checksum = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35"
|
||||
dependencies = [
|
||||
"serde",
|
||||
"serde_spanned",
|
||||
"toml_datetime",
|
||||
"toml_edit 0.20.7",
|
||||
"toml_edit 0.21.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -5825,6 +5826,17 @@ name = "toml_edit"
|
|||
version = "0.20.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81"
|
||||
dependencies = [
|
||||
"indexmap 2.1.0",
|
||||
"toml_datetime",
|
||||
"winnow",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "toml_edit"
|
||||
version = "0.21.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03"
|
||||
dependencies = [
|
||||
"indexmap 2.1.0",
|
||||
"serde",
|
||||
|
@ -6252,7 +6264,8 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "vtable"
|
||||
version = "0.1.11"
|
||||
source = "git+https://github.com/slint-ui/slint.git#2acaa222d0aa8c3787f6cd700d0c76768b9612ed"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9f4c7506238561777a1861d3dc3c0001877c475187e7bc4392ea87ebf631fd9c"
|
||||
dependencies = [
|
||||
"const-field-offset",
|
||||
"portable-atomic",
|
||||
|
@ -6263,7 +6276,8 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "vtable-macro"
|
||||
version = "0.1.10"
|
||||
source = "git+https://github.com/slint-ui/slint.git#2acaa222d0aa8c3787f6cd700d0c76768b9612ed"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6b2b8eecdb8e4284adf5546fc518f048f6dc33e7203dbe36fa93a4add39b31f6"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
|
|
|
@ -11,20 +11,14 @@ repository = "https://github.com/qarmin/czkawka"
|
|||
build = "build.rs"
|
||||
|
||||
[dependencies]
|
||||
#slint = "1.2.2"
|
||||
#slint = { git = "https://github.com/slint-ui/slint.git"}
|
||||
|
||||
# Try to use only needed features from https://github.com/slint-ui/slint/blob/master/api/rs/slint/Cargo.toml#L23-L31
|
||||
slint = { git = "https://github.com/slint-ui/slint.git", default-features = false, features = ["std",
|
||||
#slint = { path = "/home/rafal/test/slint/api/rs/slint/", default-features = false, features = ["std",
|
||||
#slint = { git = "https://github.com/slint-ui/slint.git", default-features = false, features = [
|
||||
slint = { version = "1.3.0", default-features = false, features = [
|
||||
"std",
|
||||
"backend-winit",
|
||||
# "accessibility",
|
||||
"compat-1-2"
|
||||
] }
|
||||
#slint = { path = "/home/rafal/test/slint/api/rs/slint/", default-features = false, features = ["std",
|
||||
# "backend-winit",
|
||||
# "accessibility",
|
||||
# "compat-1-2"
|
||||
#] }
|
||||
|
||||
rand = "0.8.5"
|
||||
czkawka_core = { version = "6.1.0", path = "../czkawka_core" }
|
||||
|
@ -39,8 +33,8 @@ serde = "1.0"
|
|||
serde_json = "1.0"
|
||||
|
||||
[build-dependencies]
|
||||
#slint-build = "1.2.2"
|
||||
slint-build = { git = "https://github.com/slint-ui/slint.git" }
|
||||
slint-build = "1.3.0"
|
||||
#slint-build = { git = "https://github.com/slint-ui/slint.git" }
|
||||
#slint-build = { path = "/home/rafal/test/slint/api/rs/build/"}
|
||||
|
||||
[features]
|
||||
|
|
|
@ -1,16 +1,21 @@
|
|||
# Krokiet
|
||||
|
||||
Krokiet is new Czkawka frontend written in Slint(written mostly in Rust) in opposite to Gtk 4 frontend which uses mostly C code.
|
||||
Krokiet is new Czkawka frontend written in Slint(written mostly in Rust) in opposite to Gtk 4 frontend which uses mostly
|
||||
C code.
|
||||
|
||||
Different toolkit means different look, limitations and features, so you should not expect same features like in Gtk 4 frontend.
|
||||
Different toolkit means different look, limitations and features, so you should not expect same features like in Gtk 4
|
||||
frontend(but of course I want implement most of features from other project).
|
||||
|
||||
## Requirements
|
||||
|
||||
Krokiet should not have any special runtime requirements - it should work on almost any OpenGL ES 2 capable device.
|
||||
|
||||
Alternatively, it can be run with software rendering.
|
||||
Alternatively, it can be run with software rendering on computers that don't have graphics card.
|
||||
|
||||
## Compilation
|
||||
|
||||
On Ubuntu you need to install this dependencies:
|
||||
|
||||
```
|
||||
sudo apt install libfontconfig-dev libfreetype-dev
|
||||
```
|
||||
|
@ -20,48 +25,66 @@ Default compilation is done by `cargo build --release` and should work on most s
|
|||
You need the latest available version of Rust to compile it, because Krokiet aims to support the latest slint verions,
|
||||
that should provide best experience(fixed more bugs/new features).
|
||||
|
||||
The only exception is building non default skia renderer, that require on windows msvc compiler(not sure how to exactly install it).
|
||||
The only exception is building non default skia renderer, that require on windows msvc compiler(not sure how to exactly
|
||||
install it).
|
||||
|
||||
Also skia renderer is written in C++ and uses on platforms like x86_64 and arm64 prebuild binaries, so if you are using different architecture, this library will be build from source, which can take a lot of time and require additional dependencies.
|
||||
Also skia renderer is written in C++ and uses on platforms like x86_64 and arm64 prebuild binaries, so if you are using
|
||||
different architecture, this library will be build from source, which can take a lot of time and require additional
|
||||
dependencies.
|
||||
|
||||
## Additional Renderers
|
||||
By default, only femtovg(opengl) and software renderer are enabled, but you can enable more renderers by compiling app with additional features.
|
||||
|
||||
Most of the users will want to use app with windowing system/compositor, so features starting with `winit` in name are recommended.
|
||||
By default, only femtovg(opengl) and software renderer are enabled, but you can enable more renderers by compiling app
|
||||
with additional features.
|
||||
|
||||
Most of the users will want to use app with windowing system/compositor, so features starting with `winit` in name are
|
||||
recommended.
|
||||
|
||||
E.g.
|
||||
|
||||
E.g.
|
||||
```
|
||||
cargo build --release --features "winit_skia_opengl"
|
||||
cargo build --release --features "winit_software"
|
||||
```
|
||||
|
||||
to run app with different renderers you need to use it, by adding `SLINT_BACKEND` environment
|
||||
|
||||
```
|
||||
SLINT_BACKEND=winit-femtovg ./target/release/krokiet
|
||||
SLINT_BACKEND=software ./target/release/krokiet
|
||||
SLINT_BACKEND=skia ./target/release/krokiet # This uses now opengl - https://github.com/slint-ui/slint/discussions/3799
|
||||
```
|
||||
|
||||
when you will use invalid/non-existing backend, app will show warning
|
||||
|
||||
```
|
||||
slint winit: unrecognized renderer skia, falling back to FemtoVG
|
||||
```
|
||||
|
||||
to check what is really used, add `SLINT_DEBUG_PERFORMANCE=refresh_lazy,console,overlay` env
|
||||
|
||||
```
|
||||
SLINT_DEBUG_PERFORMANCE=refresh_lazy,console,overlay cargo run
|
||||
```
|
||||
|
||||
should print something like
|
||||
|
||||
```
|
||||
Slint: Build config: debug; Backend: software
|
||||
```
|
||||
|
||||
## Dark/Different theme
|
||||
App was created with white fluent theme by default, but is easily possible to use dark theme by setting `SLINT_STYLE` environment variable to `fluent-dark` during compilation
|
||||
e.g.
|
||||
|
||||
App was created with white fluent theme by default, but is easily possible to use dark theme by setting `SLINT_STYLE`
|
||||
environment variable to `fluent-dark` during compilation
|
||||
e.g.
|
||||
|
||||
```
|
||||
SLINT_STYLE=fluent-dark cargo run -- --path .
|
||||
```
|
||||
|
||||
Slint supports also other themes, but they are not officially supported by this app and may be broken.
|
||||
|
||||
```
|
||||
SLINT_STYLE=cupertino-light cargo run -- --path .
|
||||
SLINT_STYLE=cupertino-dark cargo run -- --path .
|
||||
|
@ -70,12 +93,28 @@ SLINT_STYLE=material-dark cargo run -- --path .
|
|||
```
|
||||
|
||||
## How to help?
|
||||
- Suggesting possible design changes in the gui - of course, they should be possible to be simply implemented in the slint keeping in mind the performance aspect as well
|
||||
- Modifying user interface - gui is written in simple language similar to qml - [slint live preview example](https://slint.dev/releases/1.2.2/editor/?load_demo=examples/printerdemo/ui/printerdemo.slint)
|
||||
|
||||
- Suggesting possible design changes in the gui - of course, they should be possible to be simply implemented in the
|
||||
slint keeping in mind the performance aspect as well
|
||||
- Modifying user interface - gui is written in simple language similar to qml, that can be modified in vscode/web with
|
||||
live preview - [slint live preview example](https://slint.dev/releases/1.2.2/editor/?load_demo=examples/printerdemo/ui/printerdemo.slint)
|
||||
- Improving libraries used by Krokiet e.g. czkawka_core, image-rs etc.
|
||||
- Improving app rust code
|
||||
|
||||
## Missing features available in GTK 4 frontend
|
||||
|
||||
- preview support
|
||||
- selecting/deselecting results
|
||||
- icons in buttons
|
||||
- resizable input files panel
|
||||
- settings
|
||||
- moving files
|
||||
- deleting files
|
||||
- implementing all modes
|
||||
- multiple languages
|
||||
|
||||
## Why Slint?
|
||||
|
||||
There are multiple reasons why I decided to use Slint as toolkit for Krokiet over other toolkits.
|
||||
|
||||
| Toolkit | Pros | Cons |
|
||||
|
@ -86,14 +125,22 @@ There are multiple reasons why I decided to use Slint as toolkit for Krokiet ove
|
|||
| Iced | - ~100% rust code - so compilation is simple </br> - Elm architecture - simple to understand | - Mostly maintained by one person - slows down fixing bugs and implementing new features </br> - GUI can be created only from rust code, which really is bad for creating complex GUIs(mostly due rust compile times) and this is also </br> - Docs are almost non-existent |
|
||||
| Tauri | - Easy to create ui(at least for web developers) - uses html/css/js</br>- Quite portable | - Webview dependency - it is not really lightweight and can be hard to compile on some platforms</br>- Cannot select directory - file chooser only can choose files - small thing but important for me</br>- Not very performant Rust <=> Javascript communication |
|
||||
|
||||
Since I don't have time to create really complex and good looking GUI, I needed a helper tool to create GUI not from Rust(I don't want to use different language, because this will make communication with czkawka_core harder) so I decided to not look at Iced which only allows to create GUI from Rust.
|
||||
Since I don't have time to create really complex and good looking GUI, I needed a helper tool to create GUI not from
|
||||
Rust(I don't want to use different language, because this will make communication with czkawka_core harder) so I decided
|
||||
to not look at Iced which only allows to create GUI from Rust.
|
||||
|
||||
GTK and QT also I throw away due cross compilation problems caused mostly by using C/C++ internally.
|
||||
|
||||
Tauri - I don't really like to use Javascript because I already used it with Qt(C++) + QML + Typescript combination and I found that creating ui in such language may be simple at start but later any bigger changes cause a lot of runtime errors.
|
||||
Tauri - I don't really like to use Javascript because I already used it with Qt(C++) + QML + Typescript combination and
|
||||
I found that creating ui in such language may be simple at start but later any bigger changes cause a lot of runtime
|
||||
errors.
|
||||
|
||||
So only Slint left.
|
||||
So only Slint left with its cons and pros.
|
||||
|
||||
## Name
|
||||
|
||||
Why Krokiet(eng. Croquette)?
|
||||
Because I like croquettes, the ones with meat, mushrooms wrapped in breadcrumbs... it makes my mouth water.
|
||||
Because I like croquettes(Polish version), the ones with meat, mushrooms wrapped in breadcrumbs... it makes my mouth
|
||||
water.
|
||||
I considered also other dishes which I like to eat like pierogi, żurek, pączek, schabowy or zapiekanka.
|
||||
This name should be a lot of easier to remember than Czkawka.
|
Loading…
Reference in a new issue