diff --git a/Cargo.lock b/Cargo.lock index 8d1356eca2abf569994bc6055c3b8c060ab42215..0245213bbde78b525d3141d234da01b53320dc48 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -32,7 +32,7 @@ dependencies = [ "accesskit_consumer", "atspi-common", "serde", - "thiserror", + "thiserror 1.0.69", "zvariant 3.15.2", ] @@ -143,9 +143,9 @@ checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd" [[package]] name = "allocator-api2" -version = "0.2.19" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "611cc2ae7d2e242c457e4be7f97036b8ad9ca152b499f53faf99b1ed8fc2553f" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" [[package]] name = "almost" @@ -163,7 +163,7 @@ dependencies = [ "derive_more", "futures", "futures-util", - "hashbrown 0.15.1", + "hashbrown 0.15.2", "i18n-embed", "i18n-embed-fl", "lektor_lib", @@ -198,7 +198,7 @@ dependencies = [ "ndk-context", "ndk-sys 0.6.0+11769913", "num_enum", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -409,7 +409,7 @@ dependencies = [ "futures-lite 2.5.0", "parking", "polling 3.7.4", - "rustix 0.38.39", + "rustix 0.38.41", "slab", "tracing", "windows-sys 0.59.0", @@ -459,7 +459,7 @@ dependencies = [ "cfg-if", "event-listener 3.1.0", "futures-lite 1.13.0", - "rustix 0.38.39", + "rustix 0.38.41", "windows-sys 0.48.0", ] @@ -478,7 +478,7 @@ dependencies = [ "cfg-if", "event-listener 5.3.1", "futures-lite 2.5.0", - "rustix 0.38.39", + "rustix 0.38.41", "tracing", ] @@ -490,7 +490,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -505,7 +505,7 @@ dependencies = [ "cfg-if", "futures-core", "futures-io", - "rustix 0.38.39", + "rustix 0.38.41", "signal-hook-registry", "slab", "windows-sys 0.59.0", @@ -525,7 +525,7 @@ checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -539,7 +539,7 @@ name = "atomicwrites" version = "0.4.2" source = "git+https://github.com/jackpot51/rust-atomicwrites#043ab4859d53ffd3d55334685303d8df39c9f768" dependencies = [ - "rustix 0.38.39", + "rustix 0.38.41", "tempfile", "windows-sys 0.48.0", ] @@ -600,9 +600,9 @@ checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "axum" -version = "0.7.7" +version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "504e3947307ac8326a5437504c517c4b56716c9d98fac0028c2acc7ca47d70ae" +checksum = "edca88bc138befd0323b20752846e6587272d3b03b0343c8ea28a6f819e6e71f" dependencies = [ "async-trait", "axum-core", @@ -624,7 +624,7 @@ dependencies = [ "serde", "serde_json", "serde_path_to_error", - "sync_wrapper 1.0.1", + "sync_wrapper 1.0.2", "tokio", "tower", "tower-layer", @@ -646,7 +646,7 @@ dependencies = [ "mime 0.3.17", "pin-project-lite", "rustversion", - "sync_wrapper 1.0.1", + "sync_wrapper 1.0.2", "tower-layer", "tower-service", ] @@ -659,7 +659,7 @@ checksum = "57d123550fa8d071b7255cb0cc04dc302baa6c8c4a79f55701552684d8399bce" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -785,9 +785,9 @@ checksum = "64fa3c856b712db6612c019f14756e64e4bcea13337a6b33b696333a9eaa2d06" [[package]] name = "bytemuck" -version = "1.19.0" +version = "1.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8334215b81e418a0a7bdb8ef0849474f40bb10c8b71f1c4ed315cff49f32494d" +checksum = "8b37c88a63ffd85d15b406896cc343916d7cf57838a847b3a6f2ca5d39a5695a" dependencies = [ "bytemuck_derive", ] @@ -800,7 +800,7 @@ checksum = "bcfcc3cd946cb52f0bbfdbbcfa2f4e24f75ebb6c0e1002f7c25904fada18b9ec" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -811,9 +811,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ac0150caa2ae65ca5bd83f25c7de183dea78d4d366469f148435e2acfbad0da" +checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" [[package]] name = "calloop" @@ -824,9 +824,9 @@ dependencies = [ "bitflags 2.6.0", "log", "polling 3.7.4", - "rustix 0.38.39", + "rustix 0.38.41", "slab", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -836,16 +836,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95a66a987056935f7efce4ab5668920b5d0dac4a7c99991a67395f13702ddd20" dependencies = [ "calloop", - "rustix 0.38.39", + "rustix 0.38.41", "wayland-backend", "wayland-client", ] [[package]] name = "cc" -version = "1.1.37" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40545c26d092346d8a8dab71ee48e7685a7a9cba76e634790c215b41a4a7b4cf" +checksum = "f34d93e62b03caf570cccc334cbc6c2fceca82f39211051345108adcba3eebdc" dependencies = [ "jobserver", "libc", @@ -892,9 +892,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.20" +version = "4.5.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b97f376d85a664d5837dbae44bf546e6477a679ff6610010f17276f686d867e8" +checksum = "fb3b4b9e5a7c7514dfa52869339ee98b3156b0bfb4e8a77c4ff4babb64b1604f" dependencies = [ "clap_builder", "clap_derive", @@ -902,9 +902,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.20" +version = "4.5.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19bc80abd44e4bed93ca373a0704ccbd1b710dc5749406201bb018272808dc54" +checksum = "b17a95aa67cc7b5ebd32aa5370189aa0d79069ef1c64ce893bd30fb24bff20ec" dependencies = [ "anstyle", "clap_lex", @@ -913,9 +913,9 @@ dependencies = [ [[package]] name = "clap_complete" -version = "4.5.37" +version = "4.5.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11611dca53440593f38e6b25ec629de50b14cdfa63adc0fb856115a2c6d97595" +checksum = "d9647a559c112175f17cf724dc72d3645680a883c58481332779192b0d8e7a01" dependencies = [ "clap", ] @@ -929,14 +929,14 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] name = "clap_lex" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" +checksum = "afb84c814227b90d6895e01398aee0d8033c00e7466aca416fb6a8e0eb19d8a7" [[package]] name = "clipboard-win" @@ -972,7 +972,7 @@ name = "clipboard_x11" version = "0.4.2" source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-0.13#a83bf83784276aaa882ef13555295a2ad9edd265" dependencies = [ - "thiserror", + "thiserror 1.0.69", "x11rb", ] @@ -1141,10 +1141,22 @@ dependencies = [ "libc", ] +[[package]] +name = "cosmic-client-toolkit" +version = "0.1.0" +source = "git+https://github.com/pop-os/cosmic-protocols?rev=d218c76#d218c76b58c7a3b20dd5e7943f93fc306a1b81b8" +dependencies = [ + "cosmic-protocols", + "libc", + "smithay-client-toolkit", + "wayland-client", + "wayland-protocols", +] + [[package]] name = "cosmic-config" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic.git#8c69491f2a324fff53d6e8a6180dd6f4916f64a5" +source = "git+https://github.com/pop-os/libcosmic.git#b524ccb0a46b1ca585db09638c33e39e79829716" dependencies = [ "atomicwrites", "cosmic-config-derive", @@ -1166,12 +1178,26 @@ dependencies = [ [[package]] name = "cosmic-config-derive" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic.git#8c69491f2a324fff53d6e8a6180dd6f4916f64a5" +source = "git+https://github.com/pop-os/libcosmic.git#b524ccb0a46b1ca585db09638c33e39e79829716" dependencies = [ "quote", "syn 1.0.109", ] +[[package]] +name = "cosmic-protocols" +version = "0.1.0" +source = "git+https://github.com/pop-os/cosmic-protocols?rev=d218c76#d218c76b58c7a3b20dd5e7943f93fc306a1b81b8" +dependencies = [ + "bitflags 2.6.0", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-protocols-wlr", + "wayland-scanner", + "wayland-server", +] + [[package]] name = "cosmic-settings-daemon" version = "0.1.0" @@ -1206,7 +1232,7 @@ dependencies = [ [[package]] name = "cosmic-theme" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic.git#8c69491f2a324fff53d6e8a6180dd6f4916f64a5" +source = "git+https://github.com/pop-os/libcosmic.git#b524ccb0a46b1ca585db09638c33e39e79829716" dependencies = [ "almost", "cosmic-config", @@ -1217,14 +1243,14 @@ dependencies = [ "ron", "serde", "serde_json", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "cpufeatures" -version = "0.2.14" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0" +checksum = "16b80225097f2e5ae4e7179dd2266824648f3e2f49d9134d584b76389d31c4c3" dependencies = [ "libc", ] @@ -1348,7 +1374,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -1359,7 +1385,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -1411,7 +1437,7 @@ dependencies = [ "convert_case", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", "unicode-xid", ] @@ -1424,7 +1450,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -1472,7 +1498,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -1535,7 +1561,7 @@ dependencies = [ "bytemuck", "drm-ffi", "drm-fourcc", - "rustix 0.38.39", + "rustix 0.38.41", ] [[package]] @@ -1545,7 +1571,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41334f8405792483e32ad05fbb9c5680ff4e84491883d2947a4757dc54cb2ac6" dependencies = [ "drm-sys", - "rustix 0.38.39", + "rustix 0.38.41", ] [[package]] @@ -1594,7 +1620,7 @@ checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -1605,12 +1631,12 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.9" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -1668,9 +1694,9 @@ dependencies = [ [[package]] name = "event-listener-strategy" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" +checksum = "3c3e4e0dd3673c1139bf041f3008816d9cf2946bbfac2945c09e523b8d7b05b2" dependencies = [ "event-listener 5.3.1", "pin-project-lite", @@ -1744,9 +1770,9 @@ dependencies = [ [[package]] name = "flate2" -version = "1.0.34" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1b589b4dc103969ad3cf85c950899926ec64300a1a46d76c03a6072957036f0" +checksum = "c936bfdafb507ebbf50b8074c54fa31c5be9a1e7e5f467dd659697041407d07c" dependencies = [ "crc32fast", "miniz_oxide", @@ -1805,7 +1831,7 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a530c4694a6a8d528794ee9bbd8ba0122e779629ac908d15ad5a7ae7763a33d" dependencies = [ - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -1884,7 +1910,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -1902,16 +1928,6 @@ dependencies = [ "percent-encoding", ] -[[package]] -name = "fraction" -version = "0.15.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f158e3ff0a1b334408dc9fb811cd99b446986f4d8b741bb08f9df1604085ae7" -dependencies = [ - "lazy_static", - "num", -] - [[package]] name = "freedesktop-icons" version = "0.2.6" @@ -1921,7 +1937,7 @@ dependencies = [ "dirs", "once_cell", "rust-ini", - "thiserror", + "thiserror 1.0.69", "xdg", ] @@ -2019,7 +2035,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -2079,8 +2095,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", + "js-sys", "libc", "wasi", + "wasm-bindgen", ] [[package]] @@ -2164,7 +2182,7 @@ checksum = "fdd4240fc91d3433d5e5b0fc5b67672d771850dc19bbee03c1381e19322803d7" dependencies = [ "log", "presser", - "thiserror", + "thiserror 1.0.69", "winapi", "windows 0.52.0", ] @@ -2207,9 +2225,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.6" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e8ac6999421f49a846c2d4411f337e53497d8ec55d67753beffa43c5d9205" +checksum = "ccae279728d634d083c00f6099cb58f01cc99c145b84b8be2f6c74618d79922e" dependencies = [ "atomic-waker", "bytes", @@ -2246,9 +2264,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.15.1" +version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a9bfc1af68b1726ea47d3d5109de126281def866b33970e10fbab11b5dafab3" +checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" dependencies = [ "allocator-api2", "equivalent", @@ -2266,7 +2284,7 @@ dependencies = [ "com", "libc", "libloading", - "thiserror", + "thiserror 1.0.69", "widestring", "winapi", ] @@ -2355,9 +2373,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyper" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbbff0a806a4728c99295b254c8838933b5b082d75e3cb70c8dab21fdfbcfa9a" +checksum = "97818827ef4f364230e16705d4706e2897df2bb60617d6ca15d598025a3c481f" dependencies = [ "bytes", "futures-channel", @@ -2405,7 +2423,7 @@ dependencies = [ "http-body", "hyper", "pin-project-lite", - "socket2 0.5.7", + "socket2 0.5.8", "tokio", "tower-service", "tracing", @@ -2421,7 +2439,7 @@ dependencies = [ "log", "serde", "serde_derive", - "thiserror", + "thiserror 1.0.69", "unic-langid", ] @@ -2442,7 +2460,7 @@ dependencies = [ "log", "parking_lot 0.12.3", "rust-embed", - "thiserror", + "thiserror 1.0.69", "unic-langid", "walkdir", ] @@ -2464,7 +2482,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.87", + "syn 2.0.90", "unic-langid", ] @@ -2478,7 +2496,7 @@ dependencies = [ "i18n-config", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -2507,7 +2525,7 @@ dependencies = [ [[package]] name = "iced" version = "0.14.0-dev" -source = "git+https://github.com/pop-os/libcosmic.git#8c69491f2a324fff53d6e8a6180dd6f4916f64a5" +source = "git+https://github.com/pop-os/libcosmic.git#b524ccb0a46b1ca585db09638c33e39e79829716" dependencies = [ "dnd", "iced_accessibility", @@ -2518,14 +2536,14 @@ dependencies = [ "iced_winit", "image", "mime 0.1.0", - "thiserror", + "thiserror 1.0.69", "window_clipboard", ] [[package]] name = "iced_accessibility" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic.git#8c69491f2a324fff53d6e8a6180dd6f4916f64a5" +source = "git+https://github.com/pop-os/libcosmic.git#b524ccb0a46b1ca585db09638c33e39e79829716" dependencies = [ "accesskit", "accesskit_winit", @@ -2534,7 +2552,7 @@ dependencies = [ [[package]] name = "iced_core" version = "0.14.0-dev" -source = "git+https://github.com/pop-os/libcosmic.git#8c69491f2a324fff53d6e8a6180dd6f4916f64a5" +source = "git+https://github.com/pop-os/libcosmic.git#b524ccb0a46b1ca585db09638c33e39e79829716" dependencies = [ "bitflags 2.6.0", "bytes", @@ -2546,10 +2564,10 @@ dependencies = [ "once_cell", "palette", "raw-window-handle", - "rustc-hash 2.0.0", + "rustc-hash 2.1.0", "serde", "smol_str", - "thiserror", + "thiserror 1.0.69", "web-time", "window_clipboard", ] @@ -2557,12 +2575,12 @@ dependencies = [ [[package]] name = "iced_futures" version = "0.14.0-dev" -source = "git+https://github.com/pop-os/libcosmic.git#8c69491f2a324fff53d6e8a6180dd6f4916f64a5" +source = "git+https://github.com/pop-os/libcosmic.git#b524ccb0a46b1ca585db09638c33e39e79829716" dependencies = [ "futures", "iced_core", "log", - "rustc-hash 2.0.0", + "rustc-hash 2.1.0", "tokio", "wasm-bindgen-futures", "wasm-timer", @@ -2576,14 +2594,14 @@ dependencies = [ "cosmic-text", "etagere", "lru", - "rustc-hash 2.0.0", + "rustc-hash 2.1.0", "wgpu", ] [[package]] name = "iced_graphics" version = "0.14.0-dev" -source = "git+https://github.com/pop-os/libcosmic.git#8c69491f2a324fff53d6e8a6180dd6f4916f64a5" +source = "git+https://github.com/pop-os/libcosmic.git#b524ccb0a46b1ca585db09638c33e39e79829716" dependencies = [ "bitflags 2.6.0", "bytemuck", @@ -2597,41 +2615,41 @@ dependencies = [ "lyon_path", "once_cell", "raw-window-handle", - "rustc-hash 2.0.0", - "thiserror", + "rustc-hash 2.1.0", + "thiserror 1.0.69", "unicode-segmentation", ] [[package]] name = "iced_renderer" version = "0.14.0-dev" -source = "git+https://github.com/pop-os/libcosmic.git#8c69491f2a324fff53d6e8a6180dd6f4916f64a5" +source = "git+https://github.com/pop-os/libcosmic.git#b524ccb0a46b1ca585db09638c33e39e79829716" dependencies = [ "iced_graphics", "iced_tiny_skia", "iced_wgpu", "log", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "iced_runtime" version = "0.14.0-dev" -source = "git+https://github.com/pop-os/libcosmic.git#8c69491f2a324fff53d6e8a6180dd6f4916f64a5" +source = "git+https://github.com/pop-os/libcosmic.git#b524ccb0a46b1ca585db09638c33e39e79829716" dependencies = [ "bytes", "dnd", "iced_core", "iced_futures", "raw-window-handle", - "thiserror", + "thiserror 1.0.69", "window_clipboard", ] [[package]] name = "iced_tiny_skia" version = "0.14.0-dev" -source = "git+https://github.com/pop-os/libcosmic.git#8c69491f2a324fff53d6e8a6180dd6f4916f64a5" +source = "git+https://github.com/pop-os/libcosmic.git#b524ccb0a46b1ca585db09638c33e39e79829716" dependencies = [ "bytemuck", "cosmic-text", @@ -2639,7 +2657,7 @@ dependencies = [ "kurbo 0.10.4", "log", "resvg", - "rustc-hash 2.0.0", + "rustc-hash 2.1.0", "softbuffer", "tiny-skia", ] @@ -2647,11 +2665,12 @@ dependencies = [ [[package]] name = "iced_wgpu" version = "0.14.0-dev" -source = "git+https://github.com/pop-os/libcosmic.git#8c69491f2a324fff53d6e8a6180dd6f4916f64a5" +source = "git+https://github.com/pop-os/libcosmic.git#b524ccb0a46b1ca585db09638c33e39e79829716" dependencies = [ "as-raw-xcb-connection", "bitflags 2.6.0", "bytemuck", + "cosmic-client-toolkit", "futures", "glam", "guillotiere", @@ -2662,10 +2681,9 @@ dependencies = [ "once_cell", "raw-window-handle", "resvg", - "rustc-hash 2.0.0", - "rustix 0.38.39", - "smithay-client-toolkit", - "thiserror", + "rustc-hash 2.1.0", + "rustix 0.38.41", + "thiserror 1.0.69", "tiny-xlib", "wayland-backend", "wayland-client", @@ -2678,7 +2696,7 @@ dependencies = [ [[package]] name = "iced_widget" version = "0.14.0-dev" -source = "git+https://github.com/pop-os/libcosmic.git#8c69491f2a324fff53d6e8a6180dd6f4916f64a5" +source = "git+https://github.com/pop-os/libcosmic.git#b524ccb0a46b1ca585db09638c33e39e79829716" dependencies = [ "dnd", "iced_renderer", @@ -2686,8 +2704,8 @@ dependencies = [ "num-traits", "once_cell", "ouroboros", - "rustc-hash 2.0.0", - "thiserror", + "rustc-hash 2.1.0", + "thiserror 1.0.69", "unicode-segmentation", "window_clipboard", ] @@ -2695,15 +2713,15 @@ dependencies = [ [[package]] name = "iced_winit" version = "0.14.0-dev" -source = "git+https://github.com/pop-os/libcosmic.git#8c69491f2a324fff53d6e8a6180dd6f4916f64a5" +source = "git+https://github.com/pop-os/libcosmic.git#b524ccb0a46b1ca585db09638c33e39e79829716" dependencies = [ "dnd", "iced_futures", "iced_graphics", "iced_runtime", "log", - "rustc-hash 2.0.0", - "thiserror", + "rustc-hash 2.1.0", + "thiserror 1.0.69", "tracing", "wasm-bindgen-futures", "web-sys", @@ -2827,7 +2845,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -2892,12 +2910,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.6.0" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" +checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f" dependencies = [ "equivalent", - "hashbrown 0.15.1", + "hashbrown 0.15.2", ] [[package]] @@ -2959,6 +2977,12 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "io-lifetimes" +version = "2.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a611371471e98973dbcab4e0ec66c31a10bc356eeb4d54a0e05eac8158fe38c" + [[package]] name = "ipnet" version = "2.10.1" @@ -2976,9 +3000,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.11" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" +checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" [[package]] name = "jni" @@ -2991,7 +3015,7 @@ dependencies = [ "combine", "jni-sys", "log", - "thiserror", + "thiserror 1.0.69", "walkdir", "windows-sys 0.45.0", ] @@ -3022,10 +3046,11 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.72" +version = "0.3.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9" +checksum = "a865e038f7f6ed956f788f0d7d60c541fff74c7bd74272c5d4cf15c63743e705" dependencies = [ + "once_cell", "wasm-bindgen", ] @@ -3109,7 +3134,7 @@ name = "kurisu_api" version = "8.0.1" dependencies = [ "derive_more", - "hashbrown 0.15.1", + "hashbrown 0.15.2", "lektor_procmacros", "lektor_utils", "log", @@ -3150,7 +3175,7 @@ name = "lektor_mpris" version = "8.0.1" dependencies = [ "derive_more", - "hashbrown 0.15.1", + "hashbrown 0.15.2", "lektor_procmacros", "lektor_utils", "log", @@ -3167,7 +3192,7 @@ dependencies = [ "chrono", "derive_more", "futures", - "hashbrown 0.15.1", + "hashbrown 0.15.2", "kurisu_api", "lektor_procmacros", "lektor_utils", @@ -3204,7 +3229,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -3213,7 +3238,7 @@ version = "8.0.1" dependencies = [ "anyhow", "futures", - "hashbrown 0.15.1", + "hashbrown 0.15.2", "kurisu_api", "lektor_nkdb", "lektor_utils", @@ -3230,7 +3255,7 @@ version = "8.0.1" dependencies = [ "aho-corasick", "futures", - "hashbrown 0.15.1", + "hashbrown 0.15.2", "lektor_payloads", "log", ] @@ -3260,7 +3285,7 @@ dependencies = [ "clap", "derive_more", "futures", - "hashbrown 0.15.1", + "hashbrown 0.15.2", "hyper", "hyper-util", "lektor_mpris", @@ -3280,14 +3305,14 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.162" +version = "0.2.167" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18d287de67fe55fd7e1581fe933d965a5a9477b38e949cfa9f8574ef01506398" +checksum = "09d6582e104315a817dff97f75133544b2e094ee22447d2acf4a74e189ba06fc" [[package]] name = "libcosmic" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic.git#8c69491f2a324fff53d6e8a6180dd6f4916f64a5" +source = "git+https://github.com/pop-os/libcosmic.git#b524ccb0a46b1ca585db09638c33e39e79829716" dependencies = [ "apply", "ashpd 0.9.2", @@ -3297,7 +3322,6 @@ dependencies = [ "cosmic-theme", "css-color", "derive_setters", - "fraction", "freedesktop-icons", "iced", "iced_core", @@ -3315,7 +3339,7 @@ dependencies = [ "serde", "slotmap", "taffy", - "thiserror", + "thiserror 1.0.69", "tokio", "tracing", "unicode-segmentation", @@ -3326,9 +3350,9 @@ dependencies = [ [[package]] name = "libloading" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" +checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" dependencies = [ "cfg-if", "windows-targets 0.52.6", @@ -3371,9 +3395,9 @@ checksum = "2a385b1be4e5c3e362ad2ffa73c392e53f031eaa5b7d648e64cd87f27f6063d7" [[package]] name = "litemap" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704" +checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104" [[package]] name = "litrs" @@ -3598,11 +3622,10 @@ dependencies = [ [[package]] name = "mio" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" +checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" dependencies = [ - "hermit-abi 0.3.9", "libc", "wasi", "windows-sys 0.52.0", @@ -3631,7 +3654,7 @@ dependencies = [ "rustc-hash 1.1.0", "spirv", "termcolor", - "thiserror", + "thiserror 1.0.69", "unicode-xid", ] @@ -3647,7 +3670,7 @@ dependencies = [ "ndk-sys 0.6.0+11769913", "num_enum", "raw-window-handle", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -3718,70 +3741,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "num" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" -dependencies = [ - "num-bigint", - "num-complex", - "num-integer", - "num-iter", - "num-rational", - "num-traits", -] - -[[package]] -name = "num-bigint" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" -dependencies = [ - "num-integer", - "num-traits", -] - -[[package]] -name = "num-complex" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" -dependencies = [ - "num-traits", -] - -[[package]] -name = "num-integer" -version = "0.1.46" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" -dependencies = [ - "num-traits", -] - -[[package]] -name = "num-iter" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-rational" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" -dependencies = [ - "num-bigint", - "num-integer", - "num-traits", -] - [[package]] name = "num-traits" version = "0.2.19" @@ -3820,7 +3779,7 @@ dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -4127,7 +4086,7 @@ dependencies = [ "proc-macro2", "proc-macro2-diagnostics", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -4136,7 +4095,7 @@ version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22ec719bbf3b2a81c109a4e20b1f129b5566b7dce654bc3872f6a05abf82b2c4" dependencies = [ - "ttf-parser 0.25.0", + "ttf-parser 0.25.1", ] [[package]] @@ -4161,7 +4120,7 @@ dependencies = [ "by_address", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -4260,7 +4219,7 @@ dependencies = [ "phf_shared", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -4295,7 +4254,7 @@ checksum = "3c0f5fad0874fc7abcd4d750e76917eaebbecaa2c20bde22e1dbeeba8beb758c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -4366,7 +4325,7 @@ dependencies = [ "concurrent-queue", "hermit-abi 0.4.0", "pin-project-lite", - "rustix 0.38.39", + "rustix 0.38.41", "tracing", "windows-sys 0.59.0", ] @@ -4453,14 +4412,14 @@ dependencies = [ "proc-macro-error-attr2", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] name = "proc-macro2" -version = "1.0.89" +version = "1.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e" +checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" dependencies = [ "unicode-ident", ] @@ -4473,7 +4432,7 @@ checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", "version_check", "yansi", ] @@ -4504,37 +4463,40 @@ dependencies = [ [[package]] name = "quinn" -version = "0.11.5" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c7c5fdde3cdae7203427dc4f0a68fe0ed09833edc525a03456b153b79828684" +checksum = "62e96808277ec6f97351a2380e6c25114bc9e67037775464979f3037c92d05ef" dependencies = [ "bytes", "pin-project-lite", "quinn-proto", "quinn-udp", - "rustc-hash 2.0.0", + "rustc-hash 2.1.0", "rustls", - "socket2 0.5.7", - "thiserror", + "socket2 0.5.8", + "thiserror 2.0.4", "tokio", "tracing", ] [[package]] name = "quinn-proto" -version = "0.11.8" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fadfaed2cd7f389d0161bb73eeb07b7b78f8691047a6f3e73caaeae55310a4a6" +checksum = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d" dependencies = [ "bytes", + "getrandom", "rand", "ring", - "rustc-hash 2.0.0", + "rustc-hash 2.1.0", "rustls", + "rustls-pki-types", "slab", - "thiserror", + "thiserror 2.0.4", "tinyvec", "tracing", + "web-time", ] [[package]] @@ -4546,7 +4508,7 @@ dependencies = [ "cfg_aliases 0.2.1", "libc", "once_cell", - "socket2 0.5.7", + "socket2 0.5.8", "tracing", "windows-sys 0.59.0", ] @@ -4673,7 +4635,7 @@ checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ "getrandom", "libredox", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -4690,9 +4652,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.8" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3" +checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" dependencies = [ "aho-corasick", "memchr", @@ -4741,7 +4703,7 @@ dependencies = [ "serde", "serde_json", "serde_urlencoded", - "sync_wrapper 1.0.1", + "sync_wrapper 1.0.2", "tokio", "tokio-rustls", "tower-service", @@ -4860,7 +4822,7 @@ dependencies = [ "proc-macro2", "quote", "rust-embed-utils", - "syn 2.0.87", + "syn 2.0.90", "walkdir", ] @@ -4898,9 +4860,9 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] name = "rustc-hash" -version = "2.0.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" +checksum = "c7fb8039b3032c191086b10f11f319a6e99e1e82889c5cc6046f515c9db1d497" [[package]] name = "rustix" @@ -4910,7 +4872,7 @@ checksum = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2" dependencies = [ "bitflags 1.3.2", "errno", - "io-lifetimes", + "io-lifetimes 1.0.11", "libc", "linux-raw-sys 0.3.8", "windows-sys 0.48.0", @@ -4918,9 +4880,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.39" +version = "0.38.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "375116bee2be9ed569afe2154ea6a99dfdffd257f533f187498c2a8f5feaf4ee" +checksum = "d7f649912bc1495e167a6edee79151c84b1bad49748cb4f1f1167f459f6224f6" dependencies = [ "bitflags 2.6.0", "errno", @@ -4931,9 +4893,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.16" +version = "0.23.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eee87ff5d9b36712a58574e12e9f0ea80f915a5b0ac518d322b24a465617925e" +checksum = "934b404430bb06b3fae2cba809eb45a1ab1aecd64491213d7c3301b88393f8d1" dependencies = [ "once_cell", "ring", @@ -4957,6 +4919,9 @@ name = "rustls-pki-types" version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "16f1201b3c9a7ee8039bcadc17b7e605e2945b27eee7631788c1bd2b0643674b" +dependencies = [ + "web-time", +] [[package]] name = "rustls-webpki" @@ -5049,29 +5014,29 @@ checksum = "d369a96f978623eb3dc28807c4852d6cc617fed53da5d3c400feff1ef34a714a" [[package]] name = "serde" -version = "1.0.214" +version = "1.0.215" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f55c3193aca71c12ad7890f1785d2b73e1b9f63a0bbc353c08ef26fe03fc56b5" +checksum = "6513c1ad0b11a9376da888e3e0baa0077f1aed55c17f50e7b2397136129fb88f" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.214" +version = "1.0.215" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de523f781f095e28fa605cdce0f8307e451cc0fd14e2eb4cd2e98a355b147766" +checksum = "ad1e866f866923f252f05c889987993144fb74e722403468a4ebd70c3cd756c0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] name = "serde_json" -version = "1.0.132" +version = "1.0.133" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d726bfaff4b320266d395898905d0eba0345aae23b54aee3a737e260fd46db03" +checksum = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377" dependencies = [ "indexmap", "itoa", @@ -5098,7 +5063,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -5251,8 +5216,8 @@ dependencies = [ "log", "memmap2 0.9.5", "pkg-config", - "rustix 0.38.39", - "thiserror", + "rustix 0.38.41", + "thiserror 1.0.69", "wayland-backend", "wayland-client", "wayland-csd-frame", @@ -5296,9 +5261,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.7" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" +checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" dependencies = [ "libc", "windows-sys 0.52.0", @@ -5323,7 +5288,7 @@ dependencies = [ "objc", "raw-window-handle", "redox_syscall 0.4.1", - "rustix 0.38.39", + "rustix 0.38.41", "tiny-xlib", "wasm-bindgen", "wayland-backend", @@ -5422,9 +5387,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.87" +version = "2.0.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d" +checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" dependencies = [ "proc-macro2", "quote", @@ -5439,9 +5404,9 @@ checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" [[package]] name = "sync_wrapper" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" dependencies = [ "futures-core", ] @@ -5454,7 +5419,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -5486,7 +5451,7 @@ dependencies = [ "cfg-if", "fastrand 2.2.0", "once_cell", - "rustix 0.38.39", + "rustix 0.38.41", "windows-sys 0.59.0", ] @@ -5501,32 +5466,52 @@ dependencies = [ [[package]] name = "terminal_size" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f599bd7ca042cfdf8f4512b277c02ba102247820f9d9d4a9f521f496751a6ef" +checksum = "5352447f921fda68cf61b4101566c0bdb5104eff6804d0678e5227580ab6a4e9" dependencies = [ - "rustix 0.38.39", + "rustix 0.38.41", "windows-sys 0.59.0", ] [[package]] name = "thiserror" -version = "1.0.68" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" +dependencies = [ + "thiserror-impl 1.0.69", +] + +[[package]] +name = "thiserror" +version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02dd99dc800bbb97186339685293e1cc5d9df1f8fae2d0aecd9ff1c77efea892" +checksum = "2f49a1853cf82743e3b7950f77e0f4d622ca36cf4317cba00c767838bac8d490" dependencies = [ - "thiserror-impl", + "thiserror-impl 2.0.4", ] [[package]] name = "thiserror-impl" -version = "1.0.68" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7c61ec9a6f64d2793d8a45faba21efbe3ced62a886d44c36a009b2b519b4c7e" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8381894bb3efe0c4acac3ded651301ceee58a15d47c2e34885ed1908ad667061" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -5577,9 +5562,9 @@ dependencies = [ [[package]] name = "tiny-xlib" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d52f22673960ad13af14ff4025997312def1223bfa7c8e4949d099e6b3d5d1c" +checksum = "0324504befd01cab6e0c994f34b2ffa257849ee019d3fb3b64fb2c858887d89e" dependencies = [ "as-raw-xcb-connection", "ctor-lite", @@ -5615,17 +5600,17 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.41.1" +version = "1.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22cfb5bee7a6a52939ca9224d6ac897bb669134078daa8735560897f69de4d33" +checksum = "5cec9b21b0450273377fc97bd4c33a8acffc8c996c987a7c5b319a0083707551" dependencies = [ "backtrace", "bytes", "libc", - "mio 1.0.2", + "mio 1.0.3", "pin-project-lite", "signal-hook-registry", - "socket2 0.5.7", + "socket2 0.5.8", "tokio-macros", "tracing", "windows-sys 0.52.0", @@ -5639,7 +5624,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -5760,9 +5745,9 @@ checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" -version = "0.1.40" +version = "0.1.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" dependencies = [ "pin-project-lite", "tracing-attributes", @@ -5771,20 +5756,20 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.27" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] name = "tracing-core" -version = "0.1.32" +version = "0.1.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" dependencies = [ "once_cell", ] @@ -5809,9 +5794,9 @@ checksum = "2c591d83f69777866b9126b24c6dd9a18351f177e49d625920d19f989fd31cf8" [[package]] name = "ttf-parser" -version = "0.25.0" +version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5902c5d130972a0000f60860bfbf46f7ca3db5391eddfedd1b8728bd9dc96c0e" +checksum = "d2df906b07856748fa3f6e0ad0cbaa047052d4a7dd609e231c4f72cee8c36f31" [[package]] name = "type-map" @@ -5878,9 +5863,9 @@ checksum = "1df77b101bcc4ea3d78dafc5ad7e4f58ceffe0b2b16bf446aeb50b6cb4157656" [[package]] name = "unicode-ident" -version = "1.0.13" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" +checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" [[package]] name = "unicode-linebreak" @@ -5932,9 +5917,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.3" +version = "2.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d157f1b96d14500ffdc1f10ba712e780825526c03d9a49b4d0324b0d9113ada" +checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" dependencies = [ "form_urlencoded", "idna", @@ -6039,9 +6024,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.95" +version = "0.2.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e" +checksum = "d15e63b4482863c109d70a7b8706c1e364eb6ea449b201a76c5b89cedcec2d5c" dependencies = [ "cfg-if", "once_cell", @@ -6050,36 +6035,37 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.95" +version = "0.2.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358" +checksum = "8d36ef12e3aaca16ddd3f67922bc63e48e953f126de60bd33ccc0101ef9998cd" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.45" +version = "0.4.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc7ec4f8827a71586374db3e87abdb5a2bb3a15afed140221307c3ec06b1f63b" +checksum = "9dfaf8f50e5f293737ee323940c7d8b08a66a95a419223d9f41610ca08b0833d" dependencies = [ "cfg-if", "js-sys", + "once_cell", "wasm-bindgen", "web-sys", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.95" +version = "0.2.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56" +checksum = "705440e08b42d3e4b36de7d66c944be628d579796b8090bfa3471478a2260051" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -6087,22 +6073,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.95" +version = "0.2.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" +checksum = "98c9ae5a76e46f4deecd0f0255cc223cfa18dc9b261213b8aa0c7b36f61b3f1d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.95" +version = "0.2.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d" +checksum = "6ee99da9c5ba11bd675621338ef6fa52296b76b83305e9b6e5c77d4c286d6d49" [[package]] name = "wasm-timer" @@ -6127,7 +6113,7 @@ checksum = "056535ced7a150d45159d3a8dc30f91a2e2d588ca0b23f70e56033622b8016f6" dependencies = [ "cc", "downcast-rs", - "rustix 0.38.39", + "rustix 0.38.41", "scoped-tls", "smallvec", "wayland-sys", @@ -6140,7 +6126,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b66249d3fc69f76fd74c82cc319300faa554e9d865dab1f7cd66cc20db10b280" dependencies = [ "bitflags 2.6.0", - "rustix 0.38.39", + "rustix 0.38.41", "wayland-backend", "wayland-scanner", ] @@ -6162,7 +6148,7 @@ version = "0.31.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32b08bc3aafdb0035e7fe0fdf17ba0c09c268732707dca4ae098f60cb28c9e4c" dependencies = [ - "rustix 0.38.39", + "rustix 0.38.41", "wayland-client", "xcursor", ] @@ -6177,6 +6163,7 @@ dependencies = [ "wayland-backend", "wayland-client", "wayland-scanner", + "wayland-server", ] [[package]] @@ -6203,6 +6190,7 @@ dependencies = [ "wayland-client", "wayland-protocols", "wayland-scanner", + "wayland-server", ] [[package]] @@ -6216,6 +6204,20 @@ dependencies = [ "quote", ] +[[package]] +name = "wayland-server" +version = "0.31.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c89532cc712a2adb119eb4d09694b402576052254d0bb284f82ac1c47fb786ad" +dependencies = [ + "bitflags 2.6.0", + "downcast-rs", + "io-lifetimes 2.0.3", + "rustix 0.38.41", + "wayland-backend", + "wayland-scanner", +] + [[package]] name = "wayland-sys" version = "0.31.5" @@ -6230,9 +6232,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.72" +version = "0.3.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6488b90108c040df0fe62fa815cbdee25124641df01814dd7282749234c6112" +checksum = "a98bc3c33f0fe7e59ad7cd041b89034fa82a7c2d4365ca538dda6cdaf513863c" dependencies = [ "js-sys", "wasm-bindgen", @@ -6250,9 +6252,9 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.26.6" +version = "0.26.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "841c67bff177718f1d4dfefde8d8f0e78f9b6589319ba88312f567fc5841a958" +checksum = "5d642ff16b7e79272ae451b7322067cdc17cadf68c23264be9d94a32319efe7e" dependencies = [ "rustls-pki-types", ] @@ -6308,7 +6310,7 @@ dependencies = [ "raw-window-handle", "rustc-hash 1.1.0", "smallvec", - "thiserror", + "thiserror 1.0.69", "wgpu-hal", "wgpu-types", ] @@ -6351,7 +6353,7 @@ dependencies = [ "renderdoc-sys", "rustc-hash 1.1.0", "smallvec", - "thiserror", + "thiserror 1.0.69", "wasm-bindgen", "web-sys", "wgpu-types", @@ -6418,7 +6420,7 @@ dependencies = [ "dnd", "mime 0.1.0", "raw-window-handle", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -6470,7 +6472,7 @@ checksum = "942ac266be9249c84ca862f0a164a39533dc2f6f33dc98ec89c8da99b82ea0bd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -6481,7 +6483,7 @@ checksum = "da33557140a288fae4e1d5f8873aaf9eb6613a9cf82c3e070223ff177f598b60" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -6768,7 +6770,7 @@ dependencies = [ "pin-project", "raw-window-handle", "redox_syscall 0.4.1", - "rustix 0.38.39", + "rustix 0.38.41", "sctk-adwaita", "smithay-client-toolkit", "smol_str", @@ -6840,7 +6842,7 @@ dependencies = [ "libc", "libloading", "once_cell", - "rustix 0.38.39", + "rustix 0.38.41", "x11rb-protocol", ] @@ -6907,9 +6909,9 @@ dependencies = [ [[package]] name = "xml-rs" -version = "0.8.23" +version = "0.8.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af310deaae937e48a26602b730250b4949e125f468f11e6990be3e5304ddd96f" +checksum = "ea8b391c9a790b496184c29f7f93b9ed5b16abb306c05415b68bcc16e4d06432" [[package]] name = "xmlwriter" @@ -6931,9 +6933,9 @@ checksum = "c94451ac9513335b5e23d7a8a2b61a7102398b8cca5160829d313e84c9d98be1" [[package]] name = "yoke" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c5b1314b079b0930c31e3af543d8ee1757b1951ae1e1565ec704403a7240ca5" +checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" dependencies = [ "serde", "stable_deref_trait", @@ -6943,13 +6945,13 @@ dependencies = [ [[package]] name = "yoke-derive" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95" +checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", "synstructure", ] @@ -7081,7 +7083,7 @@ dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", "zvariant_utils 2.1.0", ] @@ -7094,7 +7096,7 @@ dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", "zbus_names 4.1.0", "zvariant 5.1.0", "zvariant_utils 3.0.2", @@ -7158,27 +7160,27 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] name = "zerofrom" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91ec111ce797d0e0784a1116d0ddcdbea84322cd79e5d5ad173daeba4f93ab55" +checksum = "cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e" dependencies = [ "zerofrom-derive", ] [[package]] name = "zerofrom-derive" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5" +checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", "synstructure", ] @@ -7207,7 +7209,7 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -7284,7 +7286,7 @@ dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", "zvariant_utils 2.1.0", ] @@ -7297,7 +7299,7 @@ dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", "zvariant_utils 3.0.2", ] @@ -7320,7 +7322,7 @@ checksum = "c51bcff7cc3dbb5055396bcf774748c3dab426b4b8659046963523cee4808340" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -7333,6 +7335,6 @@ dependencies = [ "quote", "serde", "static_assertions", - "syn 2.0.87", + "syn 2.0.90", "winnow 0.6.20", ] diff --git a/amadeus/src/app.rs b/amadeus/src/app.rs index 7f98e9e6a706e948b737e215ec22993c861547f1..ba976dc990e609a1d0201d6b7513ad82603b2fd3 100644 --- a/amadeus/src/app.rs +++ b/amadeus/src/app.rs @@ -23,10 +23,10 @@ use crate::{ store::Store, }; use cosmic::{ - app::Core, + app::{context_drawer, Core, Task}, iced::{Length, Subscription}, prelude::*, - style, theme, widget, Application, Task, + style, theme, widget, Application, }; use futures::{ prelude::*, @@ -216,10 +216,7 @@ impl Application for AppModel { } /// Initializes the application with any given flags and startup commands. - fn init( - mut core: Core, - (config, cosmic_config): Self::Flags, - ) -> (Self, Task<cosmic::app::Message<Self::Message>>) { + fn init(mut core: Core, (config, cosmic_config): Self::Flags) -> (Self, Task<Self::Message>) { core.window.show_maximize = false; core.window.show_minimize = false; let host = config.host().1; @@ -332,7 +329,7 @@ impl Application for AppModel { } /// Display a context drawer if the context page is requested. - fn context_drawer(&self) -> Option<Element<Self::Message>> { + fn context_drawer(&self) -> Option<context_drawer::ContextDrawer<Self::Message>> { (self.core.window.show_context).then(|| match self.context_page { ContextPage::About => context_pages::about::view(self), ContextPage::Settings => context_pages::config::view(self), @@ -377,7 +374,7 @@ impl Application for AppModel { } /// Handles messages emitted by the application and its widgets. - fn update(&mut self, message: Self::Message) -> Task<cosmic::app::Message<Self::Message>> { + fn update(&mut self, message: Self::Message) -> Task<Self::Message> { match message { Message::UpdateConfig(message) => self.update_config(message), @@ -419,7 +416,7 @@ impl Application for AppModel { Message::QueryWithFilters => { let config = self.connect_config.clone(); let filters: Vec<_> = self.search_filter.iter_cloned().collect(); - cosmic::command::future(async move { + Task::future(async move { requests::search_karas(&*config.read().await, SearchFrom::Database, filters) .await .map(|res| cosmic::app::message::app(Message::QueryWithFiltersResults(res))) @@ -442,10 +439,7 @@ impl Application for AppModel { } /// Called when a nav item is selected. - fn on_nav_select( - &mut self, - id: widget::nav_bar::Id, - ) -> Task<cosmic::app::Message<Self::Message>> { + fn on_nav_select(&mut self, id: widget::nav_bar::Id) -> Task<Self::Message> { self.nav.activate(id); self.update_title() } @@ -453,7 +447,7 @@ impl Application for AppModel { impl AppModel { /// Updates the header and window titles. - fn update_title(&mut self) -> Task<cosmic::app::Message<Message>> { + fn update_title(&mut self) -> Task<Message> { let mut window_title = fl!("app-title"); if let Some(page) = self.nav.text(self.nav.active()) { window_title.push_str(" — "); @@ -464,32 +458,28 @@ impl AppModel { /// Update the connect config with a set config in the application. Because communications may /// be in progress, we must wait to write the config pointer… - fn update_connect_config(&self) -> Task<cosmic::app::Message<Message>> { + fn update_connect_config(&self) -> Task<Message> { let config = self.config.get_connect_config(); let connect_config = self.connect_config.clone(); - cosmic::command::future(async move { + Task::future(async move { *connect_config.write_owned().await = config; cosmic::app::message::none() }) } /// Toggle the context page to the correct one. - fn toggle_context_page( - &mut self, - context_page: ContextPage, - ) -> Task<cosmic::app::Message<Message>> { + fn toggle_context_page(&mut self, context_page: ContextPage) -> Task<Message> { if self.context_page == context_page { self.core.window.show_context = !self.core.window.show_context; } else { self.context_page = context_page; self.core.window.show_context = true; } - self.set_context_title(self.context_page.title()); Task::none() } /// Open an url in the user's browser. - fn open_url(&self, url: &str) -> Task<cosmic::app::Message<Message>> { + fn open_url(&self, url: &str) -> Task<Message> { match open::that_detached(url) { Err(err) => log::error!("failed to open \"{url}\": {err}"), Ok(()) => log::info!("opened link: \"{url}\""), @@ -498,7 +488,7 @@ impl AppModel { } /// Handle the update config message. - fn update_config(&mut self, message: ConfigMessage) -> Task<cosmic::app::Message<Message>> { + fn update_config(&mut self, message: ConfigMessage) -> Task<Message> { macro_rules! save_config { ($setter:ident ($arg:expr) $(=> $on_ok:expr)?) => { match self.config.$setter(&self.cosmic_config, $arg) { @@ -580,10 +570,7 @@ impl AppModel { } /// Handle updates from lektord. - fn handle_lektord_message( - &mut self, - message: LektordMessage, - ) -> Task<cosmic::app::Message<Message>> { + fn handle_lektord_message(&mut self, message: LektordMessage) -> Task<Message> { match message { // Downloaded metadata informations. LektordMessage::DownloadedKaraInfo(kara) => { @@ -627,19 +614,20 @@ impl AppModel { LektordMessage::ChangedAvailablePlaylists(names) => { let config = self.connect_config.clone(); let playlists = self.store.keep_playlists(names); - cosmic::command::future(async move { + Task::future(async move { let updated_playlists = stream::iter(playlists) .zip(stream::repeat_with(move || config.clone())) - .then(|(id, config)| async move { + .filter_map(|(id, config)| async move { let config = config.read().await; requests::get_playlist_content(config.as_ref(), id) .await .map(|content| (id, content)) + .ok() }) .collect::<FuturesUnordered<_>>() .await; - Message::LektordUpdate(LektordMessage::ChangedPlaylistsContent( - updated_playlists.into_iter().flatten().collect::<Vec<_>>(), + cosmic::app::Message::App(Message::LektordUpdate( + LektordMessage::ChangedPlaylistsContent(Vec::from_iter(updated_playlists)), )) }) } @@ -675,7 +663,7 @@ impl AppModel { } /// Send commands to lektord. - fn send_command(&mut self, cmd: LektordCommand) -> Task<cosmic::app::Message<Message>> { + fn send_command(&mut self, cmd: LektordCommand) -> Task<Message> { let config = self.connect_config.clone(); use lektor_payloads::*; macro_rules! msg { @@ -685,7 +673,7 @@ impl AppModel { } macro_rules! cmd { ($req:ident ($($arg:expr),*) $(, $res:pat => $handle:expr)?) => { - cosmic::command::future(async move { + Task::future(async move { cmd!(@handle $req: requests::$req(config.read().await.as_ref() $(, $arg)*).await, $($res => $handle)? @@ -739,7 +727,7 @@ impl AppModel { }), LektordCommand::DatabaseGet => { - cosmic::app::command::message(cosmic::app::message::app(Message::SendCommand( + Task::done(cosmic::app::Message::App(Message::SendCommand( LektordCommand::DownloadKarasInfo(self.store.take_kara_ids()), ))) } diff --git a/amadeus/src/app/context_pages/about.rs b/amadeus/src/app/context_pages/about.rs index 369f22e9eb80129315f4fa6213e5181e1c6c7711..8996cf0365866f3da7180a91b2fec3ff336a116c 100644 --- a/amadeus/src/app/context_pages/about.rs +++ b/amadeus/src/app/context_pages/about.rs @@ -1,15 +1,16 @@ use crate::{ - app::{AppModel, LektordState, Message, APP_ICON}, + app::{context_pages::ContextPage, AppModel, LektordState, Message, APP_ICON}, fl, }; use cosmic::{ + app::context_drawer, iced::{Alignment, Length}, prelude::*, theme, widget, }; /// Show more informations about Amadeus and the connected Lektord instance (if connected.) -pub fn view(app: &AppModel) -> Element<Message> { +pub fn view(app: &AppModel) -> context_drawer::ContextDrawer<Message> { macro_rules! url { ($icon:ident => $url:literal) => {{ widget::icon::from_svg_bytes(crate::icons::$icon) @@ -69,7 +70,7 @@ pub fn view(app: &AppModel) -> Element<Message> { )), }; - widget::column() + let inner = widget::column() .push(app_icon) .push(widget::text::title3(fl!("app-title"))) .push(link_rows) @@ -79,6 +80,8 @@ pub fn view(app: &AppModel) -> Element<Message> { ])) .align_x(Alignment::Center) .spacing(theme::active().cosmic().space_xxs()) - .width(Length::Fill) - .into() + .width(Length::Fill); + + context_drawer::context_drawer(inner, Message::ToggleContextPage(ContextPage::About)) + .title(fl!("about")) } diff --git a/amadeus/src/app/context_pages/config.rs b/amadeus/src/app/context_pages/config.rs index 91d789a68e5e81a9493d5aab5c0fcf01a7ab913e..7b57d88603852492b2b60199a674a0c926d5cdb0 100644 --- a/amadeus/src/app/context_pages/config.rs +++ b/amadeus/src/app/context_pages/config.rs @@ -1,14 +1,14 @@ use crate::{ - app::{AppModel, ConfigMessage, Message}, + app::{context_pages::ContextPage, AppModel, ConfigMessage, Message}, config::KURISU_URL, fl, }; -use cosmic::{iced::Length, theme, widget, Element}; +use cosmic::{app::context_drawer, iced::Length, theme, widget}; use lektor_utils::config::{SocketScheme, UserConfig}; use std::sync::LazyLock; /// View and edit the settings for Amadeus -pub fn view(app: &AppModel) -> Element<Message> { +pub fn view(app: &AppModel) -> context_drawer::ContextDrawer<Message> { use {std::borrow::Cow::*, ConfigMessage::*, Message::*}; let default_instance_user = UpdateConfig(ChangeUserName(Borrowed({ @@ -101,5 +101,9 @@ pub fn view(app: &AppModel) -> Element<Message> { .into(); // --- total settings - widget::settings::view_column(vec![top_section, remote_section, kurisu_section]).into() + context_drawer::context_drawer( + widget::settings::view_column(vec![top_section, remote_section, kurisu_section]), + Message::ToggleContextPage(ContextPage::Settings), + ) + .title(fl!("settings")) } diff --git a/amadeus/src/app/context_pages/kara_info.rs b/amadeus/src/app/context_pages/kara_info.rs index 57eb9a36b00ab3483945ca33a574b3816da362e8..ea7a81584ae9eb1a5a8b79c7c4a9b241c95a883b 100644 --- a/amadeus/src/app/context_pages/kara_info.rs +++ b/amadeus/src/app/context_pages/kara_info.rs @@ -4,14 +4,19 @@ use crate::{ store::KaraOrId, }; use cosmic::{ + app::context_drawer, prelude::*, style, widget::{self, tooltip::Position}, }; +use super::ContextPage; + /// View more details about a single kara. -pub fn view<'a>(kara_or_kid: KaraOrId<'_>) -> Element<'a, Message> { - match kara_or_kid { +pub fn view<'a>(kara_or_kid: KaraOrId<'_>) -> context_drawer::ContextDrawer<'a, Message> { + let id = kara_or_kid.id(); + + let inner = match kara_or_kid { KaraOrId::Id(kid) => widget::text::monotext(kid.to_string()) .apply(widget::button::custom) .class(style::Button::Transparent) @@ -20,5 +25,8 @@ pub fn view<'a>(kara_or_kid: KaraOrId<'_>) -> Element<'a, Message> { .apply(Element::from), KaraOrId::Kara(kara) => widget::text::monotext(format!("{kara:#?}")).into(), - } + }; + + context_drawer::context_drawer(inner, Message::ToggleContextPage(ContextPage::KaraInfo(id))) + .title(fl!("info-about", what = fl!("kara"))) } diff --git a/amadeus/src/app/menu.rs b/amadeus/src/app/menu.rs index 50d8f142b57ca1c34c3c7cd13f3e1d8283504d1c..b4512a3a4201a2b5531e68f66d8d546459ececc4 100644 --- a/amadeus/src/app/menu.rs +++ b/amadeus/src/app/menu.rs @@ -51,7 +51,7 @@ impl menu::action::MenuAction for MenuAction { pub fn header_menu(key_binds: &HashMap<menu::KeyBind, MenuAction>) -> Element<Message> { macro_rules! button { ($msg:ident) => {{ - menu::Item::Button(MenuAction::$msg.to_string(), MenuAction::$msg) + menu::Item::Button(MenuAction::$msg.to_string(), None, MenuAction::$msg) }}; } macro_rules! folder { diff --git a/amadeus/src/store.rs b/amadeus/src/store.rs index 68338c7bfb43ec201a42ae6a6be67f2ed5b04fba..85a5bd1c744acc38b407d8364eebb89ec5b0d8ed 100644 --- a/amadeus/src/store.rs +++ b/amadeus/src/store.rs @@ -18,6 +18,15 @@ pub enum KaraOrId<'a> { Id(KId), } +impl<'a> KaraOrId<'a> { + pub fn id(&self) -> KId { + match self { + KaraOrId::Kara(kara) => kara.id, + KaraOrId::Id(kid) => *kid, + } + } +} + /// Contains informations about playlists, karas, the queue, the history, etc. All the operations /// are sync thanks to the way iced/libcosmic handle the things. All the getters are done in a lazy /// way.