├── .envrc ├── .gitignore ├── Cargo.lock ├── Cargo.toml ├── Dockerfile ├── LICENSE ├── README.md ├── docker-compose.yml ├── flake.lock ├── flake.nix ├── nix ├── devshell.nix ├── homeManagerModules │ └── realtime-stt-server.nix ├── nixosModules │ └── realtime-stt-server.nix └── packages │ ├── realtime-stt-server.nix │ ├── realtime-stt.nix │ └── whisper-overlay.nix ├── realtime-stt-server.py └── src ├── app.rs ├── cli.rs ├── hotkeys.rs ├── keyboard.rs ├── main.rs ├── style.css ├── util.rs └── waybar.rs /.envrc: -------------------------------------------------------------------------------- 1 | use flake 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .direnv 2 | result* 3 | .pre-commit-config.yaml 4 | /target/ 5 | -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | version = 3 4 | 5 | [[package]] 6 | name = "addr2line" 7 | version = "0.21.0" 8 | source = "registry+https://github.com/rust-lang/crates.io-index" 9 | checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" 10 | dependencies = [ 11 | "gimli", 12 | ] 13 | 14 | [[package]] 15 | name = "adler" 16 | version = "1.0.2" 17 | source = "registry+https://github.com/rust-lang/crates.io-index" 18 | checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" 19 | 20 | [[package]] 21 | name = "aho-corasick" 22 | version = "1.1.3" 23 | source = "registry+https://github.com/rust-lang/crates.io-index" 24 | checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" 25 | dependencies = [ 26 | "memchr", 27 | ] 28 | 29 | [[package]] 30 | name = "alsa" 31 | version = "0.9.0" 32 | source = "registry+https://github.com/rust-lang/crates.io-index" 33 | checksum = "37fe60779335388a88c01ac6c3be40304d1e349de3ada3b15f7808bb90fa9dce" 34 | dependencies = [ 35 | "alsa-sys", 36 | "bitflags 2.5.0", 37 | "libc", 38 | ] 39 | 40 | [[package]] 41 | name = "alsa-sys" 42 | version = "0.3.1" 43 | source = "registry+https://github.com/rust-lang/crates.io-index" 44 | checksum = "db8fee663d06c4e303404ef5f40488a53e062f89ba8bfed81f42325aafad1527" 45 | dependencies = [ 46 | "libc", 47 | "pkg-config", 48 | ] 49 | 50 | [[package]] 51 | name = "anstream" 52 | version = "0.6.14" 53 | source = "registry+https://github.com/rust-lang/crates.io-index" 54 | checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" 55 | dependencies = [ 56 | "anstyle", 57 | "anstyle-parse", 58 | "anstyle-query", 59 | "anstyle-wincon", 60 | "colorchoice", 61 | "is_terminal_polyfill", 62 | "utf8parse", 63 | ] 64 | 65 | [[package]] 66 | name = "anstyle" 67 | version = "1.0.7" 68 | source = "registry+https://github.com/rust-lang/crates.io-index" 69 | checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" 70 | 71 | [[package]] 72 | name = "anstyle-parse" 73 | version = "0.2.4" 74 | source = "registry+https://github.com/rust-lang/crates.io-index" 75 | checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" 76 | dependencies = [ 77 | "utf8parse", 78 | ] 79 | 80 | [[package]] 81 | name = "anstyle-query" 82 | version = "1.1.0" 83 | source = "registry+https://github.com/rust-lang/crates.io-index" 84 | checksum = "ad186efb764318d35165f1758e7dcef3b10628e26d41a44bc5550652e6804391" 85 | dependencies = [ 86 | "windows-sys 0.52.0", 87 | ] 88 | 89 | [[package]] 90 | name = "anstyle-wincon" 91 | version = "3.0.3" 92 | source = "registry+https://github.com/rust-lang/crates.io-index" 93 | checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" 94 | dependencies = [ 95 | "anstyle", 96 | "windows-sys 0.52.0", 97 | ] 98 | 99 | [[package]] 100 | name = "async-channel" 101 | version = "2.3.1" 102 | source = "registry+https://github.com/rust-lang/crates.io-index" 103 | checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a" 104 | dependencies = [ 105 | "concurrent-queue", 106 | "event-listener-strategy", 107 | "futures-core", 108 | "pin-project-lite", 109 | ] 110 | 111 | [[package]] 112 | name = "autocfg" 113 | version = "1.3.0" 114 | source = "registry+https://github.com/rust-lang/crates.io-index" 115 | checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" 116 | 117 | [[package]] 118 | name = "backtrace" 119 | version = "0.3.71" 120 | source = "registry+https://github.com/rust-lang/crates.io-index" 121 | checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" 122 | dependencies = [ 123 | "addr2line", 124 | "cc", 125 | "cfg-if", 126 | "libc", 127 | "miniz_oxide", 128 | "object", 129 | "rustc-demangle", 130 | ] 131 | 132 | [[package]] 133 | name = "bindgen" 134 | version = "0.69.4" 135 | source = "registry+https://github.com/rust-lang/crates.io-index" 136 | checksum = "a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0" 137 | dependencies = [ 138 | "bitflags 2.5.0", 139 | "cexpr", 140 | "clang-sys", 141 | "itertools", 142 | "lazy_static", 143 | "lazycell", 144 | "proc-macro2", 145 | "quote", 146 | "regex", 147 | "rustc-hash", 148 | "shlex", 149 | "syn", 150 | ] 151 | 152 | [[package]] 153 | name = "bitflags" 154 | version = "1.3.2" 155 | source = "registry+https://github.com/rust-lang/crates.io-index" 156 | checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" 157 | 158 | [[package]] 159 | name = "bitflags" 160 | version = "2.5.0" 161 | source = "registry+https://github.com/rust-lang/crates.io-index" 162 | checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" 163 | 164 | [[package]] 165 | name = "bitvec" 166 | version = "1.0.1" 167 | source = "registry+https://github.com/rust-lang/crates.io-index" 168 | checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" 169 | dependencies = [ 170 | "funty", 171 | "radium", 172 | "tap", 173 | "wyz", 174 | ] 175 | 176 | [[package]] 177 | name = "block-sys" 178 | version = "0.2.1" 179 | source = "registry+https://github.com/rust-lang/crates.io-index" 180 | checksum = "ae85a0696e7ea3b835a453750bf002770776609115e6d25c6d2ff28a8200f7e7" 181 | dependencies = [ 182 | "objc-sys", 183 | ] 184 | 185 | [[package]] 186 | name = "block2" 187 | version = "0.4.0" 188 | source = "registry+https://github.com/rust-lang/crates.io-index" 189 | checksum = "e58aa60e59d8dbfcc36138f5f18be5f24394d33b38b24f7fd0b1caa33095f22f" 190 | dependencies = [ 191 | "block-sys", 192 | "objc2", 193 | ] 194 | 195 | [[package]] 196 | name = "bumpalo" 197 | version = "3.16.0" 198 | source = "registry+https://github.com/rust-lang/crates.io-index" 199 | checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" 200 | 201 | [[package]] 202 | name = "bytemuck" 203 | version = "1.16.0" 204 | source = "registry+https://github.com/rust-lang/crates.io-index" 205 | checksum = "78834c15cb5d5efe3452d58b1e8ba890dd62d21907f867f383358198e56ebca5" 206 | 207 | [[package]] 208 | name = "bytes" 209 | version = "1.6.0" 210 | source = "registry+https://github.com/rust-lang/crates.io-index" 211 | checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" 212 | 213 | [[package]] 214 | name = "cairo-rs" 215 | version = "0.19.4" 216 | source = "registry+https://github.com/rust-lang/crates.io-index" 217 | checksum = "b2ac2a4d0e69036cf0062976f6efcba1aaee3e448594e6514bb2ddf87acce562" 218 | dependencies = [ 219 | "bitflags 2.5.0", 220 | "cairo-sys-rs", 221 | "glib", 222 | "libc", 223 | "thiserror", 224 | ] 225 | 226 | [[package]] 227 | name = "cairo-sys-rs" 228 | version = "0.19.2" 229 | source = "registry+https://github.com/rust-lang/crates.io-index" 230 | checksum = "fd3bb3119664efbd78b5e6c93957447944f16bdbced84c17a9f41c7829b81e64" 231 | dependencies = [ 232 | "glib-sys", 233 | "libc", 234 | "system-deps", 235 | ] 236 | 237 | [[package]] 238 | name = "cc" 239 | version = "1.0.99" 240 | source = "registry+https://github.com/rust-lang/crates.io-index" 241 | checksum = "96c51067fd44124faa7f870b4b1c969379ad32b2ba805aa959430ceaa384f695" 242 | dependencies = [ 243 | "jobserver", 244 | "libc", 245 | "once_cell", 246 | ] 247 | 248 | [[package]] 249 | name = "cesu8" 250 | version = "1.1.0" 251 | source = "registry+https://github.com/rust-lang/crates.io-index" 252 | checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" 253 | 254 | [[package]] 255 | name = "cexpr" 256 | version = "0.6.0" 257 | source = "registry+https://github.com/rust-lang/crates.io-index" 258 | checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" 259 | dependencies = [ 260 | "nom", 261 | ] 262 | 263 | [[package]] 264 | name = "cfg-expr" 265 | version = "0.15.8" 266 | source = "registry+https://github.com/rust-lang/crates.io-index" 267 | checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02" 268 | dependencies = [ 269 | "smallvec", 270 | "target-lexicon", 271 | ] 272 | 273 | [[package]] 274 | name = "cfg-if" 275 | version = "1.0.0" 276 | source = "registry+https://github.com/rust-lang/crates.io-index" 277 | checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" 278 | 279 | [[package]] 280 | name = "clang-sys" 281 | version = "1.8.1" 282 | source = "registry+https://github.com/rust-lang/crates.io-index" 283 | checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" 284 | dependencies = [ 285 | "glob", 286 | "libc", 287 | "libloading", 288 | ] 289 | 290 | [[package]] 291 | name = "clap" 292 | version = "4.5.7" 293 | source = "registry+https://github.com/rust-lang/crates.io-index" 294 | checksum = "5db83dced34638ad474f39f250d7fea9598bdd239eaced1bdf45d597da0f433f" 295 | dependencies = [ 296 | "clap_builder", 297 | "clap_derive", 298 | ] 299 | 300 | [[package]] 301 | name = "clap_builder" 302 | version = "4.5.7" 303 | source = "registry+https://github.com/rust-lang/crates.io-index" 304 | checksum = "f7e204572485eb3fbf28f871612191521df159bc3e15a9f5064c66dba3a8c05f" 305 | dependencies = [ 306 | "anstream", 307 | "anstyle", 308 | "clap_lex", 309 | "strsim", 310 | ] 311 | 312 | [[package]] 313 | name = "clap_derive" 314 | version = "4.5.5" 315 | source = "registry+https://github.com/rust-lang/crates.io-index" 316 | checksum = "c780290ccf4fb26629baa7a1081e68ced113f1d3ec302fa5948f1c381ebf06c6" 317 | dependencies = [ 318 | "heck", 319 | "proc-macro2", 320 | "quote", 321 | "syn", 322 | ] 323 | 324 | [[package]] 325 | name = "clap_lex" 326 | version = "0.7.1" 327 | source = "registry+https://github.com/rust-lang/crates.io-index" 328 | checksum = "4b82cf0babdbd58558212896d1a4272303a57bdb245c2bf1147185fb45640e70" 329 | 330 | [[package]] 331 | name = "color-eyre" 332 | version = "0.6.3" 333 | source = "registry+https://github.com/rust-lang/crates.io-index" 334 | checksum = "55146f5e46f237f7423d74111267d4597b59b0dad0ffaf7303bce9945d843ad5" 335 | dependencies = [ 336 | "backtrace", 337 | "color-spantrace", 338 | "eyre", 339 | "indenter", 340 | "once_cell", 341 | "owo-colors", 342 | "tracing-error", 343 | ] 344 | 345 | [[package]] 346 | name = "color-spantrace" 347 | version = "0.2.1" 348 | source = "registry+https://github.com/rust-lang/crates.io-index" 349 | checksum = "cd6be1b2a7e382e2b98b43b2adcca6bb0e465af0bdd38123873ae61eb17a72c2" 350 | dependencies = [ 351 | "once_cell", 352 | "owo-colors", 353 | "tracing-core", 354 | "tracing-error", 355 | ] 356 | 357 | [[package]] 358 | name = "colorchoice" 359 | version = "1.0.1" 360 | source = "registry+https://github.com/rust-lang/crates.io-index" 361 | checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" 362 | 363 | [[package]] 364 | name = "colorgrad" 365 | version = "0.6.2" 366 | source = "registry+https://github.com/rust-lang/crates.io-index" 367 | checksum = "6a5f405d474b9d05e0a093d3120e77e9bf26461b57a84b40aa2a221ac5617fb6" 368 | dependencies = [ 369 | "csscolorparser", 370 | ] 371 | 372 | [[package]] 373 | name = "combine" 374 | version = "4.6.7" 375 | source = "registry+https://github.com/rust-lang/crates.io-index" 376 | checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" 377 | dependencies = [ 378 | "bytes", 379 | "memchr", 380 | ] 381 | 382 | [[package]] 383 | name = "concurrent-queue" 384 | version = "2.5.0" 385 | source = "registry+https://github.com/rust-lang/crates.io-index" 386 | checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" 387 | dependencies = [ 388 | "crossbeam-utils", 389 | ] 390 | 391 | [[package]] 392 | name = "core-foundation" 393 | version = "0.9.4" 394 | source = "registry+https://github.com/rust-lang/crates.io-index" 395 | checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" 396 | dependencies = [ 397 | "core-foundation-sys", 398 | "libc", 399 | ] 400 | 401 | [[package]] 402 | name = "core-foundation-sys" 403 | version = "0.8.6" 404 | source = "registry+https://github.com/rust-lang/crates.io-index" 405 | checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" 406 | 407 | [[package]] 408 | name = "core-graphics" 409 | version = "0.23.2" 410 | source = "registry+https://github.com/rust-lang/crates.io-index" 411 | checksum = "c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081" 412 | dependencies = [ 413 | "bitflags 1.3.2", 414 | "core-foundation", 415 | "core-graphics-types", 416 | "foreign-types", 417 | "libc", 418 | ] 419 | 420 | [[package]] 421 | name = "core-graphics-types" 422 | version = "0.1.3" 423 | source = "registry+https://github.com/rust-lang/crates.io-index" 424 | checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf" 425 | dependencies = [ 426 | "bitflags 1.3.2", 427 | "core-foundation", 428 | "libc", 429 | ] 430 | 431 | [[package]] 432 | name = "coreaudio-rs" 433 | version = "0.11.3" 434 | source = "registry+https://github.com/rust-lang/crates.io-index" 435 | checksum = "321077172d79c662f64f5071a03120748d5bb652f5231570141be24cfcd2bace" 436 | dependencies = [ 437 | "bitflags 1.3.2", 438 | "core-foundation-sys", 439 | "coreaudio-sys", 440 | ] 441 | 442 | [[package]] 443 | name = "coreaudio-sys" 444 | version = "0.2.15" 445 | source = "registry+https://github.com/rust-lang/crates.io-index" 446 | checksum = "7f01585027057ff5f0a5bf276174ae4c1594a2c5bde93d5f46a016d76270f5a9" 447 | dependencies = [ 448 | "bindgen", 449 | ] 450 | 451 | [[package]] 452 | name = "cpal" 453 | version = "0.15.3" 454 | source = "registry+https://github.com/rust-lang/crates.io-index" 455 | checksum = "873dab07c8f743075e57f524c583985fbaf745602acbe916a01539364369a779" 456 | dependencies = [ 457 | "alsa", 458 | "core-foundation-sys", 459 | "coreaudio-rs", 460 | "dasp_sample", 461 | "jni", 462 | "js-sys", 463 | "libc", 464 | "mach2", 465 | "ndk", 466 | "ndk-context", 467 | "oboe", 468 | "wasm-bindgen", 469 | "wasm-bindgen-futures", 470 | "web-sys", 471 | "windows 0.54.0", 472 | ] 473 | 474 | [[package]] 475 | name = "crossbeam-channel" 476 | version = "0.5.13" 477 | source = "registry+https://github.com/rust-lang/crates.io-index" 478 | checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" 479 | dependencies = [ 480 | "crossbeam-utils", 481 | ] 482 | 483 | [[package]] 484 | name = "crossbeam-utils" 485 | version = "0.8.20" 486 | source = "registry+https://github.com/rust-lang/crates.io-index" 487 | checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" 488 | 489 | [[package]] 490 | name = "csscolorparser" 491 | version = "0.6.2" 492 | source = "registry+https://github.com/rust-lang/crates.io-index" 493 | checksum = "eb2a7d3066da2de787b7f032c736763eb7ae5d355f81a68bab2675a96008b0bf" 494 | dependencies = [ 495 | "phf", 496 | ] 497 | 498 | [[package]] 499 | name = "dasp_sample" 500 | version = "0.11.0" 501 | source = "registry+https://github.com/rust-lang/crates.io-index" 502 | checksum = "0c87e182de0887fd5361989c677c4e8f5000cd9491d6d563161a8f3a5519fc7f" 503 | 504 | [[package]] 505 | name = "dlib" 506 | version = "0.5.2" 507 | source = "registry+https://github.com/rust-lang/crates.io-index" 508 | checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412" 509 | dependencies = [ 510 | "libloading", 511 | ] 512 | 513 | [[package]] 514 | name = "downcast-rs" 515 | version = "1.2.1" 516 | source = "registry+https://github.com/rust-lang/crates.io-index" 517 | checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" 518 | 519 | [[package]] 520 | name = "either" 521 | version = "1.12.0" 522 | source = "registry+https://github.com/rust-lang/crates.io-index" 523 | checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" 524 | 525 | [[package]] 526 | name = "enigo" 527 | version = "0.2.1" 528 | source = "registry+https://github.com/rust-lang/crates.io-index" 529 | checksum = "0087a01fc8591217447d28005379fb5a183683cc83f0a4707af28cc6603f70fb" 530 | dependencies = [ 531 | "core-graphics", 532 | "foreign-types-shared", 533 | "icrate", 534 | "libc", 535 | "log", 536 | "objc2", 537 | "tempfile", 538 | "wayland-client", 539 | "wayland-protocols-misc", 540 | "wayland-protocols-plasma", 541 | "wayland-protocols-wlr", 542 | "windows 0.56.0", 543 | "xkbcommon", 544 | "xkeysym", 545 | ] 546 | 547 | [[package]] 548 | name = "equivalent" 549 | version = "1.0.1" 550 | source = "registry+https://github.com/rust-lang/crates.io-index" 551 | checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" 552 | 553 | [[package]] 554 | name = "errno" 555 | version = "0.3.9" 556 | source = "registry+https://github.com/rust-lang/crates.io-index" 557 | checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" 558 | dependencies = [ 559 | "libc", 560 | "windows-sys 0.52.0", 561 | ] 562 | 563 | [[package]] 564 | name = "evdev" 565 | version = "0.12.2" 566 | source = "registry+https://github.com/rust-lang/crates.io-index" 567 | checksum = "ab6055a93a963297befb0f4f6e18f314aec9767a4bbe88b151126df2433610a7" 568 | dependencies = [ 569 | "bitvec", 570 | "cfg-if", 571 | "futures-core", 572 | "libc", 573 | "nix", 574 | "thiserror", 575 | "tokio", 576 | ] 577 | 578 | [[package]] 579 | name = "event-listener" 580 | version = "5.3.1" 581 | source = "registry+https://github.com/rust-lang/crates.io-index" 582 | checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" 583 | dependencies = [ 584 | "concurrent-queue", 585 | "parking", 586 | "pin-project-lite", 587 | ] 588 | 589 | [[package]] 590 | name = "event-listener-strategy" 591 | version = "0.5.2" 592 | source = "registry+https://github.com/rust-lang/crates.io-index" 593 | checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" 594 | dependencies = [ 595 | "event-listener", 596 | "pin-project-lite", 597 | ] 598 | 599 | [[package]] 600 | name = "eyre" 601 | version = "0.6.12" 602 | source = "registry+https://github.com/rust-lang/crates.io-index" 603 | checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec" 604 | dependencies = [ 605 | "indenter", 606 | "once_cell", 607 | ] 608 | 609 | [[package]] 610 | name = "fastrand" 611 | version = "2.1.0" 612 | source = "registry+https://github.com/rust-lang/crates.io-index" 613 | checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" 614 | 615 | [[package]] 616 | name = "field-offset" 617 | version = "0.3.6" 618 | source = "registry+https://github.com/rust-lang/crates.io-index" 619 | checksum = "38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f" 620 | dependencies = [ 621 | "memoffset 0.9.1", 622 | "rustc_version", 623 | ] 624 | 625 | [[package]] 626 | name = "filetime" 627 | version = "0.2.23" 628 | source = "registry+https://github.com/rust-lang/crates.io-index" 629 | checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd" 630 | dependencies = [ 631 | "cfg-if", 632 | "libc", 633 | "redox_syscall 0.4.1", 634 | "windows-sys 0.52.0", 635 | ] 636 | 637 | [[package]] 638 | name = "foreign-types" 639 | version = "0.5.0" 640 | source = "registry+https://github.com/rust-lang/crates.io-index" 641 | checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" 642 | dependencies = [ 643 | "foreign-types-macros", 644 | "foreign-types-shared", 645 | ] 646 | 647 | [[package]] 648 | name = "foreign-types-macros" 649 | version = "0.2.3" 650 | source = "registry+https://github.com/rust-lang/crates.io-index" 651 | checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" 652 | dependencies = [ 653 | "proc-macro2", 654 | "quote", 655 | "syn", 656 | ] 657 | 658 | [[package]] 659 | name = "foreign-types-shared" 660 | version = "0.3.1" 661 | source = "registry+https://github.com/rust-lang/crates.io-index" 662 | checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" 663 | 664 | [[package]] 665 | name = "fsevent-sys" 666 | version = "4.1.0" 667 | source = "registry+https://github.com/rust-lang/crates.io-index" 668 | checksum = "76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2" 669 | dependencies = [ 670 | "libc", 671 | ] 672 | 673 | [[package]] 674 | name = "funty" 675 | version = "2.0.0" 676 | source = "registry+https://github.com/rust-lang/crates.io-index" 677 | checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" 678 | 679 | [[package]] 680 | name = "futures-channel" 681 | version = "0.3.30" 682 | source = "registry+https://github.com/rust-lang/crates.io-index" 683 | checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" 684 | dependencies = [ 685 | "futures-core", 686 | ] 687 | 688 | [[package]] 689 | name = "futures-core" 690 | version = "0.3.30" 691 | source = "registry+https://github.com/rust-lang/crates.io-index" 692 | checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" 693 | 694 | [[package]] 695 | name = "futures-executor" 696 | version = "0.3.30" 697 | source = "registry+https://github.com/rust-lang/crates.io-index" 698 | checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" 699 | dependencies = [ 700 | "futures-core", 701 | "futures-task", 702 | "futures-util", 703 | ] 704 | 705 | [[package]] 706 | name = "futures-io" 707 | version = "0.3.30" 708 | source = "registry+https://github.com/rust-lang/crates.io-index" 709 | checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" 710 | 711 | [[package]] 712 | name = "futures-macro" 713 | version = "0.3.30" 714 | source = "registry+https://github.com/rust-lang/crates.io-index" 715 | checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" 716 | dependencies = [ 717 | "proc-macro2", 718 | "quote", 719 | "syn", 720 | ] 721 | 722 | [[package]] 723 | name = "futures-sink" 724 | version = "0.3.30" 725 | source = "registry+https://github.com/rust-lang/crates.io-index" 726 | checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" 727 | 728 | [[package]] 729 | name = "futures-task" 730 | version = "0.3.30" 731 | source = "registry+https://github.com/rust-lang/crates.io-index" 732 | checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" 733 | 734 | [[package]] 735 | name = "futures-util" 736 | version = "0.3.30" 737 | source = "registry+https://github.com/rust-lang/crates.io-index" 738 | checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" 739 | dependencies = [ 740 | "futures-core", 741 | "futures-macro", 742 | "futures-task", 743 | "pin-project-lite", 744 | "pin-utils", 745 | "slab", 746 | ] 747 | 748 | [[package]] 749 | name = "gdk-pixbuf" 750 | version = "0.19.2" 751 | source = "registry+https://github.com/rust-lang/crates.io-index" 752 | checksum = "f6a23f8a0b5090494fd04924662d463f8386cc678dd3915015a838c1a3679b92" 753 | dependencies = [ 754 | "gdk-pixbuf-sys", 755 | "gio", 756 | "glib", 757 | "libc", 758 | ] 759 | 760 | [[package]] 761 | name = "gdk-pixbuf-sys" 762 | version = "0.19.5" 763 | source = "registry+https://github.com/rust-lang/crates.io-index" 764 | checksum = "1fdbf021f8b9d19e30fb9ea6d6e5f2b6a712fe4645417c69f86f6ff1e1444a8f" 765 | dependencies = [ 766 | "gio-sys", 767 | "glib-sys", 768 | "gobject-sys", 769 | "libc", 770 | "system-deps", 771 | ] 772 | 773 | [[package]] 774 | name = "gdk4" 775 | version = "0.8.2" 776 | source = "registry+https://github.com/rust-lang/crates.io-index" 777 | checksum = "db265c9dd42d6a371e09e52deab3a84808427198b86ac792d75fd35c07990a07" 778 | dependencies = [ 779 | "cairo-rs", 780 | "gdk-pixbuf", 781 | "gdk4-sys", 782 | "gio", 783 | "gl", 784 | "glib", 785 | "libc", 786 | "pango", 787 | ] 788 | 789 | [[package]] 790 | name = "gdk4-sys" 791 | version = "0.8.2" 792 | source = "registry+https://github.com/rust-lang/crates.io-index" 793 | checksum = "c9418fb4e8a67074919fe7604429c45aa74eb9df82e7ca529767c6d4e9dc66dd" 794 | dependencies = [ 795 | "cairo-sys-rs", 796 | "gdk-pixbuf-sys", 797 | "gio-sys", 798 | "glib-sys", 799 | "gobject-sys", 800 | "libc", 801 | "pango-sys", 802 | "pkg-config", 803 | "system-deps", 804 | ] 805 | 806 | [[package]] 807 | name = "gdk4-wayland" 808 | version = "0.8.2" 809 | source = "registry+https://github.com/rust-lang/crates.io-index" 810 | checksum = "f620a0ecbe4c574e3fec6bef6bebcefe19cb1b9a81569245ca4503c95f9b1371" 811 | dependencies = [ 812 | "gdk4", 813 | "gdk4-wayland-sys", 814 | "gio", 815 | "glib", 816 | "libc", 817 | "wayland-backend", 818 | "wayland-client", 819 | ] 820 | 821 | [[package]] 822 | name = "gdk4-wayland-sys" 823 | version = "0.8.2" 824 | source = "registry+https://github.com/rust-lang/crates.io-index" 825 | checksum = "7a5fd3927c917184b0e8712624eebabdc7f0909b645d468c825f8ec627e61803" 826 | dependencies = [ 827 | "glib-sys", 828 | "libc", 829 | "system-deps", 830 | ] 831 | 832 | [[package]] 833 | name = "gimli" 834 | version = "0.28.1" 835 | source = "registry+https://github.com/rust-lang/crates.io-index" 836 | checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" 837 | 838 | [[package]] 839 | name = "gio" 840 | version = "0.19.5" 841 | source = "registry+https://github.com/rust-lang/crates.io-index" 842 | checksum = "be548be810e45dd31d3bbb89c6210980bb7af9bca3ea1292b5f16b75f8e394a7" 843 | dependencies = [ 844 | "futures-channel", 845 | "futures-core", 846 | "futures-io", 847 | "futures-util", 848 | "gio-sys", 849 | "glib", 850 | "libc", 851 | "pin-project-lite", 852 | "smallvec", 853 | "thiserror", 854 | ] 855 | 856 | [[package]] 857 | name = "gio-sys" 858 | version = "0.19.5" 859 | source = "registry+https://github.com/rust-lang/crates.io-index" 860 | checksum = "d4bdbef451b0f0361e7f762987cc6bebd5facab1d535e85a3cf1115dfb08db40" 861 | dependencies = [ 862 | "glib-sys", 863 | "gobject-sys", 864 | "libc", 865 | "system-deps", 866 | "windows-sys 0.52.0", 867 | ] 868 | 869 | [[package]] 870 | name = "gl" 871 | version = "0.14.0" 872 | source = "registry+https://github.com/rust-lang/crates.io-index" 873 | checksum = "a94edab108827d67608095e269cf862e60d920f144a5026d3dbcfd8b877fb404" 874 | dependencies = [ 875 | "gl_generator", 876 | ] 877 | 878 | [[package]] 879 | name = "gl_generator" 880 | version = "0.14.0" 881 | source = "registry+https://github.com/rust-lang/crates.io-index" 882 | checksum = "1a95dfc23a2b4a9a2f5ab41d194f8bfda3cabec42af4e39f08c339eb2a0c124d" 883 | dependencies = [ 884 | "khronos_api", 885 | "log", 886 | "xml-rs", 887 | ] 888 | 889 | [[package]] 890 | name = "glib" 891 | version = "0.19.7" 892 | source = "registry+https://github.com/rust-lang/crates.io-index" 893 | checksum = "e52355166df21c7ed16b6a01f615669c7911ed74e27ef60eba339c0d2da12490" 894 | dependencies = [ 895 | "bitflags 2.5.0", 896 | "futures-channel", 897 | "futures-core", 898 | "futures-executor", 899 | "futures-task", 900 | "futures-util", 901 | "gio-sys", 902 | "glib-macros", 903 | "glib-sys", 904 | "gobject-sys", 905 | "libc", 906 | "memchr", 907 | "smallvec", 908 | "thiserror", 909 | ] 910 | 911 | [[package]] 912 | name = "glib-macros" 913 | version = "0.19.7" 914 | source = "registry+https://github.com/rust-lang/crates.io-index" 915 | checksum = "70025dbfa1275cf7d0531c3317ba6270dae15d87e63342229d638246ff45202e" 916 | dependencies = [ 917 | "heck", 918 | "proc-macro-crate", 919 | "proc-macro2", 920 | "quote", 921 | "syn", 922 | ] 923 | 924 | [[package]] 925 | name = "glib-sys" 926 | version = "0.19.5" 927 | source = "registry+https://github.com/rust-lang/crates.io-index" 928 | checksum = "767d23ead9bbdfcbb1c2242c155c8128a7d13dde7bf69c176f809546135e2282" 929 | dependencies = [ 930 | "libc", 931 | "system-deps", 932 | ] 933 | 934 | [[package]] 935 | name = "glob" 936 | version = "0.3.1" 937 | source = "registry+https://github.com/rust-lang/crates.io-index" 938 | checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" 939 | 940 | [[package]] 941 | name = "gobject-sys" 942 | version = "0.19.5" 943 | source = "registry+https://github.com/rust-lang/crates.io-index" 944 | checksum = "c3787b0bfacca12bb25f8f822b0dbee9f7e4a86e6469a29976d332d2c14c945b" 945 | dependencies = [ 946 | "glib-sys", 947 | "libc", 948 | "system-deps", 949 | ] 950 | 951 | [[package]] 952 | name = "graphene-rs" 953 | version = "0.19.2" 954 | source = "registry+https://github.com/rust-lang/crates.io-index" 955 | checksum = "99e4d388e96c5f29e2b2f67045d229ddf826d0a8d6d282f94ed3b34452222c91" 956 | dependencies = [ 957 | "glib", 958 | "graphene-sys", 959 | "libc", 960 | ] 961 | 962 | [[package]] 963 | name = "graphene-sys" 964 | version = "0.19.5" 965 | source = "registry+https://github.com/rust-lang/crates.io-index" 966 | checksum = "2a60e7381afdd7be43bd10a89d3b6741d162aabbca3a8db73505afb6a3aea59d" 967 | dependencies = [ 968 | "glib-sys", 969 | "libc", 970 | "pkg-config", 971 | "system-deps", 972 | ] 973 | 974 | [[package]] 975 | name = "gsk4" 976 | version = "0.8.2" 977 | source = "registry+https://github.com/rust-lang/crates.io-index" 978 | checksum = "7563884bf6939f4468e5d94654945bdd9afcaf8c3ba4c5dd17b5342b747221be" 979 | dependencies = [ 980 | "cairo-rs", 981 | "gdk4", 982 | "glib", 983 | "graphene-rs", 984 | "gsk4-sys", 985 | "libc", 986 | "pango", 987 | ] 988 | 989 | [[package]] 990 | name = "gsk4-sys" 991 | version = "0.8.2" 992 | source = "registry+https://github.com/rust-lang/crates.io-index" 993 | checksum = "23024bf2636c38bbd1f822f58acc9d1c25b28da896ff0f291a1a232d4272b3dc" 994 | dependencies = [ 995 | "cairo-sys-rs", 996 | "gdk4-sys", 997 | "glib-sys", 998 | "gobject-sys", 999 | "graphene-sys", 1000 | "libc", 1001 | "pango-sys", 1002 | "system-deps", 1003 | ] 1004 | 1005 | [[package]] 1006 | name = "gtk4" 1007 | version = "0.8.2" 1008 | source = "registry+https://github.com/rust-lang/crates.io-index" 1009 | checksum = "b04e11319b08af11358ab543105a9e49b0c491faca35e2b8e7e36bfba8b671ab" 1010 | dependencies = [ 1011 | "cairo-rs", 1012 | "field-offset", 1013 | "futures-channel", 1014 | "gdk-pixbuf", 1015 | "gdk4", 1016 | "gio", 1017 | "glib", 1018 | "graphene-rs", 1019 | "gsk4", 1020 | "gtk4-macros", 1021 | "gtk4-sys", 1022 | "libc", 1023 | "pango", 1024 | ] 1025 | 1026 | [[package]] 1027 | name = "gtk4-layer-shell" 1028 | version = "0.3.0" 1029 | source = "registry+https://github.com/rust-lang/crates.io-index" 1030 | checksum = "ceda37a26d7208eb17263cebb67b6c588e240d49468bd105c53a9e78c0a6b6ba" 1031 | dependencies = [ 1032 | "bitflags 2.5.0", 1033 | "gdk4", 1034 | "glib", 1035 | "glib-sys", 1036 | "gtk4", 1037 | "gtk4-layer-shell-sys", 1038 | "libc", 1039 | ] 1040 | 1041 | [[package]] 1042 | name = "gtk4-layer-shell-sys" 1043 | version = "0.2.0" 1044 | source = "registry+https://github.com/rust-lang/crates.io-index" 1045 | checksum = "67c95b6abed0aaec52b6a8de2896464d07b12241939ce1bde31d8d4c1a8c4e28" 1046 | dependencies = [ 1047 | "gdk4-sys", 1048 | "glib-sys", 1049 | "gtk4-sys", 1050 | "libc", 1051 | "system-deps", 1052 | ] 1053 | 1054 | [[package]] 1055 | name = "gtk4-macros" 1056 | version = "0.8.2" 1057 | source = "registry+https://github.com/rust-lang/crates.io-index" 1058 | checksum = "ec655a7ef88d8ce9592899deb8b2d0fa50bab1e6dd69182deb764e643c522408" 1059 | dependencies = [ 1060 | "proc-macro-crate", 1061 | "proc-macro2", 1062 | "quote", 1063 | "syn", 1064 | ] 1065 | 1066 | [[package]] 1067 | name = "gtk4-sys" 1068 | version = "0.8.2" 1069 | source = "registry+https://github.com/rust-lang/crates.io-index" 1070 | checksum = "8c8aa86b7f85ea71d66ea88c1d4bae1cfacf51ca4856274565133838d77e57b5" 1071 | dependencies = [ 1072 | "cairo-sys-rs", 1073 | "gdk-pixbuf-sys", 1074 | "gdk4-sys", 1075 | "gio-sys", 1076 | "glib-sys", 1077 | "gobject-sys", 1078 | "graphene-sys", 1079 | "gsk4-sys", 1080 | "libc", 1081 | "pango-sys", 1082 | "system-deps", 1083 | ] 1084 | 1085 | [[package]] 1086 | name = "hashbrown" 1087 | version = "0.14.5" 1088 | source = "registry+https://github.com/rust-lang/crates.io-index" 1089 | checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" 1090 | 1091 | [[package]] 1092 | name = "heck" 1093 | version = "0.5.0" 1094 | source = "registry+https://github.com/rust-lang/crates.io-index" 1095 | checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" 1096 | 1097 | [[package]] 1098 | name = "hermit-abi" 1099 | version = "0.3.9" 1100 | source = "registry+https://github.com/rust-lang/crates.io-index" 1101 | checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" 1102 | 1103 | [[package]] 1104 | name = "icrate" 1105 | version = "0.1.2" 1106 | source = "registry+https://github.com/rust-lang/crates.io-index" 1107 | checksum = "3fb69199826926eb864697bddd27f73d9fddcffc004f5733131e15b465e30642" 1108 | dependencies = [ 1109 | "block2", 1110 | "objc2", 1111 | ] 1112 | 1113 | [[package]] 1114 | name = "indenter" 1115 | version = "0.3.3" 1116 | source = "registry+https://github.com/rust-lang/crates.io-index" 1117 | checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" 1118 | 1119 | [[package]] 1120 | name = "indexmap" 1121 | version = "2.2.6" 1122 | source = "registry+https://github.com/rust-lang/crates.io-index" 1123 | checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" 1124 | dependencies = [ 1125 | "equivalent", 1126 | "hashbrown", 1127 | ] 1128 | 1129 | [[package]] 1130 | name = "inotify" 1131 | version = "0.9.6" 1132 | source = "registry+https://github.com/rust-lang/crates.io-index" 1133 | checksum = "f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff" 1134 | dependencies = [ 1135 | "bitflags 1.3.2", 1136 | "inotify-sys", 1137 | "libc", 1138 | ] 1139 | 1140 | [[package]] 1141 | name = "inotify-sys" 1142 | version = "0.1.5" 1143 | source = "registry+https://github.com/rust-lang/crates.io-index" 1144 | checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb" 1145 | dependencies = [ 1146 | "libc", 1147 | ] 1148 | 1149 | [[package]] 1150 | name = "is_terminal_polyfill" 1151 | version = "1.70.0" 1152 | source = "registry+https://github.com/rust-lang/crates.io-index" 1153 | checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" 1154 | 1155 | [[package]] 1156 | name = "itertools" 1157 | version = "0.12.1" 1158 | source = "registry+https://github.com/rust-lang/crates.io-index" 1159 | checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" 1160 | dependencies = [ 1161 | "either", 1162 | ] 1163 | 1164 | [[package]] 1165 | name = "itoa" 1166 | version = "1.0.11" 1167 | source = "registry+https://github.com/rust-lang/crates.io-index" 1168 | checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" 1169 | 1170 | [[package]] 1171 | name = "jni" 1172 | version = "0.21.1" 1173 | source = "registry+https://github.com/rust-lang/crates.io-index" 1174 | checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" 1175 | dependencies = [ 1176 | "cesu8", 1177 | "cfg-if", 1178 | "combine", 1179 | "jni-sys", 1180 | "log", 1181 | "thiserror", 1182 | "walkdir", 1183 | "windows-sys 0.45.0", 1184 | ] 1185 | 1186 | [[package]] 1187 | name = "jni-sys" 1188 | version = "0.3.0" 1189 | source = "registry+https://github.com/rust-lang/crates.io-index" 1190 | checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" 1191 | 1192 | [[package]] 1193 | name = "jobserver" 1194 | version = "0.1.31" 1195 | source = "registry+https://github.com/rust-lang/crates.io-index" 1196 | checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e" 1197 | dependencies = [ 1198 | "libc", 1199 | ] 1200 | 1201 | [[package]] 1202 | name = "js-sys" 1203 | version = "0.3.69" 1204 | source = "registry+https://github.com/rust-lang/crates.io-index" 1205 | checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" 1206 | dependencies = [ 1207 | "wasm-bindgen", 1208 | ] 1209 | 1210 | [[package]] 1211 | name = "khronos_api" 1212 | version = "3.1.0" 1213 | source = "registry+https://github.com/rust-lang/crates.io-index" 1214 | checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc" 1215 | 1216 | [[package]] 1217 | name = "kqueue" 1218 | version = "1.0.8" 1219 | source = "registry+https://github.com/rust-lang/crates.io-index" 1220 | checksum = "7447f1ca1b7b563588a205fe93dea8df60fd981423a768bc1c0ded35ed147d0c" 1221 | dependencies = [ 1222 | "kqueue-sys", 1223 | "libc", 1224 | ] 1225 | 1226 | [[package]] 1227 | name = "kqueue-sys" 1228 | version = "1.0.4" 1229 | source = "registry+https://github.com/rust-lang/crates.io-index" 1230 | checksum = "ed9625ffda8729b85e45cf04090035ac368927b8cebc34898e7c120f52e4838b" 1231 | dependencies = [ 1232 | "bitflags 1.3.2", 1233 | "libc", 1234 | ] 1235 | 1236 | [[package]] 1237 | name = "lazy_static" 1238 | version = "1.4.0" 1239 | source = "registry+https://github.com/rust-lang/crates.io-index" 1240 | checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" 1241 | 1242 | [[package]] 1243 | name = "lazycell" 1244 | version = "1.3.0" 1245 | source = "registry+https://github.com/rust-lang/crates.io-index" 1246 | checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" 1247 | 1248 | [[package]] 1249 | name = "libc" 1250 | version = "0.2.155" 1251 | source = "registry+https://github.com/rust-lang/crates.io-index" 1252 | checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" 1253 | 1254 | [[package]] 1255 | name = "libloading" 1256 | version = "0.8.3" 1257 | source = "registry+https://github.com/rust-lang/crates.io-index" 1258 | checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19" 1259 | dependencies = [ 1260 | "cfg-if", 1261 | "windows-targets 0.52.5", 1262 | ] 1263 | 1264 | [[package]] 1265 | name = "linux-raw-sys" 1266 | version = "0.4.14" 1267 | source = "registry+https://github.com/rust-lang/crates.io-index" 1268 | checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" 1269 | 1270 | [[package]] 1271 | name = "lock_api" 1272 | version = "0.4.12" 1273 | source = "registry+https://github.com/rust-lang/crates.io-index" 1274 | checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" 1275 | dependencies = [ 1276 | "autocfg", 1277 | "scopeguard", 1278 | ] 1279 | 1280 | [[package]] 1281 | name = "log" 1282 | version = "0.4.21" 1283 | source = "registry+https://github.com/rust-lang/crates.io-index" 1284 | checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" 1285 | 1286 | [[package]] 1287 | name = "mach2" 1288 | version = "0.4.2" 1289 | source = "registry+https://github.com/rust-lang/crates.io-index" 1290 | checksum = "19b955cdeb2a02b9117f121ce63aa52d08ade45de53e48fe6a38b39c10f6f709" 1291 | dependencies = [ 1292 | "libc", 1293 | ] 1294 | 1295 | [[package]] 1296 | name = "memchr" 1297 | version = "2.7.4" 1298 | source = "registry+https://github.com/rust-lang/crates.io-index" 1299 | checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" 1300 | 1301 | [[package]] 1302 | name = "memmap2" 1303 | version = "0.8.0" 1304 | source = "registry+https://github.com/rust-lang/crates.io-index" 1305 | checksum = "43a5a03cefb0d953ec0be133036f14e109412fa594edc2f77227249db66cc3ed" 1306 | dependencies = [ 1307 | "libc", 1308 | ] 1309 | 1310 | [[package]] 1311 | name = "memoffset" 1312 | version = "0.6.5" 1313 | source = "registry+https://github.com/rust-lang/crates.io-index" 1314 | checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" 1315 | dependencies = [ 1316 | "autocfg", 1317 | ] 1318 | 1319 | [[package]] 1320 | name = "memoffset" 1321 | version = "0.9.1" 1322 | source = "registry+https://github.com/rust-lang/crates.io-index" 1323 | checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" 1324 | dependencies = [ 1325 | "autocfg", 1326 | ] 1327 | 1328 | [[package]] 1329 | name = "minimal-lexical" 1330 | version = "0.2.1" 1331 | source = "registry+https://github.com/rust-lang/crates.io-index" 1332 | checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" 1333 | 1334 | [[package]] 1335 | name = "miniz_oxide" 1336 | version = "0.7.3" 1337 | source = "registry+https://github.com/rust-lang/crates.io-index" 1338 | checksum = "87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae" 1339 | dependencies = [ 1340 | "adler", 1341 | ] 1342 | 1343 | [[package]] 1344 | name = "mio" 1345 | version = "0.8.11" 1346 | source = "registry+https://github.com/rust-lang/crates.io-index" 1347 | checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" 1348 | dependencies = [ 1349 | "libc", 1350 | "log", 1351 | "wasi", 1352 | "windows-sys 0.48.0", 1353 | ] 1354 | 1355 | [[package]] 1356 | name = "ndk" 1357 | version = "0.8.0" 1358 | source = "registry+https://github.com/rust-lang/crates.io-index" 1359 | checksum = "2076a31b7010b17a38c01907c45b945e8f11495ee4dd588309718901b1f7a5b7" 1360 | dependencies = [ 1361 | "bitflags 2.5.0", 1362 | "jni-sys", 1363 | "log", 1364 | "ndk-sys", 1365 | "num_enum", 1366 | "thiserror", 1367 | ] 1368 | 1369 | [[package]] 1370 | name = "ndk-context" 1371 | version = "0.1.1" 1372 | source = "registry+https://github.com/rust-lang/crates.io-index" 1373 | checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" 1374 | 1375 | [[package]] 1376 | name = "ndk-sys" 1377 | version = "0.5.0+25.2.9519653" 1378 | source = "registry+https://github.com/rust-lang/crates.io-index" 1379 | checksum = "8c196769dd60fd4f363e11d948139556a344e79d451aeb2fa2fd040738ef7691" 1380 | dependencies = [ 1381 | "jni-sys", 1382 | ] 1383 | 1384 | [[package]] 1385 | name = "nix" 1386 | version = "0.23.2" 1387 | source = "registry+https://github.com/rust-lang/crates.io-index" 1388 | checksum = "8f3790c00a0150112de0f4cd161e3d7fc4b2d8a5542ffc35f099a2562aecb35c" 1389 | dependencies = [ 1390 | "bitflags 1.3.2", 1391 | "cc", 1392 | "cfg-if", 1393 | "libc", 1394 | "memoffset 0.6.5", 1395 | ] 1396 | 1397 | [[package]] 1398 | name = "nom" 1399 | version = "7.1.3" 1400 | source = "registry+https://github.com/rust-lang/crates.io-index" 1401 | checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" 1402 | dependencies = [ 1403 | "memchr", 1404 | "minimal-lexical", 1405 | ] 1406 | 1407 | [[package]] 1408 | name = "notify" 1409 | version = "6.1.1" 1410 | source = "registry+https://github.com/rust-lang/crates.io-index" 1411 | checksum = "6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d" 1412 | dependencies = [ 1413 | "bitflags 2.5.0", 1414 | "crossbeam-channel", 1415 | "filetime", 1416 | "fsevent-sys", 1417 | "inotify", 1418 | "kqueue", 1419 | "libc", 1420 | "log", 1421 | "mio", 1422 | "walkdir", 1423 | "windows-sys 0.48.0", 1424 | ] 1425 | 1426 | [[package]] 1427 | name = "num-derive" 1428 | version = "0.4.2" 1429 | source = "registry+https://github.com/rust-lang/crates.io-index" 1430 | checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" 1431 | dependencies = [ 1432 | "proc-macro2", 1433 | "quote", 1434 | "syn", 1435 | ] 1436 | 1437 | [[package]] 1438 | name = "num-traits" 1439 | version = "0.2.19" 1440 | source = "registry+https://github.com/rust-lang/crates.io-index" 1441 | checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" 1442 | dependencies = [ 1443 | "autocfg", 1444 | ] 1445 | 1446 | [[package]] 1447 | name = "num_cpus" 1448 | version = "1.16.0" 1449 | source = "registry+https://github.com/rust-lang/crates.io-index" 1450 | checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" 1451 | dependencies = [ 1452 | "hermit-abi", 1453 | "libc", 1454 | ] 1455 | 1456 | [[package]] 1457 | name = "num_enum" 1458 | version = "0.7.2" 1459 | source = "registry+https://github.com/rust-lang/crates.io-index" 1460 | checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845" 1461 | dependencies = [ 1462 | "num_enum_derive", 1463 | ] 1464 | 1465 | [[package]] 1466 | name = "num_enum_derive" 1467 | version = "0.7.2" 1468 | source = "registry+https://github.com/rust-lang/crates.io-index" 1469 | checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b" 1470 | dependencies = [ 1471 | "proc-macro-crate", 1472 | "proc-macro2", 1473 | "quote", 1474 | "syn", 1475 | ] 1476 | 1477 | [[package]] 1478 | name = "objc-sys" 1479 | version = "0.3.5" 1480 | source = "registry+https://github.com/rust-lang/crates.io-index" 1481 | checksum = "cdb91bdd390c7ce1a8607f35f3ca7151b65afc0ff5ff3b34fa350f7d7c7e4310" 1482 | 1483 | [[package]] 1484 | name = "objc2" 1485 | version = "0.5.2" 1486 | source = "registry+https://github.com/rust-lang/crates.io-index" 1487 | checksum = "46a785d4eeff09c14c487497c162e92766fbb3e4059a71840cecc03d9a50b804" 1488 | dependencies = [ 1489 | "objc-sys", 1490 | "objc2-encode", 1491 | ] 1492 | 1493 | [[package]] 1494 | name = "objc2-encode" 1495 | version = "4.0.3" 1496 | source = "registry+https://github.com/rust-lang/crates.io-index" 1497 | checksum = "7891e71393cd1f227313c9379a26a584ff3d7e6e7159e988851f0934c993f0f8" 1498 | 1499 | [[package]] 1500 | name = "object" 1501 | version = "0.32.2" 1502 | source = "registry+https://github.com/rust-lang/crates.io-index" 1503 | checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" 1504 | dependencies = [ 1505 | "memchr", 1506 | ] 1507 | 1508 | [[package]] 1509 | name = "oboe" 1510 | version = "0.6.1" 1511 | source = "registry+https://github.com/rust-lang/crates.io-index" 1512 | checksum = "e8b61bebd49e5d43f5f8cc7ee2891c16e0f41ec7954d36bcb6c14c5e0de867fb" 1513 | dependencies = [ 1514 | "jni", 1515 | "ndk", 1516 | "ndk-context", 1517 | "num-derive", 1518 | "num-traits", 1519 | "oboe-sys", 1520 | ] 1521 | 1522 | [[package]] 1523 | name = "oboe-sys" 1524 | version = "0.6.1" 1525 | source = "registry+https://github.com/rust-lang/crates.io-index" 1526 | checksum = "6c8bb09a4a2b1d668170cfe0a7d5bc103f8999fb316c98099b6a9939c9f2e79d" 1527 | dependencies = [ 1528 | "cc", 1529 | ] 1530 | 1531 | [[package]] 1532 | name = "once_cell" 1533 | version = "1.19.0" 1534 | source = "registry+https://github.com/rust-lang/crates.io-index" 1535 | checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" 1536 | 1537 | [[package]] 1538 | name = "owo-colors" 1539 | version = "3.5.0" 1540 | source = "registry+https://github.com/rust-lang/crates.io-index" 1541 | checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f" 1542 | 1543 | [[package]] 1544 | name = "pango" 1545 | version = "0.19.5" 1546 | source = "registry+https://github.com/rust-lang/crates.io-index" 1547 | checksum = "504ce6e805439ea2c6791168fe7ef8e3da0c1b2ef82c44bc450dbc330592920d" 1548 | dependencies = [ 1549 | "gio", 1550 | "glib", 1551 | "libc", 1552 | "pango-sys", 1553 | ] 1554 | 1555 | [[package]] 1556 | name = "pango-sys" 1557 | version = "0.19.5" 1558 | source = "registry+https://github.com/rust-lang/crates.io-index" 1559 | checksum = "e4829555bdbb83692ddeaf5a6927fb2d025c8131e5ecaa4f7619fff6985d3505" 1560 | dependencies = [ 1561 | "glib-sys", 1562 | "gobject-sys", 1563 | "libc", 1564 | "system-deps", 1565 | ] 1566 | 1567 | [[package]] 1568 | name = "parking" 1569 | version = "2.2.0" 1570 | source = "registry+https://github.com/rust-lang/crates.io-index" 1571 | checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" 1572 | 1573 | [[package]] 1574 | name = "parking_lot" 1575 | version = "0.12.2" 1576 | source = "registry+https://github.com/rust-lang/crates.io-index" 1577 | checksum = "7e4af0ca4f6caed20e900d564c242b8e5d4903fdacf31d3daf527b66fe6f42fb" 1578 | dependencies = [ 1579 | "lock_api", 1580 | "parking_lot_core", 1581 | ] 1582 | 1583 | [[package]] 1584 | name = "parking_lot_core" 1585 | version = "0.9.10" 1586 | source = "registry+https://github.com/rust-lang/crates.io-index" 1587 | checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" 1588 | dependencies = [ 1589 | "cfg-if", 1590 | "libc", 1591 | "redox_syscall 0.5.1", 1592 | "smallvec", 1593 | "windows-targets 0.52.5", 1594 | ] 1595 | 1596 | [[package]] 1597 | name = "phf" 1598 | version = "0.11.2" 1599 | source = "registry+https://github.com/rust-lang/crates.io-index" 1600 | checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" 1601 | dependencies = [ 1602 | "phf_macros", 1603 | "phf_shared", 1604 | ] 1605 | 1606 | [[package]] 1607 | name = "phf_generator" 1608 | version = "0.11.2" 1609 | source = "registry+https://github.com/rust-lang/crates.io-index" 1610 | checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" 1611 | dependencies = [ 1612 | "phf_shared", 1613 | "rand", 1614 | ] 1615 | 1616 | [[package]] 1617 | name = "phf_macros" 1618 | version = "0.11.2" 1619 | source = "registry+https://github.com/rust-lang/crates.io-index" 1620 | checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" 1621 | dependencies = [ 1622 | "phf_generator", 1623 | "phf_shared", 1624 | "proc-macro2", 1625 | "quote", 1626 | "syn", 1627 | ] 1628 | 1629 | [[package]] 1630 | name = "phf_shared" 1631 | version = "0.11.2" 1632 | source = "registry+https://github.com/rust-lang/crates.io-index" 1633 | checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" 1634 | dependencies = [ 1635 | "siphasher", 1636 | ] 1637 | 1638 | [[package]] 1639 | name = "pin-project-lite" 1640 | version = "0.2.14" 1641 | source = "registry+https://github.com/rust-lang/crates.io-index" 1642 | checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" 1643 | 1644 | [[package]] 1645 | name = "pin-utils" 1646 | version = "0.1.0" 1647 | source = "registry+https://github.com/rust-lang/crates.io-index" 1648 | checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" 1649 | 1650 | [[package]] 1651 | name = "pkg-config" 1652 | version = "0.3.30" 1653 | source = "registry+https://github.com/rust-lang/crates.io-index" 1654 | checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" 1655 | 1656 | [[package]] 1657 | name = "proc-macro-crate" 1658 | version = "3.1.0" 1659 | source = "registry+https://github.com/rust-lang/crates.io-index" 1660 | checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" 1661 | dependencies = [ 1662 | "toml_edit 0.21.1", 1663 | ] 1664 | 1665 | [[package]] 1666 | name = "proc-macro2" 1667 | version = "1.0.85" 1668 | source = "registry+https://github.com/rust-lang/crates.io-index" 1669 | checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23" 1670 | dependencies = [ 1671 | "unicode-ident", 1672 | ] 1673 | 1674 | [[package]] 1675 | name = "quick-xml" 1676 | version = "0.31.0" 1677 | source = "registry+https://github.com/rust-lang/crates.io-index" 1678 | checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33" 1679 | dependencies = [ 1680 | "memchr", 1681 | ] 1682 | 1683 | [[package]] 1684 | name = "quote" 1685 | version = "1.0.36" 1686 | source = "registry+https://github.com/rust-lang/crates.io-index" 1687 | checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" 1688 | dependencies = [ 1689 | "proc-macro2", 1690 | ] 1691 | 1692 | [[package]] 1693 | name = "radium" 1694 | version = "0.7.0" 1695 | source = "registry+https://github.com/rust-lang/crates.io-index" 1696 | checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" 1697 | 1698 | [[package]] 1699 | name = "rand" 1700 | version = "0.8.5" 1701 | source = "registry+https://github.com/rust-lang/crates.io-index" 1702 | checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" 1703 | dependencies = [ 1704 | "rand_core", 1705 | ] 1706 | 1707 | [[package]] 1708 | name = "rand_core" 1709 | version = "0.6.4" 1710 | source = "registry+https://github.com/rust-lang/crates.io-index" 1711 | checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" 1712 | 1713 | [[package]] 1714 | name = "redox_syscall" 1715 | version = "0.4.1" 1716 | source = "registry+https://github.com/rust-lang/crates.io-index" 1717 | checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" 1718 | dependencies = [ 1719 | "bitflags 1.3.2", 1720 | ] 1721 | 1722 | [[package]] 1723 | name = "redox_syscall" 1724 | version = "0.5.1" 1725 | source = "registry+https://github.com/rust-lang/crates.io-index" 1726 | checksum = "469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e" 1727 | dependencies = [ 1728 | "bitflags 2.5.0", 1729 | ] 1730 | 1731 | [[package]] 1732 | name = "regex" 1733 | version = "1.10.5" 1734 | source = "registry+https://github.com/rust-lang/crates.io-index" 1735 | checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" 1736 | dependencies = [ 1737 | "aho-corasick", 1738 | "memchr", 1739 | "regex-automata", 1740 | "regex-syntax", 1741 | ] 1742 | 1743 | [[package]] 1744 | name = "regex-automata" 1745 | version = "0.4.7" 1746 | source = "registry+https://github.com/rust-lang/crates.io-index" 1747 | checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" 1748 | dependencies = [ 1749 | "aho-corasick", 1750 | "memchr", 1751 | "regex-syntax", 1752 | ] 1753 | 1754 | [[package]] 1755 | name = "regex-syntax" 1756 | version = "0.8.4" 1757 | source = "registry+https://github.com/rust-lang/crates.io-index" 1758 | checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" 1759 | 1760 | [[package]] 1761 | name = "rustc-demangle" 1762 | version = "0.1.24" 1763 | source = "registry+https://github.com/rust-lang/crates.io-index" 1764 | checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" 1765 | 1766 | [[package]] 1767 | name = "rustc-hash" 1768 | version = "1.1.0" 1769 | source = "registry+https://github.com/rust-lang/crates.io-index" 1770 | checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" 1771 | 1772 | [[package]] 1773 | name = "rustc_version" 1774 | version = "0.4.0" 1775 | source = "registry+https://github.com/rust-lang/crates.io-index" 1776 | checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" 1777 | dependencies = [ 1778 | "semver", 1779 | ] 1780 | 1781 | [[package]] 1782 | name = "rustix" 1783 | version = "0.38.34" 1784 | source = "registry+https://github.com/rust-lang/crates.io-index" 1785 | checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" 1786 | dependencies = [ 1787 | "bitflags 2.5.0", 1788 | "errno", 1789 | "libc", 1790 | "linux-raw-sys", 1791 | "windows-sys 0.52.0", 1792 | ] 1793 | 1794 | [[package]] 1795 | name = "ryu" 1796 | version = "1.0.18" 1797 | source = "registry+https://github.com/rust-lang/crates.io-index" 1798 | checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" 1799 | 1800 | [[package]] 1801 | name = "same-file" 1802 | version = "1.0.6" 1803 | source = "registry+https://github.com/rust-lang/crates.io-index" 1804 | checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" 1805 | dependencies = [ 1806 | "winapi-util", 1807 | ] 1808 | 1809 | [[package]] 1810 | name = "scoped-tls" 1811 | version = "1.0.1" 1812 | source = "registry+https://github.com/rust-lang/crates.io-index" 1813 | checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" 1814 | 1815 | [[package]] 1816 | name = "scopeguard" 1817 | version = "1.2.0" 1818 | source = "registry+https://github.com/rust-lang/crates.io-index" 1819 | checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" 1820 | 1821 | [[package]] 1822 | name = "semver" 1823 | version = "1.0.23" 1824 | source = "registry+https://github.com/rust-lang/crates.io-index" 1825 | checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" 1826 | 1827 | [[package]] 1828 | name = "serde" 1829 | version = "1.0.203" 1830 | source = "registry+https://github.com/rust-lang/crates.io-index" 1831 | checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" 1832 | dependencies = [ 1833 | "serde_derive", 1834 | ] 1835 | 1836 | [[package]] 1837 | name = "serde_derive" 1838 | version = "1.0.203" 1839 | source = "registry+https://github.com/rust-lang/crates.io-index" 1840 | checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" 1841 | dependencies = [ 1842 | "proc-macro2", 1843 | "quote", 1844 | "syn", 1845 | ] 1846 | 1847 | [[package]] 1848 | name = "serde_json" 1849 | version = "1.0.117" 1850 | source = "registry+https://github.com/rust-lang/crates.io-index" 1851 | checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" 1852 | dependencies = [ 1853 | "itoa", 1854 | "ryu", 1855 | "serde", 1856 | ] 1857 | 1858 | [[package]] 1859 | name = "serde_spanned" 1860 | version = "0.6.6" 1861 | source = "registry+https://github.com/rust-lang/crates.io-index" 1862 | checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0" 1863 | dependencies = [ 1864 | "serde", 1865 | ] 1866 | 1867 | [[package]] 1868 | name = "sharded-slab" 1869 | version = "0.1.7" 1870 | source = "registry+https://github.com/rust-lang/crates.io-index" 1871 | checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" 1872 | dependencies = [ 1873 | "lazy_static", 1874 | ] 1875 | 1876 | [[package]] 1877 | name = "shlex" 1878 | version = "1.3.0" 1879 | source = "registry+https://github.com/rust-lang/crates.io-index" 1880 | checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" 1881 | 1882 | [[package]] 1883 | name = "signal-hook-registry" 1884 | version = "1.4.2" 1885 | source = "registry+https://github.com/rust-lang/crates.io-index" 1886 | checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" 1887 | dependencies = [ 1888 | "libc", 1889 | ] 1890 | 1891 | [[package]] 1892 | name = "siphasher" 1893 | version = "0.3.11" 1894 | source = "registry+https://github.com/rust-lang/crates.io-index" 1895 | checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" 1896 | 1897 | [[package]] 1898 | name = "slab" 1899 | version = "0.4.9" 1900 | source = "registry+https://github.com/rust-lang/crates.io-index" 1901 | checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" 1902 | dependencies = [ 1903 | "autocfg", 1904 | ] 1905 | 1906 | [[package]] 1907 | name = "smallvec" 1908 | version = "1.13.2" 1909 | source = "registry+https://github.com/rust-lang/crates.io-index" 1910 | checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" 1911 | 1912 | [[package]] 1913 | name = "socket2" 1914 | version = "0.5.7" 1915 | source = "registry+https://github.com/rust-lang/crates.io-index" 1916 | checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" 1917 | dependencies = [ 1918 | "libc", 1919 | "windows-sys 0.52.0", 1920 | ] 1921 | 1922 | [[package]] 1923 | name = "strsim" 1924 | version = "0.11.1" 1925 | source = "registry+https://github.com/rust-lang/crates.io-index" 1926 | checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" 1927 | 1928 | [[package]] 1929 | name = "syn" 1930 | version = "2.0.66" 1931 | source = "registry+https://github.com/rust-lang/crates.io-index" 1932 | checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5" 1933 | dependencies = [ 1934 | "proc-macro2", 1935 | "quote", 1936 | "unicode-ident", 1937 | ] 1938 | 1939 | [[package]] 1940 | name = "system-deps" 1941 | version = "6.2.2" 1942 | source = "registry+https://github.com/rust-lang/crates.io-index" 1943 | checksum = "a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349" 1944 | dependencies = [ 1945 | "cfg-expr", 1946 | "heck", 1947 | "pkg-config", 1948 | "toml", 1949 | "version-compare", 1950 | ] 1951 | 1952 | [[package]] 1953 | name = "tap" 1954 | version = "1.0.1" 1955 | source = "registry+https://github.com/rust-lang/crates.io-index" 1956 | checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" 1957 | 1958 | [[package]] 1959 | name = "target-lexicon" 1960 | version = "0.12.14" 1961 | source = "registry+https://github.com/rust-lang/crates.io-index" 1962 | checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f" 1963 | 1964 | [[package]] 1965 | name = "tempfile" 1966 | version = "3.10.1" 1967 | source = "registry+https://github.com/rust-lang/crates.io-index" 1968 | checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" 1969 | dependencies = [ 1970 | "cfg-if", 1971 | "fastrand", 1972 | "rustix", 1973 | "windows-sys 0.52.0", 1974 | ] 1975 | 1976 | [[package]] 1977 | name = "thiserror" 1978 | version = "1.0.61" 1979 | source = "registry+https://github.com/rust-lang/crates.io-index" 1980 | checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" 1981 | dependencies = [ 1982 | "thiserror-impl", 1983 | ] 1984 | 1985 | [[package]] 1986 | name = "thiserror-impl" 1987 | version = "1.0.61" 1988 | source = "registry+https://github.com/rust-lang/crates.io-index" 1989 | checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" 1990 | dependencies = [ 1991 | "proc-macro2", 1992 | "quote", 1993 | "syn", 1994 | ] 1995 | 1996 | [[package]] 1997 | name = "thread_local" 1998 | version = "1.1.8" 1999 | source = "registry+https://github.com/rust-lang/crates.io-index" 2000 | checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" 2001 | dependencies = [ 2002 | "cfg-if", 2003 | "once_cell", 2004 | ] 2005 | 2006 | [[package]] 2007 | name = "tokio" 2008 | version = "1.38.0" 2009 | source = "registry+https://github.com/rust-lang/crates.io-index" 2010 | checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" 2011 | dependencies = [ 2012 | "backtrace", 2013 | "bytes", 2014 | "libc", 2015 | "mio", 2016 | "num_cpus", 2017 | "parking_lot", 2018 | "pin-project-lite", 2019 | "signal-hook-registry", 2020 | "socket2", 2021 | "tokio-macros", 2022 | "windows-sys 0.48.0", 2023 | ] 2024 | 2025 | [[package]] 2026 | name = "tokio-macros" 2027 | version = "2.3.0" 2028 | source = "registry+https://github.com/rust-lang/crates.io-index" 2029 | checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" 2030 | dependencies = [ 2031 | "proc-macro2", 2032 | "quote", 2033 | "syn", 2034 | ] 2035 | 2036 | [[package]] 2037 | name = "tokio-util" 2038 | version = "0.7.11" 2039 | source = "registry+https://github.com/rust-lang/crates.io-index" 2040 | checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" 2041 | dependencies = [ 2042 | "bytes", 2043 | "futures-core", 2044 | "futures-sink", 2045 | "pin-project-lite", 2046 | "tokio", 2047 | ] 2048 | 2049 | [[package]] 2050 | name = "toml" 2051 | version = "0.8.14" 2052 | source = "registry+https://github.com/rust-lang/crates.io-index" 2053 | checksum = "6f49eb2ab21d2f26bd6db7bf383edc527a7ebaee412d17af4d40fdccd442f335" 2054 | dependencies = [ 2055 | "serde", 2056 | "serde_spanned", 2057 | "toml_datetime", 2058 | "toml_edit 0.22.14", 2059 | ] 2060 | 2061 | [[package]] 2062 | name = "toml_datetime" 2063 | version = "0.6.6" 2064 | source = "registry+https://github.com/rust-lang/crates.io-index" 2065 | checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" 2066 | dependencies = [ 2067 | "serde", 2068 | ] 2069 | 2070 | [[package]] 2071 | name = "toml_edit" 2072 | version = "0.21.1" 2073 | source = "registry+https://github.com/rust-lang/crates.io-index" 2074 | checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" 2075 | dependencies = [ 2076 | "indexmap", 2077 | "toml_datetime", 2078 | "winnow 0.5.40", 2079 | ] 2080 | 2081 | [[package]] 2082 | name = "toml_edit" 2083 | version = "0.22.14" 2084 | source = "registry+https://github.com/rust-lang/crates.io-index" 2085 | checksum = "f21c7aaf97f1bd9ca9d4f9e73b0a6c74bd5afef56f2bc931943a6e1c37e04e38" 2086 | dependencies = [ 2087 | "indexmap", 2088 | "serde", 2089 | "serde_spanned", 2090 | "toml_datetime", 2091 | "winnow 0.6.13", 2092 | ] 2093 | 2094 | [[package]] 2095 | name = "tracing" 2096 | version = "0.1.40" 2097 | source = "registry+https://github.com/rust-lang/crates.io-index" 2098 | checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" 2099 | dependencies = [ 2100 | "pin-project-lite", 2101 | "tracing-core", 2102 | ] 2103 | 2104 | [[package]] 2105 | name = "tracing-core" 2106 | version = "0.1.32" 2107 | source = "registry+https://github.com/rust-lang/crates.io-index" 2108 | checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" 2109 | dependencies = [ 2110 | "once_cell", 2111 | "valuable", 2112 | ] 2113 | 2114 | [[package]] 2115 | name = "tracing-error" 2116 | version = "0.2.0" 2117 | source = "registry+https://github.com/rust-lang/crates.io-index" 2118 | checksum = "d686ec1c0f384b1277f097b2f279a2ecc11afe8c133c1aabf036a27cb4cd206e" 2119 | dependencies = [ 2120 | "tracing", 2121 | "tracing-subscriber", 2122 | ] 2123 | 2124 | [[package]] 2125 | name = "tracing-subscriber" 2126 | version = "0.3.18" 2127 | source = "registry+https://github.com/rust-lang/crates.io-index" 2128 | checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" 2129 | dependencies = [ 2130 | "sharded-slab", 2131 | "thread_local", 2132 | "tracing-core", 2133 | ] 2134 | 2135 | [[package]] 2136 | name = "unicode-ident" 2137 | version = "1.0.12" 2138 | source = "registry+https://github.com/rust-lang/crates.io-index" 2139 | checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" 2140 | 2141 | [[package]] 2142 | name = "utf8parse" 2143 | version = "0.2.2" 2144 | source = "registry+https://github.com/rust-lang/crates.io-index" 2145 | checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" 2146 | 2147 | [[package]] 2148 | name = "valuable" 2149 | version = "0.1.0" 2150 | source = "registry+https://github.com/rust-lang/crates.io-index" 2151 | checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" 2152 | 2153 | [[package]] 2154 | name = "version-compare" 2155 | version = "0.2.0" 2156 | source = "registry+https://github.com/rust-lang/crates.io-index" 2157 | checksum = "852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b" 2158 | 2159 | [[package]] 2160 | name = "walkdir" 2161 | version = "2.5.0" 2162 | source = "registry+https://github.com/rust-lang/crates.io-index" 2163 | checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" 2164 | dependencies = [ 2165 | "same-file", 2166 | "winapi-util", 2167 | ] 2168 | 2169 | [[package]] 2170 | name = "wasi" 2171 | version = "0.11.0+wasi-snapshot-preview1" 2172 | source = "registry+https://github.com/rust-lang/crates.io-index" 2173 | checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" 2174 | 2175 | [[package]] 2176 | name = "wasm-bindgen" 2177 | version = "0.2.92" 2178 | source = "registry+https://github.com/rust-lang/crates.io-index" 2179 | checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" 2180 | dependencies = [ 2181 | "cfg-if", 2182 | "wasm-bindgen-macro", 2183 | ] 2184 | 2185 | [[package]] 2186 | name = "wasm-bindgen-backend" 2187 | version = "0.2.92" 2188 | source = "registry+https://github.com/rust-lang/crates.io-index" 2189 | checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" 2190 | dependencies = [ 2191 | "bumpalo", 2192 | "log", 2193 | "once_cell", 2194 | "proc-macro2", 2195 | "quote", 2196 | "syn", 2197 | "wasm-bindgen-shared", 2198 | ] 2199 | 2200 | [[package]] 2201 | name = "wasm-bindgen-futures" 2202 | version = "0.4.42" 2203 | source = "registry+https://github.com/rust-lang/crates.io-index" 2204 | checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" 2205 | dependencies = [ 2206 | "cfg-if", 2207 | "js-sys", 2208 | "wasm-bindgen", 2209 | "web-sys", 2210 | ] 2211 | 2212 | [[package]] 2213 | name = "wasm-bindgen-macro" 2214 | version = "0.2.92" 2215 | source = "registry+https://github.com/rust-lang/crates.io-index" 2216 | checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" 2217 | dependencies = [ 2218 | "quote", 2219 | "wasm-bindgen-macro-support", 2220 | ] 2221 | 2222 | [[package]] 2223 | name = "wasm-bindgen-macro-support" 2224 | version = "0.2.92" 2225 | source = "registry+https://github.com/rust-lang/crates.io-index" 2226 | checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" 2227 | dependencies = [ 2228 | "proc-macro2", 2229 | "quote", 2230 | "syn", 2231 | "wasm-bindgen-backend", 2232 | "wasm-bindgen-shared", 2233 | ] 2234 | 2235 | [[package]] 2236 | name = "wasm-bindgen-shared" 2237 | version = "0.2.92" 2238 | source = "registry+https://github.com/rust-lang/crates.io-index" 2239 | checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" 2240 | 2241 | [[package]] 2242 | name = "wayland-backend" 2243 | version = "0.3.4" 2244 | source = "registry+https://github.com/rust-lang/crates.io-index" 2245 | checksum = "34e9e6b6d4a2bb4e7e69433e0b35c7923b95d4dc8503a84d25ec917a4bbfdf07" 2246 | dependencies = [ 2247 | "cc", 2248 | "downcast-rs", 2249 | "rustix", 2250 | "scoped-tls", 2251 | "smallvec", 2252 | "wayland-sys", 2253 | ] 2254 | 2255 | [[package]] 2256 | name = "wayland-client" 2257 | version = "0.31.3" 2258 | source = "registry+https://github.com/rust-lang/crates.io-index" 2259 | checksum = "1e63801c85358a431f986cffa74ba9599ff571fc5774ac113ed3b490c19a1133" 2260 | dependencies = [ 2261 | "bitflags 2.5.0", 2262 | "rustix", 2263 | "wayland-backend", 2264 | "wayland-scanner", 2265 | ] 2266 | 2267 | [[package]] 2268 | name = "wayland-protocols" 2269 | version = "0.31.2" 2270 | source = "registry+https://github.com/rust-lang/crates.io-index" 2271 | checksum = "8f81f365b8b4a97f422ac0e8737c438024b5951734506b0e1d775c73030561f4" 2272 | dependencies = [ 2273 | "bitflags 2.5.0", 2274 | "wayland-backend", 2275 | "wayland-client", 2276 | "wayland-scanner", 2277 | ] 2278 | 2279 | [[package]] 2280 | name = "wayland-protocols-misc" 2281 | version = "0.2.0" 2282 | source = "registry+https://github.com/rust-lang/crates.io-index" 2283 | checksum = "bfa5933740b200188c9b4c38601b8212e8c154d7de0d2cb171944e137a77de1e" 2284 | dependencies = [ 2285 | "bitflags 2.5.0", 2286 | "wayland-backend", 2287 | "wayland-client", 2288 | "wayland-protocols", 2289 | "wayland-scanner", 2290 | ] 2291 | 2292 | [[package]] 2293 | name = "wayland-protocols-plasma" 2294 | version = "0.2.0" 2295 | source = "registry+https://github.com/rust-lang/crates.io-index" 2296 | checksum = "23803551115ff9ea9bce586860c5c5a971e360825a0309264102a9495a5ff479" 2297 | dependencies = [ 2298 | "bitflags 2.5.0", 2299 | "wayland-backend", 2300 | "wayland-client", 2301 | "wayland-protocols", 2302 | "wayland-scanner", 2303 | ] 2304 | 2305 | [[package]] 2306 | name = "wayland-protocols-wlr" 2307 | version = "0.2.0" 2308 | source = "registry+https://github.com/rust-lang/crates.io-index" 2309 | checksum = "ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6" 2310 | dependencies = [ 2311 | "bitflags 2.5.0", 2312 | "wayland-backend", 2313 | "wayland-client", 2314 | "wayland-protocols", 2315 | "wayland-scanner", 2316 | ] 2317 | 2318 | [[package]] 2319 | name = "wayland-scanner" 2320 | version = "0.31.2" 2321 | source = "registry+https://github.com/rust-lang/crates.io-index" 2322 | checksum = "67da50b9f80159dec0ea4c11c13e24ef9e7574bd6ce24b01860a175010cea565" 2323 | dependencies = [ 2324 | "proc-macro2", 2325 | "quick-xml", 2326 | "quote", 2327 | ] 2328 | 2329 | [[package]] 2330 | name = "wayland-sys" 2331 | version = "0.31.2" 2332 | source = "registry+https://github.com/rust-lang/crates.io-index" 2333 | checksum = "105b1842da6554f91526c14a2a2172897b7f745a805d62af4ce698706be79c12" 2334 | dependencies = [ 2335 | "dlib", 2336 | "log", 2337 | "pkg-config", 2338 | ] 2339 | 2340 | [[package]] 2341 | name = "web-sys" 2342 | version = "0.3.69" 2343 | source = "registry+https://github.com/rust-lang/crates.io-index" 2344 | checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" 2345 | dependencies = [ 2346 | "js-sys", 2347 | "wasm-bindgen", 2348 | ] 2349 | 2350 | [[package]] 2351 | name = "whisper-overlay" 2352 | version = "1.0.0" 2353 | dependencies = [ 2354 | "async-channel", 2355 | "bytemuck", 2356 | "clap", 2357 | "color-eyre", 2358 | "colorgrad", 2359 | "cpal", 2360 | "enigo", 2361 | "evdev", 2362 | "futures-util", 2363 | "gdk4", 2364 | "gdk4-wayland", 2365 | "gtk4", 2366 | "gtk4-layer-shell", 2367 | "notify", 2368 | "serde", 2369 | "serde_json", 2370 | "tokio", 2371 | "tokio-util", 2372 | ] 2373 | 2374 | [[package]] 2375 | name = "winapi-util" 2376 | version = "0.1.8" 2377 | source = "registry+https://github.com/rust-lang/crates.io-index" 2378 | checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" 2379 | dependencies = [ 2380 | "windows-sys 0.52.0", 2381 | ] 2382 | 2383 | [[package]] 2384 | name = "windows" 2385 | version = "0.54.0" 2386 | source = "registry+https://github.com/rust-lang/crates.io-index" 2387 | checksum = "9252e5725dbed82865af151df558e754e4a3c2c30818359eb17465f1346a1b49" 2388 | dependencies = [ 2389 | "windows-core 0.54.0", 2390 | "windows-targets 0.52.5", 2391 | ] 2392 | 2393 | [[package]] 2394 | name = "windows" 2395 | version = "0.56.0" 2396 | source = "registry+https://github.com/rust-lang/crates.io-index" 2397 | checksum = "1de69df01bdf1ead2f4ac895dc77c9351aefff65b2f3db429a343f9cbf05e132" 2398 | dependencies = [ 2399 | "windows-core 0.56.0", 2400 | "windows-targets 0.52.5", 2401 | ] 2402 | 2403 | [[package]] 2404 | name = "windows-core" 2405 | version = "0.54.0" 2406 | source = "registry+https://github.com/rust-lang/crates.io-index" 2407 | checksum = "12661b9c89351d684a50a8a643ce5f608e20243b9fb84687800163429f161d65" 2408 | dependencies = [ 2409 | "windows-result", 2410 | "windows-targets 0.52.5", 2411 | ] 2412 | 2413 | [[package]] 2414 | name = "windows-core" 2415 | version = "0.56.0" 2416 | source = "registry+https://github.com/rust-lang/crates.io-index" 2417 | checksum = "4698e52ed2d08f8658ab0c39512a7c00ee5fe2688c65f8c0a4f06750d729f2a6" 2418 | dependencies = [ 2419 | "windows-implement", 2420 | "windows-interface", 2421 | "windows-result", 2422 | "windows-targets 0.52.5", 2423 | ] 2424 | 2425 | [[package]] 2426 | name = "windows-implement" 2427 | version = "0.56.0" 2428 | source = "registry+https://github.com/rust-lang/crates.io-index" 2429 | checksum = "f6fc35f58ecd95a9b71c4f2329b911016e6bec66b3f2e6a4aad86bd2e99e2f9b" 2430 | dependencies = [ 2431 | "proc-macro2", 2432 | "quote", 2433 | "syn", 2434 | ] 2435 | 2436 | [[package]] 2437 | name = "windows-interface" 2438 | version = "0.56.0" 2439 | source = "registry+https://github.com/rust-lang/crates.io-index" 2440 | checksum = "08990546bf4edef8f431fa6326e032865f27138718c587dc21bc0265bbcb57cc" 2441 | dependencies = [ 2442 | "proc-macro2", 2443 | "quote", 2444 | "syn", 2445 | ] 2446 | 2447 | [[package]] 2448 | name = "windows-result" 2449 | version = "0.1.2" 2450 | source = "registry+https://github.com/rust-lang/crates.io-index" 2451 | checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" 2452 | dependencies = [ 2453 | "windows-targets 0.52.5", 2454 | ] 2455 | 2456 | [[package]] 2457 | name = "windows-sys" 2458 | version = "0.45.0" 2459 | source = "registry+https://github.com/rust-lang/crates.io-index" 2460 | checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" 2461 | dependencies = [ 2462 | "windows-targets 0.42.2", 2463 | ] 2464 | 2465 | [[package]] 2466 | name = "windows-sys" 2467 | version = "0.48.0" 2468 | source = "registry+https://github.com/rust-lang/crates.io-index" 2469 | checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" 2470 | dependencies = [ 2471 | "windows-targets 0.48.5", 2472 | ] 2473 | 2474 | [[package]] 2475 | name = "windows-sys" 2476 | version = "0.52.0" 2477 | source = "registry+https://github.com/rust-lang/crates.io-index" 2478 | checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" 2479 | dependencies = [ 2480 | "windows-targets 0.52.5", 2481 | ] 2482 | 2483 | [[package]] 2484 | name = "windows-targets" 2485 | version = "0.42.2" 2486 | source = "registry+https://github.com/rust-lang/crates.io-index" 2487 | checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" 2488 | dependencies = [ 2489 | "windows_aarch64_gnullvm 0.42.2", 2490 | "windows_aarch64_msvc 0.42.2", 2491 | "windows_i686_gnu 0.42.2", 2492 | "windows_i686_msvc 0.42.2", 2493 | "windows_x86_64_gnu 0.42.2", 2494 | "windows_x86_64_gnullvm 0.42.2", 2495 | "windows_x86_64_msvc 0.42.2", 2496 | ] 2497 | 2498 | [[package]] 2499 | name = "windows-targets" 2500 | version = "0.48.5" 2501 | source = "registry+https://github.com/rust-lang/crates.io-index" 2502 | checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" 2503 | dependencies = [ 2504 | "windows_aarch64_gnullvm 0.48.5", 2505 | "windows_aarch64_msvc 0.48.5", 2506 | "windows_i686_gnu 0.48.5", 2507 | "windows_i686_msvc 0.48.5", 2508 | "windows_x86_64_gnu 0.48.5", 2509 | "windows_x86_64_gnullvm 0.48.5", 2510 | "windows_x86_64_msvc 0.48.5", 2511 | ] 2512 | 2513 | [[package]] 2514 | name = "windows-targets" 2515 | version = "0.52.5" 2516 | source = "registry+https://github.com/rust-lang/crates.io-index" 2517 | checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" 2518 | dependencies = [ 2519 | "windows_aarch64_gnullvm 0.52.5", 2520 | "windows_aarch64_msvc 0.52.5", 2521 | "windows_i686_gnu 0.52.5", 2522 | "windows_i686_gnullvm", 2523 | "windows_i686_msvc 0.52.5", 2524 | "windows_x86_64_gnu 0.52.5", 2525 | "windows_x86_64_gnullvm 0.52.5", 2526 | "windows_x86_64_msvc 0.52.5", 2527 | ] 2528 | 2529 | [[package]] 2530 | name = "windows_aarch64_gnullvm" 2531 | version = "0.42.2" 2532 | source = "registry+https://github.com/rust-lang/crates.io-index" 2533 | checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" 2534 | 2535 | [[package]] 2536 | name = "windows_aarch64_gnullvm" 2537 | version = "0.48.5" 2538 | source = "registry+https://github.com/rust-lang/crates.io-index" 2539 | checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" 2540 | 2541 | [[package]] 2542 | name = "windows_aarch64_gnullvm" 2543 | version = "0.52.5" 2544 | source = "registry+https://github.com/rust-lang/crates.io-index" 2545 | checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" 2546 | 2547 | [[package]] 2548 | name = "windows_aarch64_msvc" 2549 | version = "0.42.2" 2550 | source = "registry+https://github.com/rust-lang/crates.io-index" 2551 | checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" 2552 | 2553 | [[package]] 2554 | name = "windows_aarch64_msvc" 2555 | version = "0.48.5" 2556 | source = "registry+https://github.com/rust-lang/crates.io-index" 2557 | checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" 2558 | 2559 | [[package]] 2560 | name = "windows_aarch64_msvc" 2561 | version = "0.52.5" 2562 | source = "registry+https://github.com/rust-lang/crates.io-index" 2563 | checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" 2564 | 2565 | [[package]] 2566 | name = "windows_i686_gnu" 2567 | version = "0.42.2" 2568 | source = "registry+https://github.com/rust-lang/crates.io-index" 2569 | checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" 2570 | 2571 | [[package]] 2572 | name = "windows_i686_gnu" 2573 | version = "0.48.5" 2574 | source = "registry+https://github.com/rust-lang/crates.io-index" 2575 | checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" 2576 | 2577 | [[package]] 2578 | name = "windows_i686_gnu" 2579 | version = "0.52.5" 2580 | source = "registry+https://github.com/rust-lang/crates.io-index" 2581 | checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" 2582 | 2583 | [[package]] 2584 | name = "windows_i686_gnullvm" 2585 | version = "0.52.5" 2586 | source = "registry+https://github.com/rust-lang/crates.io-index" 2587 | checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" 2588 | 2589 | [[package]] 2590 | name = "windows_i686_msvc" 2591 | version = "0.42.2" 2592 | source = "registry+https://github.com/rust-lang/crates.io-index" 2593 | checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" 2594 | 2595 | [[package]] 2596 | name = "windows_i686_msvc" 2597 | version = "0.48.5" 2598 | source = "registry+https://github.com/rust-lang/crates.io-index" 2599 | checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" 2600 | 2601 | [[package]] 2602 | name = "windows_i686_msvc" 2603 | version = "0.52.5" 2604 | source = "registry+https://github.com/rust-lang/crates.io-index" 2605 | checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" 2606 | 2607 | [[package]] 2608 | name = "windows_x86_64_gnu" 2609 | version = "0.42.2" 2610 | source = "registry+https://github.com/rust-lang/crates.io-index" 2611 | checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" 2612 | 2613 | [[package]] 2614 | name = "windows_x86_64_gnu" 2615 | version = "0.48.5" 2616 | source = "registry+https://github.com/rust-lang/crates.io-index" 2617 | checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" 2618 | 2619 | [[package]] 2620 | name = "windows_x86_64_gnu" 2621 | version = "0.52.5" 2622 | source = "registry+https://github.com/rust-lang/crates.io-index" 2623 | checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" 2624 | 2625 | [[package]] 2626 | name = "windows_x86_64_gnullvm" 2627 | version = "0.42.2" 2628 | source = "registry+https://github.com/rust-lang/crates.io-index" 2629 | checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" 2630 | 2631 | [[package]] 2632 | name = "windows_x86_64_gnullvm" 2633 | version = "0.48.5" 2634 | source = "registry+https://github.com/rust-lang/crates.io-index" 2635 | checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" 2636 | 2637 | [[package]] 2638 | name = "windows_x86_64_gnullvm" 2639 | version = "0.52.5" 2640 | source = "registry+https://github.com/rust-lang/crates.io-index" 2641 | checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" 2642 | 2643 | [[package]] 2644 | name = "windows_x86_64_msvc" 2645 | version = "0.42.2" 2646 | source = "registry+https://github.com/rust-lang/crates.io-index" 2647 | checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" 2648 | 2649 | [[package]] 2650 | name = "windows_x86_64_msvc" 2651 | version = "0.48.5" 2652 | source = "registry+https://github.com/rust-lang/crates.io-index" 2653 | checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" 2654 | 2655 | [[package]] 2656 | name = "windows_x86_64_msvc" 2657 | version = "0.52.5" 2658 | source = "registry+https://github.com/rust-lang/crates.io-index" 2659 | checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" 2660 | 2661 | [[package]] 2662 | name = "winnow" 2663 | version = "0.5.40" 2664 | source = "registry+https://github.com/rust-lang/crates.io-index" 2665 | checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" 2666 | dependencies = [ 2667 | "memchr", 2668 | ] 2669 | 2670 | [[package]] 2671 | name = "winnow" 2672 | version = "0.6.13" 2673 | source = "registry+https://github.com/rust-lang/crates.io-index" 2674 | checksum = "59b5e5f6c299a3c7890b876a2a587f3115162487e704907d9b6cd29473052ba1" 2675 | dependencies = [ 2676 | "memchr", 2677 | ] 2678 | 2679 | [[package]] 2680 | name = "wyz" 2681 | version = "0.5.1" 2682 | source = "registry+https://github.com/rust-lang/crates.io-index" 2683 | checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" 2684 | dependencies = [ 2685 | "tap", 2686 | ] 2687 | 2688 | [[package]] 2689 | name = "xkbcommon" 2690 | version = "0.7.0" 2691 | source = "registry+https://github.com/rust-lang/crates.io-index" 2692 | checksum = "13867d259930edc7091a6c41b4ce6eee464328c6ff9659b7e4c668ca20d4c91e" 2693 | dependencies = [ 2694 | "libc", 2695 | "memmap2", 2696 | "xkeysym", 2697 | ] 2698 | 2699 | [[package]] 2700 | name = "xkeysym" 2701 | version = "0.2.1" 2702 | source = "registry+https://github.com/rust-lang/crates.io-index" 2703 | checksum = "b9cc00251562a284751c9973bace760d86c0276c471b4be569fe6b068ee97a56" 2704 | 2705 | [[package]] 2706 | name = "xml-rs" 2707 | version = "0.8.20" 2708 | source = "registry+https://github.com/rust-lang/crates.io-index" 2709 | checksum = "791978798f0597cfc70478424c2b4fdc2b7a8024aaff78497ef00f24ef674193" 2710 | -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "whisper-overlay" 3 | version = "1.0.0" 4 | edition = "2021" 5 | authors = ["oddlama "] 6 | description = "A wayland overlay providing speech-to-text functionality for any application via a global push-to-talk hotkey" 7 | homepage = "https://github.com/oddlama/whisper-overlay" 8 | repository = "https://github.com/oddlama/embedded-devices" 9 | keywords = ["whisper", "speech-to-text", "stt", "faster-whisper", "wayland"] 10 | categories = ["command-line-utilities"] 11 | license = "MIT" 12 | 13 | [dependencies] 14 | async-channel = "2.3.1" 15 | bytemuck = "1.16.0" 16 | clap = { version = "4.5.7", features = ["derive"] } 17 | color-eyre = "0.6.3" 18 | colorgrad = "0.6.2" 19 | cpal = "0.15.3" 20 | enigo = { version = "0.2.1", features = ["wayland"], default-features = false } 21 | evdev = { version = "0.12.2", features = ["tokio"] } 22 | futures-util = "0.3.30" 23 | gdk = { version = "0.8.2", package = "gdk4", features = ["v4_14"] } 24 | gdk-wayland = { version = "0.8.2", package = "gdk4-wayland", features = ["wayland_crate", "v4_12"] } 25 | gtk = { version = "0.8.2", package = "gtk4", features = ["v4_14"] } 26 | gtk-layer-shell = { version = "0.3.0", package = "gtk4-layer-shell" } 27 | notify = "6.1.1" 28 | serde = { version = "1.0.203", features = ["derive"] } 29 | serde_json = "1.0.117" 30 | tokio = { version = "1.38.0", features = ["rt-multi-thread", "io-util", "sync", "time", "macros", "full"] } 31 | tokio-util = { version = "0.7.11", features = ["codec"] } 32 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM nvidia/cuda:12.4.1-runtime-ubuntu22.04 as gpu 2 | 3 | WORKDIR /app 4 | 5 | RUN apt-get update -y && \ 6 | apt-get install -y git python3 python3-pip libcudnn8 libcudnn8-dev libcublas-12-4 portaudio19-dev 7 | 8 | RUN pip3 install torch==2.3.0 torchaudio==2.3.0 9 | 10 | RUN git clone https://github.com/oddlama/RealtimeSTT 11 | RUN pip3 install -r RealtimeSTT/requirements-gpu.txt 12 | RUN cp -va RealtimeSTT/RealtimeSTT /app 13 | COPY realtime-stt-server.py /app/realtime-stt-server.py 14 | 15 | EXPOSE 7007 16 | ENV PYTHONPATH "${PYTHONPATH}:/app" 17 | RUN export PYTHONPATH="${PYTHONPATH}:/app" 18 | CMD ["python3", "realtime-stt-server.py", "--host", "0.0.0.0"] 19 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2024 oddlama 2 | 3 | Permission is hereby granted, free of charge, to any 4 | person obtaining a copy of this software and associated 5 | documentation files (the "Software"), to deal in the 6 | Software without restriction, including without 7 | limitation the rights to use, copy, modify, merge, 8 | publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software 10 | is furnished to do so, subject to the following 11 | conditions: 12 | 13 | The above copyright notice and this permission notice 14 | shall be included in all copies or substantial portions 15 | of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF 18 | ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED 19 | TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 20 | PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT 21 | SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 23 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR 24 | IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 25 | DEALINGS IN THE SOFTWARE. 26 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [Quick Start](#-quick-start) \| [Installation](#-installation) \| [Usage](#-usage) \| [Limitations](#-limitations) 2 | 3 | https://github.com/oddlama/whisper-overlay/assets/31919558/5670df1f-ec46-44f3-ba85-23a7e8d3fd55 4 | 5 | [![Crate](https://img.shields.io/crates/v/whisper-overlay.svg)](https://crates.io/crates/whisper-overlay) 6 | 7 | ## 💬 whisper-overlay 8 | 9 | A wayland overlay providing speech-to-text functionality for any application via a global push-to-talk hotkey. 10 | Anything you are saying while holding the hotkey will be transcribed in real-time and shown on-screen. 11 | The live transcriptions use a faster but less accurate model but as soon as you pause speaking or release 12 | the hotkey, the transcription will be updated using a second, more accurate model. 13 | This resulting text will then be typed into the window that is currently focused. 14 | 15 | - On-screen, realtime live transcriptions via CUDA and faster-whisper 16 | - The server-client based architecture allows you to host the model on another machine 17 | - Native waybar integration for status display 18 | - Utilizes `layer-shell` and `virtual-keyboard-v1` to support most wayland compositors 19 | 20 | This makes use of the [RealtimeSTT](https://github.com/KoljaB/RealtimeSTT) python library to provide 21 | live transcriptions, which in turn uses [faster-whisper](https://github.com/SYSTRAN/faster-whisper) 22 | for both the actual realtime and high-fidelity transcription model. 23 | 24 | Requirements: 25 | 26 | - A wayland compositor (sway, hyprland, ...) 27 | - A GPU with CUDA support is highly recommended, otherwise translation will have a significantly latency even 28 | on a modern CPU (1 second latency for live transcription and ~5 seconds for the result) 29 | 30 | ## 🚀 Quick Start 31 | 32 | - Clone and enter the repository 33 | ``` 34 | git clone https://github.com/oddlama/whisper-overlay 35 | cd whisper-overlay 36 | ``` 37 | 38 | - Start the realtime-stt-server using docker 39 | ``` 40 | docker-compose up 41 | ``` 42 | 43 | - Install and run whisper-overlay 44 | ``` 45 | cargo install whisper-overlay 46 | whisper-overlay overlay 47 | # Or alternatively select a hotkey: 48 | #whisper-overlay overlay --hotkey KEY_F12 49 | ``` 50 | 51 | Now press and hold Right Ctrl to transcribe. For a permanent installation 52 | I recommend starting the server as a systemd service and adding the `whisper-overlay overlay` 53 | as a startup command to your desktop environment / compositor. 54 | 55 | ## ⚙️ Usage 56 | 57 | In principle you just need to start `./realtime-stt-server.py` and it will be listening for requests on `localhost:7007`. 58 | You can then start `whisper-overlay overlay` to transcribe text. The default hotkey is Right Ctrl, 59 | but you can change this by specifying any name from [evdev::Key](https://docs.rs/evdev/latest/evdev/struct.Key.html), 60 | for example `KEY_F12` for F12. Beware that the hotkey is only observed and will still be passed to the application that is focused. 61 | 62 | #### Server (realtime-stt-server) 63 | 64 | If you want to change the server settings, it comes with the following options: 65 | 66 | ```bash 67 | > realtime-stt-server.py --help 68 | usage: realtime-stt-server.py [-h] [--host HOST] [--port PORT] [--device DEVICE] [--model MODEL] 69 | [--model-realtime MODEL_REALTIME] [--language LANGUAGE] [--debug] 70 | 71 | options: 72 | -h, --help show this help message and exit 73 | --host HOST The host to listen on [default: 'localhost'] 74 | --port PORT The port to listen on [default: 7007] 75 | --device DEVICE Device to run the models on, defaults to cuda if available, else cpu [default: 'cuda'] 76 | --model MODEL Main model used to generate the final transcription [default: 'large-v3'] 77 | --model-realtime MODEL_REALTIME 78 | Faster model used to generate live transcriptions [default: 'base'] 79 | --language LANGUAGE Set the spoken language. Leave empty to auto-detect. [default: ''] 80 | --debug Enable debug log output [default: unset] 81 | ``` 82 | 83 | #### Client (whisper-overlay) 84 | 85 | The actual overlay can also be customized, for example by providing your own gtk style 86 | (refer to [the builtin style.css](./src/style.css) as a reference), or by changing the hotkey. 87 | It has the following options: 88 | 89 | ```bash 90 | > whisper-overlay overlay --help 91 | Usage: whisper-overlay overlay [OPTIONS] 92 | 93 | Options: 94 | -a, --address
The address of the the whisper streaming instance (host:port) [default: localhost:7007] 95 | -s, --style