diff --git a/Cargo.lock b/Cargo.lock index 08c88f457..bb4d0c7dc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -73,6 +73,12 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd" +[[package]] +name = "aligned-vec" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4aa90d7ce82d4be67b64039a3d588d38dbcc6736577de4a847025ce5b0c468d1" + [[package]] name = "alsa" version = "0.9.1" @@ -196,6 +202,23 @@ dependencies = [ "num-traits", ] +[[package]] +name = "arbitrary" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223" + +[[package]] +name = "arg_enum_proc_macro" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.96", +] + [[package]] name = "arrayref" version = "0.3.9" @@ -310,7 +333,7 @@ dependencies = [ "url", "wayland-backend", "wayland-client", - "wayland-protocols 0.32.5", + "wayland-protocols", "zbus 5.3.0", ] @@ -589,6 +612,29 @@ version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" +[[package]] +name = "av1-grain" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6678909d8c5d46a42abcf571271e15fdbc0a225e3646cf23762cd415046c78bf" +dependencies = [ + "anyhow", + "arrayvec", + "log", + "nom", + "num-rational", + "v_frame", +] + +[[package]] +name = "avif-serialize" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e335041290c43101ca215eed6f43ec437eb5a42125573f600fc3fa42b9bddd62" +dependencies = [ + "arrayvec", +] + [[package]] name = "backtrace" version = "0.3.74" @@ -685,6 +731,12 @@ version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1be3f42a67d6d345ecd59f675f3f012d6974981560836e938c22b424b85ce1be" +[[package]] +name = "bitstream-io" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6099cdc01846bc367c4e7dd630dc5966dccf36b652fae7a74e17b640411a91b2" + [[package]] name = "bitvec" version = "1.0.1" @@ -762,6 +814,12 @@ dependencies = [ "serde", ] +[[package]] +name = "built" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73848a43c5d63a1251d17adf6c2bf78aa94830e60a335a95eeea45d6ba9e1e4d" + [[package]] name = "bumpalo" version = "3.16.0" @@ -800,6 +858,12 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" +[[package]] +name = "byteorder-lite" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" + [[package]] name = "bytes" version = "1.9.0" @@ -812,20 +876,6 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a3e368af43e418a04d52505cf3dbc23dda4e3407ae2fa99fd0e4f308ce546acc" -[[package]] -name = "calloop" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fba7adb4dd5aa98e5553510223000e7148f621165ec5f9acd7113f6ca4995298" -dependencies = [ - "bitflags 2.7.0", - "log", - "polling", - "rustix", - "slab", - "thiserror 1.0.69", -] - [[package]] name = "calloop" version = "0.13.0" @@ -840,25 +890,13 @@ dependencies = [ "thiserror 1.0.69", ] -[[package]] -name = "calloop-wayland-source" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f0ea9b9476c7fad82841a8dbb380e2eae480c21910feba80725b46931ed8f02" -dependencies = [ - "calloop 0.12.4", - "rustix", - "wayland-backend", - "wayland-client", -] - [[package]] name = "calloop-wayland-source" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95a66a987056935f7efce4ab5668920b5d0dac4a7c99991a67395f13702ddd20" dependencies = [ - "calloop 0.13.0", + "calloop", "rustix", "wayland-backend", "wayland-client", @@ -896,6 +934,16 @@ dependencies = [ "nom", ] +[[package]] +name = "cfg-expr" +version = "0.15.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02" +dependencies = [ + "smallvec", + "target-lexicon", +] + [[package]] name = "cfg-if" version = "1.0.0" @@ -1463,7 +1511,7 @@ dependencies = [ "hex", "html-escape", "iced_core", - "image", + "image 0.24.9", "irc", "itertools 0.12.1", "log", @@ -1718,7 +1766,7 @@ checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" [[package]] name = "dpi" version = "0.1.1" -source = "git+https://github.com/iced-rs/winit.git?rev=254d6b3420ce4e674f516f7a2bd440665e05484d#254d6b3420ce4e674f516f7a2bd440665e05484d" +source = "git+https://github.com/iced-rs/winit.git?rev=11414b6aa45699f038114e61b4ddf5102b2d3b4b#11414b6aa45699f038114e61b4ddf5102b2d3b4b" [[package]] name = "drm" @@ -2572,7 +2620,7 @@ dependencies = [ "fern", "futures", "iced", - "image", + "image 0.24.9", "ipc", "itertools 0.13.0", "log", @@ -2862,25 +2910,26 @@ dependencies = [ [[package]] name = "iced" version = "0.14.0-dev" -source = "git+https://github.com/iced-rs/iced?rev=e722c4ee4f80833ba0b1013cadd546ebc3f490ce#e722c4ee4f80833ba0b1013cadd546ebc3f490ce" +source = "git+https://github.com/iced-rs/iced?rev=97f1db3783dca5a4f60a9f89668613de4dfe9edd#97f1db3783dca5a4f60a9f89668613de4dfe9edd" dependencies = [ "iced_core", "iced_futures", "iced_renderer", "iced_widget", "iced_winit", - "image", + "image 0.25.5", "thiserror 1.0.69", ] [[package]] name = "iced_core" version = "0.14.0-dev" -source = "git+https://github.com/iced-rs/iced?rev=e722c4ee4f80833ba0b1013cadd546ebc3f490ce#e722c4ee4f80833ba0b1013cadd546ebc3f490ce" +source = "git+https://github.com/iced-rs/iced?rev=97f1db3783dca5a4f60a9f89668613de4dfe9edd#97f1db3783dca5a4f60a9f89668613de4dfe9edd" dependencies = [ "bitflags 2.7.0", "bytes", "glam", + "lilt", "log", "num-traits", "palette", @@ -2893,7 +2942,7 @@ dependencies = [ [[package]] name = "iced_futures" version = "0.14.0-dev" -source = "git+https://github.com/iced-rs/iced?rev=e722c4ee4f80833ba0b1013cadd546ebc3f490ce#e722c4ee4f80833ba0b1013cadd546ebc3f490ce" +source = "git+https://github.com/iced-rs/iced?rev=97f1db3783dca5a4f60a9f89668613de4dfe9edd#97f1db3783dca5a4f60a9f89668613de4dfe9edd" dependencies = [ "futures", "iced_core", @@ -2907,7 +2956,7 @@ dependencies = [ [[package]] name = "iced_graphics" version = "0.14.0-dev" -source = "git+https://github.com/iced-rs/iced?rev=e722c4ee4f80833ba0b1013cadd546ebc3f490ce#e722c4ee4f80833ba0b1013cadd546ebc3f490ce" +source = "git+https://github.com/iced-rs/iced?rev=97f1db3783dca5a4f60a9f89668613de4dfe9edd#97f1db3783dca5a4f60a9f89668613de4dfe9edd" dependencies = [ "bitflags 2.7.0", "bytemuck", @@ -2915,7 +2964,7 @@ dependencies = [ "half", "iced_core", "iced_futures", - "image", + "image 0.25.5", "kamadak-exif", "log", "raw-window-handle", @@ -2927,7 +2976,7 @@ dependencies = [ [[package]] name = "iced_renderer" version = "0.14.0-dev" -source = "git+https://github.com/iced-rs/iced?rev=e722c4ee4f80833ba0b1013cadd546ebc3f490ce#e722c4ee4f80833ba0b1013cadd546ebc3f490ce" +source = "git+https://github.com/iced-rs/iced?rev=97f1db3783dca5a4f60a9f89668613de4dfe9edd#97f1db3783dca5a4f60a9f89668613de4dfe9edd" dependencies = [ "iced_graphics", "iced_tiny_skia", @@ -2939,19 +2988,20 @@ dependencies = [ [[package]] name = "iced_runtime" version = "0.14.0-dev" -source = "git+https://github.com/iced-rs/iced?rev=e722c4ee4f80833ba0b1013cadd546ebc3f490ce#e722c4ee4f80833ba0b1013cadd546ebc3f490ce" +source = "git+https://github.com/iced-rs/iced?rev=97f1db3783dca5a4f60a9f89668613de4dfe9edd#97f1db3783dca5a4f60a9f89668613de4dfe9edd" dependencies = [ "bytes", "iced_core", "iced_futures", "raw-window-handle", + "sipper", "thiserror 1.0.69", ] [[package]] name = "iced_tiny_skia" version = "0.14.0-dev" -source = "git+https://github.com/iced-rs/iced?rev=e722c4ee4f80833ba0b1013cadd546ebc3f490ce#e722c4ee4f80833ba0b1013cadd546ebc3f490ce" +source = "git+https://github.com/iced-rs/iced?rev=97f1db3783dca5a4f60a9f89668613de4dfe9edd#97f1db3783dca5a4f60a9f89668613de4dfe9edd" dependencies = [ "bytemuck", "cosmic-text", @@ -2966,7 +3016,7 @@ dependencies = [ [[package]] name = "iced_wgpu" version = "0.14.0-dev" -source = "git+https://github.com/iced-rs/iced?rev=e722c4ee4f80833ba0b1013cadd546ebc3f490ce#e722c4ee4f80833ba0b1013cadd546ebc3f490ce" +source = "git+https://github.com/iced-rs/iced?rev=97f1db3783dca5a4f60a9f89668613de4dfe9edd#97f1db3783dca5a4f60a9f89668613de4dfe9edd" dependencies = [ "bitflags 2.7.0", "bytemuck", @@ -2984,10 +3034,11 @@ dependencies = [ [[package]] name = "iced_widget" version = "0.14.0-dev" -source = "git+https://github.com/iced-rs/iced?rev=e722c4ee4f80833ba0b1013cadd546ebc3f490ce#e722c4ee4f80833ba0b1013cadd546ebc3f490ce" +source = "git+https://github.com/iced-rs/iced?rev=97f1db3783dca5a4f60a9f89668613de4dfe9edd#97f1db3783dca5a4f60a9f89668613de4dfe9edd" dependencies = [ "iced_renderer", "iced_runtime", + "log", "num-traits", "ouroboros", "rustc-hash 2.1.0", @@ -2998,7 +3049,7 @@ dependencies = [ [[package]] name = "iced_winit" version = "0.14.0-dev" -source = "git+https://github.com/iced-rs/iced?rev=e722c4ee4f80833ba0b1013cadd546ebc3f490ce#e722c4ee4f80833ba0b1013cadd546ebc3f490ce" +source = "git+https://github.com/iced-rs/iced?rev=97f1db3783dca5a4f60a9f89668613de4dfe9edd#97f1db3783dca5a4f60a9f89668613de4dfe9edd" dependencies = [ "iced_futures", "iced_graphics", @@ -3009,7 +3060,6 @@ dependencies = [ "tracing", "wasm-bindgen-futures", "web-sys", - "winapi", "window_clipboard", "winit", ] @@ -3177,6 +3227,45 @@ dependencies = [ "tiff", ] +[[package]] +name = "image" +version = "0.25.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd6f44aed642f18953a158afeb30206f4d50da59fbc66ecb53c66488de73563b" +dependencies = [ + "bytemuck", + "byteorder-lite", + "color_quant", + "exr", + "gif", + "image-webp", + "num-traits", + "png", + "qoi", + "ravif", + "rayon", + "rgb", + "tiff", + "zune-core", + "zune-jpeg", +] + +[[package]] +name = "image-webp" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b77d01e822461baa8409e156015a1d91735549f0f2c17691bd2d996bef238f7f" +dependencies = [ + "byteorder-lite", + "quick-error", +] + +[[package]] +name = "imgref" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0263a3d970d5c054ed9312c0057b4f3bde9c0b33836d3637361d4a9e6e7a408" + [[package]] name = "indexmap" version = "1.9.3" @@ -3237,6 +3326,17 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "interpolate_name" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.96", +] + [[package]] name = "interprocess" version = "1.2.1" @@ -3529,6 +3629,16 @@ version = "0.2.169" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" +[[package]] +name = "libfuzzer-sys" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf78f52d400cf2d84a3a973a78a592b4adc535739e0a5597a0da6f0c357adc75" +dependencies = [ + "arbitrary", + "cc", +] + [[package]] name = "libloading" version = "0.8.6" @@ -3567,6 +3677,15 @@ dependencies = [ "vcpkg", ] +[[package]] +name = "lilt" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ab94c7e69044511f79ce4b4201a49324b7f5b35410f862264e044690b950a67" +dependencies = [ + "web-time", +] + [[package]] name = "linux-raw-sys" version = "0.4.15" @@ -3607,6 +3726,15 @@ version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +[[package]] +name = "loop9" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fae87c125b03c1d2c0150c90365d7d6bcc53fb73a9acaef207d2d065860f062" +dependencies = [ + "imgref", +] + [[package]] name = "lru" version = "0.12.5" @@ -3664,6 +3792,16 @@ dependencies = [ "regex-automata 0.1.10", ] +[[package]] +name = "maybe-rayon" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ea1f30cedd69f0a2954655f7188c6a834246d2bcf1e315e2ac40c4b24dc9519" +dependencies = [ + "cfg-if", + "rayon", +] + [[package]] name = "memchr" version = "2.7.4" @@ -3846,6 +3984,12 @@ dependencies = [ "jni-sys", ] +[[package]] +name = "new_debug_unreachable" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" + [[package]] name = "nix" version = "0.29.0" @@ -3869,6 +4013,12 @@ dependencies = [ "minimal-lexical", ] +[[package]] +name = "noop_proc_macro" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0676bb32a98c1a483ce53e500a81ad9c3d5b3f7c920c28c24e9cb0980d0b5bc8" + [[package]] name = "notify" version = "7.0.0" @@ -3983,6 +4133,17 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-rational" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" +dependencies = [ + "num-bigint", + "num-integer", + "num-traits", +] + [[package]] name = "num-traits" version = "0.2.19" @@ -4837,6 +4998,19 @@ name = "profiling" version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "afbdc74edc00b6f6a218ca6a5364d6226a259d4b8ea1af4a0ea063f27e179f4d" +dependencies = [ + "profiling-procmacros", +] + +[[package]] +name = "profiling-procmacros" +version = "1.0.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a65f2e60fbf1063868558d69c6beacf412dc755f9fc020f514b7955fc914fe30" +dependencies = [ + "quote", + "syn 2.0.96", +] [[package]] name = "pwd-grp" @@ -4859,6 +5033,12 @@ dependencies = [ "bytemuck", ] +[[package]] +name = "quick-error" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" + [[package]] name = "quick-xml" version = "0.31.0" @@ -4934,6 +5114,56 @@ version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f60fcc7d6849342eff22c4350c8b9a989ee8ceabc4b481253e8946b9fe83d684" +[[package]] +name = "rav1e" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd87ce80a7665b1cce111f8a16c1f3929f6547ce91ade6addf4ec86a8dda5ce9" +dependencies = [ + "arbitrary", + "arg_enum_proc_macro", + "arrayvec", + "av1-grain", + "bitstream-io", + "built", + "cfg-if", + "interpolate_name", + "itertools 0.12.1", + "libc", + "libfuzzer-sys", + "log", + "maybe-rayon", + "new_debug_unreachable", + "noop_proc_macro", + "num-derive", + "num-traits", + "once_cell", + "paste", + "profiling", + "rand", + "rand_chacha", + "simd_helpers", + "system-deps", + "thiserror 1.0.69", + "v_frame", + "wasm-bindgen", +] + +[[package]] +name = "ravif" +version = "0.11.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2413fd96bd0ea5cdeeb37eaf446a22e6ed7b981d792828721e74ded1980a45c6" +dependencies = [ + "avif-serialize", + "imgref", + "loop9", + "quick-error", + "rav1e", + "rayon", + "rgb", +] + [[package]] name = "raw-window-handle" version = "0.6.2" @@ -5142,6 +5372,12 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "rgb" +version = "0.8.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57397d16646700483b67d2dd6511d79318f9d057fdbd21a4066aeac8b41d310a" + [[package]] name = "ring" version = "0.16.20" @@ -5414,14 +5650,14 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "sctk-adwaita" -version = "0.9.1" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7555fcb4f753d095d734fdefebb0ad8c98478a21db500492d87c55913d3b0086" +checksum = "b6277f0217056f77f1d8f49f2950ac6c278c0d607c45f5ee99328d792ede24ec" dependencies = [ "ab_glyph", "log", "memmap2", - "smithay-client-toolkit 0.18.1", + "smithay-client-toolkit", "tiny-skia", ] @@ -5676,12 +5912,31 @@ version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" +[[package]] +name = "simd_helpers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95890f873bec569a0362c235787f3aca6e1e887302ba4840839bcc6459c42da6" +dependencies = [ + "quote", +] + [[package]] name = "siphasher" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" +[[package]] +name = "sipper" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bccb4192828b3d9a08e0b5a73f17795080dfb278b50190216e3ae2132cf4f95" +dependencies = [ + "futures", + "pin-project-lite", +] + [[package]] name = "skrifa" version = "0.22.3" @@ -5730,31 +5985,6 @@ version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" -[[package]] -name = "smithay-client-toolkit" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "922fd3eeab3bd820d76537ce8f582b1cf951eceb5475c28500c7457d9d17f53a" -dependencies = [ - "bitflags 2.7.0", - "calloop 0.12.4", - "calloop-wayland-source 0.2.0", - "cursor-icon", - "libc", - "log", - "memmap2", - "rustix", - "thiserror 1.0.69", - "wayland-backend", - "wayland-client", - "wayland-csd-frame", - "wayland-cursor", - "wayland-protocols 0.31.2", - "wayland-protocols-wlr 0.2.0", - "wayland-scanner", - "xkeysym", -] - [[package]] name = "smithay-client-toolkit" version = "0.19.2" @@ -5762,8 +5992,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3457dea1f0eb631b4034d61d4d8c32074caa6cd1ab2d59f2327bd8461e2c0016" dependencies = [ "bitflags 2.7.0", - "calloop 0.13.0", - "calloop-wayland-source 0.3.0", + "calloop", + "calloop-wayland-source", "cursor-icon", "libc", "log", @@ -5774,8 +6004,8 @@ dependencies = [ "wayland-client", "wayland-csd-frame", "wayland-cursor", - "wayland-protocols 0.32.5", - "wayland-protocols-wlr 0.3.5", + "wayland-protocols", + "wayland-protocols-wlr", "wayland-scanner", "xkeysym", ] @@ -5787,7 +6017,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cc8216eec463674a0e90f29e0ae41a4db573ec5b56b1c6c1c71615d249b6d846" dependencies = [ "libc", - "smithay-client-toolkit 0.19.2", + "smithay-client-toolkit", "wayland-backend", ] @@ -6119,12 +6349,31 @@ dependencies = [ "libc", ] +[[package]] +name = "system-deps" +version = "6.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349" +dependencies = [ + "cfg-expr", + "heck 0.5.0", + "pkg-config", + "toml", + "version-compare", +] + [[package]] name = "tap" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" +[[package]] +name = "target-lexicon" +version = "0.12.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" + [[package]] name = "tauri-winrt-notification" version = "0.2.1" @@ -7573,6 +7822,17 @@ dependencies = [ "getrandom", ] +[[package]] +name = "v_frame" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f32aaa24bacd11e488aa9ba66369c7cd514885742c9fe08cfe85884db3e92b" +dependencies = [ + "aligned-vec", + "num-traits", + "wasm-bindgen", +] + [[package]] name = "valuable" version = "0.1.1" @@ -7585,6 +7845,12 @@ version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" +[[package]] +name = "version-compare" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b" + [[package]] name = "version_check" version = "0.9.5" @@ -7792,18 +8058,6 @@ dependencies = [ "xcursor", ] -[[package]] -name = "wayland-protocols" -version = "0.31.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f81f365b8b4a97f422ac0e8737c438024b5951734506b0e1d775c73030561f4" -dependencies = [ - "bitflags 2.7.0", - "wayland-backend", - "wayland-client", - "wayland-scanner", -] - [[package]] name = "wayland-protocols" version = "0.32.5" @@ -7818,27 +8072,14 @@ dependencies = [ [[package]] name = "wayland-protocols-plasma" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23803551115ff9ea9bce586860c5c5a971e360825a0309264102a9495a5ff479" -dependencies = [ - "bitflags 2.7.0", - "wayland-backend", - "wayland-client", - "wayland-protocols 0.31.2", - "wayland-scanner", -] - -[[package]] -name = "wayland-protocols-wlr" -version = "0.2.0" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6" +checksum = "9b31cab548ee68c7eb155517f2212049dc151f7cd7910c2b66abfd31c3ee12bd" dependencies = [ "bitflags 2.7.0", "wayland-backend", "wayland-client", - "wayland-protocols 0.31.2", + "wayland-protocols", "wayland-scanner", ] @@ -7851,7 +8092,7 @@ dependencies = [ "bitflags 2.7.0", "wayland-backend", "wayland-client", - "wayland-protocols 0.32.5", + "wayland-protocols", "wayland-scanner", ] @@ -8516,8 +8757,8 @@ checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" [[package]] name = "winit" -version = "0.30.1" -source = "git+https://github.com/iced-rs/winit.git?rev=254d6b3420ce4e674f516f7a2bd440665e05484d#254d6b3420ce4e674f516f7a2bd440665e05484d" +version = "0.30.8" +source = "git+https://github.com/iced-rs/winit.git?rev=11414b6aa45699f038114e61b4ddf5102b2d3b4b#11414b6aa45699f038114e61b4ddf5102b2d3b4b" dependencies = [ "ahash", "android-activity", @@ -8525,7 +8766,7 @@ dependencies = [ "bitflags 2.7.0", "block2", "bytemuck", - "calloop 0.12.4", + "calloop", "cfg_aliases 0.2.1", "concurrent-queue", "core-foundation 0.9.4", @@ -8547,7 +8788,7 @@ dependencies = [ "redox_syscall 0.4.1", "rustix", "sctk-adwaita", - "smithay-client-toolkit 0.18.1", + "smithay-client-toolkit", "smol_str", "tracing", "unicode-segmentation", @@ -8555,7 +8796,7 @@ dependencies = [ "wasm-bindgen-futures", "wayland-backend", "wayland-client", - "wayland-protocols 0.31.2", + "wayland-protocols", "wayland-protocols-plasma", "web-sys", "web-time", @@ -8988,6 +9229,12 @@ dependencies = [ "pkg-config", ] +[[package]] +name = "zune-core" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a" + [[package]] name = "zune-inflate" version = "0.2.54" @@ -8997,6 +9244,15 @@ dependencies = [ "simd-adler32", ] +[[package]] +name = "zune-jpeg" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99a5bab8d7dedf81405c4bb1f2b83ea057643d9cb28778cea9eecddeedd2e028" +dependencies = [ + "zune-core", +] + [[package]] name = "zvariant" version = "4.2.0" diff --git a/Cargo.toml b/Cargo.toml index 770038123..287a4374d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -70,5 +70,5 @@ windows_exe_info = "0.4" members = ["data", "ipc", "irc", "irc/proto"] [patch.crates-io] -iced = { git = "https://github.com/iced-rs/iced", rev = "e722c4ee4f80833ba0b1013cadd546ebc3f490ce" } -iced_core = { git = "https://github.com/iced-rs/iced", rev = "e722c4ee4f80833ba0b1013cadd546ebc3f490ce" } +iced = { git = "https://github.com/iced-rs/iced", rev = "97f1db3783dca5a4f60a9f89668613de4dfe9edd" } +iced_core = { git = "https://github.com/iced-rs/iced", rev = "97f1db3783dca5a4f60a9f89668613de4dfe9edd" } diff --git a/src/buffer/scroll_view.rs b/src/buffer/scroll_view.rs index 12f42ab55..05189e93a 100644 --- a/src/buffer/scroll_view.rs +++ b/src/buffer/scroll_view.rs @@ -1155,7 +1155,7 @@ mod correct_viewport { move |state: &mut Option, inner: &mut Element<'a, Message>, tree: &mut advanced::widget::Tree, - event: iced::Event, + event: &iced::Event, layout: advanced::Layout<'_>, cursor: advanced::mouse::Cursor, renderer: &Renderer, @@ -1243,13 +1243,10 @@ mod correct_viewport { // Merge shell (we can't use Shell::merge as we'd lose access to messages) { - if let Some(new) = local_shell.redraw_request() { - match new { - iced::window::RedrawRequest::NextFrame => shell.request_redraw(), - iced::window::RedrawRequest::At(instant) => { - shell.request_redraw_at(instant) - } - } + match local_shell.redraw_request() { + iced::window::RedrawRequest::NextFrame => shell.request_redraw(), + iced::window::RedrawRequest::At(at) => shell.request_redraw_at(at), + iced::window::RedrawRequest::Wait => {} } if local_shell.is_layout_invalid() { diff --git a/src/screen/dashboard/sidebar.rs b/src/screen/dashboard/sidebar.rs index 7979e9db5..e50a24467 100644 --- a/src/screen/dashboard/sidebar.rs +++ b/src/screen/dashboard/sidebar.rs @@ -365,7 +365,7 @@ impl Sidebar { .height(Length::Fill) .center_x(Length::Shrink) .padding(padding) - .max_width(config.width) + .max_width(f32::from(config.width)) .into(), ) } diff --git a/src/stream.rs b/src/stream.rs index 9c6eeeca9..215c40327 100644 --- a/src/stream.rs +++ b/src/stream.rs @@ -1,7 +1,33 @@ +use std::hash::Hash; + pub use data::stream::{self, *}; use data::{config, server}; +use futures::Stream; use iced::Subscription; pub fn run(entry: server::Entry, proxy: Option) -> Subscription { - Subscription::run_with_id(entry.server.clone(), stream::run(entry, proxy)) + struct State { + entry: server::Entry, + proxy: Option, + } + + impl State { + fn run(&self) -> impl Stream { + stream::run(self.entry.clone(), self.proxy.clone()) + } + } + + impl PartialEq for State { + fn eq(&self, other: &Self) -> bool { + self.entry.server.eq(&other.entry.server) + } + } + + impl Hash for State { + fn hash(&self, state: &mut H) { + self.entry.server.hash(state); + } + } + + Subscription::run_with(State { entry, proxy }, State::run) } diff --git a/src/widget/anchored_overlay.rs b/src/widget/anchored_overlay.rs index e46e76f72..f94f0db38 100644 --- a/src/widget/anchored_overlay.rs +++ b/src/widget/anchored_overlay.rs @@ -99,7 +99,7 @@ impl Widget for AnchoredOverlay<'_, Message> fn update( &mut self, tree: &mut widget::Tree, - event: Event, + event: &Event, layout: Layout<'_>, cursor: mouse::Cursor, renderer: &Renderer, @@ -253,7 +253,7 @@ impl overlay::Overlay for Overlay<'_, '_, Mes fn update( &mut self, - event: Event, + event: &Event, layout: Layout<'_>, cursor: mouse::Cursor, renderer: &Renderer, diff --git a/src/widget/color_picker.rs b/src/widget/color_picker.rs index 376cb1b6c..d95f0ea06 100644 --- a/src/widget/color_picker.rs +++ b/src/widget/color_picker.rs @@ -306,7 +306,7 @@ fn picker<'a, Message: 'a>( move |state: &mut Option, _inner: &mut Element<'a, Message>, _tree: &mut advanced::widget::Tree, - event: iced::Event, + event: &iced::Event, layout: advanced::Layout<'_>, cursor: advanced::mouse::Cursor, _renderer: &Renderer, diff --git a/src/widget/combo_box.rs b/src/widget/combo_box.rs index 0cd00b559..ea6cf6b87 100644 --- a/src/widget/combo_box.rs +++ b/src/widget/combo_box.rs @@ -406,7 +406,7 @@ where fn update( &mut self, tree: &mut widget::Tree, - event: Event, + event: &Event, layout: Layout<'_>, cursor: mouse::Cursor, renderer: &Renderer, @@ -429,7 +429,7 @@ where let mut tree = self.state.text_input_tree(); self.text_input.update( &mut tree, - event.clone(), + event, layout, cursor, renderer, @@ -443,15 +443,10 @@ where shell.capture_event(); } - if let Some(redraw_request) = local_shell.redraw_request() { - match redraw_request { - window::RedrawRequest::NextFrame => { - shell.request_redraw(); - } - window::RedrawRequest::At(at) => { - shell.request_redraw_at(at); - } - } + match local_shell.redraw_request() { + window::RedrawRequest::NextFrame => shell.request_redraw(), + window::RedrawRequest::At(at) => shell.request_redraw_at(at), + window::RedrawRequest::Wait => {} } // Then finally react to them here @@ -583,7 +578,7 @@ where let mut tree = state.text_input_tree(); self.text_input.update( &mut tree, - Event::Mouse(mouse::Event::ButtonPressed(mouse::Button::Left)), + &Event::Mouse(mouse::Event::ButtonPressed(mouse::Button::Left)), layout, mouse::Cursor::Unavailable, renderer, diff --git a/src/widget/context_menu.rs b/src/widget/context_menu.rs index 3ede5a784..54c49e50f 100644 --- a/src/widget/context_menu.rs +++ b/src/widget/context_menu.rs @@ -162,7 +162,7 @@ where fn update( &mut self, tree: &mut widget::Tree, - event: Event, + event: &Event, layout: Layout<'_>, cursor: mouse::Cursor, renderer: &Renderer, @@ -462,7 +462,7 @@ where fn update( &mut self, - event: Event, + event: &Event, layout: Layout<'_>, cursor: mouse::Cursor, renderer: &Renderer, diff --git a/src/widget/decorate.rs b/src/widget/decorate.rs index bc81bec9a..6a1c637d4 100644 --- a/src/widget/decorate.rs +++ b/src/widget/decorate.rs @@ -283,7 +283,7 @@ pub trait Update<'a, Message, Theme, Renderer, State> { state: &mut State, inner: &mut Element<'a, Message, Theme, Renderer>, tree: &mut advanced::widget::Tree, - event: iced::Event, + event: &iced::Event, layout: advanced::Layout<'_>, cursor: advanced::mouse::Cursor, renderer: &Renderer, @@ -302,7 +302,7 @@ where _state: &mut State, inner: &mut Element<'a, Message, Theme, Renderer>, tree: &mut advanced::widget::Tree, - event: iced::Event, + event: &iced::Event, layout: advanced::Layout<'_>, cursor: advanced::mouse::Cursor, renderer: &Renderer, @@ -322,7 +322,7 @@ where &mut State, &mut Element<'a, Message, Theme, Renderer>, &mut advanced::widget::Tree, - iced::Event, + &iced::Event, advanced::Layout<'_>, advanced::mouse::Cursor, &Renderer, @@ -336,7 +336,7 @@ where state: &mut State, inner: &mut Element<'a, Message, Theme, Renderer>, tree: &mut advanced::widget::Tree, - event: iced::Event, + event: &iced::Event, layout: advanced::Layout<'_>, cursor: advanced::mouse::Cursor, renderer: &Renderer, @@ -669,7 +669,7 @@ where fn update( &mut self, tree: &mut advanced::widget::Tree, - event: iced::Event, + event: &iced::Event, layout: advanced::Layout<'_>, cursor: advanced::mouse::Cursor, renderer: &Renderer, diff --git a/src/widget/double_click.rs b/src/widget/double_click.rs index 5233be5c1..11c0e64af 100644 --- a/src/widget/double_click.rs +++ b/src/widget/double_click.rs @@ -21,7 +21,7 @@ where move |state: &mut Internal, inner: &mut Element<'a, Message>, tree: &mut Tree, - event: iced::Event, + event: &iced::Event, layout: Layout<'_>, cursor: mouse::Cursor, renderer: &Renderer, @@ -30,7 +30,7 @@ where viewport: &iced::Rectangle| { inner.as_widget_mut().update( tree, - event.clone(), + event, layout, cursor, renderer, diff --git a/src/widget/key_press.rs b/src/widget/key_press.rs index d488d514e..e56de3364 100644 --- a/src/widget/key_press.rs +++ b/src/widget/key_press.rs @@ -18,7 +18,7 @@ where move |_state: &mut (), inner: &mut Element<'a, Message>, tree: &mut widget::Tree, - event: Event, + event: &Event, layout: Layout<'_>, cursor: mouse::Cursor, renderer: &Renderer, diff --git a/src/widget/modal.rs b/src/widget/modal.rs index 2abd81339..d1ea32ae9 100644 --- a/src/widget/modal.rs +++ b/src/widget/modal.rs @@ -78,7 +78,7 @@ where fn update( &mut self, state: &mut widget::Tree, - event: Event, + event: &Event, layout: Layout<'_>, cursor: mouse::Cursor, renderer: &Renderer, @@ -194,7 +194,7 @@ where fn update( &mut self, - event: Event, + event: &Event, layout: Layout<'_>, cursor: mouse::Cursor, renderer: &Renderer, diff --git a/src/widget/notify_visibility.rs b/src/widget/notify_visibility.rs index ca09a7e3b..ba26c88e4 100644 --- a/src/widget/notify_visibility.rs +++ b/src/widget/notify_visibility.rs @@ -31,7 +31,7 @@ where move |_state: &mut (), inner: &mut Element<'a, Message>, tree: &mut widget::Tree, - event: Event, + event: &Event, layout: Layout<'_>, cursor: mouse::Cursor, renderer: &Renderer, diff --git a/src/widget/selectable_rich_text.rs b/src/widget/selectable_rich_text.rs index 92631dcb4..1a55692f7 100644 --- a/src/widget/selectable_rich_text.rs +++ b/src/widget/selectable_rich_text.rs @@ -324,7 +324,7 @@ where fn update( &mut self, tree: &mut Tree, - event: Event, + event: &Event, layout: Layout<'_>, cursor: mouse::Cursor, renderer: &Renderer, diff --git a/src/widget/selectable_text.rs b/src/widget/selectable_text.rs index 0ec61bdbf..f61ab13cf 100644 --- a/src/widget/selectable_text.rs +++ b/src/widget/selectable_text.rs @@ -175,7 +175,7 @@ where fn update( &mut self, tree: &mut Tree, - event: iced::Event, + event: &iced::Event, layout: Layout<'_>, cursor: mouse::Cursor, _renderer: &Renderer, diff --git a/src/widget/shortcut.rs b/src/widget/shortcut.rs index b86d878c1..ceb2ee90b 100644 --- a/src/widget/shortcut.rs +++ b/src/widget/shortcut.rs @@ -20,7 +20,7 @@ where move |modifiers: &mut shortcut::Modifiers, inner: &mut Element<'a, Message>, tree: &mut Tree, - event: iced::Event, + event: &iced::Event, layout: Layout<'_>, cursor: mouse::Cursor, renderer: &Renderer,