From 5b0d05d2cbc1a92e262e582c38b7fef2016499d0 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Tue, 22 Oct 2024 11:55:58 -0600 Subject: [PATCH] Update libcosmic/iced --- Cargo.lock | 1319 +++++++++++++++++++++----------------------- Cargo.toml | 7 +- src/line_number.rs | 3 +- src/main.rs | 340 ++++++------ src/menu.rs | 9 +- src/text_box.rs | 27 +- 6 files changed, 832 insertions(+), 873 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7fa37ad..1e4b70a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -20,43 +20,53 @@ checksum = "c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046" [[package]] name = "accesskit" -version = "0.12.2" -source = "git+https://github.com/wash2/accesskit.git?branch=winit-0.29#26f729169cd849970af02be62289606c63572d2d" +version = "0.16.0" +source = "git+https://github.com/wash2/accesskit?tag=iced-xdg-surface-0.13#956955342dadab7e588e21be726817fca39510f3" + +[[package]] +name = "accesskit_atspi_common" +version = "0.9.0" +source = "git+https://github.com/wash2/accesskit?tag=iced-xdg-surface-0.13#956955342dadab7e588e21be726817fca39510f3" +dependencies = [ + "accesskit", + "accesskit_consumer", + "atspi-common", + "serde", + "thiserror", + "zvariant 3.15.2", +] [[package]] name = "accesskit_consumer" -version = "0.17.0" -source = "git+https://github.com/wash2/accesskit.git?branch=winit-0.29#26f729169cd849970af02be62289606c63572d2d" +version = "0.24.0" +source = "git+https://github.com/wash2/accesskit?tag=iced-xdg-surface-0.13#956955342dadab7e588e21be726817fca39510f3" dependencies = [ "accesskit", + "immutable-chunkmap", ] [[package]] name = "accesskit_macos" -version = "0.11.0" -source = "git+https://github.com/wash2/accesskit.git?branch=winit-0.29#26f729169cd849970af02be62289606c63572d2d" +version = "0.17.0" +source = "git+https://github.com/wash2/accesskit?tag=iced-xdg-surface-0.13#956955342dadab7e588e21be726817fca39510f3" dependencies = [ "accesskit", "accesskit_consumer", - "icrate 0.1.2", - "objc2 0.5.2", + "objc2", + "objc2-app-kit", + "objc2-foundation", "once_cell", ] [[package]] name = "accesskit_unix" -version = "0.7.1" -source = "git+https://github.com/wash2/accesskit.git?branch=winit-0.29#26f729169cd849970af02be62289606c63572d2d" +version = "0.12.0" +source = "git+https://github.com/wash2/accesskit?tag=iced-xdg-surface-0.13#956955342dadab7e588e21be726817fca39510f3" dependencies = [ "accesskit", - "accesskit_consumer", - "async-channel", - "async-executor", - "async-task", + "accesskit_atspi_common", "atspi", "futures-lite 1.13.0", - "futures-util", - "once_cell", "serde", "tokio", "tokio-stream", @@ -65,21 +75,20 @@ dependencies = [ [[package]] name = "accesskit_windows" -version = "0.16.0" -source = "git+https://github.com/wash2/accesskit.git?branch=winit-0.29#26f729169cd849970af02be62289606c63572d2d" +version = "0.22.0" +source = "git+https://github.com/wash2/accesskit?tag=iced-xdg-surface-0.13#956955342dadab7e588e21be726817fca39510f3" dependencies = [ "accesskit", "accesskit_consumer", - "once_cell", "paste", "static_assertions", - "windows 0.48.0", + "windows 0.54.0", ] [[package]] name = "accesskit_winit" -version = "0.18.1" -source = "git+https://github.com/wash2/accesskit.git?branch=winit-0.29#26f729169cd849970af02be62289606c63572d2d" +version = "0.22.0" +source = "git+https://github.com/wash2/accesskit?tag=iced-xdg-surface-0.13#956955342dadab7e588e21be726817fca39510f3" dependencies = [ "accesskit", "accesskit_macos", @@ -163,9 +172,9 @@ checksum = "3aa2999eb46af81abb65c2d30d446778d7e613b60bbf4e174a027e80f90a3c14" [[package]] name = "android-activity" -version = "0.5.2" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee91c0c2905bae44f84bfa4e044536541df26b7703fd0888deeb9060fcc44289" +checksum = "ef6978589202a00cd7e118380c448a08b6ed394c3a8df3a430d0898e3a42d046" dependencies = [ "android-properties", "bitflags 2.6.0", @@ -177,7 +186,7 @@ dependencies = [ "log", "ndk", "ndk-context", - "ndk-sys", + "ndk-sys 0.6.0+11769913", "num_enum", "thiserror", ] @@ -254,9 +263,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.89" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6" +checksum = "c042108f3ed77fd83760a5fd79b53be043192bb3b9dba91d8c574c0ada7850c8" [[package]] name = "apply" @@ -314,11 +323,11 @@ checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b" [[package]] name = "ash" -version = "0.37.3+1.3.251" +version = "0.38.0+1.3.281" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39e9c3835d686b0a6084ab4234fcd1b07dbf6e4767dce60874b12356a25ecd4a" +checksum = "0bb44936d800fea8f016d7f2311c6a4f97aebd5dc86f09906139ec848cf3a46f" dependencies = [ - "libloading 0.7.4", + "libloading", ] [[package]] @@ -327,7 +336,7 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd884d7c72877a94102c3715f3b1cd09ff4fac28221add3e57cfbe25c236d093" dependencies = [ - "async-fs 2.1.2", + "async-fs", "async-net", "enumflags2", "futures-channel", @@ -404,18 +413,6 @@ dependencies = [ "slab", ] -[[package]] -name = "async-fs" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "279cf904654eeebfa37ac9bb1598880884924aab82e290aa65c9e77a0e142e06" -dependencies = [ - "async-lock 2.8.0", - "autocfg", - "blocking", - "futures-lite 1.13.0", -] - [[package]] name = "async-fs" version = "2.1.2" @@ -541,7 +538,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.82", ] [[package]] @@ -576,7 +573,7 @@ checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.82", ] [[package]] @@ -696,18 +693,18 @@ dependencies = [ [[package]] name = "bit-set" -version = "0.5.3" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" +checksum = "f0481a0e032742109b1133a095184ee93d88f3dc9e0d28a5d033dc77a073f44f" dependencies = [ "bit-vec", ] [[package]] name = "bit-vec" -version = "0.6.3" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" +checksum = "d2c54ff287cfc0a34f38a6b832ea1bd8e448a330b3e40a50859e6488bee07f22" [[package]] name = "bit_field" @@ -745,42 +742,13 @@ dependencies = [ "generic-array", ] -[[package]] -name = "block-sys" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae85a0696e7ea3b835a453750bf002770776609115e6d25c6d2ff28a8200f7e7" -dependencies = [ - "objc-sys", -] - -[[package]] -name = "block2" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15b55663a85f33501257357e6421bb33e769d5c9ffb5ba0921c975a123e35e68" -dependencies = [ - "block-sys", - "objc2 0.4.1", -] - -[[package]] -name = "block2" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e58aa60e59d8dbfcc36138f5f18be5f24394d33b38b24f7fd0b1caa33095f22f" -dependencies = [ - "block-sys", - "objc2 0.5.2", -] - [[package]] name = "block2" version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2c132eebf10f5cad5289222520a4a058514204aed6d791f1cf4fe8088b82d15f" dependencies = [ - "objc2 0.5.2", + "objc2", ] [[package]] @@ -827,9 +795,9 @@ checksum = "5ce89b21cab1437276d2650d57e971f9d548a2d9037cc231abdc0562b97498ce" [[package]] name = "bytemuck" -version = "1.18.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94bbb0ad554ad961ddc5da507a12a29b14e4ae5bda06b19f575a3e6079d2e2ae" +checksum = "8334215b81e418a0a7bdb8ef0849474f40bb10c8b71f1c4ed315cff49f32494d" dependencies = [ "bytemuck_derive", ] @@ -842,7 +810,7 @@ checksum = "bcfcc3cd946cb52f0bbfdbbcfa2f4e24f75ebb6c0e1002f7c25904fada18b9ec" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.82", ] [[package]] @@ -853,9 +821,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.7.2" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "428d9aa8fbc0670b7b8d6030a7fadd0f86151cae55e4dbbece15f3780a3dfaf3" +checksum = "9ac0150caa2ae65ca5bd83f25c7de183dea78d4d366469f148435e2acfbad0da" [[package]] name = "bzip2" @@ -878,20 +846,6 @@ dependencies = [ "pkg-config", ] -[[package]] -name = "calloop" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fba7adb4dd5aa98e5553510223000e7148f621165ec5f9acd7113f6ca4995298" -dependencies = [ - "bitflags 2.6.0", - "log", - "polling 3.7.3", - "rustix 0.38.37", - "slab", - "thiserror", -] - [[package]] name = "calloop" version = "0.13.0" @@ -906,25 +860,13 @@ dependencies = [ "thiserror", ] -[[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 0.38.37", - "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 0.38.37", "wayland-backend", "wayland-client", @@ -932,9 +874,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.1.28" +version = "1.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e80e3b6a3ab07840e1cae9b0666a63970dc28e8ed5ffbcdacbfc760c281bfc1" +checksum = "c2e7962b54006dcfcc61cb72735f4d89bb97061dd6a7ed882ec6b8ee53714c6f" dependencies = [ "jobserver", "libc", @@ -1013,7 +955,7 @@ dependencies = [ [[package]] name = "clipboard_macos" version = "0.1.0" -source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-8#7c59b07b9172d8e0401f7e06609e1050575309c9" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-0.13#a83bf83784276aaa882ef13555295a2ad9edd265" dependencies = [ "objc", "objc-foundation", @@ -1023,7 +965,7 @@ dependencies = [ [[package]] name = "clipboard_wayland" version = "0.2.2" -source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-8#7c59b07b9172d8e0401f7e06609e1050575309c9" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-0.13#a83bf83784276aaa882ef13555295a2ad9edd265" dependencies = [ "dnd", "mime 0.1.0", @@ -1033,7 +975,7 @@ dependencies = [ [[package]] name = "clipboard_x11" version = "0.4.2" -source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-8#7c59b07b9172d8e0401f7e06609e1050575309c9" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-0.13#a83bf83784276aaa882ef13555295a2ad9edd265" dependencies = [ "thiserror", "x11rb", @@ -1210,7 +1152,7 @@ dependencies = [ [[package]] name = "cosmic-config" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic.git#100f75f88edc5b602e29587fd6698dbf0038901d" +source = "git+https://github.com/pop-os/libcosmic.git#f1e52b3aaa60af9e2baa647a11cb9cdb13862af2" dependencies = [ "atomicwrites", "cosmic-config-derive", @@ -1229,7 +1171,7 @@ dependencies = [ [[package]] name = "cosmic-config-derive" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic.git#100f75f88edc5b602e29587fd6698dbf0038901d" +source = "git+https://github.com/pop-os/libcosmic.git#f1e52b3aaa60af9e2baa647a11cb9cdb13862af2" dependencies = [ "quote", "syn 1.0.109", @@ -1269,7 +1211,7 @@ dependencies = [ [[package]] name = "cosmic-files" version = "0.1.0" -source = "git+https://github.com/pop-os/cosmic-files.git#2b4a14dfe2403f1adfeb0423870216ee9a48cd06" +source = "git+https://github.com/pop-os/cosmic-files.git#2871309f04810d64e22a58d72d781aedfdc9a83c" dependencies = [ "chrono", "dirs", @@ -1331,13 +1273,13 @@ source = "git+https://github.com/pop-os/cosmic-text.git#4fe90bb6126c22f589b46768 dependencies = [ "bitflags 2.6.0", "cosmic_undo_2", - "fontdb", + "fontdb 0.16.2", "log", "modit", "rangemap", "rayon", - "rustc-hash", - "rustybuzz 0.14.1", + "rustc-hash 1.1.0", + "rustybuzz", "self_cell 1.0.4", "smol_str", "swash", @@ -1353,7 +1295,7 @@ dependencies = [ [[package]] name = "cosmic-theme" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic.git#100f75f88edc5b602e29587fd6698dbf0038901d" +source = "git+https://github.com/pop-os/libcosmic.git#f1e52b3aaa60af9e2baa647a11cb9cdb13862af2" dependencies = [ "almost", "cosmic-config", @@ -1491,11 +1433,12 @@ checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991" [[package]] name = "d3d12" -version = "0.19.0" -source = "git+https://github.com/gfx-rs/wgpu?rev=20fda69#20fda698341efbdc870b8027d6d49f5bf3f36109" +version = "22.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdbd1f579714e3c809ebd822c81ef148b1ceaeb3d535352afc73fd0c4c6a0017" dependencies = [ "bitflags 2.6.0", - "libloading 0.8.5", + "libloading", "winapi", ] @@ -1520,7 +1463,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.11.1", - "syn 2.0.79", + "syn 2.0.82", ] [[package]] @@ -1531,7 +1474,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core", "quote", - "syn 2.0.79", + "syn 2.0.82", ] [[package]] @@ -1587,7 +1530,7 @@ checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.82", ] [[package]] @@ -1599,7 +1542,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.82", ] [[package]] @@ -1669,7 +1612,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.82", ] [[package]] @@ -1678,7 +1621,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412" dependencies = [ - "libloading 0.8.5", + "libloading", ] [[package]] @@ -1693,21 +1636,35 @@ dependencies = [ [[package]] name = "dnd" version = "0.1.0" -source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-8#7c59b07b9172d8e0401f7e06609e1050575309c9" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-0.13#a83bf83784276aaa882ef13555295a2ad9edd265" dependencies = [ "bitflags 2.6.0", "mime 0.1.0", "raw-window-handle", - "smithay-client-toolkit 0.19.2", + "smithay-client-toolkit", "smithay-clipboard", ] +[[package]] +name = "document-features" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb6969eaabd2421f8a2775cfd2471a2b634372b4a25d41e3bd647b79912850a0" +dependencies = [ + "litrs", +] + [[package]] name = "downcast-rs" version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" +[[package]] +name = "dpi" +version = "0.1.1" +source = "git+https://github.com/pop-os/winit.git?tag=iced-xdg-surface-0.13#b1852274c0251d7f24ba2cb32fa53812b37b1c79" + [[package]] name = "drm" version = "0.11.1" @@ -1777,17 +1734,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a3d8a32ae18130a3c84dd492d4215c3d913c3b07c6b63c2eb3eb7ff1101ab7bf" -[[package]] -name = "enum-repr" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bad30c9c0fa1aaf1ae5010dab11f1117b15d35faf62cda4bbbc53b9987950f18" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "enumflags2" version = "0.7.10" @@ -1806,7 +1752,7 @@ checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.82", ] [[package]] @@ -1981,12 +1927,13 @@ dependencies = [ [[package]] name = "filetime" -version = "0.2.24" -source = "git+https://github.com/jackpot51/filetime#186e19d3190ead16b05329400cb5b2350d8f44cf" +version = "0.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" dependencies = [ "cfg-if", "libc", - "libredox 0.1.3", + "libredox", "windows-sys 0.59.0", ] @@ -2014,9 +1961,6 @@ name = "float-cmp" version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4" -dependencies = [ - "num-traits", -] [[package]] name = "float_next_after" @@ -2044,7 +1988,7 @@ dependencies = [ "fluent-syntax", "intl-memoizer", "intl_pluralrules", - "rustc-hash", + "rustc-hash 1.1.0", "self_cell 0.10.3", "smallvec", "unic-langid", @@ -2070,9 +2014,9 @@ dependencies = [ [[package]] name = "flume" -version = "0.11.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181" +checksum = "da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095" dependencies = [ "spin", ] @@ -2083,12 +2027,6 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" -[[package]] -name = "foldhash" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f81ec6369c545a7d40e4589b5597581fa1c441fe1cce96dd1de43159910a36a2" - [[package]] name = "font-types" version = "0.7.2" @@ -2104,7 +2042,7 @@ version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c1fcfcd44ca6e90c921fee9fa665d530b21ef1327a4c1a6c5250ea44b776ada7" dependencies = [ - "roxmltree 0.20.0", + "roxmltree", ] [[package]] @@ -2121,6 +2059,20 @@ dependencies = [ "ttf-parser 0.20.0", ] +[[package]] +name = "fontdb" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e32eac81c1135c1df01d4e6d4233c47ba11f6a6d07f33e0bba09d18797077770" +dependencies = [ + "fontconfig-parser", + "log", + "memmap2 0.9.5", + "slotmap", + "tinyvec", + "ttf-parser 0.21.1", +] + [[package]] name = "foreign-types" version = "0.5.0" @@ -2139,7 +2091,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.82", ] [[package]] @@ -2298,7 +2250,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.82", ] [[package]] @@ -2362,16 +2314,6 @@ dependencies = [ "wasi", ] -[[package]] -name = "gif" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80792593675e051cf94a4b111980da2ba60d4a83e43e0048c5693baab3977045" -dependencies = [ - "color_quant", - "weezl", -] - [[package]] name = "gif" version = "0.13.1" @@ -2401,9 +2343,9 @@ dependencies = [ [[package]] name = "glam" -version = "0.24.2" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5418c17512bdf42730f9032c74e1ae39afc408745ebb2acf72fbc4691c17945" +checksum = "151665d9be52f9bb40fc7966565d39666f2d1e69233571b71b87791c7e0528b3" [[package]] name = "glob" @@ -2438,24 +2380,13 @@ dependencies = [ [[package]] name = "glutin_wgl_sys" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8098adac955faa2d31079b65dc48841251f69efd3ac25477903fc424362ead" +checksum = "0a4e1951bbd9434a81aa496fe59ccc2235af3820d27b85f9314e279609211e2c" dependencies = [ "gl_generator", ] -[[package]] -name = "glyphon" -version = "0.5.0" -source = "git+https://github.com/pop-os/glyphon.git?tag=v0.5.0#1b0646ff8f74da92d3be704dfc2257d7f4d7eed8" -dependencies = [ - "cosmic-text", - "etagere", - "lru", - "wgpu", -] - [[package]] name = "gpu-alloc" version = "0.6.0" @@ -2477,9 +2408,9 @@ dependencies = [ [[package]] name = "gpu-allocator" -version = "0.25.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f56f6318968d03c18e1bcf4857ff88c61157e9da8e47c5f29055d60e1228884" +checksum = "fdd4240fc91d3433d5e5b0fc5b67672d771850dc19bbee03c1381e19322803d7" dependencies = [ "log", "presser", @@ -2490,9 +2421,9 @@ dependencies = [ [[package]] name = "gpu-descriptor" -version = "0.2.4" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc11df1ace8e7e564511f53af41f3e42ddc95b56fd07b3f4445d2a6048bc682c" +checksum = "9c08c1f623a8d0b722b8b99f821eb0ba672a1618f0d3b16ddbee1cedd2dd8557" dependencies = [ "bitflags 2.6.0", "gpu-descriptor-types", @@ -2501,9 +2432,9 @@ dependencies = [ [[package]] name = "gpu-descriptor-types" -version = "0.1.2" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bf0b36e6f090b7e1d8a4b49c0cb81c1f8376f72198c65dd3ad9ff3556b8b78c" +checksum = "fdf242682df893b86f33a73828fb09ca4b2d3bb6cc95249707fc684d27484b91" dependencies = [ "bitflags 2.6.0", ] @@ -2642,11 +2573,6 @@ name = "hashbrown" version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb" -dependencies = [ - "allocator-api2", - "equivalent", - "foldhash", -] [[package]] name = "hassle-rs" @@ -2657,7 +2583,7 @@ dependencies = [ "bitflags 2.6.0", "com", "libc", - "libloading 0.8.5", + "libloading", "thiserror", "widestring", "winapi", @@ -2761,7 +2687,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.10.0", - "syn 2.0.79", + "syn 2.0.82", "unic-langid", ] @@ -2775,7 +2701,7 @@ dependencies = [ "i18n-config", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.82", ] [[package]] @@ -2803,15 +2729,14 @@ dependencies = [ [[package]] name = "iced" -version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic.git#100f75f88edc5b602e29587fd6698dbf0038901d" +version = "0.14.0-dev" +source = "git+https://github.com/pop-os/libcosmic.git#f1e52b3aaa60af9e2baa647a11cb9cdb13862af2" dependencies = [ "dnd", "iced_accessibility", "iced_core", "iced_futures", "iced_renderer", - "iced_sctk", "iced_widget", "iced_winit", "image", @@ -2823,57 +2748,70 @@ dependencies = [ [[package]] name = "iced_accessibility" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic.git#100f75f88edc5b602e29587fd6698dbf0038901d" +source = "git+https://github.com/pop-os/libcosmic.git#f1e52b3aaa60af9e2baa647a11cb9cdb13862af2" dependencies = [ "accesskit", - "accesskit_unix", "accesskit_winit", ] [[package]] name = "iced_core" -version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic.git#100f75f88edc5b602e29587fd6698dbf0038901d" +version = "0.14.0-dev" +source = "git+https://github.com/pop-os/libcosmic.git#f1e52b3aaa60af9e2baa647a11cb9cdb13862af2" dependencies = [ "bitflags 2.6.0", + "bytes", "dnd", + "glam", "iced_accessibility", "log", "mime 0.1.0", "num-traits", + "once_cell", "palette", "raw-window-handle", + "rustc-hash 2.0.0", "serde", - "smithay-client-toolkit 0.19.2", "smol_str", "thiserror", "web-time", "window_clipboard", - "xxhash-rust", ] [[package]] name = "iced_futures" -version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic.git#100f75f88edc5b602e29587fd6698dbf0038901d" +version = "0.14.0-dev" +source = "git+https://github.com/pop-os/libcosmic.git#f1e52b3aaa60af9e2baa647a11cb9cdb13862af2" dependencies = [ "futures", "iced_core", "log", + "rustc-hash 2.0.0", "tokio", "wasm-bindgen-futures", "wasm-timer", ] +[[package]] +name = "iced_glyphon" +version = "0.6.0" +source = "git+https://github.com/pop-os/glyphon.git?tag=iced-0.14-dev#6ef9d12a20cfd0f7bdf38136a26ded9f7459ec8b" +dependencies = [ + "cosmic-text", + "etagere", + "lru", + "rustc-hash 2.0.0", + "wgpu", +] + [[package]] name = "iced_graphics" -version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic.git#100f75f88edc5b602e29587fd6698dbf0038901d" +version = "0.14.0-dev" +source = "git+https://github.com/pop-os/libcosmic.git#f1e52b3aaa60af9e2baa647a11cb9cdb13862af2" dependencies = [ "bitflags 2.6.0", "bytemuck", "cosmic-text", - "glam", "half", "iced_core", "iced_futures", @@ -2883,16 +2821,15 @@ dependencies = [ "lyon_path", "once_cell", "raw-window-handle", - "rustc-hash", + "rustc-hash 2.0.0", "thiserror", "unicode-segmentation", - "xxhash-rust", ] [[package]] name = "iced_renderer" -version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic.git#100f75f88edc5b602e29587fd6698dbf0038901d" +version = "0.14.0-dev" +source = "git+https://github.com/pop-os/libcosmic.git#f1e52b3aaa60af9e2baa647a11cb9cdb13862af2" dependencies = [ "iced_graphics", "iced_tiny_skia", @@ -2903,96 +2840,61 @@ dependencies = [ [[package]] name = "iced_runtime" -version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic.git#100f75f88edc5b602e29587fd6698dbf0038901d" +version = "0.14.0-dev" +source = "git+https://github.com/pop-os/libcosmic.git#f1e52b3aaa60af9e2baa647a11cb9cdb13862af2" dependencies = [ + "bytes", "dnd", "iced_accessibility", "iced_core", "iced_futures", - "smithay-client-toolkit 0.19.2", - "thiserror", - "window_clipboard", -] - -[[package]] -name = "iced_sctk" -version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic.git#100f75f88edc5b602e29587fd6698dbf0038901d" -dependencies = [ - "enum-repr", - "float-cmp", - "futures", - "iced_accessibility", - "iced_futures", - "iced_graphics", - "iced_runtime", - "iced_style", - "itertools", - "lazy_static", "raw-window-handle", - "smithay-client-toolkit 0.19.2", "thiserror", - "tracing", - "wayland-backend", - "wayland-protocols 0.32.4", "window_clipboard", - "xkbcommon", - "xkbcommon-dl", - "xkeysym", -] - -[[package]] -name = "iced_style" -version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic.git#100f75f88edc5b602e29587fd6698dbf0038901d" -dependencies = [ - "iced_core", - "once_cell", - "palette", ] [[package]] name = "iced_tiny_skia" -version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic.git#100f75f88edc5b602e29587fd6698dbf0038901d" +version = "0.14.0-dev" +source = "git+https://github.com/pop-os/libcosmic.git#f1e52b3aaa60af9e2baa647a11cb9cdb13862af2" dependencies = [ "bytemuck", "cosmic-text", "iced_graphics", - "kurbo", + "kurbo 0.10.4", "log", "resvg", - "rustc-hash", + "rustc-hash 2.0.0", "softbuffer", "tiny-skia", - "xxhash-rust", ] [[package]] name = "iced_wgpu" -version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic.git#100f75f88edc5b602e29587fd6698dbf0038901d" +version = "0.14.0-dev" +source = "git+https://github.com/pop-os/libcosmic.git#f1e52b3aaa60af9e2baa647a11cb9cdb13862af2" dependencies = [ "as-raw-xcb-connection", "bitflags 2.6.0", "bytemuck", "futures", "glam", - "glyphon", "guillotiere", + "iced_glyphon", "iced_graphics", "log", "lyon", "once_cell", "raw-window-handle", "resvg", + "rustc-hash 2.0.0", "rustix 0.38.37", - "smithay-client-toolkit 0.19.2", + "smithay-client-toolkit", + "thiserror", "tiny-xlib", "wayland-backend", "wayland-client", - "wayland-protocols 0.32.4", + "wayland-protocols", "wayland-sys", "wgpu", "x11rb", @@ -3000,16 +2902,17 @@ dependencies = [ [[package]] name = "iced_widget" -version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic.git#100f75f88edc5b602e29587fd6698dbf0038901d" +version = "0.14.0-dev" +source = "git+https://github.com/pop-os/libcosmic.git#f1e52b3aaa60af9e2baa647a11cb9cdb13862af2" dependencies = [ "dnd", "iced_accessibility", "iced_renderer", "iced_runtime", - "iced_style", "num-traits", + "once_cell", "ouroboros", + "rustc-hash 2.0.0", "thiserror", "unicode-segmentation", "window_clipboard", @@ -3017,44 +2920,25 @@ dependencies = [ [[package]] name = "iced_winit" -version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic.git#100f75f88edc5b602e29587fd6698dbf0038901d" +version = "0.14.0-dev" +source = "git+https://github.com/pop-os/libcosmic.git#f1e52b3aaa60af9e2baa647a11cb9cdb13862af2" dependencies = [ "dnd", "iced_accessibility", + "iced_futures", "iced_graphics", "iced_runtime", - "iced_style", "log", + "rustc-hash 2.0.0", "thiserror", "tracing", + "wasm-bindgen-futures", "web-sys", "winapi", "window_clipboard", "winit", ] -[[package]] -name = "icrate" -version = "0.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99d3aaff8a54577104bafdf686ff18565c3b6903ca5782a2026ef06e2c7aa319" -dependencies = [ - "block2 0.3.0", - "dispatch", - "objc2 0.4.1", -] - -[[package]] -name = "icrate" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fb69199826926eb864697bddd27f73d9fddcffc004f5733131e15b465e30642" -dependencies = [ - "block2 0.4.0", - "objc2 0.5.2", -] - [[package]] name = "icu_collator" version = "1.5.0" @@ -3195,7 +3079,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.82", ] [[package]] @@ -3240,7 +3124,7 @@ dependencies = [ "byteorder", "color_quant", "exr", - "gif 0.13.1", + "gif", "jpeg-decoder", "num-traits", "png", @@ -3254,6 +3138,15 @@ version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "029d73f573d8e8d63e6d5020011d3255b28c3ba85d6cf870a07184ed23de9284" +[[package]] +name = "immutable-chunkmap" +version = "2.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12f97096f508d54f8f8ab8957862eee2ccd628847b6217af1a335e1c44dee578" +dependencies = [ + "arrayvec 0.7.6", +] + [[package]] name = "indexmap" version = "2.6.0" @@ -3434,9 +3327,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.71" +version = "0.3.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cb94a0ffd3f3ee755c20f7d8752f45cac88605a4dcf808abcff72873296ec7b" +checksum = "6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9" dependencies = [ "wasm-bindgen", ] @@ -3457,7 +3350,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6aae1df220ece3c0ada96b8153459b67eebe9ae9212258bb0134ae60416fdf76" dependencies = [ "libc", - "libloading 0.8.5", + "libloading", "pkg-config", ] @@ -3498,11 +3391,22 @@ dependencies = [ [[package]] name = "kurbo" -version = "0.9.5" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1618d4ebd923e97d67e7cd363d80aef35fe961005cbbbb3d2dad8bdd1bc63440" +dependencies = [ + "arrayvec 0.7.6", + "smallvec", +] + +[[package]] +name = "kurbo" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd85a5776cd9500c2e2059c8c76c3b01528566b7fcbaf8098b55a33fc298849b" +checksum = "89234b2cc610a7dd927ebde6b41dd1a5d4214cffaef4cf1fb2195d592f92518f" dependencies = [ "arrayvec 0.7.6", + "smallvec", ] [[package]] @@ -3532,14 +3436,14 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.159" +version = "0.2.161" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "561d97a539a36e26a9a5fad1ea11a3039a67714694aaa379433e580854bc3dc5" +checksum = "8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1" [[package]] name = "libcosmic" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic.git#100f75f88edc5b602e29587fd6698dbf0038901d" +source = "git+https://github.com/pop-os/libcosmic.git#f1e52b3aaa60af9e2baa647a11cb9cdb13862af2" dependencies = [ "apply", "ashpd 0.9.2", @@ -3556,8 +3460,6 @@ dependencies = [ "iced_futures", "iced_renderer", "iced_runtime", - "iced_sctk", - "iced_style", "iced_tiny_skia", "iced_wgpu", "iced_widget", @@ -3577,16 +3479,6 @@ dependencies = [ "zbus 4.4.0", ] -[[package]] -name = "libloading" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" -dependencies = [ - "cfg-if", - "winapi", -] - [[package]] name = "libloading" version = "0.8.5" @@ -3603,17 +3495,6 @@ version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" -[[package]] -name = "libredox" -version = "0.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607" -dependencies = [ - "bitflags 2.6.0", - "libc", - "redox_syscall 0.4.1", -] - [[package]] name = "libredox" version = "0.1.3" @@ -3655,6 +3536,12 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704" +[[package]] +name = "litrs" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4ce301924b7887e9d637144fdade93f9dfff9b60981d4ac161db09720d39aa5" + [[package]] name = "locale_config" version = "0.3.0" @@ -3695,9 +3582,6 @@ name = "lru" version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" -dependencies = [ - "hashbrown 0.15.0", -] [[package]] name = "lyon" @@ -3814,9 +3698,9 @@ dependencies = [ [[package]] name = "metal" -version = "0.27.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c43f73953f8cbe511f021b58f18c3ce1c3d1ae13fe953293e13345bf83217f25" +checksum = "7ecfd3296f8c56b7c1f6fbac3c71cefa9d78ce009850c45000015f206dc7fa21" dependencies = [ "bitflags 2.6.0", "block", @@ -3830,7 +3714,7 @@ dependencies = [ [[package]] name = "mime" version = "0.1.0" -source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-8#7c59b07b9172d8e0401f7e06609e1050575309c9" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-0.13#a83bf83784276aaa882ef13555295a2ad9edd265" dependencies = [ "smithay-clipboard", ] @@ -3902,9 +3786,9 @@ dependencies = [ [[package]] name = "modit" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa21838a18a88208e85015452ef542b4fb5ce0be3dc635331df56874af16c13c" +checksum = "7dfa19a1eabc3418aab2e905785d347386cb0f1ed3fbb34957460b2f685ef359" dependencies = [ "log", ] @@ -3917,18 +3801,19 @@ checksum = "16cf681a23b4d0a43fc35024c176437f9dcd818db34e0f42ab456a0ee5ad497b" [[package]] name = "naga" -version = "0.19.0" -source = "git+https://github.com/gfx-rs/wgpu?rev=20fda69#20fda698341efbdc870b8027d6d49f5bf3f36109" +version = "22.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8bd5a652b6faf21496f2cfd88fc49989c8db0825d1f6746b1a71a6ede24a63ad" dependencies = [ "arrayvec 0.7.6", "bit-set", "bitflags 2.6.0", + "cfg_aliases 0.1.1", "codespan-reporting", "hexf-parse", "indexmap", "log", - "num-traits", - "rustc-hash", + "rustc-hash 1.1.0", "spirv", "termcolor", "thiserror", @@ -3937,14 +3822,14 @@ dependencies = [ [[package]] name = "ndk" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2076a31b7010b17a38c01907c45b945e8f11495ee4dd588309718901b1f7a5b7" +checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" dependencies = [ "bitflags 2.6.0", "jni-sys", "log", - "ndk-sys", + "ndk-sys 0.6.0+11769913", "num_enum", "raw-window-handle", "thiserror", @@ -3965,6 +3850,15 @@ dependencies = [ "jni-sys", ] +[[package]] +name = "ndk-sys" +version = "0.6.0+11769913" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873" +dependencies = [ + "jni-sys", +] + [[package]] name = "nix" version = "0.26.4" @@ -4043,9 +3937,9 @@ dependencies = [ [[package]] name = "notify-debouncer-full" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f5dab59c348b9b50cf7f261960a20e389feb2713636399cd9082cd4b536154" +checksum = "fb7fd166739789c9ff169e654dc1501373db9d80a4c3f972817c8a4d7cf8f34e" dependencies = [ "crossbeam-channel", "file-id", @@ -4163,7 +4057,7 @@ dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.82", ] [[package]] @@ -4182,7 +4076,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" dependencies = [ "malloc_buf", - "objc_exception", ] [[package]] @@ -4204,29 +4097,89 @@ checksum = "cdb91bdd390c7ce1a8607f35f3ca7151b65afc0ff5ff3b34fa350f7d7c7e4310" [[package]] name = "objc2" -version = "0.4.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "559c5a40fdd30eb5e344fbceacf7595a81e242529fb4e21cf5f43fb4f11ff98d" +checksum = "46a785d4eeff09c14c487497c162e92766fbb3e4059a71840cecc03d9a50b804" dependencies = [ "objc-sys", - "objc2-encode 3.0.0", + "objc2-encode", ] [[package]] -name = "objc2" -version = "0.5.2" +name = "objc2-app-kit" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46a785d4eeff09c14c487497c162e92766fbb3e4059a71840cecc03d9a50b804" +checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" dependencies = [ - "objc-sys", - "objc2-encode 4.0.3", + "bitflags 2.6.0", + "block2", + "libc", + "objc2", + "objc2-core-data", + "objc2-core-image", + "objc2-foundation", + "objc2-quartz-core", ] [[package]] -name = "objc2-encode" -version = "3.0.0" +name = "objc2-cloud-kit" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74dd3b56391c7a0596a295029734d3c1c5e7e510a4cb30245f8221ccea96b009" +dependencies = [ + "bitflags 2.6.0", + "block2", + "objc2", + "objc2-core-location", + "objc2-foundation", +] + +[[package]] +name = "objc2-contacts" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d079845b37af429bfe5dfa76e6d087d788031045b25cfc6fd898486fd9847666" +checksum = "a5ff520e9c33812fd374d8deecef01d4a840e7b41862d849513de77e44aa4889" +dependencies = [ + "block2", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-data" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" +dependencies = [ + "bitflags 2.6.0", + "block2", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-image" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55260963a527c99f1819c4f8e3b47fe04f9650694ef348ffd2227e8196d34c80" +dependencies = [ + "block2", + "objc2", + "objc2-foundation", + "objc2-metal", +] + +[[package]] +name = "objc2-core-location" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "000cfee34e683244f284252ee206a27953279d370e309649dc3ee317b37e5781" +dependencies = [ + "block2", + "objc2", + "objc2-contacts", + "objc2-foundation", +] [[package]] name = "objc2-encode" @@ -4241,18 +4194,102 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" dependencies = [ "bitflags 2.6.0", - "block2 0.5.1", + "block2", + "dispatch", "libc", - "objc2 0.5.2", + "objc2", ] [[package]] -name = "objc_exception" -version = "0.1.2" +name = "objc2-link-presentation" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4" +checksum = "a1a1ae721c5e35be65f01a03b6d2ac13a54cb4fa70d8a5da293d7b0020261398" dependencies = [ - "cc", + "block2", + "objc2", + "objc2-app-kit", + "objc2-foundation", +] + +[[package]] +name = "objc2-metal" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" +dependencies = [ + "bitflags 2.6.0", + "block2", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-quartz-core" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" +dependencies = [ + "bitflags 2.6.0", + "block2", + "objc2", + "objc2-foundation", + "objc2-metal", +] + +[[package]] +name = "objc2-symbols" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a684efe3dec1b305badae1a28f6555f6ddd3bb2c2267896782858d5a78404dc" +dependencies = [ + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-ui-kit" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8bb46798b20cd6b91cbd113524c490f1686f4c4e8f49502431415f3512e2b6f" +dependencies = [ + "bitflags 2.6.0", + "block2", + "objc2", + "objc2-cloud-kit", + "objc2-core-data", + "objc2-core-image", + "objc2-core-location", + "objc2-foundation", + "objc2-link-presentation", + "objc2-quartz-core", + "objc2-symbols", + "objc2-uniform-type-identifiers", + "objc2-user-notifications", +] + +[[package]] +name = "objc2-uniform-type-identifiers" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44fa5f9748dbfe1ca6c0b79ad20725a11eca7c2218bceb4b005cb1be26273bfe" +dependencies = [ + "block2", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-user-notifications" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76cfcbf642358e8689af64cee815d139339f3ed8ad05103ed5eaf73db8d84cb3" +dependencies = [ + "bitflags 2.6.0", + "block2", + "objc2", + "objc2-core-location", + "objc2-foundation", ] [[package]] @@ -4320,11 +4357,11 @@ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" [[package]] name = "orbclient" -version = "0.3.47" +version = "0.3.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52f0d54bde9774d3a51dcf281a5def240c71996bc6ca05d2c847ec8b2b216166" +checksum = "ba0b26cec2e24f08ed8bb31519a9333140a6599b867dac464bb150bdb796fd43" dependencies = [ - "libredox 0.0.2", + "libredox", ] [[package]] @@ -4349,9 +4386,9 @@ dependencies = [ [[package]] name = "ouroboros" -version = "0.17.2" +version = "0.18.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2ba07320d39dfea882faa70554b4bd342a5f273ed59ba7c1c6b4c840492c954" +checksum = "944fa20996a25aded6b4795c6d63f10014a7a83f8be9828a11860b08c5fc4a67" dependencies = [ "aliasable", "ouroboros_macro", @@ -4360,15 +4397,16 @@ dependencies = [ [[package]] name = "ouroboros_macro" -version = "0.17.2" +version = "0.18.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec4c6225c69b4ca778c0aea097321a64c421cf4577b331c61b229267edabb6f8" +checksum = "39b0deead1528fd0e5947a8546a9642a9777c25f6e1e26f34c97b204bbb465bd" dependencies = [ "heck", - "proc-macro-error", + "itertools", "proc-macro2", + "proc-macro2-diagnostics", "quote", - "syn 2.0.79", + "syn 2.0.82", ] [[package]] @@ -4402,7 +4440,7 @@ dependencies = [ "by_address", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.82", ] [[package]] @@ -4478,9 +4516,9 @@ dependencies = [ [[package]] name = "pathdiff" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" +checksum = "d61c5ce1153ab5b689d0c074c4e7fc613e942dfb7dd9eea5ab202d2ad91fe361" [[package]] name = "pbkdf2" @@ -4500,9 +4538,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.13" +version = "2.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdbef9d1d47087a895abd220ed25eb4ad973a5e26f6a4367b038c25e28dfc2d9" +checksum = "879952a81a83930934cbf1786752d6dedc3b1f29e8f8fb2ad1d0a36f377cf442" dependencies = [ "memchr", "thiserror", @@ -4511,9 +4549,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.7.13" +version = "2.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d3a6e3394ec80feb3b6393c725571754c6188490265c61aaf260810d6b95aa0" +checksum = "d214365f632b123a47fd913301e14c946c61d1c183ee245fa76eb752e59a02dd" dependencies = [ "pest", "pest_generator", @@ -4521,22 +4559,22 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.13" +version = "2.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94429506bde1ca69d1b5601962c73f4172ab4726571a59ea95931218cb0e930e" +checksum = "eb55586734301717aea2ac313f50b2eb8f60d2fc3dc01d190eefa2e625f60c4e" dependencies = [ "pest", "pest_meta", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.82", ] [[package]] name = "pest_meta" -version = "2.7.13" +version = "2.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac8a071862e93690b6e34e9a5fb8e33ff3734473ac0245b27232222c4906a33f" +checksum = "b75da2a70cf4d9cb76833c990ac9cd3923c9a8905a8929789ce347c84564d03d" dependencies = [ "once_cell", "pest", @@ -4573,7 +4611,7 @@ dependencies = [ "phf_shared", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.82", ] [[package]] @@ -4582,7 +4620,7 @@ version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" dependencies = [ - "siphasher", + "siphasher 0.3.11", ] [[package]] @@ -4591,6 +4629,26 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315" +[[package]] +name = "pin-project" +version = "1.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf123a161dde1e524adf36f90bc5d8d3462824a9c43553ad07a8183161189ec" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4502d8515ca9f32f1fb543d987f63d95a14934883db45bdb48060b6b69257f8" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.82", +] + [[package]] name = "pin-project-lite" version = "0.2.14" @@ -4749,18 +4807,31 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.87" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3e4daa0dcf6feba26f985457cdf104d4b4256fc5a09547140f3631bb076b19a" +checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e" dependencies = [ "unicode-ident", ] +[[package]] +name = "proc-macro2-diagnostics" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.82", + "version_check", + "yansi", +] + [[package]] name = "profiling" -version = "1.0.15" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43d84d1d7a6ac92673717f9f6d1518374ef257669c24ebc5ac25d5033828be58" +checksum = "afbdc74edc00b6f6a218ca6a5364d6226a259d4b8ea1af4a0ea063f27e179f4d" [[package]] name = "pure-rust-locales" @@ -4873,17 +4944,11 @@ dependencies = [ "crossbeam-utils", ] -[[package]] -name = "rctree" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b42e27ef78c35d3998403c1d26f3efd9e135d3e5121b0a4845cc5cc27547f4f" - [[package]] name = "read-fonts" -version = "0.22.3" +version = "0.22.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb94d9ac780fdcf9b6b252253f7d8f221379b84bd3573131139b383df69f85e1" +checksum = "4a04b892cb6f91951f144c33321843790c8574c825aafdb16d815fd7183b5229" dependencies = [ "bytemuck", "font-types", @@ -4914,15 +4979,6 @@ dependencies = [ "bitflags 1.3.2", ] -[[package]] -name = "redox_syscall" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" -dependencies = [ - "bitflags 1.3.2", -] - [[package]] name = "redox_syscall" version = "0.4.1" @@ -4948,7 +5004,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ "getrandom", - "libredox 0.1.3", + "libredox", "thiserror", ] @@ -4989,15 +5045,14 @@ checksum = "19b30a45b0cd0bcca8037f3d0dc3421eaf95327a17cad11964fb8179b4fc4832" [[package]] name = "resvg" -version = "0.37.0" +version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cadccb3d99a9efb8e5e00c16fbb732cbe400db2ec7fc004697ee7d97d86cf1f4" +checksum = "944d052815156ac8fa77eaac055220e95ba0b01fa8887108ca710c03805d9051" dependencies = [ - "gif 0.12.0", + "gif", "jpeg-decoder", "log", "pico-args", - "png", "rgb", "svgtypes", "tiny-skia", @@ -5048,12 +5103,6 @@ dependencies = [ "serde_derive", ] -[[package]] -name = "roxmltree" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cd14fd5e3b777a7422cca79358c57a8f6e3a703d9ac187448d0daf220c2407f" - [[package]] name = "roxmltree" version = "0.20.0" @@ -5080,7 +5129,7 @@ dependencies = [ "proc-macro2", "quote", "rust-embed-utils", - "syn 2.0.79", + "syn 2.0.82", "walkdir", ] @@ -5116,6 +5165,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" +[[package]] +name = "rustc-hash" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" + [[package]] name = "rustc_version" version = "0.2.3" @@ -5154,25 +5209,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" - -[[package]] -name = "rustybuzz" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0ae5692c5beaad6a9e22830deeed7874eae8a4e3ba4076fb48e12c56856222c" -dependencies = [ - "bitflags 2.6.0", - "bytemuck", - "smallvec", - "ttf-parser 0.20.0", - "unicode-bidi-mirroring 0.1.0", - "unicode-ccc 0.1.2", - "unicode-properties", - "unicode-script", -] +checksum = "0e819f2bc632f285be6d7cd36e25940d45b2391dd6d9b939e79de557f7014248" [[package]] name = "rustybuzz" @@ -5185,8 +5224,8 @@ dependencies = [ "libm", "smallvec", "ttf-parser 0.21.1", - "unicode-bidi-mirroring 0.2.0", - "unicode-ccc 0.2.0", + "unicode-bidi-mirroring", + "unicode-ccc", "unicode-properties", "unicode-script", ] @@ -5220,14 +5259,14 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "sctk-adwaita" -version = "0.8.3" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70b31447ca297092c5a9916fc3b955203157b37c19ca8edde4f52e9843e602c7" +checksum = "b6277f0217056f77f1d8f49f2950ac6c278c0d607c45f5ee99328d792ede24ec" dependencies = [ "ab_glyph", "log", "memmap2 0.9.5", - "smithay-client-toolkit 0.18.1", + "smithay-client-toolkit", "tiny-skia", ] @@ -5263,29 +5302,29 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.210" +version = "1.0.212" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" +checksum = "ccd4055b7e3937a5c2595e974f5bf1715a23919a595a04b5ad959bdbbb61ab04" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.210" +version = "1.0.212" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" +checksum = "726adf8349784fb68a42e6466f49362ae039d9c5333cc6eb131f4d6f94bb9126" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.82", ] [[package]] name = "serde_json" -version = "1.0.128" +version = "1.0.132" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" +checksum = "d726bfaff4b320266d395898905d0eba0345aae23b54aee3a737e260fd46db03" dependencies = [ "indexmap", "itoa", @@ -5302,7 +5341,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.82", ] [[package]] @@ -5372,6 +5411,12 @@ version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" +[[package]] +name = "siphasher" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" + [[package]] name = "skrifa" version = "0.22.3" @@ -5406,31 +5451,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.6.0", - "calloop 0.12.4", - "calloop-wayland-source 0.2.0", - "cursor-icon", - "libc", - "log", - "memmap2 0.9.5", - "rustix 0.38.37", - "thiserror", - "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" @@ -5439,8 +5459,8 @@ checksum = "3457dea1f0eb631b4034d61d4d8c32074caa6cd1ab2d59f2327bd8461e2c0016" dependencies = [ "bitflags 2.6.0", "bytemuck", - "calloop 0.13.0", - "calloop-wayland-source 0.3.0", + "calloop", + "calloop-wayland-source", "cursor-icon", "libc", "log", @@ -5452,8 +5472,8 @@ dependencies = [ "wayland-client", "wayland-csd-frame", "wayland-cursor", - "wayland-protocols 0.32.4", - "wayland-protocols-wlr 0.3.4", + "wayland-protocols", + "wayland-protocols-wlr", "wayland-scanner", "xkbcommon", "xkeysym", @@ -5466,7 +5486,7 @@ source = "git+https://github.com/pop-os/smithay-clipboard?tag=pop-dnd-5#5a3007de dependencies = [ "libc", "raw-window-handle", - "smithay-client-toolkit 0.19.2", + "smithay-client-toolkit", "wayland-backend", ] @@ -5594,12 +5614,12 @@ checksum = "20e16a0f46cf5fd675563ef54f26e83e20f2366bcf027bcb3cc3ed2b98aaf2ca" [[package]] name = "svgtypes" -version = "0.13.0" +version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e44e288cd960318917cbd540340968b90becc8bc81f171345d706e7a89d9d70" +checksum = "794de53cc48eaabeed0ab6a3404a65f40b3e38c067e4435883a65d2aa4ca000e" dependencies = [ - "kurbo", - "siphasher", + "kurbo 0.11.1", + "siphasher 1.0.1", ] [[package]] @@ -5626,9 +5646,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.79" +version = "2.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590" +checksum = "83540f837a8afc019423a8edb95b52a8effe46957ee402287f4292fae35be021" dependencies = [ "proc-macro2", "quote", @@ -5643,7 +5663,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.82", ] [[package]] @@ -5723,22 +5743,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.64" +version = "1.0.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84" +checksum = "5d11abd9594d9b38965ef50805c5e469ca9cc6f197f883f717e0269a3057b3d5" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.64" +version = "1.0.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3" +checksum = "ae71770322cbd277e69d762a16c444af02aa0575ac0d174f0b9562d3b37f8602" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.82", ] [[package]] @@ -5828,7 +5848,7 @@ checksum = "1d52f22673960ad13af14ff4025997312def1223bfa7c8e4949d099e6b3d5d1c" dependencies = [ "as-raw-xcb-connection", "ctor-lite", - "libloading 0.8.5", + "libloading", "pkg-config", "tracing", ] @@ -5860,9 +5880,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.40.0" +version = "1.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2b070231665d27ad9ec9b8df639893f46727666c6767db40317fbe920a5d998" +checksum = "145f3413504347a2be84393cc8a7d2fb4d863b375909ea59f2158261aa258bbb" dependencies = [ "backtrace", "bytes", @@ -5884,7 +5904,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.82", ] [[package]] @@ -5971,7 +5991,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.82", ] [[package]] @@ -5991,7 +6011,7 @@ dependencies = [ "chrono", "libc", "log", - "objc2 0.5.2", + "objc2", "objc2-foundation", "once_cell", "scopeguard", @@ -6034,7 +6054,7 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "deb68604048ff8fa93347f02441e4487594adc20bb8a084f9e564d2b827a0a9f" dependencies = [ - "rustc-hash", + "rustc-hash 1.1.0", ] [[package]] @@ -6081,12 +6101,9 @@ dependencies = [ [[package]] name = "unicase" -version = "2.7.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" -dependencies = [ - "version_check", -] +checksum = "7e51b68083f157f853b6379db119d1c1be0e6e4dec98101079dec41f6f5cf6df" [[package]] name = "unicode-bidi" @@ -6094,24 +6111,12 @@ version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893" -[[package]] -name = "unicode-bidi-mirroring" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56d12260fb92d52f9008be7e4bca09f584780eb2266dc8fecc6a192bec561694" - [[package]] name = "unicode-bidi-mirroring" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23cb788ffebc92c5948d0e997106233eeb1d8b9512f93f41651f52b6c5f5af86" -[[package]] -name = "unicode-ccc" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc2520efa644f8268dce4dcd3050eaa7fc044fca03961e9998ac7e2e92b77cf1" - [[package]] name = "unicode-ccc" version = "0.2.0" @@ -6214,63 +6219,29 @@ dependencies = [ [[package]] name = "usvg" -version = "0.37.0" +version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38b0a51b72ab80ca511d126b77feeeb4fb1e972764653e61feac30adc161a756" -dependencies = [ - "base64 0.21.7", - "log", - "pico-args", - "usvg-parser", - "usvg-text-layout", - "usvg-tree", - "xmlwriter", -] - -[[package]] -name = "usvg-parser" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bd4e3c291f45d152929a31f0f6c819245e2921bfd01e7bd91201a9af39a2bdc" +checksum = "b84ea542ae85c715f07b082438a4231c3760539d902e11d093847a0b22963032" dependencies = [ + "base64 0.22.1", "data-url", "flate2", + "fontdb 0.18.0", "imagesize", - "kurbo", + "kurbo 0.11.1", "log", - "roxmltree 0.19.0", + "pico-args", + "roxmltree", + "rustybuzz", "simplecss", - "siphasher", + "siphasher 1.0.1", + "strict-num", "svgtypes", - "usvg-tree", -] - -[[package]] -name = "usvg-text-layout" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d383a3965de199d7f96d4e11a44dd859f46e86de7f3dca9a39bf82605da0a37c" -dependencies = [ - "fontdb", - "kurbo", - "log", - "rustybuzz 0.12.1", + "tiny-skia-path", "unicode-bidi", "unicode-script", "unicode-vo", - "usvg-tree", -] - -[[package]] -name = "usvg-tree" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ee3d202ebdb97a6215604b8f5b4d6ef9024efd623cf2e373a6416ba976ec7d3" -dependencies = [ - "rctree", - "strict-num", - "svgtypes", - "tiny-skia-path", + "xmlwriter", ] [[package]] @@ -6293,9 +6264,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314" +checksum = "f8c5f0a0af699448548ad1a2fbf920fb4bee257eae39953ba95cb84891a0446a" [[package]] name = "uzers" @@ -6349,9 +6320,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.94" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef073ced962d62984fb38a36e5fdc1a2b23c9e0e1fa0689bb97afa4202ef6887" +checksum = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e" dependencies = [ "cfg-if", "once_cell", @@ -6360,24 +6331,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.94" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4bfab14ef75323f4eb75fa52ee0a3fb59611977fd3240da19b2cf36ff85030e" +checksum = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.82", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.44" +version = "0.4.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65471f79c1022ffa5291d33520cbbb53b7687b01c2f8e83b57d102eed7ed479d" +checksum = "cc7ec4f8827a71586374db3e87abdb5a2bb3a15afed140221307c3ec06b1f63b" dependencies = [ "cfg-if", "js-sys", @@ -6387,9 +6358,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.94" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7bec9830f60924d9ceb3ef99d55c155be8afa76954edffbb5936ff4509474e7" +checksum = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -6397,22 +6368,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.94" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c74f6e152a76a2ad448e223b0fc0b6b5747649c3d769cc6bf45737bf97d0ed6" +checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.82", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.94" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a42f6c679374623f295a8623adfe63d9284091245c3504bde47c17a3ce2777d9" +checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d" [[package]] name = "wasm-timer" @@ -6477,18 +6448,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.6.0", - "wayland-backend", - "wayland-client", - "wayland-scanner", -] - [[package]] name = "wayland-protocols" version = "0.32.4" @@ -6503,27 +6462,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.6.0", - "wayland-backend", - "wayland-client", - "wayland-protocols 0.31.2", - "wayland-scanner", -] - -[[package]] -name = "wayland-protocols-wlr" -version = "0.2.0" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6" +checksum = "8a0a41a6875e585172495f7a96dfa42ca7e0213868f4f15c313f7c33221a7eff" dependencies = [ "bitflags 2.6.0", "wayland-backend", "wayland-client", - "wayland-protocols 0.31.2", + "wayland-protocols", "wayland-scanner", ] @@ -6536,7 +6482,7 @@ dependencies = [ "bitflags 2.6.0", "wayland-backend", "wayland-client", - "wayland-protocols 0.32.4", + "wayland-protocols", "wayland-scanner", ] @@ -6565,9 +6511,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.71" +version = "0.3.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44188d185b5bdcae1052d08bcbcf9091a5524038d4572cc4f4f2bb9d5554ddd9" +checksum = "f6488b90108c040df0fe62fa815cbdee25124641df01814dd7282749234c6112" dependencies = [ "js-sys", "wasm-bindgen", @@ -6575,9 +6521,9 @@ dependencies = [ [[package]] name = "web-time" -version = "0.2.4" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa30049b1c872b72c89866d458eae9f20380ab280ffd1b1e18df2d3e2d98cfe0" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" dependencies = [ "js-sys", "wasm-bindgen", @@ -6591,12 +6537,13 @@ checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082" [[package]] name = "wgpu" -version = "0.19.0" -source = "git+https://github.com/gfx-rs/wgpu?rev=20fda69#20fda698341efbdc870b8027d6d49f5bf3f36109" +version = "22.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1d1c4ba43f80542cf63a0a6ed3134629ae73e8ab51e4b765a67f3aa062eb433" dependencies = [ "arrayvec 0.7.6", - "cfg-if", "cfg_aliases 0.1.1", + "document-features", "js-sys", "log", "naga", @@ -6615,14 +6562,15 @@ dependencies = [ [[package]] name = "wgpu-core" -version = "0.19.0" -source = "git+https://github.com/gfx-rs/wgpu?rev=20fda69#20fda698341efbdc870b8027d6d49f5bf3f36109" +version = "22.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0348c840d1051b8e86c3bcd31206080c5e71e5933dabd79be1ce732b0b2f089a" dependencies = [ "arrayvec 0.7.6", "bit-vec", "bitflags 2.6.0", "cfg_aliases 0.1.1", - "codespan-reporting", + "document-features", "indexmap", "log", "naga", @@ -6630,18 +6578,18 @@ dependencies = [ "parking_lot 0.12.3", "profiling", "raw-window-handle", - "rustc-hash", + "rustc-hash 1.1.0", "smallvec", "thiserror", - "web-sys", "wgpu-hal", "wgpu-types", ] [[package]] name = "wgpu-hal" -version = "0.19.0" -source = "git+https://github.com/gfx-rs/wgpu?rev=20fda69#20fda698341efbdc870b8027d6d49f5bf3f36109" +version = "22.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6bbf4b4de8b2a83c0401d9e5ae0080a2792055f25859a02bf9be97952bbed4f" dependencies = [ "android_system_properties", "arrayvec 0.7.6", @@ -6661,10 +6609,11 @@ dependencies = [ "js-sys", "khronos-egl", "libc", - "libloading 0.8.5", + "libloading", "log", "metal", "naga", + "ndk-sys 0.5.0+25.2.9519653", "objc", "once_cell", "parking_lot 0.12.3", @@ -6672,7 +6621,7 @@ dependencies = [ "range-alloc", "raw-window-handle", "renderdoc-sys", - "rustc-hash", + "rustc-hash 1.1.0", "smallvec", "thiserror", "wasm-bindgen", @@ -6683,8 +6632,9 @@ dependencies = [ [[package]] name = "wgpu-types" -version = "0.19.0" -source = "git+https://github.com/gfx-rs/wgpu?rev=20fda69#20fda698341efbdc870b8027d6d49f5bf3f36109" +version = "22.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc9d91f0e2c4b51434dfa6db77846f2793149d8e73f800fa2e41f52b8eac3c5d" dependencies = [ "bitflags 2.6.0", "js-sys", @@ -6731,7 +6681,7 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "window_clipboard" version = "0.4.1" -source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-8#7c59b07b9172d8e0401f7e06609e1050575309c9" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-0.13#a83bf83784276aaa882ef13555295a2ad9edd265" dependencies = [ "clipboard-win", "clipboard_macos", @@ -6745,22 +6695,23 @@ dependencies = [ [[package]] name = "windows" -version = "0.48.0" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" +checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" dependencies = [ - "windows-implement 0.48.0", - "windows-interface 0.48.0", - "windows-targets 0.48.5", + "windows-core 0.52.0", + "windows-targets 0.52.6", ] [[package]] name = "windows" -version = "0.52.0" +version = "0.54.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" +checksum = "9252e5725dbed82865af151df558e754e4a3c2c30818359eb17465f1346a1b49" dependencies = [ - "windows-core 0.52.0", + "windows-core 0.54.0", + "windows-implement 0.53.0", + "windows-interface 0.53.0", "windows-targets 0.52.6", ] @@ -6783,6 +6734,16 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-core" +version = "0.54.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12661b9c89351d684a50a8a643ce5f608e20243b9fb84687800163429f161d65" +dependencies = [ + "windows-result", + "windows-targets 0.52.6", +] + [[package]] name = "windows-core" version = "0.56.0" @@ -6797,13 +6758,13 @@ dependencies = [ [[package]] name = "windows-implement" -version = "0.48.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e2ee588991b9e7e6c8338edf3333fbe4da35dc72092643958ebb43f0ab2c49c" +checksum = "942ac266be9249c84ca862f0a164a39533dc2f6f33dc98ec89c8da99b82ea0bd" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.82", ] [[package]] @@ -6814,18 +6775,18 @@ checksum = "f6fc35f58ecd95a9b71c4f2329b911016e6bec66b3f2e6a4aad86bd2e99e2f9b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.82", ] [[package]] name = "windows-interface" -version = "0.48.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6fb8df20c9bcaa8ad6ab513f7b40104840c8867d5751126e4df3b08388d0cc7" +checksum = "da33557140a288fae4e1d5f8873aaf9eb6613a9cf82c3e070223ff177f598b60" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.82", ] [[package]] @@ -6836,7 +6797,7 @@ checksum = "08990546bf4edef8f431fa6326e032865f27138718c587dc21bc0265bbcb57cc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.82", ] [[package]] @@ -7064,46 +7025,50 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winit" -version = "0.29.10" -source = "git+https://github.com/pop-os/winit.git?branch=winit-0.29#bdc66109acc85c912264c9e4b864520345bdb45f" +version = "0.30.5" +source = "git+https://github.com/pop-os/winit.git?tag=iced-xdg-surface-0.13#b1852274c0251d7f24ba2cb32fa53812b37b1c79" dependencies = [ "ahash", "android-activity", "atomic-waker", "bitflags 2.6.0", + "block2", "bytemuck", - "calloop 0.12.4", - "cfg_aliases 0.1.1", + "calloop", + "cfg_aliases 0.2.1", + "concurrent-queue", "core-foundation", "core-graphics", "cursor-icon", - "icrate 0.0.4", + "dpi", "js-sys", "libc", - "log", "memmap2 0.9.5", "ndk", - "ndk-sys", - "objc2 0.4.1", - "once_cell", + "objc2", + "objc2-app-kit", + "objc2-foundation", + "objc2-ui-kit", "orbclient", "percent-encoding", + "pin-project", "raw-window-handle", - "redox_syscall 0.3.5", + "redox_syscall 0.4.1", "rustix 0.38.37", "sctk-adwaita", - "smithay-client-toolkit 0.18.1", + "smithay-client-toolkit", "smol_str", + "tracing", "unicode-segmentation", "wasm-bindgen", "wasm-bindgen-futures", "wayland-backend", "wayland-client", - "wayland-protocols 0.31.2", + "wayland-protocols", "wayland-protocols-plasma", "web-sys", "web-time", - "windows-sys 0.48.0", + "windows-sys 0.52.0", "x11-dl", "x11rb", "xkbcommon-dl", @@ -7159,7 +7124,7 @@ dependencies = [ "as-raw-xcb-connection", "gethostname", "libc", - "libloading 0.8.5", + "libloading", "once_cell", "rustix 0.38.37", "x11rb-protocol", @@ -7262,12 +7227,6 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec7a2a501ed189703dba8b08142f057e887dfc4b2cc4db2d343ac6376ba3e0b9" -[[package]] -name = "xxhash-rust" -version = "0.8.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a5cbf750400958819fb6178eaa83bee5cd9c29a26a40cc241df8c70fdd46984" - [[package]] name = "yaml-rust" version = "0.4.5" @@ -7277,6 +7236,12 @@ dependencies = [ "linked-hash-map", ] +[[package]] +name = "yansi" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" + [[package]] name = "yazi" version = "0.1.6" @@ -7303,7 +7268,7 @@ checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.82", "synstructure", ] @@ -7314,15 +7279,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "675d170b632a6ad49804c8cf2105d7c31eddd3312555cffd4b740e08e97c25e6" dependencies = [ "async-broadcast 0.5.1", - "async-executor", - "async-fs 1.6.0", - "async-io 1.13.0", - "async-lock 2.8.0", "async-process 1.8.1", "async-recursion", - "async-task", "async-trait", - "blocking", "byteorder", "derivative", "enumflags2", @@ -7357,7 +7316,7 @@ checksum = "bb97012beadd29e654708a0fdb4c84bc046f537aecfde2c3ee0a9e4b4d48c725" dependencies = [ "async-broadcast 0.7.1", "async-executor", - "async-fs 2.1.2", + "async-fs", "async-io 2.3.4", "async-lock 3.4.0", "async-process 2.3.0", @@ -7411,7 +7370,7 @@ dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.82", "zvariant_utils 2.1.0", ] @@ -7461,7 +7420,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.82", ] [[package]] @@ -7481,7 +7440,7 @@ checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.82", "synstructure", ] @@ -7502,7 +7461,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.82", ] [[package]] @@ -7524,7 +7483,7 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.82", ] [[package]] @@ -7657,7 +7616,7 @@ dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.82", "zvariant_utils 2.1.0", ] @@ -7680,5 +7639,5 @@ checksum = "c51bcff7cc3dbb5055396bcf774748c3dab426b4b8659046963523cee4808340" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.82", ] diff --git a/Cargo.toml b/Cargo.toml index ec92ac2..c95a46a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -34,7 +34,6 @@ rust-embed = "8" [dependencies.cosmic-files] git = "https://github.com/pop-os/cosmic-files.git" default-features = false -features = ["winit"] [dependencies.cosmic-syntax-theme] git = "https://github.com/pop-os/cosmic-syntax-theme.git" @@ -63,11 +62,7 @@ wgpu = ["libcosmic/wgpu", "cosmic-files/wgpu"] inherits = "release" debug = true -[patch.crates-io] -# https://github.com/alexcrichton/filetime/pull/104 -filetime = { git = "https://github.com/jackpot51/filetime" } - # [patch.'https://github.com/pop-os/libcosmic'] # libcosmic = { path = "../libcosmic" } # cosmic-config = { path = "../libcosmic/cosmic-config" } -# cosmic-theme = { path = "../libcosmic/cosmic-theme" } \ No newline at end of file +# cosmic-theme = { path = "../libcosmic/cosmic-theme" } diff --git a/src/line_number.rs b/src/line_number.rs index b95e05f..23c89d4 100644 --- a/src/line_number.rs +++ b/src/line_number.rs @@ -1,6 +1,5 @@ use cosmic_text::{ - Align, Attrs, AttrsList, BufferLine, Family, FontSystem, LayoutLine, LineEnding, ShapeBuffer, - Shaping, Wrap, + Align, Attrs, AttrsList, BufferLine, Family, FontSystem, LayoutLine, LineEnding, Shaping, Wrap, }; use std::collections::HashMap; diff --git a/src/main.rs b/src/main.rs index b74c672..bc953f2 100644 --- a/src/main.rs +++ b/src/main.rs @@ -4,7 +4,7 @@ use cosmic::widget::menu::action::MenuAction; use cosmic::widget::menu::key_bind::KeyBind; use cosmic::widget::segmented_button::Entity; use cosmic::{ - app::{message, Command, Core, Settings}, + app::{message, Core, Settings, Task}, cosmic_config::{self, CosmicConfigEntry}, cosmic_theme, executor, font::Font, @@ -13,9 +13,7 @@ use cosmic::{ clipboard, event, futures::{self, SinkExt}, keyboard::{self, Modifiers}, - subscription, - widget::text, - window, Alignment, Background, Color, Length, Limits, Point, + stream, window, Alignment, Background, Color, Length, Limits, Point, Subscription, }, style, theme, widget::{self, button, icon, nav_bar, segmented_button}, @@ -322,6 +320,7 @@ pub enum Message { ConfigState(ConfigState), CloseFile, CloseProject(usize), + CloseWindow(window::Id), Copy, Cut, DefaultFont(usize), @@ -338,7 +337,7 @@ pub enum Message { FindSearchValueChanged(String), FindUseRegex(bool), FindWrapAround(bool), - Focus, + Focus(window::Id), GitProjectStatus(Vec<(String, PathBuf, Vec)>), GitStage(PathBuf, PathBuf), GitUnstage(PathBuf, PathBuf), @@ -670,7 +669,7 @@ impl App { } } - fn update_config(&mut self) -> Command { + fn update_config(&mut self) -> Task { //TODO: provide iterator over data let entities: Vec<_> = self.tab_model.iter().collect(); for entity in entities { @@ -681,7 +680,7 @@ impl App { cosmic::app::command::set_theme(self.config.app_theme.theme()) } - fn save_config(&mut self) -> Command { + fn save_config(&mut self) -> Task { if let Some(ref config_handler) = self.config_handler { if let Err(err) = self.config.write_entry(config_handler) { log::error!("failed to save config: {}", err); @@ -698,7 +697,7 @@ impl App { } } - fn update_dialogs(&mut self) -> Command { + fn update_dialogs(&mut self) -> Task { match self.dialog_page_opt { Some(DialogPage::PromptSaveClose(entity)) => { if let Some(Tab::Editor(tab)) = self.tab_model.data::(entity) { @@ -730,16 +729,16 @@ impl App { } None => {} } - Command::none() + Task::none() } - fn update_focus(&self) -> Command { + fn update_focus(&self) -> Task { if self.core.window.show_context { match self.context_page { ContextPage::ProjectSearch => { widget::text_input::focus(self.project_search_id.clone()) } - _ => Command::none(), + _ => Task::none(), } } else if self.find_opt.is_some() { widget::text_input::focus(self.find_search_id.clone()) @@ -783,7 +782,7 @@ impl App { match expand_opt { Some(id) => { //TODO: can this be optimized? - // Command not used becuase opening a folder just returns Command::none + // Task not used becuase opening a folder just returns Task::none let _ = self.on_nav_select(id); } None => { @@ -796,7 +795,7 @@ impl App { } // Call this any time the tab changes - pub fn update_tab(&mut self) -> Command { + pub fn update_tab(&mut self) -> Task { self.update_nav_bar_active(); let title = match self.active_tab() { @@ -811,8 +810,12 @@ impl App { }; let window_title = format!("{title} - {}", fl!("cosmic-text-editor")); - Command::batch([ - self.set_window_title(window_title, self.main_window_id()), + Task::batch([ + if let Some(window_id) = self.core.main_window_id() { + self.set_window_title(window_title, window_id) + } else { + Task::none() + }, self.update_focus(), ]) } @@ -844,7 +847,7 @@ impl App { .padding(0) .into(), ]) - .align_items(Alignment::Center) + .align_x(Alignment::Center) .spacing(space_xxs) .into() } @@ -878,7 +881,7 @@ impl App { }); } - widget::settings::view_column(vec![widget::settings::view_section("") + widget::settings::view_column(vec![widget::settings::section() .add( widget::settings::item::builder(fl!("word-count")) .control(widget::text(word_count.to_string())), @@ -911,10 +914,10 @@ impl App { cosmic_theme.warning_color(), ) }; - let added = || widget::text("[+]").style(theme::Text::Color(success_color.into())); + let added = || widget::text("[+]").class(theme::Text::Color(success_color.into())); let deleted = - || widget::text("[-]").style(theme::Text::Color(destructive_color.into())); - let modified = || widget::text("[*]").style(theme::Text::Color(warning_color.into())); + || widget::text("[-]").class(theme::Text::Color(destructive_color.into())); + let modified = || widget::text("[*]").class(theme::Text::Color(warning_color.into())); let mut items = Vec::with_capacity(project_status.len().saturating_mul(3).saturating_add(1)); @@ -979,7 +982,7 @@ impl App { widget::row::with_children(vec![ icon.into(), widget::text(text.clone()).into(), - widget::horizontal_space(Length::Fill).into(), + widget::horizontal_space().into(), widget::button::standard(fl!("stage")) .on_press(Message::GitStage( project_path.clone(), @@ -987,7 +990,7 @@ impl App { )) .into(), ]) - .align_items(Alignment::Center) + .align_y(Alignment::Center) .spacing(spacing.space_xs), ) .on_press(Message::PrepareGitDiff( @@ -995,7 +998,7 @@ impl App { item.path.clone(), false, )) - .style(theme::Button::AppletMenu) + .class(theme::Button::AppletMenu) .width(Length::Fill) .into(), ); @@ -1020,7 +1023,7 @@ impl App { widget::row::with_children(vec![ icon.into(), widget::text(text.clone()).into(), - widget::horizontal_space(Length::Fill).into(), + widget::horizontal_space().into(), widget::button::standard(fl!("unstage")) .on_press(Message::GitUnstage( project_path.clone(), @@ -1028,7 +1031,7 @@ impl App { )) .into(), ]) - .align_items(Alignment::Center) + .align_y(Alignment::Center) .spacing(spacing.space_xs), ) .on_press(Message::PrepareGitDiff( @@ -1036,7 +1039,7 @@ impl App { item.path.clone(), true, )) - .style(theme::Button::AppletMenu) + .class(theme::Button::AppletMenu) .width(Length::Fill) .into(), ); @@ -1047,7 +1050,8 @@ impl App { if !unstaged_items.is_empty() { items.push( - widget::settings::view_section(fl!("unstaged-changes")) + widget::settings::section() + .title(fl!("unstaged-changes")) .add(widget::column::with_children(unstaged_items)) .into(), ); @@ -1055,7 +1059,8 @@ impl App { if !staged_items.is_empty() { items.push( - widget::settings::view_section(fl!("staged-changes")) + widget::settings::section() + .title(fl!("staged-changes")) .add(widget::column::with_children(staged_items)) .into(), ); @@ -1132,17 +1137,15 @@ impl App { ) .on_press(Message::OpenSearchResult(file_i, line_i)) .width(Length::Fill) - .style(theme::Button::AppletMenu), + .class(theme::Button::AppletMenu), ); } items.push( - widget::settings::view_section(format!( - "{}", - file_search_result.path.display(), - )) - .add(column) - .into(), + widget::settings::section() + .title(format!("{}", file_search_result.path.display(),)) + .add(column) + .into(), ); } @@ -1188,7 +1191,8 @@ impl App { .iter() .position(|font_size| font_size == &self.config.font_size); widget::settings::view_column(vec![ - widget::settings::view_section(fl!("appearance")) + widget::settings::section() + .title(fl!("appearance")) .add( widget::settings::item::builder(fl!("theme")).control(widget::dropdown( &self.app_themes, @@ -1231,7 +1235,8 @@ impl App { ), ) .into(), - widget::settings::view_section(fl!("keyboard-shortcuts")) + widget::settings::section() + .title(fl!("keyboard-shortcuts")) .add( widget::settings::item::builder(fl!("enable-vim-bindings")) .toggler(self.config.vim_bindings, Message::VimBindings), @@ -1265,7 +1270,7 @@ impl Application for App { } /// Creates the application, and optionally emits command on initialize. - fn init(core: Core, flags: Self::Flags) -> (Self, Command) { + fn init(core: Core, flags: Self::Flags) -> (Self, Task) { // Update font name from config { let mut font_system = font_system().write().unwrap(); @@ -1396,7 +1401,7 @@ impl Application for App { .style(theme::SegmentedButton::TabBar) .apply(widget::container) .padding(space_s) - .width(Length::Fill); + .width(Length::Shrink); if !self.core().is_condensed() { nav = nav.max_width(280); @@ -1406,7 +1411,7 @@ impl Application for App { nav.apply(widget::scrollable) .apply(widget::container) .height(Length::Fill) - .style(theme::Container::custom(nav_bar::nav_bar_style)) + .class(theme::Container::custom(nav_bar::nav_bar_style)) .into(), ) } @@ -1419,13 +1424,13 @@ impl Application for App { Some(Message::Quit) } - fn on_context_drawer(&mut self) -> Command { + fn on_context_drawer(&mut self) -> Task { // Focus correct widget self.update_focus() } //TODO: currently the first escape unfocuses, and the second calls this function - fn on_escape(&mut self) -> Command { + fn on_escape(&mut self) -> Task { if self.core.window.show_context { // Close context drawer if open self.core.window.show_context = false; @@ -1438,7 +1443,7 @@ impl Application for App { self.update_focus() } - fn on_nav_select(&mut self, id: nav_bar::Id) -> Command { + fn on_nav_select(&mut self, id: nav_bar::Id) -> Task { // Toggle open state and get clone of node data let node_opt = match self.nav_model.data_mut::(id) { Some(node) => { @@ -1477,7 +1482,7 @@ impl Application for App { // folder in condensed mode. self.core_mut().nav_bar_set_toggled(true); - Command::none() + Task::none() } ProjectNode::File { path, .. } => { //TODO: go to already open file if possible @@ -1520,9 +1525,9 @@ impl Application for App { let mut column = widget::column::with_capacity(entities.len()).spacing(space_xxs); for entity in entities.iter() { if let Some(Tab::Editor(tab)) = self.tab_model.data::(*entity) { - let mut row = widget::row::with_capacity(3).align_items(Alignment::Center); + let mut row = widget::row::with_capacity(3).align_y(Alignment::Center); row = row.push(widget::text(tab.title())); - row = row.push(widget::horizontal_space(Length::Fill)); + row = row.push(widget::horizontal_space()); if let Some(_path) = &tab.path_opt { row = row.push( widget::button::standard(fl!("save")) @@ -1562,7 +1567,7 @@ impl Application for App { } } - fn update(&mut self, message: Message) -> Command { + fn update(&mut self, message: Message) -> Task { match message { Message::AppTheme(app_theme) => { self.config.app_theme = app_theme; @@ -1613,6 +1618,11 @@ impl Application for App { } } } + Message::CloseWindow(window_id) => { + if Some(window_id) == self.core.main_window_id() { + return self.update(Message::Quit); + } + } Message::Copy => { if let Some(Tab::Editor(tab)) = self.active_tab() { let editor = tab.editor.lock().unwrap(); @@ -1633,7 +1643,7 @@ impl Application for App { selection_opt }; if let Some(selection) = selection_opt { - return Command::batch([ + return Task::batch([ clipboard::write(selection), self.update(Message::TabChanged(self.tab_model.active())), ]); @@ -1830,7 +1840,7 @@ impl Application for App { self.git_project_status = Some(project_status); } Message::GitStage(project_path, path) => { - return Command::perform( + return Task::perform( async move { //TODO: send errors to UI match GitRepository::new(&project_path) { @@ -1861,7 +1871,7 @@ impl Application for App { ); } Message::GitUnstage(project_path, path) => { - return Command::perform( + return Task::perform( async move { //TODO: send errors to UI match GitRepository::new(&project_path) { @@ -2107,9 +2117,9 @@ impl Application for App { if let Some((path, cursor)) = path_cursor_opt { if let Some(entity) = self.open_tab(Some(path)) { - return Command::batch([ + return Task::batch([ //TODO: why must this be done in a command? - Command::perform( + Task::perform( async move { message::app(Message::TabSetCursor(entity, cursor)) }, |x| x, ), @@ -2119,7 +2129,7 @@ impl Application for App { } } Message::Paste => { - return clipboard::read(|value_opt| match value_opt { + return clipboard::read().map(|value_opt| match value_opt { Some(value) => message::app(Message::PasteValue(value)), None => message::none(), }); @@ -2136,7 +2146,7 @@ impl Application for App { } } Message::PrepareGitDiff(project_path, path, staged) => { - return Command::perform( + return Task::perform( async move { //TODO: send errors to UI match GitRepository::new(&project_path) { @@ -2183,7 +2193,7 @@ impl Application for App { files: Vec::new(), }; self.project_search_result = Some(project_search_result.clone()); - return Command::perform( + return Task::perform( async move { let task_res = tokio::task::spawn_blocking(move || { project_search_result.search_projects(projects); @@ -2378,7 +2388,7 @@ impl Application for App { // Ex. If tab 2 and 3 both have unsaved changes and `PromptSaveClose` is // emitted for tab 2, closing tab 3 should open the dialog for tab 3 in // order for `Message::Save` to save the correct tab. - return Command::batch([ + return Task::batch([ // Focus the tab in case the user is closing an unfocussed tab // Otherwise, closing an unfocussed tab would be very confusing self.update(Message::TabActivate(entity)), @@ -2542,7 +2552,7 @@ impl Application for App { Message::UpdateGitProjectStatus => { self.git_project_status = None; let projects = self.projects.clone(); - return Command::perform( + return Task::perform( async move { let mut project_status = Vec::new(); for (project_name, project_path) in projects.iter() { @@ -2584,15 +2594,17 @@ impl Application for App { self.config.vim_bindings = vim_bindings; return self.save_config(); } - Message::Focus => { - // focus the text box if context page is not shown - if !self.core.window.show_context { - return self.update_focus(); + Message::Focus(window_id) => { + if Some(window_id) == self.core.main_window_id() { + // focus the text box if context page is not shown + if !self.core.window.show_context { + return self.update_focus(); + } } } } - Command::none() + Task::none() } fn context_drawer(&self) -> Option> { @@ -2629,7 +2641,7 @@ impl Application for App { tab_column = tab_column.push( widget::row::with_capacity(2) - .align_items(Alignment::Center) + .align_y(Alignment::Center) .push( widget::tab_bar::horizontal(&self.tab_model) .button_height(32) @@ -2644,43 +2656,13 @@ impl Application for App { button::custom(icon_cache_get("list-add-symbolic", 16)) .on_press(Message::NewFile) .padding(space_xxs) - .style(style::Button::Icon), + .class(style::Button::Icon), ), ); let tab_id = self.tab_model.active(); match self.tab_model.data::(tab_id) { Some(Tab::Editor(tab)) => { - let status = { - let editor = tab.editor.lock().unwrap(); - let parser = editor.parser(); - match &parser.mode { - ViMode::Normal => { - format!("{}", parser.cmd) - } - ViMode::Insert => "-- INSERT --".to_string(), - ViMode::Extra(extra) => { - format!("{}{}", parser.cmd, extra) - } - ViMode::Replace => "-- REPLACE --".to_string(), - ViMode::Visual => { - format!("-- VISUAL -- {}", parser.cmd) - } - ViMode::VisualLine => { - format!("-- VISUAL LINE -- {}", parser.cmd) - } - ViMode::Command { value } => { - format!(":{value}|") - } - ViMode::Search { value, forwards } => { - if *forwards { - format!("/{value}|") - } else { - format!("?{value}|") - } - } - } - }; let mut text_box = text_box(&tab.editor, self.config.metrics()) .id(self.text_box_id.clone()) .on_changed(Message::TabChanged(tab_id)) @@ -2701,11 +2683,39 @@ impl Application for App { .position(widget::popover::Position::Point(point)); } tab_column = tab_column.push(popover); - /*TODO: the status area breaks text box focus - if !status.is_empty() { - tab_column = tab_column.push(text(status).font(Font::MONOSPACE)); + if self.config.vim_bindings { + let status = { + let editor = tab.editor.lock().unwrap(); + let parser = editor.parser(); + match &parser.mode { + ViMode::Normal => { + format!("{}", parser.cmd) + } + ViMode::Insert => "-- INSERT --".to_string(), + ViMode::Extra(extra) => { + format!("{}{}", parser.cmd, extra) + } + ViMode::Replace => "-- REPLACE --".to_string(), + ViMode::Visual => { + format!("-- VISUAL -- {}", parser.cmd) + } + ViMode::VisualLine => { + format!("-- VISUAL LINE -- {}", parser.cmd) + } + ViMode::Command { value } => { + format!(":{value}|") + } + ViMode::Search { value, forwards } => { + if *forwards { + format!("/{value}|") + } else { + format!("?{value}|") + } + } + } + }; + tab_column = tab_column.push(widget::text(status).font(Font::MONOSPACE)); } - */ } Some(Tab::GitDiff(tab)) => { let mut diff_widget = widget::column::with_capacity(tab.diff.hunks.len()); @@ -2721,36 +2731,36 @@ impl Application for App { "{:4} {:4} {}", old_line, new_line, text ))), - GitDiffLine::Added { new_line, text } => widget::container( - widget::text::monotext(format!( + GitDiffLine::Added { new_line, text } => { + widget::container(widget::text::monotext(format!( "{:4} {:4} + {}", "", new_line, text - )), - ) - .style(theme::Container::Custom(Box::new(|_theme| { - //TODO: theme this color - widget::container::Appearance { - background: Some(Background::Color(Color::from_rgb8( - 0x00, 0x40, 0x00, - ))), - ..Default::default() - } - }))), - GitDiffLine::Deleted { old_line, text } => widget::container( - widget::text::monotext(format!( + ))) + .style(|_theme| { + //TODO: theme this color + widget::container::Style { + background: Some(Background::Color(Color::from_rgb8( + 0x00, 0x40, 0x00, + ))), + ..Default::default() + } + }) + } + GitDiffLine::Deleted { old_line, text } => { + widget::container(widget::text::monotext(format!( "{:4} {:4} - {}", old_line, "", text - )), - ) - .style(theme::Container::Custom(Box::new(|_theme| { - //TODO: theme this color - widget::container::Appearance { - background: Some(Background::Color(Color::from_rgb8( - 0x40, 0x00, 0x00, - ))), - ..Default::default() - } - }))), + ))) + .style(|_theme| { + //TODO: theme this color + widget::container::Style { + background: Some(Background::Color(Color::from_rgb8( + 0x40, 0x00, 0x00, + ))), + ..Default::default() + } + }) + } }; hunk_widget = hunk_widget.push(line_widget.width(Length::Fill)); } @@ -2777,7 +2787,7 @@ impl Application for App { .trailing_icon( button::custom(icon_cache_get("edit-clear-symbolic", 16)) .on_press(Message::FindSearchValueChanged(String::new())) - .style(style::Button::Icon) + .class(style::Button::Icon) .into(), ); let find_widget = widget::row::with_children(vec![ @@ -2786,8 +2796,8 @@ impl Application for App { button::custom(icon_cache_get("go-up-symbolic", 16)) .on_press(Message::FindPrevious) .padding(space_xxs) - .style(style::Button::Icon), - fl!("find-previous"), + .class(style::Button::Icon), + widget::text::body(fl!("find-previous")), widget::tooltip::Position::Top, ) .into(), @@ -2795,19 +2805,19 @@ impl Application for App { button::custom(icon_cache_get("go-down-symbolic", 16)) .on_press(Message::FindNext) .padding(space_xxs) - .style(style::Button::Icon), - fl!("find-next"), + .class(style::Button::Icon), + widget::text::body(fl!("find-next")), widget::tooltip::Position::Top, ) .into(), - widget::horizontal_space(Length::Fill).into(), + widget::horizontal_space().into(), button::custom(icon_cache_get("window-close-symbolic", 16)) .on_press(Message::Find(None)) .padding(space_xxs) - .style(style::Button::Icon) + .class(style::Button::Icon) .into(), ]) - .align_items(Alignment::Center) + .align_y(Alignment::Center) .padding(space_xxs) .spacing(space_xxs); @@ -2824,7 +2834,7 @@ impl Application for App { .trailing_icon( button::custom(icon_cache_get("edit-clear-symbolic", 16)) .on_press(Message::FindReplaceValueChanged(String::new())) - .style(style::Button::Icon) + .class(style::Button::Icon) .into(), ); let replace_widget = widget::row::with_children(vec![ @@ -2833,8 +2843,8 @@ impl Application for App { button::custom(icon_cache_get("replace-symbolic", 16)) .on_press(Message::FindReplace) .padding(space_xxs) - .style(style::Button::Icon), - fl!("replace"), + .class(style::Button::Icon), + widget::text::body(fl!("replace")), widget::tooltip::Position::Top, ) .into(), @@ -2842,13 +2852,13 @@ impl Application for App { button::custom(icon_cache_get("replace-all-symbolic", 16)) .on_press(Message::FindReplaceAll) .padding(space_xxs) - .style(style::Button::Icon), - fl!("replace-all"), + .class(style::Button::Icon), + widget::text::body(fl!("replace-all")), widget::tooltip::Position::Top, ) .into(), ]) - .align_items(Alignment::Center) + .align_y(Alignment::Center) .padding(space_xxs) .spacing(space_xxs); @@ -2857,26 +2867,17 @@ impl Application for App { column = column.push( widget::row::with_children(vec![ - widget::checkbox( - fl!("case-sensitive"), - self.config.find_case_sensitive, - Message::FindCaseSensitive, - ) - .into(), - widget::checkbox( - fl!("use-regex"), - self.config.find_use_regex, - Message::FindUseRegex, - ) - .into(), - widget::checkbox( - fl!("wrap-around"), - self.config.find_wrap_around, - Message::FindWrapAround, - ) - .into(), + widget::checkbox(fl!("case-sensitive"), self.config.find_case_sensitive) + .on_toggle(Message::FindCaseSensitive) + .into(), + widget::checkbox(fl!("use-regex"), self.config.find_use_regex) + .on_toggle(Message::FindUseRegex) + .into(), + widget::checkbox(fl!("wrap-around"), self.config.find_wrap_around) + .on_toggle(Message::FindWrapAround) + .into(), ]) - .align_items(Alignment::Center) + .align_y(Alignment::Center) .padding(space_xxs) .spacing(space_xxs), ); @@ -2899,14 +2900,14 @@ impl Application for App { } } - fn subscription(&self) -> subscription::Subscription { + fn subscription(&self) -> Subscription { struct WatcherSubscription; struct ConfigSubscription; struct ConfigStateSubscription; struct ThemeSubscription; - subscription::Subscription::batch([ - event::listen_with(|event, status| match event { + Subscription::batch([ + event::listen_with(|event, status, window_id| match event { event::Event::Keyboard(keyboard::Event::KeyPressed { modifiers, key, .. }) => { match status { event::Status::Ignored => Some(Message::Key(modifiers, key)), @@ -2916,20 +2917,15 @@ impl Application for App { event::Event::Keyboard(keyboard::Event::ModifiersChanged(modifiers)) => { Some(Message::Modifiers(modifiers)) } - event::Event::Window(id, window::Event::Focused) if id == window::Id::MAIN => { - Some(Message::Focus) - } - event::Event::Window(id, window::Event::CloseRequested) - if id == window::Id::MAIN => - { - Some(Message::Quit) + event::Event::Window(window::Event::Focused) => Some(Message::Focus(window_id)), + event::Event::Window(window::Event::CloseRequested) => { + Some(Message::CloseWindow(window_id)) } _ => None, }), - subscription::channel( + Subscription::run_with_id( TypeId::of::(), - 100, - |mut output| async move { + stream::channel(100, |mut output| async move { let watcher_res = { let mut output = output.clone(); //TODO: debounce @@ -2986,7 +2982,7 @@ impl Application for App { loop { time::sleep(time::Duration::new(1, 0)).await; } - }, + }), ), cosmic_config::config_subscription( TypeId::of::(), @@ -3026,7 +3022,7 @@ impl Application for App { }), match &self.dialog_opt { Some(dialog) => dialog.subscription(), - None => subscription::Subscription::none(), + None => Subscription::none(), }, ]) } diff --git a/src/menu.rs b/src/menu.rs index 4102a71..44f48b0 100644 --- a/src/menu.rs +++ b/src/menu.rs @@ -5,7 +5,6 @@ use cosmic::widget::menu::{items as menu_items, root as menu_root, Item as MenuI use cosmic::{ iced::{widget::column, widget::horizontal_rule, Background, Length}, iced_core::Border, - theme, widget::{ self, horizontal_space, menu::{menu_button, ItemHeight, ItemWidth, MenuBar, Tree as MenuTree}, @@ -31,7 +30,7 @@ pub fn context_menu<'a>( } menu_button(vec![ widget::text(menu_label).into(), - horizontal_space(Length::Fill).into(), + horizontal_space().into(), widget::text(key).into(), ]) .on_press(Message::TabContextAction(entity, menu_action)) @@ -48,10 +47,10 @@ pub fn context_menu<'a>( )) .padding(1) //TODO: move style to libcosmic - .style(theme::Container::custom(|theme| { + .style(|theme| { let cosmic = theme.cosmic(); let component = &cosmic.background.component; - widget::container::Appearance { + widget::container::Style { icon_color: Some(component.on.into()), text_color: Some(component.on.into()), background: Some(Background::Color(component.base.into())), @@ -62,7 +61,7 @@ pub fn context_menu<'a>( }, ..Default::default() } - })) + }) .width(Length::Fixed(240.0)) .into() } diff --git a/src/text_box.rs b/src/text_box.rs index a6b54fd..2b5f048 100644 --- a/src/text_box.rs +++ b/src/text_box.rs @@ -17,10 +17,10 @@ use cosmic::{ renderer::{self, Quad, Renderer as _}, widget::{ self, - operation::{self, Operation, OperationOutputWrapper}, + operation::{self, Operation}, tree, Id, Widget, }, - Border, Shell, + Border, Radians, Shell, }, theme::Theme, Renderer, @@ -265,7 +265,7 @@ where tree: &mut widget::Tree, _layout: Layout<'_>, _renderer: &Renderer, - operation: &mut dyn Operation>, + operation: &mut dyn Operation, ) { let state = tree.state.downcast_mut::(); @@ -653,7 +653,7 @@ where editor.set_redraw(false); state.scale_factor.set(scale_factor); - *handle_opt = Some(image::Handle::from_pixels( + *handle_opt = Some(image::Handle::from_rgba( image_w as u32, image_h as u32, pixels_u8, @@ -662,7 +662,7 @@ where let image_position = layout.position() + [self.padding.left, self.padding.top].into(); if let Some(ref handle) = *handle_opt { - let image_size = image::Renderer::dimensions(renderer, handle); + let image_size = image::Renderer::measure_image(renderer, handle); let scaled_size = Size::new(scaled_w as f32, scaled_h as f32); log::debug!( "text_box image {:?} scaled {:?} position {:?}", @@ -670,11 +670,13 @@ where scaled_size, image_position ); - image::Renderer::draw( + image::Renderer::draw_image( renderer, handle.clone(), image::FilterMethod::Nearest, Rectangle::new(image_position, scaled_size), + Radians(0.0), + 1.0, [0.0; 4], ); } @@ -884,6 +886,11 @@ where let (buffer_size, buffer_scroll) = editor.with_buffer(|buffer| (buffer.size(), buffer.scroll())); let last_changed = editor.changed(); + //TODO: better handling of status line update + let (last_parser_mode, last_parser_cmd) = { + let parser = editor.parser(); + (parser.mode.clone(), parser.cmd) + }; let mut font_system = font_system().write().unwrap(); let mut editor = editor.borrow_with(font_system.raw()); @@ -1191,8 +1198,12 @@ where _ => (), } - if editor.changed() != last_changed { - if let Some(on_changed) = &self.on_changed { + if let Some(on_changed) = &self.on_changed { + //TODO: better handling of status line update + let parser = editor.parser(); + if editor.changed() != last_changed + || (&parser.mode, &parser.cmd) != (&last_parser_mode, &last_parser_cmd) + { shell.publish(on_changed.clone()); } }