diff --git a/Cargo.lock b/Cargo.lock index 2123f52d..2f4c4320 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -416,8 +416,8 @@ dependencies = [ "calloop", "cosmic-protocols", "edid-rs", - "egui", - "glow", + "egui 0.20.1", + "glow 0.11.2", "iced_softbuffer", "id_tree", "indexmap", @@ -676,6 +676,12 @@ dependencies = [ "matches", ] +[[package]] +name = "data-url" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d7439c3735f405729d52c3fbbe4de140eaf938a1fe47d227c27f8254d4302a5" + [[package]] name = "derive_setters" version = "0.1.5" @@ -798,6 +804,12 @@ name = "ecolor" version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b601108bca3af7650440ace4ca55b2daf52c36f2635be3587d77b16efd8d0691" + +[[package]] +name = "ecolor" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f99fe3cac305af9d6d92971af60d0f7ea4d783201ef1673571567b6699964d9" dependencies = [ "bytemuck", ] @@ -815,32 +827,43 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "65a5e883a316e53866977450eecfbcac9c48109c2ab3394af29feb83fcde4ea9" dependencies = [ "ahash 0.8.3", - "epaint", + "epaint 0.20.0", + "nohash-hasher", +] + +[[package]] +name = "egui" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6412a21e0bde7c0918f7fb44bbbb86b5e1f88e63c026a4e747cc7af02f76dfbe" +dependencies = [ + "ahash 0.8.3", + "epaint 0.21.0", "nohash-hasher", ] [[package]] name = "egui_extras" -version = "0.20.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1975cd88ff7430f93b29e6b9868b648a8ff6a43b08b9ff8474ee0a648bd8f9a6" +checksum = "8f051342e97dfa2445107cb7d2e720617f5c840199b5cb4fe0ffcf481fcf5cce" dependencies = [ - "egui", - "resvg 0.23.0", + "egui 0.21.0", + "resvg 0.28.0", "serde", - "tiny-skia", - "usvg 0.23.0", + "tiny-skia 0.8.4", + "usvg 0.28.0", ] [[package]] name = "egui_glow" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d4b5960cb1bae1c403a6c9027a745210a41913433b10c73b6e7d76a1017f8b4" +checksum = "8257332fb168a965b3dca81d6a344e053153773c889cabdba0b3b76f1629ae81" dependencies = [ "bytemuck", - "egui", - "glow", + "egui 0.21.0", + "glow 0.12.1", "memoffset 0.6.5", "tracing", "wasm-bindgen", @@ -858,6 +881,12 @@ name = "emath" version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5277249c8c3430e7127e4f2c40a77485e7baf11ae132ce9b3253a8ed710df0a0" + +[[package]] +name = "emath" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8ecd80612937e0267909d5351770fe150004e24dab93954f69ca62eecd3f77e" dependencies = [ "bytemuck", ] @@ -963,13 +992,28 @@ name = "epaint" version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "de14b65fe5e423e0058f77a8beb2c863b056d0566d6c4ce0d097aa5814cb705a" +dependencies = [ + "ab_glyph", + "ahash 0.8.3", + "atomic_refcell", + "ecolor 0.20.0", + "emath 0.20.0", + "nohash-hasher", + "parking_lot 0.12.1", +] + +[[package]] +name = "epaint" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12e78b5c58a1f7f621f9d546add2adce20636422c9b251e29f749e8a2f713c95" dependencies = [ "ab_glyph", "ahash 0.8.3", "atomic_refcell", "bytemuck", - "ecolor", - "emath", + "ecolor 0.21.0", + "emath 0.21.0", "nohash-hasher", "parking_lot 0.12.1", ] @@ -1102,15 +1146,6 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" -[[package]] -name = "fontconfig-parser" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ab2e12762761366dcb876ab8b6e0cfa4797ddcd890575919f008b5ba655672a" -dependencies = [ - "roxmltree 0.18.0", -] - [[package]] name = "fontdb" version = "0.6.2" @@ -1122,18 +1157,6 @@ dependencies = [ "ttf-parser 0.12.3", ] -[[package]] -name = "fontdb" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52186a39c335aa6f79fc0bf1c3cf854870b6ad4e50a7bb8a59b4ba1331f478a" -dependencies = [ - "fontconfig-parser", - "log", - "memmap2 0.5.10", - "ttf-parser 0.17.1", -] - [[package]] name = "fontdb" version = "0.13.0" @@ -1340,16 +1363,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "gif" -version = "0.11.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3edd93c6756b4dfaf2709eafcc345ba2636565295c198a9cfbf75fa5e3e00b06" -dependencies = [ - "color_quant", - "weezl", -] - [[package]] name = "gif" version = "0.12.0" @@ -1395,6 +1408,18 @@ dependencies = [ "web-sys", ] +[[package]] +name = "glow" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e007a07a24de5ecae94160f141029e9a347282cfe25d1d58d85d845cf3130f1" +dependencies = [ + "js-sys", + "slotmap", + "wasm-bindgen", + "web-sys", +] + [[package]] name = "glow_glyph" version = "0.5.1" @@ -1402,7 +1427,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f4e62c64947b9a24fe20e2bba9ad819ecb506ef5c8df7ffc4737464c6df9510" dependencies = [ "bytemuck", - "glow", + "glow 0.11.2", "glyph_brush", "log", ] @@ -1601,7 +1626,7 @@ source = "git+https://github.com/pop-os/libcosmic?rev=24709e9c3b#24709e9c3b56c49 dependencies = [ "bytemuck", "euclid", - "glow", + "glow 0.11.2", "glow_glyph", "glyph_brush", "iced_graphics", @@ -1625,7 +1650,7 @@ dependencies = [ "raw-window-handle 0.5.2", "resvg 0.18.0", "thiserror", - "tiny-skia", + "tiny-skia 0.6.6", "usvg 0.18.0", ] @@ -1721,7 +1746,7 @@ dependencies = [ "byteorder", "color_quant", "exr", - "gif 0.12.0", + "gif", "jpeg-decoder 0.3.0", "num-rational", "num-traits", @@ -1730,6 +1755,12 @@ dependencies = [ "tiff", ] +[[package]] +name = "imagesize" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df19da1e92fbfec043ca97d622955381b1f3ee72a180ec999912df31b1ccd951" + [[package]] name = "indexmap" version = "1.9.3" @@ -1813,12 +1844,6 @@ version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "229d53d58899083193af11e15917b5640cd40b29ff475a1fe4ef725deb02d0f2" -[[package]] -name = "jpeg-decoder" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9478aa10f73e7528198d75109c8be5cd7d15fb530238040148d5f9a22d4c5b3b" - [[package]] name = "jpeg-decoder" version = "0.3.0" @@ -2814,7 +2839,7 @@ version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba98235ecff9f174793e135d2c6860f917cc7cd419a630b9978f1ab5d6026a3c" dependencies = [ - "egui", + "egui 0.20.1", "indexmap", "instant", "natord", @@ -2948,6 +2973,12 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ae028b272a6e99d9f8260ceefa3caa09300a8d6c8d2b2001316474bc52122e9" +[[package]] +name = "rctree" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b42e27ef78c35d3998403c1d26f3efd9e135d3e5121b0a4845cc5cc27547f4f" + [[package]] name = "redox_syscall" version = "0.2.16" @@ -3036,26 +3067,22 @@ dependencies = [ "png", "rgb", "svgfilters", - "tiny-skia", + "tiny-skia 0.6.6", "usvg 0.18.0", ] [[package]] name = "resvg" -version = "0.23.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34489194784b86c03c3d688258e2ba73f3c82700ba4673ee2ecad5ae540b9438" +checksum = "c115863f2d3621999cf187e318bc92b16402dfeff6a48c74df700d77381394c1" dependencies = [ - "gif 0.11.4", - "jpeg-decoder 0.2.6", "log", "pico-args 0.5.0", - "png", "rgb", - "svgfilters", "svgtypes", - "tiny-skia", - "usvg 0.23.0", + "tiny-skia 0.8.4", + "usvg 0.28.0", ] [[package]] @@ -3100,9 +3127,9 @@ dependencies = [ [[package]] name = "roxmltree" -version = "0.18.0" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8f595a457b6b8c6cda66a48503e92ee8d19342f905948f29c383200ec9eb1d8" +checksum = "6b9de9831a129b122e7e61f242db509fa9d0838008bf0b29bb0624669edfe48a" dependencies = [ "xmlparser", ] @@ -3159,22 +3186,6 @@ dependencies = [ "unicode-script", ] -[[package]] -name = "rustybuzz" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a617c811f5c9a7060fe511d35d13bf5b9f0463ce36d63ce666d05779df2b4eba" -dependencies = [ - "bitflags", - "bytemuck", - "smallvec", - "ttf-parser 0.15.2", - "unicode-bidi-mirroring", - "unicode-ccc", - "unicode-general-category 0.4.0", - "unicode-script", -] - [[package]] name = "rustybuzz" version = "0.7.0" @@ -3350,7 +3361,7 @@ checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" [[package]] name = "smithay" version = "0.3.0" -source = "git+https://github.com/smithay//smithay?rev=729043da68#729043da68317d3fa13507c267c0f410925dcc23" +source = "git+https://github.com/smithay//smithay?rev=25d1176484#25d1176484e1c846c4b510f6a4bf5cc5a6d2e4e9" dependencies = [ "appendlist", "ash", @@ -3365,7 +3376,7 @@ dependencies = [ "encoding", "gbm", "gl_generator", - "glow", + "glow 0.12.1", "indexmap", "input", "lazy_static", @@ -3416,17 +3427,17 @@ dependencies = [ [[package]] name = "smithay-egui" version = "0.1.0" -source = "git+https://github.com/Smithay/smithay-egui.git?rev=1145f5ff91#1145f5ff911591b66410b03c6b796689c45162a5" +source = "git+https://github.com/Smithay/smithay-egui.git?rev=197606f400#197606f40067595438a90129016b1c29941c31ff" dependencies = [ "cgmath", - "egui", + "egui 0.21.0", "egui_extras", "egui_glow", "image", "log", - "memoffset 0.6.5", + "memoffset 0.8.0", "smithay", - "xkbcommon 0.4.1", + "xkbcommon 0.5.0", ] [[package]] @@ -3493,6 +3504,15 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" +[[package]] +name = "strict-num" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9df65f20698aeed245efdde3628a6b559ea1239bbb871af1b6e3b58c413b2bd1" +dependencies = [ + "float-cmp 0.9.0", +] + [[package]] name = "strsim" version = "0.9.3" @@ -3691,6 +3711,31 @@ dependencies = [ "safe_arch", ] +[[package]] +name = "tiny-skia" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df8493a203431061e901613751931f047d1971337153f96d0e5e363d6dbf6a67" +dependencies = [ + "arrayref", + "arrayvec 0.7.2", + "bytemuck", + "cfg-if", + "png", + "tiny-skia-path", +] + +[[package]] +name = "tiny-skia-path" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adbfb5d3f3dd57a0e11d12f4f13d4ebbbc1b5c15b7ab0a156d030b21da5f677c" +dependencies = [ + "arrayref", + "bytemuck", + "strict-num", +] + [[package]] name = "toml" version = "0.5.11" @@ -3796,18 +3841,6 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ae2f58a822f08abdaf668897e96a5656fe72f5a9ce66422423e8849384872e6" -[[package]] -name = "ttf-parser" -version = "0.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b3e06c9b9d80ed6b745c7159c40b311ad2916abb34a49e9be2653b90db0d8dd" - -[[package]] -name = "ttf-parser" -version = "0.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "375812fa44dab6df41c195cd2f7fecb488f6c09fbaafb62807488cefab642bff" - [[package]] name = "ttf-parser" version = "0.18.1" @@ -3931,14 +3964,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4058e0bd091a56f905e6963e40776ce6880b271275f0b493bff951433e303071" dependencies = [ "base64", - "data-url", + "data-url 0.1.1", "flate2", "float-cmp 0.9.0", "fontdb 0.6.2", "kurbo", "log", "pico-args 0.4.2", - "rctree", + "rctree 0.4.0", "roxmltree 0.14.1", "rustybuzz 0.4.0", "simplecss", @@ -3953,29 +3986,22 @@ dependencies = [ [[package]] name = "usvg" -version = "0.23.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28a82565b5c96dcbb58c9bdbb6aa3642abd395a6a6b480658532c6f74c3c4b7a" +checksum = "8b5b7c2b30845b3348c067ca3d09e20cc6e327c288f0ca4c48698712abf432e9" dependencies = [ "base64", - "data-url", + "data-url 0.2.0", "flate2", - "float-cmp 0.9.0", - "fontdb 0.9.3", + "imagesize", "kurbo", "log", - "pico-args 0.5.0", - "rctree", - "roxmltree 0.14.1", - "rustybuzz 0.5.1", + "rctree 0.5.0", + "roxmltree 0.15.1", "simplecss", "siphasher", + "strict-num", "svgtypes", - "ttf-parser 0.15.2", - "unicode-bidi", - "unicode-script", - "unicode-vo", - "xmlwriter", ] [[package]] @@ -4363,7 +4389,7 @@ dependencies = [ "d3d12", "foreign-types", "fxhash", - "glow", + "glow 0.11.2", "gpu-alloc", "gpu-descriptor", "js-sys", diff --git a/Cargo.toml b/Cargo.toml index 36894378..8b79ea02 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -44,13 +44,13 @@ puffin_egui = { version = "0.19.2", optional = true } [dependencies.smithay] version = "0.3" git = "https://github.com/smithay/smithay.git" -rev = "30dc3abb57" +rev = "9459ddd14e" default-features = false features = ["backend_drm", "backend_gbm", "backend_egl", "backend_libinput", "backend_session_libseat", "backend_udev", "backend_winit", "backend_vulkan", "backend_x11", "desktop", "use_system_lib", "renderer_glow", "renderer_multi", "wayland_frontend", "xwayland"] [dependencies.smithay-egui] git = "https://github.com/Smithay/smithay-egui.git" -rev = "1145f5ff91" +rev = "197606f400" features = ["svg"] optional = true @@ -70,4 +70,4 @@ debug = true lto = "fat" [patch."https://github.com/Smithay/smithay.git"] -smithay = { git = "https://github.com/smithay//smithay", rev = "729043da68" } +smithay = { git = "https://github.com/smithay//smithay", rev = "25d1176484" } diff --git a/src/xwayland.rs b/src/xwayland.rs index 5627ba4f..80925442 100644 --- a/src/xwayland.rs +++ b/src/xwayland.rs @@ -100,8 +100,9 @@ impl State { match xwayland.start( self.common.event_loop_handle.clone(), None, - std::iter::empty::<(OsString, OsString)>(), //vec![("WAYLAND_DEBUG", "client")].into_iter(), + std::iter::empty::<(OsString, OsString)>(), + true, |user_data| { if let Some(node) = render_node { user_data.insert_if_missing(|| node);