diff --git a/Cargo.lock b/Cargo.lock index 25ef548..1bc1e75 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5,27 +5,26 @@ version = 3 [[package]] name = "accesskit" version = "0.11.0" -source = "git+https://github.com/wash2/accesskit.git?tag=winit-0.28#db6f2587f663eafd8f7888e8507baa3a092599b0" +source = "git+https://github.com/wash2/accesskit.git?branch=winit-0.29#16e0d60cf91b255ed6d9ac5c47bd3d1e878f17d8" [[package]] name = "accesskit_consumer" version = "0.15.0" -source = "git+https://github.com/wash2/accesskit.git?tag=winit-0.28#db6f2587f663eafd8f7888e8507baa3a092599b0" +source = "git+https://github.com/wash2/accesskit.git?branch=winit-0.29#16e0d60cf91b255ed6d9ac5c47bd3d1e878f17d8" dependencies = [ "accesskit", ] [[package]] name = "accesskit_unix" -version = "0.4.0" -source = "git+https://github.com/wash2/accesskit.git?tag=winit-0.28#db6f2587f663eafd8f7888e8507baa3a092599b0" +version = "0.5.0" +source = "git+https://github.com/wash2/accesskit.git?branch=winit-0.29#16e0d60cf91b255ed6d9ac5c47bd3d1e878f17d8" dependencies = [ "accesskit", "accesskit_consumer", "async-channel 1.9.0", "atspi", "futures-lite 1.13.0", - "log", "serde", "zbus", ] @@ -109,9 +108,9 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.4" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87" +checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc" [[package]] name = "anstyle-parse" @@ -298,9 +297,9 @@ dependencies = [ [[package]] name = "async-io" -version = "2.3.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb41eb19024a91746eba0773aa5e16036045bbf45733766661099e182ea6a744" +checksum = "8f97ab0c5b00a7cdbe5a371b9a782ee7be1316095885c8a4ea1daf490eb0ef65" dependencies = [ "async-lock 3.3.0", "cfg-if", @@ -308,8 +307,8 @@ dependencies = [ "futures-io", "futures-lite 2.2.0", "parking", - "polling 3.3.2", - "rustix 0.38.30", + "polling 3.4.0", + "rustix 0.38.31", "slab", "tracing", "windows-sys 0.52.0", @@ -348,7 +347,7 @@ dependencies = [ "cfg-if", "event-listener 3.1.0", "futures-lite 1.13.0", - "rustix 0.38.30", + "rustix 0.38.31", "windows-sys 0.48.0", ] @@ -369,13 +368,13 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5" dependencies = [ - "async-io 2.3.0", + "async-io 2.3.1", "async-lock 2.8.0", "atomic-waker", "cfg-if", "futures-core", "futures-io", - "rustix 0.38.30", + "rustix 0.38.31", "signal-hook-registry", "slab", "windows-sys 0.48.0", @@ -421,7 +420,7 @@ name = "atomicwrites" version = "0.4.2" source = "git+https://github.com/jackpot51/rust-atomicwrites#043ab4859d53ffd3d55334685303d8df39c9f768" dependencies = [ - "rustix 0.38.30", + "rustix 0.38.31", "tempfile", "windows-sys 0.48.0", ] @@ -604,8 +603,8 @@ dependencies = [ "async-task", "bitflags 2.4.2", "log", - "polling 3.3.2", - "rustix 0.38.30", + "polling 3.4.0", + "rustix 0.38.31", "slab", "thiserror", ] @@ -617,9 +616,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f0ea9b9476c7fad82841a8dbb380e2eae480c21910feba80725b46931ed8f02" dependencies = [ "calloop", - "rustix 0.38.30", - "wayland-backend 0.3.2", - "wayland-client 0.31.1", + "rustix 0.38.31", + "wayland-backend 0.3.3", + "wayland-client 0.31.2", ] [[package]] @@ -653,6 +652,12 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" +[[package]] +name = "cfg_aliases" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77e53693616d3075149f4ead59bdeecd204ac6b8192d8969757601b74bddf00f" + [[package]] name = "clap" version = "4.4.18" @@ -746,10 +751,35 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" [[package]] -name = "com-rs" -version = "0.2.1" +name = "com" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf43edc576402991846b093a7ca18a3477e0ef9c588cde84964b5d3e43016642" +checksum = "7e17887fd17353b65b1b2ef1c526c83e26cd72e74f598a8dc1bee13a48f3d9f6" +dependencies = [ + "com_macros", +] + +[[package]] +name = "com_macros" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d375883580a668c7481ea6631fc1a8863e33cc335bf56bfad8d7e6d4b04b13a5" +dependencies = [ + "com_macros_support", + "proc-macro2", + "syn 1.0.109", +] + +[[package]] +name = "com_macros_support" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad899a1087a9296d5644792d7cb72b8e34c1bec8e7d4fbc002230169a6e8710c" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] [[package]] name = "concurrent-queue" @@ -827,13 +857,13 @@ source = "git+https://github.com/pop-os/cosmic-protocols?rev=e65fa5e#e65fa5e2bb4 dependencies = [ "cosmic-protocols", "smithay-client-toolkit 0.18.0", - "wayland-client 0.31.1", + "wayland-client 0.31.2", ] [[package]] name = "cosmic-comp-config" version = "0.1.0" -source = "git+https://github.com/pop-os/cosmic-comp#b46b92611c937ce77062a6496c4018c4d0cfc15f" +source = "git+https://github.com/pop-os/cosmic-comp#ec822e421f8e804d5e18a7dc516fde8c3347797a" dependencies = [ "cosmic-config", "input", @@ -843,7 +873,7 @@ dependencies = [ [[package]] name = "cosmic-config" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic#3aef16bf9ed7f0b2ffbaa46b0d60b1a663ebcbd7" +source = "git+https://github.com/pop-os/libcosmic#6ebda94c79a7d349bf5e5eba944d399ac1215106" dependencies = [ "atomicwrites", "cosmic-config-derive", @@ -860,7 +890,7 @@ dependencies = [ [[package]] name = "cosmic-config-derive" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic#3aef16bf9ed7f0b2ffbaa46b0d60b1a663ebcbd7" +source = "git+https://github.com/pop-os/libcosmic#6ebda94c79a7d349bf5e5eba944d399ac1215106" dependencies = [ "quote", "syn 1.0.109", @@ -872,17 +902,17 @@ version = "0.1.0" source = "git+https://github.com/pop-os/cosmic-protocols?rev=e65fa5e#e65fa5e2bb47e51656221657049bd3f88ae9dae5" dependencies = [ "bitflags 2.4.2", - "wayland-backend 0.3.2", - "wayland-client 0.31.1", - "wayland-protocols 0.31.0", - "wayland-scanner 0.31.0", + "wayland-backend 0.3.3", + "wayland-client 0.31.2", + "wayland-protocols 0.31.2", + "wayland-scanner 0.31.1", "wayland-server", ] [[package]] name = "cosmic-text" version = "0.10.0" -source = "git+https://github.com/pop-os/cosmic-text.git#e0ae465f918cd1cffca3a8239547dcf8166d3f77" +source = "git+https://github.com/pop-os/cosmic-text.git?rev=1b025ae#1b025ae56e0122cff5798b9f54fc56d47a182d2b" dependencies = [ "bitflags 2.4.2", "fontdb", @@ -904,7 +934,7 @@ dependencies = [ [[package]] name = "cosmic-theme" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic#3aef16bf9ed7f0b2ffbaa46b0d60b1a663ebcbd7" +source = "git+https://github.com/pop-os/libcosmic#6ebda94c79a7d349bf5e5eba944d399ac1215106" dependencies = [ "almost", "cosmic-config", @@ -932,15 +962,15 @@ dependencies = [ "gbm", "i18n-embed", "i18n-embed-fl", - "itertools 0.12.0", + "itertools", "libcosmic", "log", "memmap2 0.9.4", "once_cell", "rust-embed", - "rustix 0.38.30", + "rustix 0.38.31", "tokio", - "wayland-protocols 0.31.0", + "wayland-protocols 0.31.2", "zbus", ] @@ -1046,9 +1076,8 @@ checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991" [[package]] name = "d3d12" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e16e44ab292b1dddfdaf7be62cfd8877df52f2f3fde5858d95bab606be259f20" +version = "0.19.0" +source = "git+https://github.com/gfx-rs/wgpu?rev=20fda69#20fda698341efbdc870b8027d6d49f5bf3f36109" dependencies = [ "bitflags 2.4.2", "libloading 0.8.1", @@ -1057,9 +1086,9 @@ dependencies = [ [[package]] name = "darling" -version = "0.20.3" +version = "0.20.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e" +checksum = "fc5d6b04b3fd0ba9926f945895de7d806260a2d7431ba82e7edaecb043c4c6b8" dependencies = [ "darling_core", "darling_macro", @@ -1067,9 +1096,9 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.3" +version = "0.20.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621" +checksum = "04e48a959bcd5c761246f5d090ebc2fbf7b9cd527a492b07a67510c108f1e7e3" dependencies = [ "fnv", "ident_case", @@ -1081,9 +1110,9 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.20.3" +version = "0.20.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" +checksum = "1d1545d67a2149e1d93b7e5c7752dce5a7426eb5d1357ddcfd89336b94444f77" dependencies = [ "darling_core", "quote", @@ -1235,19 +1264,6 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" -[[package]] -name = "drm" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fb1b703ffbc7ebd216eba7900008049a56ace55580ecb2ee7fa801e8d8be87" -dependencies = [ - "bitflags 2.4.2", - "bytemuck", - "drm-ffi 0.6.0", - "drm-fourcc", - "nix 0.27.1", -] - [[package]] name = "drm" version = "0.11.1" @@ -1256,19 +1272,9 @@ checksum = "a0f8a69e60d75ae7dab4ef26a59ca99f2a89d4c142089b537775ae0c198bdcde" dependencies = [ "bitflags 2.4.2", "bytemuck", - "drm-ffi 0.7.1", + "drm-ffi", "drm-fourcc", - "rustix 0.38.30", -] - -[[package]] -name = "drm-ffi" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba7d1c19c4b6270e89d59fb27dc6d02a317c658a8a54e54781e1db9b5947595d" -dependencies = [ - "drm-sys 0.5.0", - "nix 0.27.1", + "rustix 0.38.31", ] [[package]] @@ -1277,8 +1283,8 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41334f8405792483e32ad05fbb9c5680ff4e84491883d2947a4757dc54cb2ac6" dependencies = [ - "drm-sys 0.6.1", - "rustix 0.38.30", + "drm-sys", + "rustix 0.38.31", ] [[package]] @@ -1287,12 +1293,6 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0aafbcdb8afc29c1a7ee5fbe53b5d62f4565b35a042a662ca9fecd0b54dae6f4" -[[package]] -name = "drm-sys" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a4f1c0468062a56cd5705f1e3b5409eb286d5596a2028ec8e947595d7e715ae" - [[package]] name = "drm-sys" version = "0.6.1" @@ -1353,9 +1353,9 @@ dependencies = [ [[package]] name = "env_logger" -version = "0.11.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9eeb342678d785662fd2514be38c459bb925f02b68dd2a3e0f21d7ef82d979dd" +checksum = "05e7cf40684ae96ade6232ed84582f40ce0a66efcd43a5117aef610534f8e0b8" dependencies = [ "anstream", "anstyle", @@ -1439,12 +1439,12 @@ dependencies = [ [[package]] name = "exr" -version = "1.6.4" +version = "1.72.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "279d3efcc55e19917fff7ab3ddd6c14afb6a90881a0078465196fe2f99d08c56" +checksum = "887d93f60543e9a9362ef8a21beedd0a833c5d9610e18c67abe15a5963dcb1a4" dependencies = [ "bit_field", - "flume 0.10.14", + "flume", "half", "lebe", "miniz_oxide", @@ -1573,28 +1573,12 @@ dependencies = [ "thiserror", ] -[[package]] -name = "flume" -version = "0.10.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1657b4441c3403d9f7b3409e47575237dac27b1b5726df654a6ecbf92f0f7577" -dependencies = [ - "futures-core", - "futures-sink", - "nanorand", - "pin-project", - "spin", -] - [[package]] name = "flume" version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181" dependencies = [ - "futures-core", - "futures-sink", - "nanorand", "spin", ] @@ -1604,6 +1588,12 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "font-types" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bd7f3ea17572640b606b35df42cfb6ecdf003704b062580e59918692190b73d" + [[package]] name = "fontconfig-parser" version = "0.5.6" @@ -1828,16 +1818,16 @@ dependencies = [ [[package]] name = "gbm" -version = "0.14.0" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65dffaf38d96aa22cb748ccd9b1ffe624931e899f54c0225815ef7ac757a409f" +checksum = "f177420f6650dcd50042121adf7ff7ab265abdaf4862fe2624066e36e3a9ef34" dependencies = [ "bitflags 1.3.2", - "drm 0.11.1", + "drm", "drm-fourcc", "gbm-sys", "libc", - "wayland-backend 0.3.2", + "wayland-backend 0.3.3", "wayland-server", ] @@ -1892,12 +1882,12 @@ dependencies = [ [[package]] name = "gethostname" -version = "0.3.0" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb65d4ba3173c56a500b555b532f72c42e8d1fe64962b518897f8959fae2c177" +checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818" dependencies = [ "libc", - "winapi", + "windows-targets 0.48.5", ] [[package]] @@ -1907,10 +1897,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" dependencies = [ "cfg-if", - "js-sys", "libc", "wasi", - "wasm-bindgen", ] [[package]] @@ -2012,8 +2000,8 @@ dependencies = [ [[package]] name = "glyphon" -version = "0.4.1" -source = "git+https://github.com/jackpot51/glyphon.git#abb70c0fda8cf1a5dfc314c1c778103d7ba951e6" +version = "0.5.0" +source = "git+https://github.com/pop-os/glyphon.git?tag=cosmic-0.5-wgpu#db9620f48ceef47e214f3a058b9504e9983ed987" dependencies = [ "cosmic-text", "etagere", @@ -2053,11 +2041,10 @@ dependencies = [ [[package]] name = "gpu-allocator" -version = "0.23.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40fe17c8a05d60c38c0a4e5a3c802f2f1ceb66b76c67d96ffb34bef0475a7fad" +checksum = "6f56f6318968d03c18e1bcf4857ff88c61157e9da8e47c5f29055d60e1228884" dependencies = [ - "backtrace", "log", "presser", "thiserror", @@ -2141,14 +2128,14 @@ dependencies = [ [[package]] name = "hassle-rs" -version = "0.10.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1397650ee315e8891a0df210707f0fc61771b0cc518c3023896064c5407cb3b0" +checksum = "af2a7e73e1f34c48da31fb668a907f250794837e08faa144fd24f0b8b741e890" dependencies = [ - "bitflags 1.3.2", - "com-rs", + "bitflags 2.4.2", + "com", "libc", - "libloading 0.7.4", + "libloading 0.8.1", "thiserror", "widestring", "winapi", @@ -2162,9 +2149,9 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" [[package]] name = "hermit-abi" -version = "0.3.4" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d3d0e0f38255e7fa3cf31335b3a56f05febd18025f4db5ef7a0cfb4f8da651f" +checksum = "d0c62115964e08cb8039170eb33c1d0e2388a256930279edca206fff675f82c3" [[package]] name = "hex" @@ -2194,7 +2181,7 @@ dependencies = [ "serde", "serde_derive", "thiserror", - "toml 0.8.8", + "toml 0.8.10", "unic-langid", ] @@ -2257,7 +2244,7 @@ dependencies = [ [[package]] name = "iced" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic#3aef16bf9ed7f0b2ffbaa46b0d60b1a663ebcbd7" +source = "git+https://github.com/pop-os/libcosmic#6ebda94c79a7d349bf5e5eba944d399ac1215106" dependencies = [ "iced_accessibility", "iced_core", @@ -2272,7 +2259,7 @@ dependencies = [ [[package]] name = "iced_accessibility" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic#3aef16bf9ed7f0b2ffbaa46b0d60b1a663ebcbd7" +source = "git+https://github.com/pop-os/libcosmic#6ebda94c79a7d349bf5e5eba944d399ac1215106" dependencies = [ "accesskit", "accesskit_unix", @@ -2281,25 +2268,26 @@ dependencies = [ [[package]] name = "iced_core" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic#3aef16bf9ed7f0b2ffbaa46b0d60b1a663ebcbd7" +source = "git+https://github.com/pop-os/libcosmic#6ebda94c79a7d349bf5e5eba944d399ac1215106" dependencies = [ "bitflags 1.3.2", "iced_accessibility", - "instant", "log", "num-traits", "palette", - "raw-window-handle", + "raw-window-handle 0.6.0", "serde", "smithay-client-toolkit 0.18.0", + "smol_str", "thiserror", + "web-time", "xxhash-rust", ] [[package]] name = "iced_futures" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic#3aef16bf9ed7f0b2ffbaa46b0d60b1a663ebcbd7" +source = "git+https://github.com/pop-os/libcosmic#6ebda94c79a7d349bf5e5eba944d399ac1215106" dependencies = [ "futures", "iced_core", @@ -2312,7 +2300,7 @@ dependencies = [ [[package]] name = "iced_graphics" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic#3aef16bf9ed7f0b2ffbaa46b0d60b1a663ebcbd7" +source = "git+https://github.com/pop-os/libcosmic#6ebda94c79a7d349bf5e5eba944d399ac1215106" dependencies = [ "bitflags 1.3.2", "bytemuck", @@ -2320,12 +2308,13 @@ dependencies = [ "glam", "half", "iced_core", + "iced_futures", "image", "kamadak-exif", "log", "lyon_path", "once_cell", - "raw-window-handle", + "raw-window-handle 0.6.0", "rustc-hash", "thiserror", "unicode-segmentation", @@ -2335,20 +2324,19 @@ dependencies = [ [[package]] name = "iced_renderer" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic#3aef16bf9ed7f0b2ffbaa46b0d60b1a663ebcbd7" +source = "git+https://github.com/pop-os/libcosmic#6ebda94c79a7d349bf5e5eba944d399ac1215106" dependencies = [ "iced_graphics", "iced_tiny_skia", "iced_wgpu", "log", - "raw-window-handle", "thiserror", ] [[package]] name = "iced_runtime" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic#3aef16bf9ed7f0b2ffbaa46b0d60b1a663ebcbd7" +source = "git+https://github.com/pop-os/libcosmic#6ebda94c79a7d349bf5e5eba944d399ac1215106" dependencies = [ "iced_accessibility", "iced_core", @@ -2360,7 +2348,7 @@ dependencies = [ [[package]] name = "iced_sctk" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic#3aef16bf9ed7f0b2ffbaa46b0d60b1a663ebcbd7" +source = "git+https://github.com/pop-os/libcosmic#6ebda94c79a7d349bf5e5eba944d399ac1215106" dependencies = [ "enum-repr", "float-cmp", @@ -2369,22 +2357,24 @@ dependencies = [ "iced_graphics", "iced_runtime", "iced_style", - "itertools 0.10.5", + "itertools", "lazy_static", - "raw-window-handle", + "raw-window-handle 0.6.0", "smithay-client-toolkit 0.18.0", "smithay-clipboard", "thiserror", "tracing", - "wayland-backend 0.3.2", - "wayland-protocols 0.31.0", + "wayland-backend 0.3.3", + "wayland-protocols 0.31.2", + "xkbcommon", + "xkbcommon-dl", "xkeysym", ] [[package]] name = "iced_style" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic#3aef16bf9ed7f0b2ffbaa46b0d60b1a663ebcbd7" +source = "git+https://github.com/pop-os/libcosmic#6ebda94c79a7d349bf5e5eba944d399ac1215106" dependencies = [ "iced_core", "once_cell", @@ -2394,14 +2384,13 @@ dependencies = [ [[package]] name = "iced_tiny_skia" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic#3aef16bf9ed7f0b2ffbaa46b0d60b1a663ebcbd7" +source = "git+https://github.com/pop-os/libcosmic#6ebda94c79a7d349bf5e5eba944d399ac1215106" dependencies = [ "bytemuck", "cosmic-text", "iced_graphics", "kurbo", "log", - "raw-window-handle", "resvg", "rustc-hash", "softbuffer", @@ -2412,7 +2401,7 @@ dependencies = [ [[package]] name = "iced_wgpu" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic#3aef16bf9ed7f0b2ffbaa46b0d60b1a663ebcbd7" +source = "git+https://github.com/pop-os/libcosmic#6ebda94c79a7d349bf5e5eba944d399ac1215106" dependencies = [ "bitflags 1.3.2", "bytemuck", @@ -2424,7 +2413,6 @@ dependencies = [ "log", "lyon", "once_cell", - "raw-window-handle", "resvg", "wgpu", ] @@ -2432,7 +2420,7 @@ dependencies = [ [[package]] name = "iced_widget" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic#3aef16bf9ed7f0b2ffbaa46b0d60b1a663ebcbd7" +source = "git+https://github.com/pop-os/libcosmic#6ebda94c79a7d349bf5e5eba944d399ac1215106" dependencies = [ "iced_renderer", "iced_runtime", @@ -2486,9 +2474,9 @@ checksum = "029d73f573d8e8d63e6d5020011d3255b28c3ba85d6cf870a07184ed23de9284" [[package]] name = "indexmap" -version = "2.1.0" +version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" +checksum = "824b2ae422412366ba479e8111fd301f7b5faece8149317bb81925979a53f520" dependencies = [ "equivalent", "hashbrown", @@ -2516,11 +2504,11 @@ dependencies = [ [[package]] name = "input" -version = "0.8.3" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6e74cd82cedcd66db78742a8337bdc48f188c4d2c12742cbc5cd85113f0b059" +checksum = "7911ce3db9c10c5ab4a35c49af778a5f9a827bd0f7371d9be56175d8dd2740d0" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.4.2", "input-sys", "io-lifetimes 1.0.11", "libc", @@ -2581,18 +2569,9 @@ checksum = "5a611371471e98973dbcab4e0ec66c31a10bc356eeb4d54a0e05eac8158fe38c" [[package]] name = "itertools" -version = "0.10.5" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" -dependencies = [ - "either", -] - -[[package]] -name = "itertools" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" dependencies = [ "either", ] @@ -2608,9 +2587,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.67" +version = "0.3.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a1d36f1235bc969acba30b7f5990b864423a6068a10f7c90ae8f0112e3a59d1" +checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee" dependencies = [ "wasm-bindgen", ] @@ -2693,14 +2672,14 @@ checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8" [[package]] name = "libc" -version = "0.2.152" +version = "0.2.153" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7" +checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" [[package]] name = "libcosmic" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic#3aef16bf9ed7f0b2ffbaa46b0d60b1a663ebcbd7" +source = "git+https://github.com/pop-os/libcosmic#6ebda94c79a7d349bf5e5eba944d399ac1215106" dependencies = [ "apply", "ashpd", @@ -2831,9 +2810,9 @@ checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" [[package]] name = "lru" -version = "0.12.1" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2994eeba8ed550fd9b47a0b38f0242bc3344e496483c6180b69139cc2fa5d1d7" +checksum = "db2c024b41519440580066ba82aab04092b333e09066a5eb86c7c4890df31f22" dependencies = [ "hashbrown", ] @@ -2976,9 +2955,9 @@ dependencies = [ [[package]] name = "miniz_oxide" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" dependencies = [ "adler", "simd-adler32", @@ -3004,10 +2983,10 @@ checksum = "16cf681a23b4d0a43fc35024c176437f9dcd818db34e0f42ab456a0ee5ad497b" [[package]] name = "naga" -version = "0.14.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae585df4b6514cf8842ac0f1ab4992edc975892704835b549cf818dc0191249e" +version = "0.19.0" +source = "git+https://github.com/gfx-rs/wgpu?rev=20fda69#20fda698341efbdc870b8027d6d49f5bf3f36109" dependencies = [ + "arrayvec", "bit-set", "bitflags 2.4.2", "codespan-reporting", @@ -3022,15 +3001,6 @@ dependencies = [ "unicode-xid", ] -[[package]] -name = "nanorand" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3" -dependencies = [ - "getrandom", -] - [[package]] name = "nix" version = "0.24.3" @@ -3055,17 +3025,6 @@ dependencies = [ "memoffset 0.7.1", ] -[[package]] -name = "nix" -version = "0.27.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" -dependencies = [ - "bitflags 2.4.2", - "cfg-if", - "libc", -] - [[package]] name = "notify" version = "6.1.1" @@ -3278,9 +3237,9 @@ dependencies = [ [[package]] name = "palette" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2e2f34147767aa758aa649415b50a69eeb46a67f9dc7db8011eeb3d84b351dc" +checksum = "3d38e6e5ca1612e2081cc31188f08c3cba630ce4ba44709a153f1a0f38d678f2" dependencies = [ "approx", "fast-srgb8", @@ -3291,9 +3250,9 @@ dependencies = [ [[package]] name = "palette_derive" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7db010ec5ff3d4385e4f133916faacd9dad0f6a09394c92d825b3aed310fa0a" +checksum = "e05d1c929301fee6830dafa764341118829b2535c216b0571e3821ecac5c885b" dependencies = [ "proc-macro2", "quote", @@ -3426,26 +3385,6 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315" -[[package]] -name = "pin-project" -version = "1.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0302c4a0442c456bd56f841aee5c3bfd17967563f6fadc9ceb9f9c23cf3807e0" -dependencies = [ - "pin-project-internal", -] - -[[package]] -name = "pin-project-internal" -version = "1.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "266c042b60c9c76b8d53061e52b2e0d1116abc57cefc8c5cd671619a56ac3690" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.48", -] - [[package]] name = "pin-project-lite" version = "0.2.13" @@ -3506,14 +3445,14 @@ dependencies = [ [[package]] name = "polling" -version = "3.3.2" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "545c980a3880efd47b2e262f6a4bb6daad6555cf3367aa9c4e52895f69537a41" +checksum = "30054e72317ab98eddd8561db0f6524df3367636884b7b21b703e4b280a84a14" dependencies = [ "cfg-if", "concurrent-queue", "pin-project-lite", - "rustix 0.38.30", + "rustix 0.38.31", "tracing", "windows-sys 0.52.0", ] @@ -3575,9 +3514,9 @@ dependencies = [ [[package]] name = "profiling" -version = "1.0.13" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d135ede8821cf6376eb7a64148901e1690b788c11ae94dc297ae917dbc91dc0e" +checksum = "0f0f7f43585c34e4fdd7497d746bc32e14458cf11c69341cc0587b1d825dde42" [[package]] name = "qoi" @@ -3599,9 +3538,9 @@ dependencies = [ [[package]] name = "quick-xml" -version = "0.30.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eff6510e86862b57b210fd8cbe8ed3f0d7d600b9c2863cd4549a2e033c66e956" +checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33" dependencies = [ "memchr", ] @@ -3663,6 +3602,12 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" +[[package]] +name = "raw-window-handle" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42a9830a0e1b9fb145ebb365b8bc4ccd75f290f98c0247deafbbe2c75cefb544" + [[package]] name = "rayon" version = "1.8.1" @@ -3689,6 +3634,15 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3b42e27ef78c35d3998403c1d26f3efd9e135d3e5121b0a4845cc5cc27547f4f" +[[package]] +name = "read-fonts" +version = "0.15.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1362980db95801b70031dd592dc052a44b1810ca9da8fbcf7b25983f3174ed0" +dependencies = [ + "font-types", +] + [[package]] name = "redox_syscall" version = "0.2.16" @@ -3787,7 +3741,7 @@ dependencies = [ "objc", "objc-foundation", "objc_id", - "raw-window-handle", + "raw-window-handle 0.5.2", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -3893,9 +3847,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.30" +version = "0.38.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "322394588aaf33c24007e8bb3238ee3e4c5c09c084ab32bc73890b99ff326bca" +checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949" dependencies = [ "bitflags 2.4.2", "errno", @@ -3959,18 +3913,18 @@ checksum = "58bf37232d3bb9a2c4e641ca2a11d83b5062066f88df7fed36c28772046d65ba" [[package]] name = "serde" -version = "1.0.195" +version = "1.0.196" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63261df402c67811e9ac6def069e4786148c4563f4b50fd4bf30aa370d626b02" +checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.195" +version = "1.0.196" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c" +checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67" dependencies = [ "proc-macro2", "quote", @@ -4105,15 +4059,15 @@ dependencies = [ "log", "memmap2 0.9.4", "pkg-config", - "rustix 0.38.30", + "rustix 0.38.31", "thiserror", - "wayland-backend 0.3.2", - "wayland-client 0.31.1", + "wayland-backend 0.3.3", + "wayland-client 0.31.2", "wayland-csd-frame", - "wayland-cursor 0.31.0", - "wayland-protocols 0.31.0", + "wayland-cursor 0.31.1", + "wayland-protocols 0.31.2", "wayland-protocols-wlr", - "wayland-scanner 0.31.0", + "wayland-scanner 0.31.1", "xkbcommon", "xkeysym", ] @@ -4128,6 +4082,15 @@ dependencies = [ "wayland-client 0.29.5", ] +[[package]] +name = "smol_str" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6845563ada680337a52d43bb0b29f396f2d911616f6573012645b9e3d048a49" +dependencies = [ + "serde", +] + [[package]] name = "socket2" version = "0.4.10" @@ -4150,31 +4113,31 @@ dependencies = [ [[package]] name = "softbuffer" -version = "0.3.3" -source = "git+https://github.com/pop-os/softbuffer?tag=v0.3-cosmic#6f0371ccece51d124c6c5d37082189df0dc5f9ba" +version = "0.4.1" +source = "git+https://github.com/pop-os/softbuffer?tag=cosmic-4.0#0bb85989353f0d17deb593dedb00ee4392a871e7" dependencies = [ "as-raw-xcb-connection", "bytemuck", - "cfg_aliases", + "cfg_aliases 0.2.0", "cocoa", "core-graphics", - "drm 0.10.0", + "drm", "fastrand 2.0.1", "foreign-types", "js-sys", "log", "memmap2 0.9.4", "objc", - "raw-window-handle", + "raw-window-handle 0.6.0", "redox_syscall 0.4.1", - "rustix 0.38.30", + "rustix 0.38.31", "tiny-xlib", "wasm-bindgen", - "wayland-backend 0.3.2", - "wayland-client 0.31.1", + "wayland-backend 0.3.3", + "wayland-client 0.31.2", "wayland-sys 0.31.1", "web-sys", - "windows-sys 0.48.0", + "windows-sys 0.52.0", "x11rb", ] @@ -4189,12 +4152,11 @@ dependencies = [ [[package]] name = "spirv" -version = "0.2.0+1.5.4" +version = "0.3.0+sdk-1.3.268.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "246bfa38fe3db3f1dfc8ca5a2cdeb7348c78be2112740cc0ec8ef18b6d94f830" +checksum = "eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844" dependencies = [ - "bitflags 1.3.2", - "num-traits", + "bitflags 2.4.2", ] [[package]] @@ -4236,10 +4198,11 @@ dependencies = [ [[package]] name = "swash" -version = "0.1.8" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b7c73c813353c347272919aa1af2885068b05e625e5532b43049e4f641ae77f" +checksum = "d06ff4664af8923625604261c645f5c4cc610cc83c84bec74b50d76237089de7" dependencies = [ + "read-fonts", "yazi", "zeno", ] @@ -4284,7 +4247,7 @@ dependencies = [ "cfg-expr", "heck", "pkg-config", - "toml 0.8.8", + "toml 0.8.10", "version-compare", ] @@ -4313,14 +4276,13 @@ checksum = "dd16aa9ffe15fe021c6ee3766772132c6e98dfa395a167e16864f61a9cfb71d6" [[package]] name = "tempfile" -version = "3.9.0" +version = "3.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa" +checksum = "a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67" dependencies = [ "cfg-if", "fastrand 2.0.1", - "redox_syscall 0.4.1", - "rustix 0.38.30", + "rustix 0.38.31", "windows-sys 0.52.0", ] @@ -4375,9 +4337,9 @@ dependencies = [ [[package]] name = "tiny-skia" -version = "0.11.3" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6a067b809476893fce6a254cf285850ff69c847e6cfbade6a20b655b6c7e80d" +checksum = "83d13394d44dae3207b52a326c0c85a8bf87f1541f23b0d143811088497b09ab" dependencies = [ "arrayref", "arrayvec", @@ -4390,9 +4352,9 @@ dependencies = [ [[package]] name = "tiny-skia-path" -version = "0.11.3" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5de35e8a90052baaaf61f171680ac2f8e925a1e43ea9d2e3a00514772250e541" +checksum = "9c9e7fc0c2e86a30b117d0462aa261b72b7a99b7ebd7deb3a14ceda95c5bdc93" dependencies = [ "arrayref", "bytemuck", @@ -4437,9 +4399,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.35.1" +version = "1.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104" +checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931" dependencies = [ "backtrace", "bytes", @@ -4464,14 +4426,14 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.8" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35" +checksum = "9a9aad4a3066010876e8dcf5a8a06e70a558751117a145c6ce2b82c2e2054290" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.21.0", + "toml_edit 0.22.4", ] [[package]] @@ -4496,9 +4458,9 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.21.0" +version = "0.22.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03" +checksum = "0c9ffdf896f8daaabf9b66ba8e77ea1ed5ed0f72821b398aba62352e95062951" dependencies = [ "indexmap", "serde", @@ -4561,10 +4523,11 @@ checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "udev" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ebdbbd670373442a12fe9ef7aeb53aec4147a5a27a00bbc3ab639f08f48191a" +checksum = "50051c6e22be28ee6f217d50014f3bc29e81c20dc66ff7ca0d5c5226e1dcc5a1" dependencies = [ + "io-lifetimes 1.0.11", "libc", "libudev-sys", "pkg-config", @@ -4790,9 +4753,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.90" +version = "0.2.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1223296a201415c7fad14792dbefaace9bd52b62d33453ade1c5b5f07555406" +checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -4800,9 +4763,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.90" +version = "0.2.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcdc935b63408d58a32f8cc9738a0bffd8f05cc7c002086c6ef20b7312ad9dcd" +checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b" dependencies = [ "bumpalo", "log", @@ -4815,9 +4778,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.40" +version = "0.4.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bde2032aeb86bdfaecc8b261eef3cba735cc426c1f3a3416d1e0791be95fc461" +checksum = "877b9c3f61ceea0e56331985743b13f3d25c406a7098d45180fb5f09bc19ed97" dependencies = [ "cfg-if", "js-sys", @@ -4827,9 +4790,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.90" +version = "0.2.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e4c238561b2d428924c49815533a8b9121c664599558a5d9ec51f8a1740a999" +checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -4837,9 +4800,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.90" +version = "0.2.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bae1abb6806dc1ad9e560ed242107c0f6c84335f1749dd4e8ddb012ebd5e25a7" +checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66" dependencies = [ "proc-macro2", "quote", @@ -4850,9 +4813,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.90" +version = "0.2.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d91413b1c31d7539ba5ef2451af3f0b833a005eb27a631cec32bc0635a8602b" +checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838" [[package]] name = "wasm-timer" @@ -4886,13 +4849,13 @@ dependencies = [ [[package]] name = "wayland-backend" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19152ddd73f45f024ed4534d9ca2594e0ef252c1847695255dae47f34df9fbe4" +checksum = "9d50fa61ce90d76474c87f5fc002828d81b32677340112b4ef08079a9d459a40" dependencies = [ "cc", "downcast-rs", - "nix 0.26.4", + "rustix 0.38.31", "scoped-tls", "smallvec", "wayland-sys 0.31.1", @@ -4928,14 +4891,14 @@ dependencies = [ [[package]] name = "wayland-client" -version = "0.31.1" +version = "0.31.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ca7d52347346f5473bf2f56705f360e8440873052e575e55890c4fa57843ed3" +checksum = "82fb96ee935c2cea6668ccb470fb7771f6215d1691746c2d896b447a00ad3f1f" dependencies = [ "bitflags 2.4.2", - "nix 0.26.4", - "wayland-backend 0.3.2", - "wayland-scanner 0.31.0", + "rustix 0.38.31", + "wayland-backend 0.3.3", + "wayland-scanner 0.31.1", ] [[package]] @@ -4958,7 +4921,7 @@ checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e" dependencies = [ "bitflags 2.4.2", "cursor-icon", - "wayland-backend 0.3.2", + "wayland-backend 0.3.3", ] [[package]] @@ -4974,12 +4937,12 @@ dependencies = [ [[package]] name = "wayland-cursor" -version = "0.31.0" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44aa20ae986659d6c77d64d808a046996a932aa763913864dc40c359ef7ad5b" +checksum = "71ce5fa868dd13d11a0d04c5e2e65726d0897be8de247c0c5a65886e283231ba" dependencies = [ - "nix 0.26.4", - "wayland-client 0.31.1", + "rustix 0.38.31", + "wayland-client 0.31.2", "xcursor", ] @@ -5009,14 +4972,14 @@ dependencies = [ [[package]] name = "wayland-protocols" -version = "0.31.0" +version = "0.31.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e253d7107ba913923dc253967f35e8561a3c65f914543e46843c88ddd729e21c" +checksum = "8f81f365b8b4a97f422ac0e8737c438024b5951734506b0e1d775c73030561f4" dependencies = [ "bitflags 2.4.2", - "wayland-backend 0.3.2", - "wayland-client 0.31.1", - "wayland-scanner 0.31.0", + "wayland-backend 0.3.3", + "wayland-client 0.31.2", + "wayland-scanner 0.31.1", "wayland-server", ] @@ -5027,10 +4990,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6" dependencies = [ "bitflags 2.4.2", - "wayland-backend 0.3.2", - "wayland-client 0.31.1", - "wayland-protocols 0.31.0", - "wayland-scanner 0.31.0", + "wayland-backend 0.3.3", + "wayland-client 0.31.2", + "wayland-protocols 0.31.2", + "wayland-scanner 0.31.1", ] [[package]] @@ -5057,27 +5020,27 @@ dependencies = [ [[package]] name = "wayland-scanner" -version = "0.31.0" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb8e28403665c9f9513202b7e1ed71ec56fde5c107816843fb14057910b2c09c" +checksum = "63b3a62929287001986fb58c789dce9b67604a397c15c611ad9f747300b6c283" dependencies = [ "proc-macro2", - "quick-xml 0.30.0", + "quick-xml 0.31.0", "quote", ] [[package]] name = "wayland-server" -version = "0.31.0" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f3f0c52a445936ca1184c98f1a69cf4ad9c9130788884531ef04428468cb1ce" +checksum = "00e6e4d5c285bc24ba4ed2d5a4bd4febd5fd904451f465973225c8e99772fdb7" dependencies = [ "bitflags 2.4.2", "downcast-rs", "io-lifetimes 2.0.3", - "nix 0.26.4", - "wayland-backend 0.3.2", - "wayland-scanner 0.31.0", + "rustix 0.38.31", + "wayland-backend 0.3.3", + "wayland-scanner 0.31.1", ] [[package]] @@ -5118,9 +5081,19 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.64" +version = "0.3.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" +checksum = "96565907687f7aceb35bc5fc03770a8a0471d82e479f25832f54a0e3f4b28446" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web-time" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa30049b1c872b72c89866d458eae9f20380ab280ffd1b1e18df2d3e2d98cfe0" dependencies = [ "js-sys", "wasm-bindgen", @@ -5134,19 +5107,18 @@ checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082" [[package]] name = "wgpu" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30e7d227c9f961f2061c26f4cb0fbd4df0ef37e056edd0931783599d6c94ef24" +version = "0.19.0" +source = "git+https://github.com/gfx-rs/wgpu?rev=20fda69#20fda698341efbdc870b8027d6d49f5bf3f36109" dependencies = [ "arrayvec", "cfg-if", - "flume 0.11.0", + "cfg_aliases 0.1.1", "js-sys", "log", "naga", "parking_lot 0.12.1", "profiling", - "raw-window-handle", + "raw-window-handle 0.6.0", "smallvec", "static_assertions", "wasm-bindgen", @@ -5159,19 +5131,21 @@ dependencies = [ [[package]] name = "wgpu-core" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef91c1d62d1e9e81c79e600131a258edf75c9531cbdbde09c44a011a47312726" +version = "0.19.0" +source = "git+https://github.com/gfx-rs/wgpu?rev=20fda69#20fda698341efbdc870b8027d6d49f5bf3f36109" dependencies = [ "arrayvec", "bit-vec", "bitflags 2.4.2", + "cfg_aliases 0.1.1", "codespan-reporting", + "indexmap", "log", "naga", + "once_cell", "parking_lot 0.12.1", "profiling", - "raw-window-handle", + "raw-window-handle 0.6.0", "rustc-hash", "smallvec", "thiserror", @@ -5182,9 +5156,8 @@ dependencies = [ [[package]] name = "wgpu-hal" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b84ecc802da3eb67b4cf3dd9ea6fe45bbb47ef13e6c49c5c3240868a9cc6cdd9" +version = "0.19.0" +source = "git+https://github.com/gfx-rs/wgpu?rev=20fda69#20fda698341efbdc870b8027d6d49f5bf3f36109" dependencies = [ "android_system_properties", "arrayvec", @@ -5192,6 +5165,7 @@ dependencies = [ "bit-set", "bitflags 2.4.2", "block", + "cfg_aliases 0.1.1", "core-graphics-types", "d3d12", "glow", @@ -5212,7 +5186,7 @@ dependencies = [ "parking_lot 0.12.1", "profiling", "range-alloc", - "raw-window-handle", + "raw-window-handle 0.6.0", "renderdoc-sys", "rustc-hash", "smallvec", @@ -5225,9 +5199,8 @@ dependencies = [ [[package]] name = "wgpu-types" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d5ed5f0edf0de351fe311c53304986315ce866f394a2e6df0c4b3c70774bcdd" +version = "0.19.0" +source = "git+https://github.com/gfx-rs/wgpu?rev=20fda69#20fda698341efbdc870b8027d6d49f5bf3f36109" dependencies = [ "bitflags 2.4.2", "js-sys", @@ -5265,15 +5238,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "winapi-wsapoll" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c17110f57155602a80dca10be03852116403c9ff3cd25b079d666f2aa3df6e" -dependencies = [ - "winapi", -] - [[package]] name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" @@ -5282,21 +5246,21 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows" -version = "0.51.1" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca229916c5ee38c2f2bc1e9d8f04df975b4bd93f9955dc69fabb5d91270045c9" +checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" dependencies = [ "windows-core", - "windows-targets 0.48.5", + "windows-targets 0.52.0", ] [[package]] name = "windows-core" -version = "0.51.1" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.48.5", + "windows-targets 0.52.0", ] [[package]] @@ -5433,38 +5397,33 @@ checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" [[package]] name = "winnow" -version = "0.5.34" +version = "0.5.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7cf47b659b318dccbd69cc4797a39ae128f533dce7902a1096044d1967b9c16" +checksum = "5389a154b01683d28c77f8f68f49dea75f0a4da32557a58f68ee51ebba472d29" dependencies = [ "memchr", ] [[package]] name = "x11rb" -version = "0.12.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1641b26d4dec61337c35a1b1aaf9e3cba8f46f0b43636c609ab0291a648040a" +checksum = "f8f25ead8c7e4cba123243a6367da5d3990e0d3affa708ea19dce96356bd9f1a" dependencies = [ "as-raw-xcb-connection", "gethostname", "libc", - "libloading 0.7.4", - "nix 0.26.4", + "libloading 0.8.1", "once_cell", - "winapi", - "winapi-wsapoll", + "rustix 0.38.31", "x11rb-protocol", ] [[package]] name = "x11rb-protocol" -version = "0.12.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82d6c3f9a0fb6701fab8f6cea9b0c0bd5d6876f1f89f7fada07e558077c344bc" -dependencies = [ - "nix 0.26.4", -] +checksum = "e63e71c4b8bd9ffec2c963173a4dc4cbde9ee96961d4fcb4429db9929b606c34" [[package]] name = "xcursor" @@ -5480,11 +5439,11 @@ checksum = "213b7324336b53d2414b2db8537e56544d981803139155afa84f76eeebb7a546" [[package]] name = "xdg-home" -version = "1.0.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2769203cd13a0c6015d515be729c526d041e9cf2c0cc478d57faee85f40c6dcd" +checksum = "21e5a325c3cb8398ad6cf859c1135b25dd29e186679cf2da7581d9679f63b38e" dependencies = [ - "nix 0.26.4", + "libc", "winapi", ] @@ -5499,6 +5458,19 @@ dependencies = [ "xkeysym", ] +[[package]] +name = "xkbcommon-dl" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6924668544c48c0133152e7eec86d644a056ca3d09275eb8d5cdb9855f9d8699" +dependencies = [ + "bitflags 2.4.2", + "dlib", + "log", + "once_cell", + "xkeysym", +] + [[package]] name = "xkeysym" version = "0.2.0" @@ -5534,9 +5506,9 @@ checksum = "c94451ac9513335b5e23d7a8a2b61a7102398b8cca5160829d313e84c9d98be1" [[package]] name = "zbus" -version = "3.14.1" +version = "3.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31de390a2d872e4cd04edd71b425e29853f786dc99317ed72d73d6fcf5ebb948" +checksum = "c45d06ae3b0f9ba1fb2671268b975557d8f5a84bb5ec6e43964f87e763d8bca8" dependencies = [ "async-broadcast", "async-executor", @@ -5576,9 +5548,9 @@ dependencies = [ [[package]] name = "zbus_macros" -version = "3.14.1" +version = "3.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d1794a946878c0e807f55a397187c11fc7a038ba5d868e7db4f3bd7760bc9d" +checksum = "b4a1ba45ed0ad344b85a2bb5a1fe9830aed23d67812ea39a586e7d0136439c7d" dependencies = [ "proc-macro-crate", "proc-macro2", diff --git a/src/main.rs b/src/main.rs index 25e8eae..83b82c7 100644 --- a/src/main.rs +++ b/src/main.rs @@ -24,7 +24,7 @@ use cosmic::{ iced::{ self, event::wayland::{Event as WaylandEvent, OutputEvent}, - keyboard::KeyCode, + keyboard::key::{Key, Named}, wayland::{ actions::data_device::{DataFromMimeType, DndIcon}, data_device::{accept_mime_type, request_dnd_data, set_actions, start_drag}, @@ -632,8 +632,9 @@ impl Application for App { { Some(Msg::WaylandEvent(evt)) } else if let iced::Event::Keyboard(iced::keyboard::Event::KeyReleased { - key_code: KeyCode::Escape, + key: Key::Named(Named::Escape), modifiers: _, + location: _, }) = evt { Some(Msg::Close) diff --git a/src/view/mod.rs b/src/view/mod.rs index d8b3e07..86d933a 100644 --- a/src/view/mod.rs +++ b/src/view/mod.rs @@ -11,7 +11,9 @@ use cosmic::{ self, advanced::layout::flex::Axis, widget::{column, row}, + Border, }, + iced_core::Shadow, widget, }; use cosmic_comp_config::workspace::{WorkspaceAmount, WorkspaceLayout}; @@ -186,9 +188,12 @@ fn workspaces_sidebar<'a>( text_color: Some(theme.cosmic().on_bg_color().into()), icon_color: Some(theme.cosmic().on_bg_color().into()), background: Some(iced::Color::from(theme.cosmic().background.base).into()), - border_radius: (12.0).into(), - border_width: 0.0, - border_color: iced::Color::TRANSPARENT, + border: Border { + radius: (12.0).into(), + width: 0.0, + color: iced::Color::TRANSPARENT, + }, + shadow: Shadow::default(), }), )) .width(width) diff --git a/src/wayland/buffer.rs b/src/wayland/buffer.rs index 327af4b..62fdd12 100644 --- a/src/wayland/buffer.rs +++ b/src/wayland/buffer.rs @@ -1,7 +1,6 @@ use cctk::{ cosmic_protocols::screencopy::v1::client::zcosmic_screencopy_session_v1::BufferType, screencopy::BufferInfo, - sctk::shm::raw::RawPool, wayland_client::{ protocol::{wl_buffer, wl_shm, wl_shm_pool}, Connection, Dispatch, QueueHandle, WEnum, diff --git a/src/widgets/image_bg.rs b/src/widgets/image_bg.rs index baef164..6b7027b 100644 --- a/src/widgets/image_bg.rs +++ b/src/widgets/image_bg.rs @@ -26,14 +26,14 @@ pub struct ImageBg<'a, Msg> { _msg: PhantomData, } -impl<'a, Msg> Widget for ImageBg<'a, Msg> { +impl<'a, Msg> Widget for ImageBg<'a, Msg> { delegate::delegate! { to self.content.as_widget() { fn tag(&self) -> tree::Tag; fn state(&self) -> tree::State; fn children(&self) -> Vec; - fn width(&self) -> Length; - fn height(&self) -> Length; + fn size(&self) -> Size; + fn size_hint(&self) -> Size; fn layout( &self, tree: &mut Tree, @@ -75,7 +75,7 @@ impl<'a, Msg> Widget for ImageBg<'a, Msg> { tree: &'b mut Tree, layout: Layout<'_>, renderer: &cosmic::Renderer, - ) -> Option>; + ) -> Option>; } } @@ -123,6 +123,7 @@ impl<'a, Msg> Widget for ImageBg<'a, Msg> { //}); self.content + .as_widget() .draw(state, renderer, theme, style, layout, cursor, viewport) } } diff --git a/src/widgets/mod.rs b/src/widgets/mod.rs index c6fb347..d5e3302 100644 --- a/src/widgets/mod.rs +++ b/src/widgets/mod.rs @@ -5,7 +5,7 @@ use cosmic::iced::{ Clipboard, Layout, Shell, Widget, }, event::{self, Event}, - Length, Rectangle, + Length, Rectangle, Size, }; use std::marker::PhantomData; @@ -36,7 +36,7 @@ pub struct LayoutWrapper<'a, Msg> { _msg: PhantomData, } -impl<'a, Msg> Widget for LayoutWrapper<'a, Msg> { +impl<'a, Msg> Widget for LayoutWrapper<'a, Msg> { fn layout( &self, tree: &mut Tree, @@ -52,8 +52,8 @@ impl<'a, Msg> Widget for LayoutWrapper<'a, Msg> { fn tag(&self) -> tree::Tag; fn state(&self) -> tree::State; fn children(&self) -> Vec; - fn width(&self) -> Length; - fn height(&self) -> Length; + fn size(&self) -> Size; + fn size_hint(&self) -> Size; fn operate( &self, tree: &mut Tree, @@ -100,7 +100,7 @@ impl<'a, Msg> Widget for LayoutWrapper<'a, Msg> { tree: &'b mut Tree, layout: Layout<'_>, renderer: &cosmic::Renderer, - ) -> Option>; + ) -> Option>; fn set_id(&mut self, id: Id); } } diff --git a/src/widgets/mouse_interaction_wrapper.rs b/src/widgets/mouse_interaction_wrapper.rs index 1fb9014..76baeb3 100644 --- a/src/widgets/mouse_interaction_wrapper.rs +++ b/src/widgets/mouse_interaction_wrapper.rs @@ -5,7 +5,7 @@ use cosmic::iced::{ Clipboard, Layout, Shell, Widget, }, event::{self, Event}, - Length, Rectangle, + Length, Rectangle, Size, }; use std::marker::PhantomData; @@ -27,14 +27,14 @@ pub struct MouseInteractionWrapper<'a, Msg> { _msg: PhantomData, } -impl<'a, Msg> Widget for MouseInteractionWrapper<'a, Msg> { +impl<'a, Msg> Widget for MouseInteractionWrapper<'a, Msg> { delegate::delegate! { to self.content.as_widget() { fn tag(&self) -> tree::Tag; fn state(&self) -> tree::State; fn children(&self) -> Vec; - fn width(&self) -> Length; - fn height(&self) -> Length; + fn size(&self) -> Size; + fn size_hint(&self) -> Size; fn layout( &self, tree: &mut Tree, @@ -79,7 +79,7 @@ impl<'a, Msg> Widget for MouseInteractionWrapper<'a, Msg> tree: &'b mut Tree, layout: Layout<'_>, renderer: &cosmic::Renderer, - ) -> Option>; + ) -> Option>; fn set_id(&mut self, id: Id); } } diff --git a/src/widgets/toplevels.rs b/src/widgets/toplevels.rs index c8e393b..b4e6b10 100644 --- a/src/widgets/toplevels.rs +++ b/src/widgets/toplevels.rs @@ -54,14 +54,13 @@ pub struct Toplevels<'a, Msg> { _msg: PhantomData, } -impl<'a, Msg> Widget for Toplevels<'a, Msg> { - fn width(&self) -> Length { - Length::Fill - } - - fn height(&self) -> Length { - // TODO Make depend on orientation or drop that option - Length::Shrink +impl<'a, Msg> Widget for Toplevels<'a, Msg> { + fn size(&self) -> Size { + Size { + width: Length::Fill, + // TODO Make depend on orientation or drop that option + height: Length::Shrink, + } } fn layout( @@ -81,14 +80,13 @@ impl<'a, Msg> Widget for Toplevels<'a, Msg> { .zip(tree.children.iter_mut()) .map(|(child, tree)| { let child_limits = layout::Limits::new(Size::ZERO, limits.max()); - let mut layout = child.layout(tree, renderer, &child_limits); + let mut layout = child.as_widget().layout(tree, renderer, &child_limits); self.axis.main(layout.size()) }) .collect::>(); let requested_main_total: f32 = requested_mains.iter().sum::() + total_spacing as f32; let scale_factor = (self.axis.main(limits.max()) / requested_main_total).min(1.0); - dbg!(scale_factor); let max_cross = self.axis.cross(limits.max()); @@ -112,11 +110,11 @@ impl<'a, Msg> Widget for Toplevels<'a, Msg> { let (max_width, max_height) = self.axis.pack(max_main, max_cross); let child_limits = layout::Limits::new(Size::ZERO, Size::new(max_width, max_height)); - let mut layout = child.layout(tree, renderer, &child_limits); + let mut layout = child.as_widget().layout(tree, renderer, &child_limits); // Center on cross axis let cross = ((max_cross - self.axis.cross(layout.size())) / 2.).max(0.); let (x, y) = self.axis.pack(total_main, cross); - layout.move_to(Point::new(x, y)); + layout = layout.move_to(Point::new(x, y)); total_main += self.axis.main(layout.size()); layout }) diff --git a/src/widgets/workspace_bar.rs b/src/widgets/workspace_bar.rs index 3106c05..c950a9c 100644 --- a/src/widgets/workspace_bar.rs +++ b/src/widgets/workspace_bar.rs @@ -60,13 +60,12 @@ pub struct WorkspaceBar<'a, Msg> { _msg: PhantomData, } -impl<'a, Msg> Widget for WorkspaceBar<'a, Msg> { - fn width(&self) -> Length { - Length::Fill - } - - fn height(&self) -> Length { - Length::Fill +impl<'a, Msg> Widget for WorkspaceBar<'a, Msg> { + fn size(&self) -> Size { + Size { + width: Length::Fill, + height: Length::Fill, + } } fn layout( @@ -103,9 +102,9 @@ impl<'a, Msg> Widget for WorkspaceBar<'a, Msg> { let (max_width, max_height) = self.axis.pack(max_main, max_cross); let child_limits = layout::Limits::new(Size::ZERO, Size::new(max_width, max_height)); - let mut layout = child.layout(tree, renderer, &child_limits); + let mut layout = child.as_widget().layout(tree, renderer, &child_limits); let (x, y) = self.axis.pack(total_main, 0.0); - layout.move_to(Point::new(x, y)); + layout = layout.move_to(Point::new(x, y)); total_main += self.axis.main(layout.size()); layout }) diff --git a/src/widgets/workspace_item.rs b/src/widgets/workspace_item.rs index d196f7f..9ce2cd6 100644 --- a/src/widgets/workspace_item.rs +++ b/src/widgets/workspace_item.rs @@ -62,17 +62,16 @@ pub struct WorkspaceItem<'a, Msg> { _msg: PhantomData, } -impl<'a, Msg> Widget for WorkspaceItem<'a, Msg> { - fn width(&self) -> Length { - //Length::Fill - // XXX doesn't work when used in standard `row` widget - // But fixes allocation of `dnd_source` wrapping this, within `Workspaces` row - Length::Shrink - } - - fn height(&self) -> Length { - // TODO Make depend on orientation or drop that option - Length::Shrink +impl<'a, Msg> Widget for WorkspaceItem<'a, Msg> { + fn size(&self) -> Size { + Size { + // width: Length::Fill + // XXX doesn't work when used in standard `row` widget + // But fixes allocation of `dnd_source` wrapping this, within `Workspaces` row + width: Length::Shrink, + // TODO Make depend on orientation or drop that option + height: Length::Shrink, + } } fn layout( @@ -88,7 +87,9 @@ impl<'a, Msg> Widget for WorkspaceItem<'a, Msg> { // Get layout of main widget, to set overall cross axis size let (max_width, max_height) = self.axis.pack(max_main, max_cross); let child_limits = layout::Limits::new(Size::ZERO, Size::new(max_width, max_height)); - let layout = self.children[1].layout(tree, renderer, &child_limits); + let layout = self.children[1] + .as_widget() + .layout(tree, renderer, &child_limits); let max_cross = self.axis.cross(layout.size()); @@ -103,11 +104,11 @@ impl<'a, Msg> Widget for WorkspaceItem<'a, Msg> { let (max_width, max_height) = self.axis.pack(max_main, max_cross); let child_limits = layout::Limits::new(Size::ZERO, Size::new(max_width, max_height)); - let mut layout = child.layout(tree, renderer, &child_limits); + let mut layout = child.as_widget().layout(tree, renderer, &child_limits); // Center on cross axis let cross = ((max_cross - self.axis.cross(layout.size())) / 2.).max(0.); let (x, y) = self.axis.pack(total_main, cross); - layout.move_to(Point::new(x, y)); + layout = layout.move_to(Point::new(x, y)); total_main += self.axis.main(layout.size()); layout })