From 5bc008495eccac78778b16a8fd6b6846e6a8be68 Mon Sep 17 00:00:00 2001 From: Alexander Mohr Date: Sat, 10 May 2025 22:27:41 +0200 Subject: [PATCH] cleanup --- Cargo.lock | 709 +++++++++++++++++++- README.md | 25 +- examples/worf-warden/Readme.md | 9 +- examples/worf-warden/images/worf-warden.png | Bin 0 -> 171087 bytes examples/worf-warden/src/main.rs | 44 +- styles/compact/style.css | 20 +- worf/Cargo.toml | 1 + worf/src/lib/desktop.rs | 22 +- worf/src/lib/gui.rs | 37 +- worf/src/lib/mod.rs | 1 - worf/src/lib/modes/auto.rs | 37 +- worf/src/lib/modes/dmenu.rs | 9 +- worf/src/lib/modes/drun.rs | 18 +- worf/src/lib/modes/emoji.rs | 4 +- worf/src/lib/modes/file.rs | 12 +- worf/src/lib/modes/mod.rs | 9 +- worf/src/lib/modes/run.rs | 12 +- worf/src/lib/modes/ssh.rs | 10 +- worf/src/main.rs | 3 +- 19 files changed, 838 insertions(+), 144 deletions(-) create mode 100644 examples/worf-warden/images/worf-warden.png diff --git a/Cargo.lock b/Cargo.lock index 0988d54..950e04e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -67,13 +67,152 @@ version = "1.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" +[[package]] +name = "async-broadcast" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "435a87a52755b8f27fcf321ac4f04b2802e337c8c4872923137471ec39c37532" +dependencies = [ + "event-listener", + "event-listener-strategy", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-channel" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a" +dependencies = [ + "concurrent-queue", + "event-listener-strategy", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-executor" +version = "1.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb812ffb58524bdd10860d7d974e2f01cc0950c2438a74ee5ec2e2280c6c4ffa" +dependencies = [ + "async-task", + "concurrent-queue", + "fastrand", + "futures-lite", + "pin-project-lite", + "slab", +] + +[[package]] +name = "async-io" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a2b323ccce0a1d90b449fd71f2a06ca7faa7c54c2751f06c9bd851fc061059" +dependencies = [ + "async-lock", + "cfg-if", + "concurrent-queue", + "futures-io", + "futures-lite", + "parking", + "polling", + "rustix 0.38.44", + "slab", + "tracing", + "windows-sys", +] + +[[package]] +name = "async-lock" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" +dependencies = [ + "event-listener", + "event-listener-strategy", + "pin-project-lite", +] + +[[package]] +name = "async-process" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63255f1dc2381611000436537bbedfe83183faa303a5a0edaf191edef06526bb" +dependencies = [ + "async-channel", + "async-io", + "async-lock", + "async-signal", + "async-task", + "blocking", + "cfg-if", + "event-listener", + "futures-lite", + "rustix 0.38.44", + "tracing", +] + +[[package]] +name = "async-recursion" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "async-signal" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "637e00349800c0bdf8bfc21ebbc0b6524abea702b0da4168ac00d070d0c0b9f3" +dependencies = [ + "async-io", + "async-lock", + "atomic-waker", + "cfg-if", + "futures-core", + "futures-io", + "rustix 0.38.44", + "signal-hook-registry", + "slab", + "windows-sys", +] + +[[package]] +name = "async-task" +version = "4.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" + +[[package]] +name = "async-trait" +version = "0.1.88" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + [[package]] name = "atty" version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" dependencies = [ - "hermit-abi", + "hermit-abi 0.1.19", "libc", "winapi", ] @@ -96,6 +235,28 @@ version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" +[[package]] +name = "block2" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "340d2f0bdb2a43c1d3cd40513185b2bd7def0aa1052f956455114bc98f82dcf2" +dependencies = [ + "objc2", +] + +[[package]] +name = "blocking" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "703f41c54fc768e63e091340b424302bb1c29ef4aa0c7f10fe849dfb114d29ea" +dependencies = [ + "async-channel", + "async-task", + "futures-io", + "futures-lite", + "piper", +] + [[package]] name = "cairo-rs" version = "0.20.7" @@ -221,6 +382,15 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" +[[package]] +name = "concurrent-queue" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" +dependencies = [ + "crossbeam-utils", +] + [[package]] name = "crossbeam" version = "0.8.4" @@ -277,6 +447,15 @@ version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" +[[package]] +name = "deranged" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e" +dependencies = [ + "powerfmt", +] + [[package]] name = "dirs" version = "6.0.0" @@ -298,6 +477,16 @@ dependencies = [ "windows-sys", ] +[[package]] +name = "dispatch2" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec" +dependencies = [ + "bitflags 2.9.0", + "objc2", +] + [[package]] name = "downcast-rs" version = "1.2.1" @@ -322,6 +511,33 @@ dependencies = [ "phf", ] +[[package]] +name = "endi" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3d8a32ae18130a3c84dd492d4215c3d913c3b07c6b63c2eb3eb7ff1101ab7bf" + +[[package]] +name = "enumflags2" +version = "0.7.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba2f4b465f5318854c6f8dd686ede6c0a9dc67d4b1ac241cf0eb51521a309147" +dependencies = [ + "enumflags2_derive", + "serde", +] + +[[package]] +name = "enumflags2_derive" +version = "0.7.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc4caf64a58d7a6d65ab00639b046ff54399a39f5f2554728895ace4b297cd79" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + [[package]] name = "env_filter" version = "0.1.3" @@ -367,6 +583,27 @@ dependencies = [ "windows-sys", ] +[[package]] +name = "event-listener" +version = "5.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "event-listener-strategy" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" +dependencies = [ + "event-listener", + "pin-project-lite", +] + [[package]] name = "fastrand" version = "2.3.0" @@ -437,6 +674,19 @@ version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" +[[package]] +name = "futures-lite" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f5edaec856126859abb19ed65f39e90fea3a9574b9707f13539acf4abf7eb532" +dependencies = [ + "fastrand", + "futures-core", + "futures-io", + "parking", + "pin-project-lite", +] + [[package]] name = "futures-macro" version = "0.3.31" @@ -835,6 +1085,18 @@ dependencies = [ "libc", ] +[[package]] +name = "hermit-abi" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + [[package]] name = "indexmap" version = "1.9.3" @@ -952,6 +1214,18 @@ version = "0.4.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" +[[package]] +name = "mac-notification-sys" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b95dfb34071d1592b45622bf93e315e3a72d414b6782aca9a015c12bec367ef" +dependencies = [ + "cc", + "objc2", + "objc2-foundation", + "time", +] + [[package]] name = "memchr" version = "2.7.4" @@ -983,6 +1257,19 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" +[[package]] +name = "nix" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" +dependencies = [ + "bitflags 2.9.0", + "cfg-if", + "cfg_aliases", + "libc", + "memoffset", +] + [[package]] name = "nix" version = "0.30.1" @@ -1011,6 +1298,65 @@ dependencies = [ "minimal-lexical", ] +[[package]] +name = "notify-rust" +version = "4.11.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6442248665a5aa2514e794af3b39661a8e73033b1cc5e59899e1276117ee4400" +dependencies = [ + "futures-lite", + "log", + "mac-notification-sys", + "serde", + "tauri-winrt-notification", + "zbus", +] + +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + +[[package]] +name = "objc2" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88c6597e14493ab2e44ce58f2fdecf095a51f12ca57bec060a11c57332520551" +dependencies = [ + "objc2-encode", +] + +[[package]] +name = "objc2-core-foundation" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c10c2894a6fed806ade6027bcd50662746363a9589d3ec9d9bef30a4e4bc166" +dependencies = [ + "bitflags 2.9.0", + "dispatch2", + "objc2", +] + +[[package]] +name = "objc2-encode" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" + +[[package]] +name = "objc2-foundation" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "900831247d2fe1a09a683278e5384cfb8c80c79fe6b166f9d14bfdde0ea1b03c" +dependencies = [ + "bitflags 2.9.0", + "block2", + "libc", + "objc2", + "objc2-core-foundation", +] + [[package]] name = "once_cell" version = "1.21.3" @@ -1023,6 +1369,16 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" +[[package]] +name = "ordered-stream" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50" +dependencies = [ + "futures-core", + "pin-project-lite", +] + [[package]] name = "os_pipe" version = "1.2.1" @@ -1063,6 +1419,12 @@ dependencies = [ "system-deps", ] +[[package]] +name = "parking" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" + [[package]] name = "petgraph" version = "0.6.5" @@ -1129,12 +1491,38 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +[[package]] +name = "piper" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066" +dependencies = [ + "atomic-waker", + "fastrand", + "futures-io", +] + [[package]] name = "pkg-config" version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" +[[package]] +name = "polling" +version = "3.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a604568c3202727d1507653cb121dbd627a58684eb09a820fd746bee38b4442f" +dependencies = [ + "cfg-if", + "concurrent-queue", + "hermit-abi 0.4.0", + "pin-project-lite", + "rustix 0.38.44", + "tracing", + "windows-sys", +] + [[package]] name = "portable-atomic" version = "1.11.0" @@ -1150,6 +1538,12 @@ dependencies = [ "portable-atomic", ] +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + [[package]] name = "ppv-lite86" version = "0.2.21" @@ -1407,6 +1801,17 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_repr" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + [[package]] name = "serde_spanned" version = "0.6.8" @@ -1422,6 +1827,15 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" +[[package]] +name = "signal-hook-registry" +version = "1.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410" +dependencies = [ + "libc", +] + [[package]] name = "siphasher" version = "0.3.11" @@ -1443,6 +1857,12 @@ version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9" +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + [[package]] name = "strsim" version = "0.10.0" @@ -1496,6 +1916,18 @@ version = "0.12.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" +[[package]] +name = "tauri-winrt-notification" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b1e66e07de489fe43a46678dd0b8df65e0c973909df1b60ba33874e297ba9b9" +dependencies = [ + "quick-xml 0.37.5", + "thiserror", + "windows", + "windows-version", +] + [[package]] name = "tempfile" version = "3.19.1" @@ -1554,6 +1986,25 @@ dependencies = [ "once_cell", ] +[[package]] +name = "time" +version = "0.3.41" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40" +dependencies = [ + "deranged", + "num-conv", + "powerfmt", + "serde", + "time-core", +] + +[[package]] +name = "time-core" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c" + [[package]] name = "tini" version = "1.3.0" @@ -1601,6 +2052,37 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfb942dfe1d8e29a7ee7fcbde5bd2b9a25fb89aa70caea2eba3bee836ff41076" +[[package]] +name = "tracing" +version = "0.1.41" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" +dependencies = [ + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "tracing-core" +version = "0.1.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" +dependencies = [ + "once_cell", +] + [[package]] name = "tree_magic_mini" version = "3.1.6" @@ -1614,6 +2096,17 @@ dependencies = [ "petgraph", ] +[[package]] +name = "uds_windows" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9" +dependencies = [ + "memoffset", + "tempfile", + "winapi", +] + [[package]] name = "unicode-ident" version = "1.0.18" @@ -1766,6 +2259,107 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows" +version = "0.61.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5ee8f3d025738cb02bad7868bbb5f8a6327501e870bf51f1b455b0a2454a419" +dependencies = [ + "windows-collections", + "windows-core", + "windows-future", + "windows-link", + "windows-numerics", +] + +[[package]] +name = "windows-collections" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8" +dependencies = [ + "windows-core", +] + +[[package]] +name = "windows-core" +version = "0.61.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4763c1de310c86d75a878046489e2e5ba02c649d185f21c67d4cf8a56d098980" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-link", + "windows-result", + "windows-strings", +] + +[[package]] +name = "windows-future" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a1d6bbefcb7b60acd19828e1bc965da6fcf18a7e39490c5f8be71e54a19ba32" +dependencies = [ + "windows-core", + "windows-link", +] + +[[package]] +name = "windows-implement" +version = "0.60.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "windows-interface" +version = "0.59.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "windows-link" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38" + +[[package]] +name = "windows-numerics" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" +dependencies = [ + "windows-core", + "windows-link", +] + +[[package]] +name = "windows-result" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c64fd11a4fd95df68efcfee5f44a294fe71b8bc6a91993e2791938abcc712252" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-strings" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a2ba9642430ee452d5a7aa78d72907ebe8cfda358e8cb7918a2050581322f97" +dependencies = [ + "windows-link", +] + [[package]] name = "windows-sys" version = "0.59.0" @@ -1791,6 +2385,15 @@ dependencies = [ "windows_x86_64_msvc", ] +[[package]] +name = "windows-version" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e04a5c6627e310a23ad2358483286c7df260c964eb2d003d8efd6d0f4e79265c" +dependencies = [ + "windows-link", +] + [[package]] name = "windows_aarch64_gnullvm" version = "0.52.6" @@ -1899,7 +2502,8 @@ dependencies = [ "libc", "log", "meval", - "nix", + "nix 0.30.1", + "notify-rust", "rayon", "regex", "serde", @@ -1948,6 +2552,66 @@ dependencies = [ "linked-hash-map", ] +[[package]] +name = "zbus" +version = "5.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2522b82023923eecb0b366da727ec883ace092e7887b61d3da5139f26b44da58" +dependencies = [ + "async-broadcast", + "async-executor", + "async-io", + "async-lock", + "async-process", + "async-recursion", + "async-task", + "async-trait", + "blocking", + "enumflags2", + "event-listener", + "futures-core", + "futures-lite", + "hex", + "nix 0.29.0", + "ordered-stream", + "serde", + "serde_repr", + "tracing", + "uds_windows", + "windows-sys", + "winnow", + "zbus_macros", + "zbus_names", + "zvariant", +] + +[[package]] +name = "zbus_macros" +version = "5.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05d2e12843c75108c00c618c2e8ef9675b50b6ec095b36dc965f2e5aed463c15" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 2.0.101", + "zbus_names", + "zvariant", + "zvariant_utils", +] + +[[package]] +name = "zbus_names" +version = "4.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7be68e64bf6ce8db94f63e72f0c7eb9a60d733f7e0499e628dfab0f84d6bcb97" +dependencies = [ + "serde", + "static_assertions", + "winnow", + "zvariant", +] + [[package]] name = "zerocopy" version = "0.8.25" @@ -1967,3 +2631,44 @@ dependencies = [ "quote", "syn 2.0.101", ] + +[[package]] +name = "zvariant" +version = "5.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "557e89d54880377a507c94cd5452f20e35d14325faf9d2958ebeadce0966c1b2" +dependencies = [ + "endi", + "enumflags2", + "serde", + "winnow", + "zvariant_derive", + "zvariant_utils", +] + +[[package]] +name = "zvariant_derive" +version = "5.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "757779842a0d242061d24c28be589ce392e45350dfb9186dfd7a042a2e19870c" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 2.0.101", + "zvariant_utils", +] + +[[package]] +name = "zvariant_utils" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e16edfee43e5d7b553b77872d99bc36afdda75c223ca7ad5e3fbecd82ca5fc34" +dependencies = [ + "proc-macro2", + "quote", + "serde", + "static_assertions", + "syn 2.0.101", + "winnow", +] diff --git a/README.md b/README.md index 3c66e01..350c96f 100644 --- a/README.md +++ b/README.md @@ -53,18 +53,21 @@ Styling names and classes are inspired by wofi, so most of the documentation and ### Selectors -|name|description| -window|Entire main window| -|outer-box|A box that everything else sits inside of| -|input|Text box for filtering items| -|scroll|Scroll window containing inner-box| -|inner-box|Box containing the menu entries| -|entry|Box containing the text and optionally the image of an entry| -|text|Name of the program/option inserted| -|img|Images displayed in entries| -|row|The row containing the entry, i.e. used to control hover effects| +| name | description | +|-------------------------|---------------------------------------------------------------| +| `window` | Entire main window. | +| `outer-box` | A box that everything else sits inside of. | +| `input` | Text box for filtering items. | +| `scroll` | Scrollable container that holds the `inner-box`. | +| `inner-box` | Box containing the menu entries. | +| `entry` | Box containing the text and optionally the image of an entry. | +| `text` | Name of the program/option displayed in an entry. | +| `img` | Image displayed in an entry (optional). | +| `row` | Row containing the entry, used to control hover effects. | +| `custom-key-label-text` | The label for custom keys | +| `custom-key-label-box` | Box containing the label, can be used for borders etc. | -Checkout more showcases in the styles directory of this repo. +Checkout more showcases in the [styles directory of this repo](styles). ![](styles/compact/example.png) diff --git a/examples/worf-warden/Readme.md b/examples/worf-warden/Readme.md index f826768..b383f57 100644 --- a/examples/worf-warden/Readme.md +++ b/examples/worf-warden/Readme.md @@ -1,11 +1,12 @@ # Worf Warden -Simple password manager build upon +Simple password manager build upon these additional tools aside worf * [rbw](https://github.com/doy/rbw) - * TOTP needs this PR https://github.com/doy/rbw/pull/247 + * TOTP needs [this PR ](https://github.com/doy/rbw/pull/247) + * [pinentry](https://www.gnupg.org/related_software/pinentry/index.en.html) is required to show a dialog show password entry + * As worf warden * [ydotool](https://github.com/ReimuNotMoe/ydotool) The idea it taken from https://github.com/mattydebie/bitwarden-rofi/blob/master/bwmenu -Additional dependencies -* https://www.gnupg.org/related_software/pinentry/index.en.html + diff --git a/examples/worf-warden/images/worf-warden.png b/examples/worf-warden/images/worf-warden.png new file mode 100644 index 0000000000000000000000000000000000000000..b3dfe4dad1e62d0816bd7e004a5b5d9d27328efd GIT binary patch literal 171087 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 z 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

M7q|CE{jvOG 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 literal 0 HcmV?d00001 diff --git a/examples/worf-warden/src/main.rs b/examples/worf-warden/src/main.rs index 396bb94..13c2b41 100644 --- a/examples/worf-warden/src/main.rs +++ b/examples/worf-warden/src/main.rs @@ -4,7 +4,7 @@ use std::process::Command; use std::thread::sleep; use std::time::Duration; use worf_lib::config::Config; -use worf_lib::desktop::spawn_fork; +use worf_lib::desktop::{copy_to_clipboard, spawn_fork}; use worf_lib::gui::{ItemProvider, Key, KeyBinding, MenuItem, Modifier}; use worf_lib::{config, gui}; @@ -215,30 +215,6 @@ fn key_sync() -> KeyBinding { } } -fn key_urls() -> KeyBinding { - KeyBinding { - key: Key::U, - modifiers: Modifier::Alt, - label: "Alt+u Urls".to_string(), - } -} - -fn key_names() -> KeyBinding { - KeyBinding { - key: Key::N, - modifiers: Modifier::Alt, - label: "Alt+n NAmes".to_string(), - } -} - -fn key_folders() -> KeyBinding { - KeyBinding { - key: Key::C, - modifiers: Modifier::Alt, - label: "Alt+c Folders".to_string(), - } -} - /// copies totp to clipboard fn key_totp() -> KeyBinding { KeyBinding { @@ -268,9 +244,6 @@ fn show(config: Config, provider: PasswordProvider) -> Result<(), String> { key_type_password(), key_type_totp(), key_sync(), - key_urls(), - key_names(), - key_folders(), key_totp(), key_lock(), ]), @@ -299,17 +272,14 @@ fn show(config: Config, provider: PasswordProvider) -> Result<(), String> { rbw("lock", None)?; } else if key == key_sync() { rbw("sync", None)?; - } else if key == key_urls() { - todo!("key urls"); - } else if key == key_names() { - todo!("key names"); - } else if key == key_folders() { - todo!("key folders"); } else if key == key_totp() { rbw_get_totp(id, true)?; } } else { - rbw_get_password(id, true)?; + let pw = rbw_get_password(id, true)?; + if let Err(e) = copy_to_clipboard(pw, None) { + log::error!("failed to copy to clipboard: {e}"); + } } Ok(()) } else { @@ -330,7 +300,9 @@ fn main() -> Result<(), String> { let config = config::load_config(Some(&args)).unwrap_or(args); if !groups().contains("input") { - log::error!("User must be in input group. 'sudo usermod -aG input $USER', then login again"); + log::error!( + "User must be in input group. 'sudo usermod -aG input $USER', then login again" + ); std::process::exit(1) } diff --git a/styles/compact/style.css b/styles/compact/style.css index a87c642..81837dd 100644 --- a/styles/compact/style.css +++ b/styles/compact/style.css @@ -1,5 +1,6 @@ * { font-family: DejaVu; + transition: opacity 500ms ease; } #window { @@ -28,12 +29,13 @@ font-family: DejaVu; background-color: rgba(32, 32, 32, 0.6); color: #f2f2f2; border-bottom: 2px solid rgba(214, 174, 2, 1); - padding: 1.2rem 1.2rem 1.2rem 1rem; + padding: 1.2rem; + padding-left: 1rem; font-size: 1rem; } #window #outer-box #scroll { - /* The name of the box containing all of the entries */ + border-top: 2px solid rgba(214, 174, 0, 1); } #window #outer-box #scroll #inner-box { /* The name of all entries */ @@ -48,7 +50,6 @@ font-family: DejaVu; /* The name of all the text in entries */ } #window #outer-box #scroll #inner-box #entry #img { - width: 1rem; margin-right: 0.5rem; } #window #outer-box #scroll #inner-box #entry:selected { @@ -58,7 +59,7 @@ font-family: DejaVu; } #row:hover { - background-color: rgba(255, 255, 255, 0);; + background-color: rgba(255, 255, 255, 0); outline: inherit; outline-color: inherit; } @@ -67,3 +68,14 @@ font-family: DejaVu; outline: inherit; outline-color: inherit; } + +#custom-key-label-box { + margin-top: 0.25em; + margin-bottom: 0.25em; + border-right: 1px solid rgba(214, 174, 0, 1); + border-left: 1px solid rgba(214, 174, 0, 1); + padding-left: 1em; +} + +#custom-key-label-text { + } diff --git a/worf/Cargo.toml b/worf/Cargo.toml index 9475243..bd1681a 100644 --- a/worf/Cargo.toml +++ b/worf/Cargo.toml @@ -51,3 +51,4 @@ rayon = "1.10.0" nix = { version = "0.30.0", features = ["process"] } emoji = "0.2.1" wl-clipboard-rs = "0.9.2" +notify-rust="4.11.7" diff --git a/worf/src/lib/desktop.rs b/worf/src/lib/desktop.rs index eebc34e..6746b8f 100644 --- a/worf/src/lib/desktop.rs +++ b/worf/src/lib/desktop.rs @@ -8,6 +8,7 @@ use std::time::Instant; use std::{env, fs, io}; use freedesktop_file_parser::DesktopFile; +use notify_rust::Notification; use rayon::prelude::*; use regex::Regex; use wl_clipboard_rs::copy::{ClipboardType, MimeType, ServeRequests, Source}; @@ -298,14 +299,29 @@ pub fn is_executable(entry: &Path) -> bool { /// Copy the given text into the clipboard. /// # Errors /// Will return an error if copying to the clipboard failed. -pub fn copy_to_clipboard(text: String) -> Result<(), Error> { +pub fn copy_to_clipboard(text: String, notify_body: Option<&str>) -> Result<(), Error> { let mut opts = wl_clipboard_rs::copy::Options::new(); opts.clipboard(ClipboardType::Regular); opts.serve_requests(ServeRequests::Only(1)); let result = opts.copy(Source::Bytes(text.into_bytes().into()), MimeType::Text); match result { - Ok(()) => Ok(()), - Err(e) => Err(Error::Clipboard(e.to_string())), + Ok(()) => { + let mut notification = Notification::new(); + notification.summary("Copied to clipboard"); + if let Some(notify_body) = notify_body { + notification.body(notify_body); + } + + notification.show().map_err(|e| Error::Io(e.to_string()))?; + Ok(()) + } + Err(e) => { + Notification::new() + .summary("Failed to copy to clipboard") + .show() + .map_err(|e| Error::Io(e.to_string()))?; + Err(Error::Clipboard(e.to_string())) + } } } diff --git a/worf/src/lib/gui.rs b/worf/src/lib/gui.rs index ce00db9..342ab94 100644 --- a/worf/src/lib/gui.rs +++ b/worf/src/lib/gui.rs @@ -794,8 +794,8 @@ fn handle_key_press( { let search_lock = ui.search_text.lock().unwrap(); if let Err(e) = handle_selected_item( - ui.clone(), - meta.clone(), + ui, + Rc::>::clone(meta), Some(&search_lock), None, meta.new_on_empty, @@ -817,8 +817,8 @@ fn handle_key_press( gdk4::Key::Return => { let search_lock = ui.search_text.lock().unwrap(); if let Err(e) = handle_selected_item( - ui.clone(), - meta.clone(), + ui, + Rc::>::clone(meta), Some(&search_lock), None, meta.new_on_empty, @@ -953,7 +953,7 @@ fn close_gui(app: &Application) { } fn handle_selected_item( - ui: Rc>, + ui: &Rc>, meta: Rc>, query: Option<&str>, item: Option>, @@ -964,19 +964,14 @@ where T: Clone + Send + 'static, { if let Some(selected_item) = item { - send_selected_item(ui, meta, custom_key.map(|c| c.clone()), selected_item); + send_selected_item(ui, meta, custom_key.cloned(), selected_item); return Ok(()); } else if let Some(s) = ui.main_box.selected_children().into_iter().next() { let list_items = ui.menu_rows.lock().unwrap(); let item = list_items.get(&s); if let Some(selected_item) = item { if selected_item.visible { - send_selected_item( - ui.clone(), - meta, - custom_key.map(|c| c.clone()), - selected_item.clone(), - ); + send_selected_item(ui, meta, custom_key.cloned(), selected_item.clone()); return Ok(()); } } @@ -995,7 +990,7 @@ where visible: true, }; - send_selected_item(ui, meta, custom_key.map(|c| c.clone()), item); + send_selected_item(ui, meta, custom_key.cloned(), item); Ok(()) } else { Err("selected item cannot be resolved".to_owned()) @@ -1003,14 +998,14 @@ where } fn send_selected_item( - ui: Rc>, + ui: &Rc>, meta: Rc>, custom_key: Option, selected_item: MenuItem, ) where T: Clone + Send + 'static, { - let ui_clone = Rc::clone(&ui); + let ui_clone = Rc::clone(ui); ui.window.connect_hide(move |_| { if let Err(e) = meta.selected_sender.send(Ok(Selection { menu: selected_item.clone(), @@ -1127,8 +1122,8 @@ fn create_menu_row( click.connect_pressed(move |_gesture, n_press, _x, _y| { if n_press == 2 { if let Err(e) = handle_selected_item( - click_ui.clone(), - click_meta.clone(), + &click_ui, + Rc::>::clone(&click_meta), None, Some(element_clone.clone()), false, @@ -1278,12 +1273,8 @@ fn set_menu_visibility_for_search( } } MatchMethod::MultiContains => { - let score = query - .split(' ') - .filter(|i| menu_item_search.contains(i)) - .map(|_| 1.0) - .sum(); - (score, score > 0.0) + let contains = query.split(' ').all(|x| menu_item_search.contains(x)); + (if contains { 1.0 } else { 0.0 }, contains) } }; diff --git a/worf/src/lib/mod.rs b/worf/src/lib/mod.rs index 5997d9a..365eb4e 100644 --- a/worf/src/lib/mod.rs +++ b/worf/src/lib/mod.rs @@ -9,7 +9,6 @@ pub mod gui; /// Out of the box supported modes, like drun, dmenu, etc... pub mod modes; - /// Defines error the lib can encounter #[derive(Debug, PartialEq)] pub enum Error { diff --git a/worf/src/lib/modes/auto.rs b/worf/src/lib/modes/auto.rs index 7867a54..3413bbd 100644 --- a/worf/src/lib/modes/auto.rs +++ b/worf/src/lib/modes/auto.rs @@ -1,14 +1,14 @@ -use regex::Regex; use crate::config::Config; use crate::desktop::{copy_to_clipboard, spawn_fork}; -use crate::{gui, Error}; use crate::gui::{ItemProvider, MenuItem}; -use crate::modes::math::MathProvider; -use crate::modes::drun::{update_drun_cache_and_run, DRunProvider}; +use crate::modes::drun::{DRunProvider, update_drun_cache_and_run}; use crate::modes::emoji::EmojiProvider; use crate::modes::file::FileItemProvider; +use crate::modes::math::MathProvider; use crate::modes::ssh; use crate::modes::ssh::SshProvider; +use crate::{Error, gui}; +use regex::Regex; #[derive(Debug, Clone, PartialEq)] enum AutoRunType { @@ -78,19 +78,17 @@ impl ItemProvider for AutoItemProvider { _ => return self.default_auto_elements(search_opt), }; - let (mode, (changed, items)) = - if contains_math_functions_or_starts_with_number(search) { - (AutoRunType::Math, self.math.get_elements(search_opt)) - } else if search.starts_with('$') || search.starts_with('/') || search.starts_with('~') - { - (AutoRunType::File, self.file.get_elements(search_opt)) - } else if search.starts_with("ssh") { - (AutoRunType::Ssh, self.ssh.get_elements(search_opt)) - } else if search.starts_with("emoji") { - (AutoRunType::Emoji, self.emoji.get_elements(search_opt)) - } else { - return self.default_auto_elements(search_opt); - }; + let (mode, (changed, items)) = if contains_math_functions_or_starts_with_number(search) { + (AutoRunType::Math, self.math.get_elements(search_opt)) + } else if search.starts_with('$') || search.starts_with('/') || search.starts_with('~') { + (AutoRunType::File, self.file.get_elements(search_opt)) + } else if search.starts_with("ssh") { + (AutoRunType::Ssh, self.ssh.get_elements(search_opt)) + } else if search.starts_with("emoji") { + (AutoRunType::Emoji, self.emoji.get_elements(search_opt)) + } else { + return self.default_auto_elements(search_opt); + }; if self.last_mode.as_ref().is_some_and(|m| m == &mode) { (changed, items) @@ -109,7 +107,6 @@ impl ItemProvider for AutoItemProvider { } } - /// Shows the auto mode /// # Errors /// @@ -161,7 +158,7 @@ pub fn show(config: &Config) -> Result<(), Error> { } AutoRunType::Emoji => { if let Some(action) = selection_result.action { - copy_to_clipboard(action)?; + copy_to_clipboard(action, None)?; } else { return Err(Error::MissingAction); } @@ -179,4 +176,4 @@ pub fn show(config: &Config) -> Result<(), Error> { } Ok(()) -} \ No newline at end of file +} diff --git a/worf/src/lib/modes/dmenu.rs b/worf/src/lib/modes/dmenu.rs index d8c5759..dda55cf 100644 --- a/worf/src/lib/modes/dmenu.rs +++ b/worf/src/lib/modes/dmenu.rs @@ -1,8 +1,8 @@ +use crate::config::{Config, SortOrder}; +use crate::gui::{ItemProvider, MenuItem}; +use crate::{Error, gui}; use std::io; use std::io::Read; -use crate::config::{Config, SortOrder}; -use crate::{gui, Error}; -use crate::gui::{ItemProvider, MenuItem}; #[derive(Clone)] struct DMenuProvider { @@ -37,7 +37,6 @@ impl ItemProvider for DMenuProvider { } } - /// Shows the dmenu mode /// # Errors /// @@ -53,4 +52,4 @@ pub fn show(config: &Config) -> Result<(), Error> { } Err(_) => Err(Error::InvalidSelection), } -} \ No newline at end of file +} diff --git a/worf/src/lib/modes/drun.rs b/worf/src/lib/modes/drun.rs index 8e6c064..f420f0a 100644 --- a/worf/src/lib/modes/drun.rs +++ b/worf/src/lib/modes/drun.rs @@ -1,14 +1,16 @@ -use std::collections::{HashMap, HashSet}; -use std::path::PathBuf; -use std::time::Instant; +use crate::config::{Config, SortOrder}; +use crate::desktop::{ + find_desktop_files, get_locale_variants, lookup_name_with_locale, save_cache_file, spawn_fork, +}; +use crate::gui::{ItemProvider, MenuItem}; +use crate::modes::load_cache; +use crate::{Error, gui}; use freedesktop_file_parser::EntryType; use rayon::prelude::*; use serde::{Deserialize, Serialize}; -use crate::config::{Config, SortOrder}; -use crate::desktop::{find_desktop_files, get_locale_variants, lookup_name_with_locale, save_cache_file, spawn_fork}; -use crate::{gui, Error}; -use crate::gui::{ItemProvider, MenuItem}; -use crate::modes::load_cache; +use std::collections::{HashMap, HashSet}; +use std::path::PathBuf; +use std::time::Instant; #[derive(Debug, Deserialize, Serialize, Clone)] struct DRunCache { diff --git a/worf/src/lib/modes/emoji.rs b/worf/src/lib/modes/emoji.rs index e782761..16f12a0 100644 --- a/worf/src/lib/modes/emoji.rs +++ b/worf/src/lib/modes/emoji.rs @@ -1,7 +1,7 @@ use crate::config::{Config, SortOrder}; -use crate::{gui, Error}; use crate::desktop::copy_to_clipboard; use crate::gui::{ItemProvider, MenuItem}; +use crate::{Error, gui}; #[derive(Clone)] pub(crate) struct EmojiProvider { @@ -55,6 +55,6 @@ pub fn show(config: &Config) -> Result<(), Error> { let selection_result = gui::show(config.clone(), provider, true, None, None)?; match selection_result.menu.action { None => Err(Error::MissingAction), - Some(action) => copy_to_clipboard(action), + Some(action) => copy_to_clipboard(action, None), } } diff --git a/worf/src/lib/modes/file.rs b/worf/src/lib/modes/file.rs index 24bc795..072a5a7 100644 --- a/worf/src/lib/modes/file.rs +++ b/worf/src/lib/modes/file.rs @@ -1,11 +1,11 @@ +use crate::config::{Config, SortOrder, expand_path}; +use crate::desktop::spawn_fork; +use crate::gui::{ItemProvider, MenuItem}; +use crate::{Error, gui}; +use regex::Regex; use std::fs; use std::os::unix::fs::FileTypeExt; use std::path::{Path, PathBuf}; -use regex::Regex; -use crate::config::{expand_path, Config, SortOrder}; -use crate::{gui, Error}; -use crate::desktop::spawn_fork; -use crate::gui::{ItemProvider, MenuItem}; #[derive(Clone)] pub(crate) struct FileItemProvider { @@ -185,8 +185,6 @@ impl ItemProvider for FileItemProvider { } } - - /// Shows the file browser mode /// # Errors /// diff --git a/worf/src/lib/modes/mod.rs b/worf/src/lib/modes/mod.rs index e5d4706..efc9be5 100644 --- a/worf/src/lib/modes/mod.rs +++ b/worf/src/lib/modes/mod.rs @@ -1,16 +1,15 @@ +use crate::desktop::{create_file_if_not_exists, load_cache_file}; use std::collections::HashMap; use std::path::PathBuf; -use crate::desktop::{create_file_if_not_exists, load_cache_file}; +pub mod auto; pub mod dmenu; +pub mod drun; +pub mod emoji; pub mod file; pub mod math; -pub mod auto; -pub mod drun; pub mod run; pub mod ssh; -pub mod emoji; - pub(crate) fn load_cache(cache_path: Option) -> (Option, HashMap) { let cache = { diff --git a/worf/src/lib/modes/run.rs b/worf/src/lib/modes/run.rs index d11476e..6df35a3 100644 --- a/worf/src/lib/modes/run.rs +++ b/worf/src/lib/modes/run.rs @@ -1,12 +1,12 @@ -use std::collections::{HashMap, HashSet}; -use std::{env, fs}; -use std::ffi::CString; -use std::path::PathBuf; use crate::config::{Config, SortOrder}; use crate::desktop::{is_executable, save_cache_file}; -use crate::{gui, Error}; use crate::gui::{ItemProvider, MenuItem}; use crate::modes::load_cache; +use crate::{Error, gui}; +use std::collections::{HashMap, HashSet}; +use std::ffi::CString; +use std::path::PathBuf; +use std::{env, fs}; impl ItemProvider for RunProvider { fn get_elements(&mut self, _: Option<&str>) -> (bool, Vec>) { @@ -92,7 +92,6 @@ impl RunProvider { } } - fn load_run_cache() -> (Option, HashMap) { let cache_path = dirs::cache_dir().map(|x| x.join("worf-run")); load_cache(cache_path) @@ -122,7 +121,6 @@ fn update_run_cache_and_run( } } - /// Shows the run mode /// # Errors /// diff --git a/worf/src/lib/modes/ssh.rs b/worf/src/lib/modes/ssh.rs index 4f84d17..eca7848 100644 --- a/worf/src/lib/modes/ssh.rs +++ b/worf/src/lib/modes/ssh.rs @@ -1,9 +1,9 @@ -use std::fs; -use regex::Regex; use crate::config::{Config, SortOrder}; -use crate::{gui, Error}; use crate::desktop::spawn_fork; use crate::gui::{ItemProvider, MenuItem}; +use crate::{Error, gui}; +use regex::Regex; +use std::fs; #[derive(Clone)] pub(crate) struct SshProvider { @@ -12,7 +12,7 @@ pub(crate) struct SshProvider { impl SshProvider { pub(crate) fn new(menu_item_data: T, order: &SortOrder) -> Self { - let re = Regex::new(r"(?m)^\s*Host\s+(.+)$").unwrap(); + let re = Regex::new(r"(?m)^\s*Host\s+(.+)$").unwrap(); let mut items: Vec<_> = dirs::home_dir() .map(|home| home.join(".ssh").join("config")) .filter(|path| path.exists()) @@ -92,4 +92,4 @@ pub fn show(config: &Config) -> Result<(), Error> { log::error!("No item selected"); } Ok(()) -} \ No newline at end of file +} diff --git a/worf/src/main.rs b/worf/src/main.rs index 988e1be..7a43ae3 100644 --- a/worf/src/main.rs +++ b/worf/src/main.rs @@ -2,7 +2,8 @@ use std::env; use anyhow::anyhow; use worf_lib::config::Mode; -use worf_lib::{Error, config, mode, modes}; +use worf_lib::{Error, config, modes}; + fn main() -> anyhow::Result<()> { env_logger::Builder::new() .parse_filters(&env::var("RUST_LOG").unwrap_or_else(|_| "error".to_owned()))