diff --git a/Cargo.lock b/Cargo.lock index 31f8fac..a8eed3d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -21,7 +21,7 @@ checksum = "366ffbaa4442f4684d91e2cd7c5ea7c4ed8add41959a31447066e279e432b618" [[package]] name = "accesskit" version = "0.22.0" -source = "git+https://github.com/wash2/accesskit?tag=cosmic-0.14#f0599eed5f18111228266fe3f28991cc48b5964f" +source = "git+https://github.com/wash2/accesskit?rev=6c20249#6c20249d3b9fd45e7002efad9f6b6171a9257912" dependencies = [ "uuid", ] @@ -29,7 +29,7 @@ dependencies = [ [[package]] name = "accesskit_atspi_common" version = "0.15.0" -source = "git+https://github.com/wash2/accesskit?tag=cosmic-0.14#f0599eed5f18111228266fe3f28991cc48b5964f" +source = "git+https://github.com/wash2/accesskit?rev=6c20249#6c20249d3b9fd45e7002efad9f6b6171a9257912" dependencies = [ "accesskit", "accesskit_consumer", @@ -41,7 +41,7 @@ dependencies = [ [[package]] name = "accesskit_consumer" version = "0.32.0" -source = "git+https://github.com/wash2/accesskit?tag=cosmic-0.14#f0599eed5f18111228266fe3f28991cc48b5964f" +source = "git+https://github.com/wash2/accesskit?rev=6c20249#6c20249d3b9fd45e7002efad9f6b6171a9257912" dependencies = [ "accesskit", "hashbrown 0.16.1", @@ -50,7 +50,7 @@ dependencies = [ [[package]] name = "accesskit_macos" version = "0.23.0" -source = "git+https://github.com/wash2/accesskit?tag=cosmic-0.14#f0599eed5f18111228266fe3f28991cc48b5964f" +source = "git+https://github.com/wash2/accesskit?rev=6c20249#6c20249d3b9fd45e7002efad9f6b6171a9257912" dependencies = [ "accesskit", "accesskit_consumer", @@ -63,7 +63,7 @@ dependencies = [ [[package]] name = "accesskit_unix" version = "0.18.0" -source = "git+https://github.com/wash2/accesskit?tag=cosmic-0.14#f0599eed5f18111228266fe3f28991cc48b5964f" +source = "git+https://github.com/wash2/accesskit?rev=6c20249#6c20249d3b9fd45e7002efad9f6b6171a9257912" dependencies = [ "accesskit", "accesskit_atspi_common", @@ -78,7 +78,7 @@ dependencies = [ [[package]] name = "accesskit_windows" version = "0.30.0" -source = "git+https://github.com/wash2/accesskit?tag=cosmic-0.14#f0599eed5f18111228266fe3f28991cc48b5964f" +source = "git+https://github.com/wash2/accesskit?rev=6c20249#6c20249d3b9fd45e7002efad9f6b6171a9257912" dependencies = [ "accesskit", "accesskit_consumer", @@ -91,7 +91,7 @@ dependencies = [ [[package]] name = "accesskit_winit" version = "0.30.0" -source = "git+https://github.com/wash2/accesskit?tag=cosmic-0.14#f0599eed5f18111228266fe3f28991cc48b5964f" +source = "git+https://github.com/wash2/accesskit?rev=6c20249#6c20249d3b9fd45e7002efad9f6b6171a9257912" dependencies = [ "accesskit", "accesskit_macos", @@ -109,24 +109,13 @@ checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" [[package]] name = "aes" -version = "0.8.4" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" +checksum = "35f0f96ce78e38c3dc6d8948aa8163d06385be74000f3c7a95bf1eef35d3ea32" dependencies = [ - "cfg-if", - "cipher 0.4.4", - "cpufeatures 0.2.17", -] - -[[package]] -name = "aes" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1fc76eaeac4c9164506c466d4ffdd8ec9d0c5bf57ee97177c4d8eceb3a0e138" -dependencies = [ - "cipher 0.5.2", + "cipher", "cpubits", - "cpufeatures 0.3.0", + "cpufeatures 0.3.1", ] [[package]] @@ -144,9 +133,9 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "1.1.4" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" dependencies = [ "memchr", ] @@ -157,8 +146,8 @@ version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "46319972e74179d707445f64aaa2893bbf6a111de3a9af29b7eb382f8b39e282" dependencies = [ - "base64", - "bitflags 2.13.0", + "base64 0.22.1", + "bitflags 2.13.2", "home", "libc", "log", @@ -234,7 +223,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f2a1bb052857d5dd49572219344a7332b31b76405648eabac5bc68978251bcd" dependencies = [ "android-properties", - "bitflags 2.13.0", + "bitflags 2.13.2", "cc", "jni", "libc", @@ -243,7 +232,7 @@ dependencies = [ "ndk-context", "ndk-sys", "num_enum", - "thiserror 2.0.18", + "thiserror 2.0.20", ] [[package]] @@ -254,18 +243,18 @@ checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04" [[package]] name = "android_system_properties" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +checksum = "ae221649c9976a6f6c56ae1facf410f3ddb33cc661c4b7b61020a912d4237fbc" dependencies = [ "libc", ] [[package]] name = "anyhow" -version = "1.0.103" +version = "1.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a4385e2e34eb35d6b3efe798b9eb88096925d87726c0798709bf56d9ed84af3" +checksum = "330a5ed07fa54e4702c9d6c4174f74427fc0ef6e214bbd677ae50a5099946470" [[package]] name = "apply" @@ -305,7 +294,7 @@ checksum = "0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.119", ] [[package]] @@ -316,9 +305,9 @@ checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" [[package]] name = "arrayvec" -version = "0.7.7" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f02882884d3e1bc524fb12c79f107f6ad0e1cfd498c536ffb494301740995dfe" +checksum = "d3fb67a6e08acf24fdeccbac2cb6ac4305825bd1f117462e0e6f2f193345ad56" [[package]] name = "as-slice" @@ -347,7 +336,7 @@ dependencies = [ "enumflags2", "futures-channel", "futures-util", - "rand 0.9.4", + "rand 0.9.5", "raw-window-handle", "serde", "serde_repr", @@ -365,7 +354,7 @@ dependencies = [ "enumflags2", "futures-channel", "futures-util", - "rand 0.9.4", + "rand 0.9.5", "serde", "serde_repr", "tokio", @@ -469,7 +458,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.119", ] [[package]] @@ -498,13 +487,13 @@ checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" [[package]] name = "async-trait" -version = "0.1.89" +version = "0.1.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" +checksum = "82f6aeea286b8eb4dd3431a1be1b59d290ace00f5bfd8e2a159bc2a05e2c1667" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 3.0.5", ] [[package]] @@ -568,14 +557,14 @@ dependencies = [ [[package]] name = "auto_enums" -version = "0.8.9" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e4487600931c9a89f8db7ffbdf3fbdd45bb7bd85e26861f659a463cd0dff966" +checksum = "3091d68264354f211516b91dce6f71046e444fab1867716035f736667243affb" dependencies = [ "derive_utils", "proc-macro2", "quote", - "syn", + "syn 3.0.5", ] [[package]] @@ -599,7 +588,7 @@ dependencies = [ "num-traits", "pastey", "rayon", - "thiserror 2.0.18", + "thiserror 2.0.20", "v_frame", "y4m", ] @@ -633,6 +622,12 @@ version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" +[[package]] +name = "base64" +version = "0.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac07cdecf99051d9a5238b80f35af32cdeba5b336e55d957b318b50137e18da5" + [[package]] name = "basic-toml" version = "0.1.10" @@ -671,9 +666,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.13.0" +version = "2.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4388bee8683e3d04af747c73422af53102d2bd24d9eadb6cbc100baef4b43f8" +checksum = "3ded4057c258ba199e2d26386d3af3780957ecaee6c4ef4041c6b4b8b97c0b06" dependencies = [ "serde_core", ] @@ -714,11 +709,11 @@ dependencies = [ [[package]] name = "block-padding" -version = "0.3.3" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8894febbff9f758034a5b8e12d87918f56dfc64a8e1fe757d65e29041538d93" +checksum = "710f1dd022ef4e93f8a438b4ba958de7f64308434fa6a87104481645cc30068b" dependencies = [ - "generic-array", + "hybrid-array", ] [[package]] @@ -741,9 +736,9 @@ dependencies = [ [[package]] name = "blocking" -version = "1.6.2" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e83f8d02be6967315521be875afa792a316e28d57b5a2d401897e2a7921b7f21" +checksum = "a70e4329df6cb94385eed412ec92375c3cdd8a6e502493d1229b6414e4036dfa" dependencies = [ "async-channel", "async-task", @@ -754,9 +749,9 @@ dependencies = [ [[package]] name = "borsh" -version = "1.7.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f3f6da4992df95bbcd9af42a6c7dcb994498fc9048230405f3b36ff7cd3f145" +checksum = "553c5d846a6ba5150c65e3b1b8ec073bcf1abc20f9b7220de384a4443ea4e20a" dependencies = [ "bytes", "cfg_aliases", @@ -774,9 +769,9 @@ dependencies = [ [[package]] name = "bstr" -version = "1.12.3" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cee35f73844aa3014bb606320a6c1f010249dbdf43342fe54b5a4f6a8ed4b79" +checksum = "6bb31b46c14244e20ee9984b11bf5c992b91fb6939fea616e3512c8baecdbe5f" dependencies = [ "memchr", "regex-automata", @@ -792,6 +787,13 @@ dependencies = [ "num-traits", ] +[[package]] +name = "build_helpers" +version = "0.14.0" +dependencies = [ + "cfg_aliases", +] + [[package]] name = "built" version = "0.8.1" @@ -812,22 +814,22 @@ checksum = "64fa3c856b712db6612c019f14756e64e4bcea13337a6b33b696333a9eaa2d06" [[package]] name = "bytemuck" -version = "1.25.0" +version = "1.25.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8efb64bd706a16a1bdde310ae86b351e4d21550d98d056f22f8a7f7a2183fec" +checksum = "95832e849adfb21180ccb6826a99da14e5d266ae5c2e668e1602cf234f153797" dependencies = [ "bytemuck_derive", ] [[package]] name = "bytemuck_derive" -version = "1.10.2" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff" +checksum = "6a1f896587b6f2c069c73d2f0913e2d590c3990285cd2f0b6aa02b786b4c679c" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 3.0.5", ] [[package]] @@ -844,9 +846,9 @@ checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" [[package]] name = "bytes" -version = "1.12.0" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ae3f5d315924270530207e2a68396c3cc547f6dca3fbdca317cfb1a51edb593" +checksum = "fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04" [[package]] name = "bzip2" @@ -873,7 +875,7 @@ version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4dbf9978365bac10f54d1d4b04f7ce4427e51f71d61f2fe15e3fed5166474df7" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "polling", "rustix 1.1.4", "slab", @@ -894,18 +896,18 @@ dependencies = [ [[package]] name = "cbc" -version = "0.1.2" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6" +checksum = "ce2dc9ee5f88d11e0beb842c88b33c8a5cf0d1329c4b19494af42b07dbfe8896" dependencies = [ - "cipher 0.4.4", + "cipher", ] [[package]] name = "cc" -version = "1.2.65" +version = "1.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e228eec9be7c17ccb640b59b36a5cd805ea2a564a4c5e162c2f659fea30d3b96" +checksum = "a3eb0f42d6c360dc3f8a821f6bf2fdea7f72bfd36b3076eb0e6d1e9e0752fff4" dependencies = [ "find-msvc-tools", "jobserver", @@ -932,9 +934,9 @@ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" [[package]] name = "cfg_aliases" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" +checksum = "f079e83a288787bcd14a6aea84cee5c87a67c5a3e660c30f557a3d24761b3527" [[package]] name = "chrono" @@ -949,16 +951,6 @@ dependencies = [ "windows-link 0.2.1", ] -[[package]] -name = "cipher" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" -dependencies = [ - "crypto-common 0.1.7", - "inout 0.1.4", -] - [[package]] name = "cipher" version = "0.5.2" @@ -966,7 +958,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8cf2a2c93cd704877c0858356ed03480ff301ee950b43f1cbe4573b088bfa6c" dependencies = [ "crypto-common 0.2.2", - "inout 0.2.2", + "inout", ] [[package]] @@ -1057,9 +1049,9 @@ checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" [[package]] name = "combine" -version = "4.6.7" +version = "4.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" +checksum = "cfc320937d09e6de266b31b9afb480f197d7a861be86be7cb2ea7e5d1bfffc5e" dependencies = [ "bytes", "memchr", @@ -1165,7 +1157,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn", + "syn 2.0.119", ] [[package]] @@ -1201,9 +1193,9 @@ dependencies = [ [[package]] name = "configparser" -version = "3.2.0" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b46dec724fd22199ebde05033a0cbae453bc3b1ecff11eb6a6bb3eec4b90c6a4" +checksum = "031ad3d167622974ed636505ae4556267ed4aa2aea0464122fa6bc9698a32825" [[package]] name = "const-oid" @@ -1273,7 +1265,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "core-foundation 0.10.1", "libc", ] @@ -1289,6 +1281,12 @@ dependencies = [ "winapi", ] +[[package]] +name = "core_detect" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f8f80099a98041a3d1622845c271458a2d73e688351bf3cb999266764b81d48" + [[package]] name = "core_maths" version = "0.1.1" @@ -1302,7 +1300,7 @@ dependencies = [ name = "cosmic-client-toolkit" version = "0.2.0" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "cosmic-protocols", "libc", "smithay-client-toolkit", @@ -1335,12 +1333,12 @@ name = "cosmic-config-derive" version = "1.0.0" dependencies = [ "quote", - "syn", + "syn 2.0.119", ] [[package]] name = "cosmic-files" -version = "1.2.0" +version = "1.9.0" dependencies = [ "anyhow", "atomic_float", @@ -1376,14 +1374,14 @@ dependencies = [ "recently-used-xbel", "regex", "rust-embed", - "rustc-hash 2.1.2", + "rustc-hash 2.1.3", "serde", "sha2 0.10.9", "shlex 1.3.0", "slotmap", "tar", "tempfile", - "thiserror 2.0.18", + "thiserror 2.0.20", "tokio", "tracing", "tracing-subscriber", @@ -1405,7 +1403,7 @@ dependencies = [ "btoi", "memchr", "memmap2 0.9.11", - "thiserror 2.0.18", + "thiserror 2.0.20", "tracing", "xdg", ] @@ -1414,7 +1412,7 @@ dependencies = [ name = "cosmic-protocols" version = "0.2.0" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "wayland-backend", "wayland-client", "wayland-protocols", @@ -1432,7 +1430,7 @@ dependencies = [ [[package]] name = "cosmic-term" -version = "1.2.0" +version = "1.9.0" dependencies = [ "alacritty_terminal", "clap_lex", @@ -1457,7 +1455,7 @@ dependencies = [ "serde", "serde_json", "shlex 1.3.0", - "thiserror 2.0.18", + "thiserror 2.0.20", "tokio", "url", "xdgen", @@ -1467,13 +1465,13 @@ dependencies = [ name = "cosmic-text" version = "0.19.0" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "fontdb", "harfrust", "linebender_resource_handle", "log", "rangemap", - "rustc-hash 2.1.2", + "rustc-hash 2.1.3", "self_cell", "skrifa 0.40.0", "smol_str", @@ -1500,7 +1498,7 @@ dependencies = [ "ron 0.12.2", "serde", "serde_json", - "thiserror 2.0.18", + "thiserror 2.0.20", ] [[package]] @@ -1520,27 +1518,27 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201" +checksum = "5ca28b0ae3115b884660db4118d803791fd6756b6e88f39c0f3f7859060d7566" dependencies = [ "libc", ] [[package]] name = "crc32fast" -version = "1.5.0" +version = "1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" +checksum = "01a7799fd6b852db0e61728dde9a204c423b44d689dbd432522543614b490e78" dependencies = [ "cfg-if", ] [[package]] name = "crossbeam-deque" -version = "0.8.6" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" +checksum = "622f3fc73690be383c7214310406f28a90e6edeadc3cea882f9d71e495b9711a" dependencies = [ "crossbeam-epoch", "crossbeam-utils", @@ -1548,27 +1546,27 @@ dependencies = [ [[package]] name = "crossbeam-epoch" -version = "0.9.18" +version = "0.9.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +checksum = "dc74980687109a3b14c72fd458107bf0baa1da1a1a805e178d15501ba9b86d9d" dependencies = [ "crossbeam-utils", ] [[package]] name = "crossbeam-queue" -version = "0.3.12" +version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" +checksum = "03e8bd762f7479489c70ed6c768ddca99d7296857de437a68dcb2a94365b3fae" dependencies = [ "crossbeam-utils", ] [[package]] name = "crossbeam-utils" -version = "0.8.21" +version = "0.8.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" +checksum = "a31eee39dddec8330830986fcd7625edb5a24ec90ea038215273bbc3adb08ac6" [[package]] name = "crunchy" @@ -1583,7 +1581,7 @@ dependencies = [ "cosmic-text", "etagere", "lru", - "rustc-hash 2.1.2", + "rustc-hash 2.1.3", "wgpu", ] @@ -1614,12 +1612,12 @@ checksum = "42aaeae719fd78ce501d77c6cdf01f7e96f26bcd5617a4903a1c2b97e388543a" [[package]] name = "csscolorparser" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "199f851bd3cb5004c09474252c7f74e7c047441ed0979bf3688a7106a13da952" +checksum = "168dbdf4dced8f57fa4246ac9080598452b49d70bb2d0e46422142f113140dd8" dependencies = [ "num-traits", - "phf 0.13.1", + "phf", "serde", "uncased", ] @@ -1660,7 +1658,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn", + "syn 2.0.119", ] [[package]] @@ -1671,7 +1669,7 @@ checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" dependencies = [ "darling_core", "quote", - "syn", + "syn 2.0.119", ] [[package]] @@ -1688,9 +1686,9 @@ checksum = "ac6b926516df9c60bfa16e107b21086399f8285a44ca9711344b9e553c5146e2" [[package]] name = "defmt" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6e524506490a1953d237cb87b1cfc1e46f88c18f10a22dfe0f507dc6bfc7f7f" +checksum = "e2953bfe4f93bbd20cc71198842756f77d161884c99ebbabc41d80231ded88d1" dependencies = [ "bitflags 1.3.2", "defmt-macros", @@ -1698,15 +1696,14 @@ dependencies = [ [[package]] name = "defmt-macros" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0a27770e9c8f719a79d8b638281f4d828f77d8fd61e0bd94451b9b85e576a0b" +checksum = "bad9c72e7ca2137e0dc3813245a0d282fd6daad32fd800af018306a9169b5fe8" dependencies = [ "defmt-parser", - "proc-macro-error2", "proc-macro2", "quote", - "syn", + "syn 2.0.119", ] [[package]] @@ -1715,7 +1712,7 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "10d60334b3b2e7c9d91ef8150abfb6fa4c1c39ebbcf4a81c2e346aad939fee3e" dependencies = [ - "thiserror 2.0.18", + "thiserror 2.0.20", ] [[package]] @@ -1733,18 +1730,18 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn", + "syn 2.0.119", ] [[package]] name = "derive_utils" -version = "0.15.1" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "362f47930db19fe7735f527e6595e4900316b893ebf6d48ad3d31be928d57dd6" +checksum = "dc05a5d33db20c784f873e84934ad94bb209a090987ac5f62fede2c178234f23" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 3.0.5", ] [[package]] @@ -1755,7 +1752,6 @@ checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer 0.10.4", "crypto-common 0.1.7", - "subtle", ] [[package]] @@ -1840,7 +1836,7 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "block2 0.6.2", "libc", "objc2 0.6.4", @@ -1848,13 +1844,13 @@ dependencies = [ [[package]] name = "displaydoc" -version = "0.2.6" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ac70aa55017e108007fbaf5aa0f54b021c98f92ff8af59d42eda9da96e3dd4f" +checksum = "c6232dd377dcc64799954cbd3a9bb882e9cdc1308ccd87b1c098f1fb2eaf82a8" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 3.0.5", ] [[package]] @@ -1870,7 +1866,7 @@ dependencies = [ name = "dnd" version = "0.1.0" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "mime 0.1.0", "raw-window-handle", "smithay-client-toolkit", @@ -1898,17 +1894,22 @@ version = "0.1.2" [[package]] name = "either" -version = "1.16.0" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91622ff5e7162018101f2fea40d6ebf4a78bbe5a49736a2020649edf9693679e" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" [[package]] name = "encoding_rs" -version = "0.8.35" +version = "0.8.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" +checksum = "8e985e0451871ad22fb8d2b6b076e2028a502a0d3950998c2c5c0a4f9b5d9679" dependencies = [ "cfg-if", + "core_detect", + "multiversion_no_op", + "rustversion", + "scopeguard", + "simdutf8", ] [[package]] @@ -1935,7 +1936,7 @@ checksum = "67c78a4d8fdf9953a5c9d458f9efe940fd97a0cab0941c075a813ac594733827" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.119", ] [[package]] @@ -1955,7 +1956,7 @@ checksum = "44f23cf4b44bfce11a86ace86f8a73ffdec849c9fd00a386a53d278bd9e81fb3" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.119", ] [[package]] @@ -1976,9 +1977,9 @@ dependencies = [ [[package]] name = "error-code" -version = "3.3.2" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dea2df4cf52843e0452895c455a1a2cfbb842a1e7329671acf418fdc53ed4c59" +checksum = "0b5343afd4a8365a643ac588dab4cf234a190c7f6c88c9f6dd6ffe00837661b7" [[package]] name = "etagere" @@ -2001,11 +2002,10 @@ dependencies = [ [[package]] name = "event-listener" -version = "5.4.1" +version = "5.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab" +checksum = "5a23add41df1562121a9393cb065eab5146a1242410f23a644851e90cfd669d2" dependencies = [ - "concurrent-queue", "parking", "pin-project-lite", ] @@ -2022,30 +2022,26 @@ dependencies = [ [[package]] name = "exr" -version = "1.74.0" +version = "1.74.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4300e043a56aa2cb633c01af81ca8f699a321879a7854d3896a0ba89056363be" +checksum = "711fe42c9964295e01ee3fba3f9fe0e1d24b98886950d68efe81b1c76e21adf3" dependencies = [ "bit_field", "half", "lebe", - "miniz_oxide", + "miniz_oxide 0.8.9", + "num-complex", + "pulp", "rayon-core", "smallvec", "zune-inflate", ] -[[package]] -name = "fast-srgb8" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd2e7510819d6fbf51a5545c8f922716ecfb14df168a3242f7d33e0239efe6a1" - [[package]] name = "fastrand" -version = "2.4.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" [[package]] name = "fax" @@ -2092,9 +2088,9 @@ dependencies = [ [[package]] name = "find-msvc-tools" -version = "0.1.9" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" +checksum = "3e0f1c7c3a72c66fd80abe965175f7523475c0489a87d3ff9d6e8c87d87a9d2d" [[package]] name = "fixed_decimal" @@ -2109,12 +2105,12 @@ dependencies = [ [[package]] name = "flate2" -version = "1.1.9" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c" +checksum = "6e634e2e0ebac1ee034020da1ca582e17ffe4e0f5e985823721e168928136dcb" dependencies = [ "crc32fast", - "miniz_oxide", + "miniz_oxide 0.9.1", "zlib-rs", ] @@ -2159,7 +2155,7 @@ dependencies = [ "fluent-syntax", "intl-memoizer", "intl_pluralrules", - "rustc-hash 2.1.2", + "rustc-hash 2.1.3", "self_cell", "smallvec", "unic-langid", @@ -2181,7 +2177,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "54f0d287c53ffd184d04d8677f590f4ac5379785529e5e08b1c8083acdd5c198" dependencies = [ "memchr", - "thiserror 2.0.18", + "thiserror 2.0.20", ] [[package]] @@ -2220,6 +2216,15 @@ dependencies = [ "bytemuck", ] +[[package]] +name = "font-types" +version = "0.12.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8eb065f3251655b3c90e22e5e363f310fc5332fb3402e37bbc94752283248f6" +dependencies = [ + "bytemuck", +] + [[package]] name = "fontconfig-parser" version = "0.5.8" @@ -2264,13 +2269,13 @@ dependencies = [ [[package]] name = "foreign-types-macros" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" +checksum = "ea5190182e6915eb873ddbc16e23b711b6eb1f9c00a0d0a3a91b5f6228475225" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 3.0.5", ] [[package]] @@ -2333,9 +2338,9 @@ dependencies = [ [[package]] name = "futures" -version = "0.3.32" +version = "0.3.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d" +checksum = "9a31d2a3fbaaeb2af2368bbdd904aa8e812d3c04a1ee10d3171f52d556e5d0a3" dependencies = [ "futures-channel", "futures-core", @@ -2348,9 +2353,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.32" +version = "0.3.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d" +checksum = "b1f9e3d69d39e4862ffed03ed071a76f9a13ba1d9109d355b0f0aa6b15e393c4" dependencies = [ "futures-core", "futures-sink", @@ -2358,15 +2363,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.32" +version = "0.3.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" +checksum = "92d699e522242e69e3003b94ecc1f960f3a5e015aa7c5d7486e65ad01dd94f5e" [[package]] name = "futures-executor" -version = "0.3.32" +version = "0.3.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d" +checksum = "031b47cf1a3c6cc8bc2fc76cd437f521619387907d469316e7c0bc278f1f5432" dependencies = [ "futures-core", "futures-task", @@ -2375,9 +2380,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.32" +version = "0.3.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718" +checksum = "53c0fa8157de1303bfffdaa1cc2a673bfffb60102f76b0ef4441659124373fed" [[package]] name = "futures-lite" @@ -2394,32 +2399,32 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.32" +version = "0.3.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b" +checksum = "9fb9654ba8355388abeb8dcb4fc62f511300867002afc858860463bdd9fe0c44" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 3.0.5", ] [[package]] name = "futures-sink" -version = "0.3.32" +version = "0.3.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893" +checksum = "1944426bf7d03f1d14f708785e4b33efd750b36d48a157b836b3efc15ede8e1d" [[package]] name = "futures-task" -version = "0.3.32" +version = "0.3.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393" +checksum = "cd417de3d1d015fc3bfd2b1ea46dfc7bab72ef86f1cc7cc9c78e728b34a6d1fd" [[package]] name = "futures-util" -version = "0.3.32" +version = "0.3.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6" +checksum = "0d50a92467f8ba5dd6e3ee5d4bd04d73ab2e4e1c44474a0674821dfce14b79bc" dependencies = [ "futures-channel", "futures-core", @@ -2532,15 +2537,15 @@ checksum = "151665d9be52f9bb40fc7966565d39666f2d1e69233571b71b87791c7e0528b3" [[package]] name = "glob" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" +checksum = "e4eba85ea1d0a966a983acd07deee566e67395d2d96b6fb39e62b5a833f1eb0b" [[package]] name = "globset" -version = "0.4.18" +version = "0.4.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52dfc19153a48bde0cbd630453615c8151bce3a5adfac7a0aebfbf0a1e1f57e3" +checksum = "07c34a9410465b45bd9787443bc7370f37735bad04b0f0cd57ff1a3186c98988" dependencies = [ "aho-corasick", "bstr", @@ -2580,7 +2585,7 @@ dependencies = [ "hashbrown 0.16.1", "log", "presser", - "thiserror 2.0.18", + "thiserror 2.0.20", "windows 0.62.2", ] @@ -2590,7 +2595,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b89c83349105e3732062a895becfc71a8f921bb71ecbbdd8ff99263e3b53a0ca" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "gpu-descriptor-types", "hashbrown 0.15.5", ] @@ -2601,7 +2606,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdf242682df893b86f33a73828fb09ca4b2d3bb6cc95249707fc684d27484b91" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", ] [[package]] @@ -2622,9 +2627,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.15" +version = "0.4.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cb093c84e8bd9b188d4c4a8cb6579fc016968d14c99882163cd3ff402a4f155" +checksum = "ef8e5e5a340588f4452631496976cf8636d4a7ecf600239fdc27615d2530bc16" dependencies = [ "atomic-waker", "bytes", @@ -2657,7 +2662,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9da2e5ae821f6e96664977bf974d6d6a2d6682f9ccee23e62ec1d134246845f9" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "bytemuck", "core_maths", "read-fonts 0.37.0", @@ -2698,9 +2703,9 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" [[package]] name = "hermit-abi" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" +checksum = "e17592d60ebacc7d5e169f4663c5f84f9161cc90328abcfe8456f41e4dfcb284" [[package]] name = "hex" @@ -2715,7 +2720,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d37f101bf4c633f7ca2e4b5e136050314503dd198e78e325ea602c327c484ef0" dependencies = [ "arrayvec", - "rand 0.8.6", + "rand 0.8.8", "serde", ] @@ -2727,20 +2732,11 @@ checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df" [[package]] name = "hkdf" -version = "0.12.4" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" +checksum = "4aaa26c720c68b866f2c96ef5c1264b3e6f473fe5d4ce61cd44bbe913e553018" dependencies = [ - "hmac 0.12.1", -] - -[[package]] -name = "hmac" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" -dependencies = [ - "digest 0.10.7", + "hmac", ] [[package]] @@ -2763,9 +2759,9 @@ dependencies = [ [[package]] name = "http" -version = "1.4.2" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6970f50e31d6fc17d3fa27329444bfa74e196cf62e95052a3f6fee181dba6425" +checksum = "918d3568bebf352712bc2ef3d46a8bcf1a75b373be6539de198e9105cbbf9ce0" dependencies = [ "bytes", "itoa", @@ -2773,9 +2769,9 @@ dependencies = [ [[package]] name = "http-body" -version = "1.0.1" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +checksum = "ca2a8f2913ee65f60facd6a5905613afaa448497a0230cc41ce022d93290bc2c" dependencies = [ "bytes", "http", @@ -2783,9 +2779,9 @@ dependencies = [ [[package]] name = "http-body-util" -version = "0.1.3" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" +checksum = "23169fe34a5fbcdd3f3862e78fb9b6fccd5f02a6dc6f732547005d45631ce71c" dependencies = [ "bytes", "futures-core", @@ -2802,18 +2798,18 @@ checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" [[package]] name = "hybrid-array" -version = "0.4.13" +version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "818356c5132c1fede50f837ca96afbe78ff42413047f4abb886217845e1b6c8c" +checksum = "27f864f10dfb56725ce5ce5472bc52252c8f93a4ab86327122cebf62c5f59a17" dependencies = [ "typenum", ] [[package]] name = "hyper" -version = "1.10.1" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55281c53a1894c864990125767da440a4e630446785086f52523b20033b74498" +checksum = "27b501faa50e7a26c3d3560ca625132f4078a17771f4810baf70475ae48cbe43" dependencies = [ "atomic-waker", "bytes", @@ -2832,9 +2828,9 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.27.9" +version = "0.27.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ca68d021ef39cf6463ab54c1d0f5daf03377b70561305bb89a8f83aab66e0f" +checksum = "dfa8e654703247911e29c23fbeaa261834bd9bb74efba2f9acddc37bfb127f53" dependencies = [ "http", "hyper", @@ -2863,16 +2859,17 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.20" +version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0" +checksum = "ddc03d96684f9226b8a787cdb71488417b53ab5ea8fdb1dac946cb9431cc8bff" dependencies = [ - "base64", + "base64 0.23.1", "bytes", "futures-channel", "futures-util", "http", "http-body", + "httparse", "hyper", "ipnet", "libc", @@ -2923,20 +2920,20 @@ dependencies = [ [[package]] name = "i18n-embed-fl" -version = "0.10.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e598ed73b67db92f61e04672e599eef2991a262a40e1666735b8a86d2e7e9f30" +checksum = "602e6bd30c3db2749e13e38b363a3d98d9d41de1d8de7a79c31bb69e45b47cda" dependencies = [ "find-crate", "fluent", "fluent-syntax", "i18n-config", "i18n-embed", - "proc-macro-error2", + "proc-macro-error3", "proc-macro2", "quote", "strsim", - "syn", + "syn 2.0.119", "unic-langid", ] @@ -2950,7 +2947,7 @@ dependencies = [ "i18n-config", "proc-macro2", "quote", - "syn", + "syn 2.0.119", ] [[package]] @@ -2981,6 +2978,7 @@ dependencies = [ name = "iced" version = "0.14.0" dependencies = [ + "build_helpers", "dnd", "iced_accessibility", "iced_core", @@ -2993,7 +2991,7 @@ dependencies = [ "iced_winit", "image", "mime 0.1.0", - "thiserror 2.0.18", + "thiserror 2.0.20", "window_clipboard", ] @@ -3009,7 +3007,8 @@ dependencies = [ name = "iced_core" version = "0.14.0" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", + "build_helpers", "bytes", "cosmic-client-toolkit", "dnd", @@ -3020,10 +3019,10 @@ dependencies = [ "num-traits", "palette", "raw-window-handle", - "rustc-hash 2.1.2", + "rustc-hash 2.1.3", "serde", "smol_str", - "thiserror 2.0.18", + "thiserror 2.0.20", "unicode-segmentation", "web-time", "window_clipboard", @@ -3045,7 +3044,7 @@ dependencies = [ "futures", "iced_core", "log", - "rustc-hash 2.1.2", + "rustc-hash 2.1.3", "tokio", "wasm-bindgen-futures", "wasmtimer", @@ -3055,7 +3054,7 @@ dependencies = [ name = "iced_graphics" version = "0.14.0" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "bytemuck", "cosmic-text", "half", @@ -3066,8 +3065,8 @@ dependencies = [ "log", "lyon_path", "raw-window-handle", - "rustc-hash 2.1.2", - "thiserror 2.0.18", + "rustc-hash 2.1.3", + "thiserror 2.0.20", "unicode-segmentation", ] @@ -3087,20 +3086,21 @@ dependencies = [ "iced_tiny_skia", "iced_wgpu", "log", - "thiserror 2.0.18", + "thiserror 2.0.20", ] [[package]] name = "iced_runtime" version = "0.14.0" dependencies = [ + "build_helpers", "bytes", "cosmic-client-toolkit", "dnd", "iced_core", "iced_futures", "raw-window-handle", - "thiserror 2.0.18", + "thiserror 2.0.20", "window_clipboard", ] @@ -3115,16 +3115,17 @@ dependencies = [ "kurbo 0.10.4", "log", "resvg", - "rustc-hash 2.1.2", + "rustc-hash 2.1.3", "softbuffer", - "tiny-skia", + "tiny-skia 0.11.4", ] [[package]] name = "iced_wgpu" version = "0.14.0" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", + "build_helpers", "bytemuck", "cosmic-client-toolkit", "cryoglyph", @@ -3137,9 +3138,9 @@ dependencies = [ "lyon", "raw-window-handle", "resvg", - "rustc-hash 2.1.2", + "rustc-hash 2.1.3", "rustix 0.38.44", - "thiserror 2.0.18", + "thiserror 2.0.20", "wayland-backend", "wayland-client", "wayland-protocols", @@ -3151,6 +3152,7 @@ dependencies = [ name = "iced_widget" version = "0.14.2" dependencies = [ + "build_helpers", "cosmic-client-toolkit", "dnd", "iced_renderer", @@ -3158,8 +3160,8 @@ dependencies = [ "log", "num-traits", "ouroboros", - "rustc-hash 2.1.2", - "thiserror 2.0.18", + "rustc-hash 2.1.3", + "thiserror 2.0.20", "unicode-segmentation", "window_clipboard", ] @@ -3168,6 +3170,7 @@ dependencies = [ name = "iced_winit" version = "0.14.0" dependencies = [ + "build_helpers", "cosmic-client-toolkit", "cursor-icon", "dnd", @@ -3178,9 +3181,9 @@ dependencies = [ "iced_runtime", "log", "raw-window-handle", - "rustc-hash 2.1.2", + "rustc-hash 2.1.3", "rustix 0.38.44", - "thiserror 2.0.18", + "thiserror 2.0.20", "wasm-bindgen-futures", "wayland-backend", "wayland-client", @@ -3197,9 +3200,9 @@ dependencies = [ [[package]] name = "icu" -version = "2.2.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00380f83691e089bcfa4aeb03a2d96a910b1c9ea406d6f822fc19dfb8b58d1ec" +checksum = "4867dd3a39b9d48632416cc7fc3dfa1913d89fd36cc02fe7bfc1dddc6fda3cde" dependencies = [ "icu_calendar", "icu_casemap", @@ -3221,15 +3224,15 @@ dependencies = [ [[package]] name = "icu_calendar" -version = "2.2.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2b2acc6263f494f1df50685b53ff8e57869e47d5c6fe39c23d518ae9a4f3e45" +checksum = "58655df2f728e46e4eee80bddebefacf52ec3e77cdb925014b47c5a5905eb55c" dependencies = [ "calendrical_calculations", "displaydoc", "icu_calendar_data", - "icu_locale", "icu_locale_core", + "icu_locale_fallback", "icu_provider", "ixdtf", "serde", @@ -3239,15 +3242,15 @@ dependencies = [ [[package]] name = "icu_calendar_data" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "118577bcf3a0fa7c6ac0a7d6e951814da84ee56b9b1f68fb4d8d10b08cefaf4d" +checksum = "dc00caaa3fb3201ff7a18aa458e8c3ab042b9da154cfdf948bdde3936c31c36e" [[package]] name = "icu_casemap" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "070f98b5b82798fcb93654bf96ed9f40064fc44c86f51a09ea711092cd5cc5be" +checksum = "f2edfd120d8445de853cf53a1abec916f638f933a70a6f4bf8f7e2d7b7f884e9" dependencies = [ "icu_casemap_data", "icu_collections", @@ -3261,20 +3264,20 @@ dependencies = [ [[package]] name = "icu_casemap_data" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "846b0857ca091204be3c874bc93daaf89d4777e8d2d20b0d3ffe8f671d98014b" +checksum = "059fcda0fc8d33effc6633a8cf0d8a3c17caf7d7c91918fba9918744f501e4e8" [[package]] name = "icu_collator" -version = "2.2.1" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bbdf98e5e0aa827770acee171ebb568aaab975a36b56afdb5fd0e2f525750bb" +checksum = "08984ed58ac439ebf3e13d2cf26b0c46a60afcd21721c1d14087c0b240344dda" dependencies = [ "icu_collator_data", "icu_collections", - "icu_locale", "icu_locale_core", + "icu_locale_fallback", "icu_normalizer", "icu_properties", "icu_provider", @@ -3286,15 +3289,15 @@ dependencies = [ [[package]] name = "icu_collator_data" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "038ed8e5817f2059c2f3efb0945ba78d060d3d25e8f1a1bea5139f821a21a2f0" +checksum = "f7d7e54efdddeb1208c08dd5d32b53a879ac00d2d3d051b2255fd26821d16368" [[package]] name = "icu_collections" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2984d1cd16c883d7935b9e07e44071dca8d917fd52ecc02c04d5fa0b5a3f191c" +checksum = "fa68d21081c4a05d5a901a1c62add574c77048b6a1c67be3b50ce0b60d4ca513" dependencies = [ "displaydoc", "potential_utf", @@ -3307,17 +3310,17 @@ dependencies = [ [[package]] name = "icu_datetime" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "989d56ea5bbc43ae2b4e0388874b002884eaf4ed3a76c84a6c8c5ad575e04d72" +checksum = "c44df99c4c5297b05653d1a1629f13bdc9fd4044acfbbaf30b15194a1eed4cd6" dependencies = [ "displaydoc", "fixed_decimal", "icu_calendar", "icu_datetime_data", "icu_decimal", - "icu_locale", "icu_locale_core", + "icu_locale_fallback", "icu_pattern", "icu_plurals", "icu_provider", @@ -3330,21 +3333,21 @@ dependencies = [ [[package]] name = "icu_datetime_data" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40d3cc1b690d9703202bc319692ac8a1f3a6390686f0930ff40542450fa34f0b" +checksum = "8bb5555f6e4b42233f58564351ce16d73e9e6ebfce6bdcf29875d0cfc554d6a8" [[package]] name = "icu_decimal" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "288247df2e32aa776ac54fdd64de552149ac43cb840f2761811f0e8d09719dd4" +checksum = "9eb8f655bba2d0c0459e43a5b0e6cd3cd388109898fb3d85d048165e8b0abd08" dependencies = [ "displaydoc", "fixed_decimal", "icu_decimal_data", - "icu_locale", "icu_locale_core", + "icu_locale_fallback", "icu_pattern", "icu_plurals", "icu_provider", @@ -3355,15 +3358,15 @@ dependencies = [ [[package]] name = "icu_decimal_data" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f14a5ca9e8af29eef62064f269078424283d90dbaffeac5225addf62aaabc22" +checksum = "e4c887fc7d4c297cf3f9436864af9e3dba7f8be9415a6c2a7f392f3b1636298c" [[package]] name = "icu_experimental" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a881116e620fd635f564fd9cb9bc36c256b9da2221df8b3f55643d8ef32140f" +checksum = "7c09609ad18e249b97a0afa20e19502c4d11ab039e6e35f5ecf48bebd4eedd7e" dependencies = [ "displaydoc", "either", @@ -3375,6 +3378,7 @@ dependencies = [ "icu_list", "icu_locale", "icu_locale_core", + "icu_locale_fallback", "icu_normalizer", "icu_pattern", "icu_plurals", @@ -3394,18 +3398,18 @@ dependencies = [ [[package]] name = "icu_experimental_data" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f72090d4f08a2bc94565cb02de6d5b87939424e462d9927d73a34f6f8e5d1232" +checksum = "377481a8935d6774f410424d79a6dc8a09d9bd8def9560cff17abe755a246280" [[package]] name = "icu_list" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aeeaf517689324395bed4767f7c65504f5455942ed4c14ee54c2087ca00b816e" +checksum = "5a5c625125085fac4bf9ad111888a90c6ab9dc7bcaec392ca79cab417f46e3fb" dependencies = [ "icu_list_data", - "icu_locale", + "icu_locale_fallback", "icu_provider", "regex-automata", "serde", @@ -3415,30 +3419,30 @@ dependencies = [ [[package]] name = "icu_list_data" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed62dbf114db9a4163481ed071509c4cd52cbcef9cb85979eba08a95549d73f3" +checksum = "4ffef91ee351bd195a803115615a034dfb9f02bb48850980548c31cb78568a91" [[package]] name = "icu_locale" -version = "2.2.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5a396343c7208121dc86e35623d3dfe19814a7613cfd14964994cdc9c9a2e26" +checksum = "785f595c61ef57169a467eeed7b4b6936a66f6cacbb116a96ee86da983251bf4" dependencies = [ "icu_collections", "icu_locale_core", "icu_locale_data", + "icu_locale_fallback", "icu_provider", - "potential_utf", "tinystr", "zerovec", ] [[package]] name = "icu_locale_core" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92219b62b3e2b4d88ac5119f8904c10f8f61bf7e95b640d25ba3075e6cac2c29" +checksum = "d56e28588da92eee5c3201a6eff33fabdd49b62269c8938d4ff050ce4d900deb" dependencies = [ "displaydoc", "litemap", @@ -3450,15 +3454,35 @@ dependencies = [ [[package]] name = "icu_locale_data" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5fdcc9ac77c6d74ff5cf6e65ef3181d6af32003b16fce3a77fb451d2f695993" +checksum = "d37d91460e362a5cf58907cd7ce871411775ee6294e49a5cc8e6cec16dfa75ea" + +[[package]] +name = "icu_locale_fallback" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "251af8e57c9400e3eb58242fe5b8b1152b2a64fdf4cf632f923c38ccee6f2fa9" +dependencies = [ + "icu_locale_core", + "icu_locale_fallback_data", + "icu_provider", + "potential_utf", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_locale_fallback_data" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "decf2a22ec8fa68f1a0c1129a3f8583f8f8bc24e8b9ccbe98ead99f62a4dc3a8" [[package]] name = "icu_normalizer" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c56e5ee99d6e3d33bd91c5d85458b6005a22140021cc324cea84dd0e72cff3b4" +checksum = "12f9cf5f235641ed274641dd81c3f28d870e276763d0797aeeab72317b1c646f" dependencies = [ "icu_collections", "icu_normalizer_data", @@ -3473,15 +3497,15 @@ dependencies = [ [[package]] name = "icu_normalizer_data" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da3be0ae77ea334f4da67c12f149704f19f81d1adf7c51cf482943e84a2bad38" +checksum = "1563da1ed3e0b3bf3d74c9b85917ac9c56464d2f57242270c09c9e752f8021a0" [[package]] name = "icu_pattern" -version = "0.4.2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c4c568054ffe735398a9f4c55aec37ad7c768844553cc0978f09cc9b933a1fb" +checksum = "2b3db611446bd92c246b03e4aa0bafa71ddb194af431ddbb42b9d70e4bfce1a0" dependencies = [ "displaydoc", "either", @@ -3493,12 +3517,12 @@ dependencies = [ [[package]] name = "icu_plurals" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a50023f1d49ad5c4333380328a0d4a19e4b9d6d842ec06639affd5ba47c8103" +checksum = "e475e6766ef87b1d3c1f97be6363995b0bfaeddbc789671615df598a97ff0593" dependencies = [ "fixed_decimal", - "icu_locale", + "icu_locale_fallback", "icu_plurals_data", "icu_provider", "zerovec", @@ -3506,16 +3530,17 @@ dependencies = [ [[package]] name = "icu_plurals_data" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8485497155dc865f901decb93ecc20d3e467df67bfeceb91e3ba34e2b11e8e1d" +checksum = "1251aa39a95e1333888e499b1263e1c196447a28948acf5bdabd82c046f153bf" [[package]] name = "icu_properties" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bee3b67d0ea5c2cca5003417989af8996f8604e34fb9ddf96208a033901e70de" +checksum = "7e7ca276ad3145661a65914e6daf131ca5120cd3dcee8f8f3214b8875184a148" dependencies = [ + "displaydoc", "icu_collections", "icu_locale_core", "icu_properties_data", @@ -3527,15 +3552,15 @@ dependencies = [ [[package]] name = "icu_properties_data" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e2bbb201e0c04f7b4b3e14382af113e17ba4f63e2c9d2ee626b720cbce54a14" +checksum = "e590f038c1464a96894fd6d10127e90a8be4509f56ff7ecef851b15cee0b7caa" [[package]] name = "icu_provider" -version = "2.2.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "139c4cf31c8b5f33d7e199446eff9c1e02decfc2f0eec2c8d71f65befa45b421" +checksum = "d27bbb9d3abbefac45d55f647c9de1d44aafcd1186eb91879afef17c396c3e73" dependencies = [ "displaydoc", "icu_locale_core", @@ -3550,31 +3575,32 @@ dependencies = [ [[package]] name = "icu_segmenter" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c0794db0b1a86193ac9c48768d0e6c52c54448e0870ad87907d456ee0dac964" +checksum = "82d07aafccd67af15d02512a6adf5896fbc5ed00f2e99b471d2efa14016db3db" dependencies = [ "core_maths", "icu_collections", - "icu_locale", + "icu_locale_fallback", "icu_provider", "icu_segmenter_data", "potential_utf", + "smallvec", "utf8_iter", "zerovec", ] [[package]] name = "icu_segmenter_data" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4a2c462a4d927d512f5f882a033ddd62f33a05bb9f230d98f736ac3dc85938f" +checksum = "ae293c039020f9ec10710af98d29ce6aa2051486638b49c9a6409f3b4a9e98ad" [[package]] name = "icu_time" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec3af0c141da0a61d4f6970cd1d5f4b388b17ea22f8124f8f6049d3d5147586a" +checksum = "af37e1c3b9f3ab564b619fdf4b22de169f6381eb0f7048e3ca454290c438126b" dependencies = [ "calendrical_calculations", "displaydoc", @@ -3590,9 +3616,9 @@ dependencies = [ [[package]] name = "icu_time_data" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f2f8aeca682d874a5247084aa4fb7d1cef9ba45d889c21209a8818dcaaa0ec9" +checksum = "005ff86fa5851a77fc0a977b72d717f777bd9230415a247219d7898aefb1517a" [[package]] name = "ident_case" @@ -3623,9 +3649,9 @@ dependencies = [ [[package]] name = "ignore" -version = "0.4.26" +version = "0.4.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b915661dd01db3f05050265b2477bcc6527b3792388e2749b41623cc592be67d" +checksum = "00b69833ed729dc5aa7d19541d96d6cf8e9137194207a04916d658e43168402f" dependencies = [ "crossbeam-deque", "globset", @@ -3657,7 +3683,7 @@ dependencies = [ "rayon", "rgb", "tiff", - "zune-core 0.5.1", + "zune-core 0.5.3", "zune-jpeg 0.5.15", ] @@ -3679,15 +3705,15 @@ checksum = "edcd27d72f2f071c64249075f42e205ff93c9a4c5f6c6da53e79ed9f9832c285" [[package]] name = "imgref" -version = "1.12.2" +version = "1.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89194689a993ab15268672e99e7b0e19da2da3268ac682e8f02d29d4d1434cd7" +checksum = "6e44b0a4eaa4c82f441d50a963f2d5f05a787240aeee097597033e72accfd22f" [[package]] name = "indexmap" -version = "2.14.0" +version = "2.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9" +checksum = "cc4e190f5d26ca7051642629da2c52fc03bde85a03197c99408dcd291734c855" dependencies = [ "equivalent", "hashbrown 0.17.1", @@ -3706,40 +3732,31 @@ dependencies = [ [[package]] name = "inotify" -version = "0.11.2" +version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "533e68a5842e734946fe159fb03fc9bbbb254f590dd0d8ad321ae5ff7beca2c1" +checksum = "4cc00ea907cab49550b7da656f80ebb97be1b997d931fbcd28d39734e17ce592" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "inotify-sys", "libc", ] [[package]] name = "inotify-sys" -version = "0.1.5" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb" +checksum = "c033f80b2c113cdf91ab7a33faa9cbc014726dcad99880c8609af2a370edf37d" dependencies = [ "libc", ] -[[package]] -name = "inout" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01" -dependencies = [ - "block-padding", - "generic-array", -] - [[package]] name = "inout" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4250ce6452e92010fdf7268ccc5d14faa80bb12fc741938534c58f16804e03c7" dependencies = [ + "block-padding", "hybrid-array", ] @@ -3751,7 +3768,7 @@ checksum = "c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.119", ] [[package]] @@ -3775,9 +3792,9 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.12.0" +version = "2.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d98f6fed1fde3f8c21bc40a1abb88dd75e67924f9cffc3ef95607bad8017f8e2" +checksum = "791930b43c0d5973160d90a8f3894509f2b273430f5c5c73b668636d0287c5c0" [[package]] name = "is-docker" @@ -3815,17 +3832,18 @@ checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" [[package]] name = "ixdtf" -version = "0.6.5" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ceaf4c6c48465bead8cb6a0b7c4ee0c86ecbb31239032b9c66ab9a08d2f3ee1" +checksum = "4d3667095d64c3ecffc96463a21157b04bf3e252f6e8d5750b20c02e33c194e3" [[package]] name = "jiff" -version = "0.2.31" +version = "0.2.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccfe6121cbe750cf81efa362d85c0bde7ea298ec43092d3a193baca59cdbd634" +checksum = "0ab1baf72f08796de0260609515130699b890ac25f30e610ad894bc5856cafdb" dependencies = [ "defmt", + "jiff-core", "jiff-static", "jiff-tzdb-platform", "log", @@ -3835,6 +3853,16 @@ dependencies = [ "windows-link 0.2.1", ] +[[package]] +name = "jiff-core" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e52fe76043ccecc9005d2305ebaadf7d7fc0cc89ca6baa10a94d6bc68c7128c" +dependencies = [ + "defmt", + "log", +] + [[package]] name = "jiff-icu" version = "0.2.2" @@ -3848,20 +3876,21 @@ dependencies = [ [[package]] name = "jiff-static" -version = "0.2.31" +version = "0.2.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e165e897f662d428f3cd3828a919dbe067c2d42bb1031eede74ef9d27ecdedd2" +checksum = "378268a1116ad67ae6228701118ac9f491d78fda38a40a1f1a9e1348de6f7212" dependencies = [ + "jiff-core", "proc-macro2", "quote", - "syn", + "syn 2.0.119", ] [[package]] name = "jiff-tzdb" -version = "0.1.6" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c900ef84826f1338a557697dc8fc601df9ca9af4ac137c7fb61d4c6f2dfd3076" +checksum = "142bd39932ad231f10513df9ab62661fead8719872150b7ad02a2df79f4e141e" [[package]] name = "jiff-tzdb-platform" @@ -3884,7 +3913,7 @@ dependencies = [ "jni-sys 0.4.1", "log", "simd_cesu8", - "thiserror 2.0.18", + "thiserror 2.0.20", "walkdir", "windows-link 0.2.1", ] @@ -3899,7 +3928,7 @@ dependencies = [ "quote", "rustc_version", "simd_cesu8", - "syn", + "syn 2.0.119", ] [[package]] @@ -3927,24 +3956,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38c0b942f458fe50cdac086d2f946512305e5631e720728f2a61aabcd47a6264" dependencies = [ "quote", - "syn", + "syn 2.0.119", ] [[package]] name = "jobserver" -version = "0.1.34" +version = "0.1.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" +checksum = "1c00acbd29eabad4a2392fa0e921c874934dbbf4194312ad20f04a0ed67a3cb3" dependencies = [ - "getrandom 0.3.4", + "getrandom 0.4.3", "libc", ] [[package]] name = "js-sys" -version = "0.3.103" +version = "0.3.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53b44bfcdb3f8d5837a46dae1ca9660a837176eee74a28b229bc626816589102" +checksum = "ce57d20d1ea864ce2ac172ab472d409214f4fd359f0b2a2775abdf522e2af99e" dependencies = [ "cfg-if", "futures-util", @@ -4146,7 +4175,7 @@ version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fbe853b403ae61a04233030ae8a79d94975281ed9770a1f9e246732b534b28d" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "serde", ] @@ -4178,9 +4207,9 @@ dependencies = [ [[package]] name = "kqueue" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "273c0752728918e0ac4976f2b275b6fefb9ecd400585dec929419f3844cd87b5" +checksum = "8d763e5b24120b4ddf50de6c92308156765aabfbbccebf401da7cff2d70a41ea" dependencies = [ "kqueue-sys", "libc", @@ -4192,7 +4221,7 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07293a4e297ac234359b510362495713f75ea345d5307140414f20c69ffeb087" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "libc", ] @@ -4237,9 +4266,9 @@ checksum = "34b357333733e8260735ba5894eb928c02ecc69c78715f01a8019e7fa7f2db4c" [[package]] name = "libc" -version = "0.2.186" +version = "0.2.189" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66" +checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2" [[package]] name = "libcosmic-yoda" @@ -4248,6 +4277,7 @@ dependencies = [ "apply", "ashpd 0.12.3", "auto_enums", + "build_helpers", "cosmic-client-toolkit", "cosmic-config", "cosmic-freedesktop-icons", @@ -4273,13 +4303,14 @@ dependencies = [ "jiff", "log", "palette", - "phf 0.13.1", + "phf", "rfd", + "roxmltree", "rust-embed", "serde", "slotmap", "taffy", - "thiserror 2.0.18", + "thiserror 2.0.20", "tokio", "tracing", "unicode-segmentation", @@ -4315,21 +4346,21 @@ checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" [[package]] name = "libredox" -version = "0.1.17" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f02ab6bace2054fb888a3c16f990117b579d14a3088e472d63c6011fa185c9d3" +checksum = "6480ccc157a1389bb2e4891b24751b0f798ba640d22386f23143fbcc89da195a" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "libc", "plain", - "redox_syscall 0.8.1", + "redox_syscall 0.9.4", ] [[package]] name = "lilt" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f67562e5eff6b20553fa9be1c503356768420994e28f67e3eafe6f41910e57ad" +checksum = "337d4c256f7d9f2dbd633891d48ace853efa5b1554122d9220b172ad9c03c3a9" dependencies = [ "web-time", ] @@ -4354,9 +4385,9 @@ checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" [[package]] name = "litemap" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92daf443525c4cce67b150400bc2316076100ce0b3686209eb8cf3c31612e6f0" +checksum = "47d9d19d1d6efa0109d2f65ff4c85cddd50bd572e5a00127ab10987290bcefae" [[package]] name = "litrs" @@ -4375,9 +4406,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.33" +version = "0.4.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ceec5bc11778974d1bcb055b18002eba7f4b3518b6a0081b3af5f21666da9ad" +checksum = "f9f8bd3e56ce4dfc153cf470fffbfa98c7620958b312ca5c3a4b8d5181fd13c6" [[package]] name = "loom" @@ -4420,9 +4451,9 @@ dependencies = [ [[package]] name = "lyon_algorithms" -version = "1.0.20" +version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8575c0d003ae459399623c4def180c63b77f343b1a7fee64f249b349e7699a31" +checksum = "cdfa8785f95e57914ddb35e3b59994aeba6f5e79e9cfd03da1c269f010f36009" dependencies = [ "lyon_path", "num-traits", @@ -4451,9 +4482,9 @@ dependencies = [ [[package]] name = "lyon_tessellation" -version = "1.0.20" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e43b7e44161571868f5c931d12583592c223c5583eef86b08aa02b7048a3552" +checksum = "43b8dcf906637ecef61b3c0740c7a4e7f27caeb31257cfac0cc579ce15be6005" dependencies = [ "float_next_after", "lyon_path", @@ -4462,9 +4493,9 @@ dependencies = [ [[package]] name = "lzma-rust2" -version = "0.16.4" +version = "0.16.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce716bf1a316f47a280fc76295f6495b5bea4752bca01c3b3885e101b1c23c02" +checksum = "ca93e534d1142d1d0dcca6d25fe302508a5dfb40b302802904577725ea0b695b" dependencies = [ "sha2 0.11.0", ] @@ -4509,9 +4540,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.8.2" +version = "2.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88904434abc2901f197fe8cc55f0445e7ded921dba5911dad2e2b39b48e663c4" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" [[package]] name = "memmap2" @@ -4546,7 +4577,7 @@ version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7047791b5bc903b8cd963014b355f71dc9864a9a0b727057676c1dcae5cbc15" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "block", "core-graphics-types 0.2.0", "foreign-types 0.5.0", @@ -4595,10 +4626,20 @@ dependencies = [ ] [[package]] -name = "mio" -version = "1.2.1" +name = "miniz_oxide" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02bd0af71c67b473010cbbc60715ee815645a4dc942899111f494b4b737d6fda" +checksum = "b63fbc4a50860e98e7b2aa7804ded1db5cbc3aff9193adaff57a6931bf7c4b4c" +dependencies = [ + "adler2", + "simd-adler32", +] + +[[package]] +name = "mio" +version = "1.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b18443e9c262bfe8fa82f51666e2642c53393f7e5c27b3e1aeab922cff5b9d8" dependencies = [ "libc", "log", @@ -4625,6 +4666,12 @@ dependencies = [ "pxfm", ] +[[package]] +name = "multiversion_no_op" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "743fb55ba31b18fb1ecef6bdc9aa2743314978ac084044301a7eee33fb99a20d" + [[package]] name = "mutate_once" version = "0.1.2" @@ -4639,7 +4686,7 @@ checksum = "618f667225063219ddfc61251087db8a9aec3c3f0950c916b614e403486f1135" dependencies = [ "arrayvec", "bit-set", - "bitflags 2.13.0", + "bitflags 2.13.2", "cfg-if", "cfg_aliases", "codespan-reporting", @@ -4653,7 +4700,7 @@ dependencies = [ "once_cell", "rustc-hash 1.1.0", "spirv", - "thiserror 2.0.18", + "thiserror 2.0.20", "unicode-ident", ] @@ -4680,7 +4727,7 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "jni-sys 0.3.1", "log", "ndk-sys", @@ -4750,7 +4797,7 @@ version = "8.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4d3d07927151ff8575b7087f245456e549fea62edf0ec4e565a5ee50c8402bc3" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "fsevent-sys", "inotify", "kqueue", @@ -4781,7 +4828,7 @@ version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42b8cfee0e339a0337359f3c88165702ac6e600dc01c0cc9579a92d62b08477a" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", ] [[package]] @@ -4809,9 +4856,9 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.4.6" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" +checksum = "c89e69e7e0f03bea5ef08013795c25018e101932225a656383bd384495ecc367" dependencies = [ "num-integer", "num-traits", @@ -4823,6 +4870,7 @@ version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" dependencies = [ + "bytemuck", "num-traits", ] @@ -4840,25 +4888,24 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.119", ] [[package]] name = "num-integer" -version = "0.1.46" +version = "0.1.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +checksum = "7ce2d95d4b3734dc35aa2f45e1aa22cd416814592a4f9d9205e11affd5b8e10b" dependencies = [ "num-traits", ] [[package]] name = "num-iter" -version = "0.1.45" +version = "0.1.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" +checksum = "c92800bd69a1eac91786bcfe9da64a897eb72911b8dc3095decbd07429e8048b" dependencies = [ - "autocfg", "num-integer", "num-traits", ] @@ -4913,7 +4960,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn", + "syn 2.0.119", ] [[package]] @@ -4967,7 +5014,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "block2 0.5.1", "libc", "objc2 0.5.2", @@ -4983,7 +5030,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d49e936b501e5c5bf01fda3a9452ff86dc3ea98ad5f283e1455153142d97518c" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "block2 0.6.2", "objc2 0.6.4", "objc2-core-foundation", @@ -4996,7 +5043,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "block2 0.5.1", "objc2 0.5.2", "objc2-foundation 0.2.2", @@ -5008,7 +5055,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "block2 0.6.2", "dispatch2", "objc2 0.6.4", @@ -5020,7 +5067,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e022c9d066895efa1345f8e33e584b9f958da2fd4cd116792e15e07e4720a807" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "libc", "objc2-core-foundation", ] @@ -5043,7 +5090,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d425caf1df73233f29fd8a5c3e5edbc30d2d4307870f802d18f00d83dc5141a6" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "objc2-core-foundation", "objc2-core-graphics", ] @@ -5060,7 +5107,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "block2 0.5.1", "libc", "objc2 0.5.2", @@ -5072,7 +5119,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "block2 0.6.2", "objc2 0.6.4", "objc2-core-foundation", @@ -5084,7 +5131,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "block2 0.5.1", "objc2 0.5.2", "objc2-foundation 0.2.2", @@ -5096,7 +5143,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "block2 0.5.1", "objc2 0.5.2", "objc2-foundation 0.2.2", @@ -5109,7 +5156,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d87d638e33c06f577498cbcc50491496a3ed4246998a7fbba7ccb98b1e7eab22" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "objc2 0.6.4", "objc2-core-foundation", "objc2-foundation 0.3.2", @@ -5132,9 +5179,9 @@ checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" [[package]] name = "open" -version = "5.3.6" +version = "5.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd8d3b65c44123a56e0133d2cd06ce4361bd3ca99d41198b2f25e3c3db9b8b4a" +checksum = "aa576c76302b7b808eecc68061e67336c47833ef9d22caa74dda10fa9675eebc" dependencies = [ "is-wsl", "libc", @@ -5146,7 +5193,7 @@ version = "0.10.81" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77823a27f0babb03091cb9ed9ef80af3b39dbc82f97e8fa530374b7dafd87a45" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "cfg-if", "foreign-types 0.3.2", "libc", @@ -5162,7 +5209,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.119", ] [[package]] @@ -5201,9 +5248,9 @@ dependencies = [ [[package]] name = "ordered-float" -version = "5.3.0" +version = "5.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7d950ca161dc355eaf28f82b11345ed76c6e1f6eb1f4f4479e0323b9e2fbd0e" +checksum = "8c7c9e0d9b23589f26070720bac724174bfec1083e82f7854cdd0267518343c0" dependencies = [ "num-traits", ] @@ -5220,9 +5267,9 @@ dependencies = [ [[package]] name = "ordermap" -version = "1.2.0" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f7476a5b122ff1fce7208e7ee9dccd0a516e835f5b8b19b8f3c98a34cf757c1" +checksum = "16a756ddcdeb6c0efc8927bdf0ed112885815a35ba350472a467be5104f01ca1" dependencies = [ "indexmap", "serde", @@ -5260,7 +5307,7 @@ dependencies = [ "proc-macro2", "proc-macro2-diagnostics", "quote", - "syn", + "syn 2.0.119", ] [[package]] @@ -5274,29 +5321,35 @@ dependencies = [ [[package]] name = "palette" -version = "0.7.6" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cbf71184cc5ecc2e4e1baccdb21026c20e5fc3dcf63028a086131b3ab00b6e6" +checksum = "ddeed8580d347d2abf3dcf06a5f0b3dc020258338526b277847cd4248a70fc64" dependencies = [ "approx", - "fast-srgb8", "palette_derive", - "phf 0.11.3", + "palette_math", + "phf", "serde", ] [[package]] name = "palette_derive" -version = "0.7.6" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5030daf005bface118c096f510ffb781fc28f9ab6a32ab224d8631be6851d30" +checksum = "88537020289b719d81be994ccf1bbf4990f477e2f69ee52fe3e45f43a02e56be" dependencies = [ "by_address", "proc-macro2", "quote", - "syn", + "syn 2.0.119", ] +[[package]] +name = "palette_math" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e6eb142958d64335fb0e345c5b9ead2ecd6fc438c307e9d7d3c4fd428dbaf12" + [[package]] name = "parking" version = "2.2.1" @@ -5345,7 +5398,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "112d82ceb8c5bf524d9af484d4e4970c9fd5a0cc15ba14ad93dccd28873b0629" dependencies = [ "digest 0.11.3", - "hmac 0.13.0", + "hmac", ] [[package]] @@ -5354,37 +5407,17 @@ version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" -[[package]] -name = "phf" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" -dependencies = [ - "phf_macros 0.11.3", - "phf_shared 0.11.3", -] - [[package]] name = "phf" version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c1562dc717473dbaa4c1f85a36410e03c047b2e7df7f45ee938fbef64ae7fadf" dependencies = [ - "phf_macros 0.13.1", - "phf_shared 0.13.1", + "phf_macros", + "phf_shared", "serde", ] -[[package]] -name = "phf_generator" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" -dependencies = [ - "phf_shared 0.11.3", - "rand 0.8.6", -] - [[package]] name = "phf_generator" version = "0.13.1" @@ -5392,20 +5425,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "135ace3a761e564ec88c03a77317a7c6b80bb7f7135ef2544dbe054243b89737" dependencies = [ "fastrand", - "phf_shared 0.13.1", -] - -[[package]] -name = "phf_macros" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216" -dependencies = [ - "phf_generator 0.11.3", - "phf_shared 0.11.3", - "proc-macro2", - "quote", - "syn", + "phf_shared", ] [[package]] @@ -5414,23 +5434,14 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "812f032b54b1e759ccd5f8b6677695d5268c588701effba24601f6932f8269ef" dependencies = [ - "phf_generator 0.13.1", - "phf_shared 0.13.1", + "phf_generator", + "phf_shared", "proc-macro2", "quote", - "syn", + "syn 2.0.119", "uncased", ] -[[package]] -name = "phf_shared" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" -dependencies = [ - "siphasher", -] - [[package]] name = "phf_shared" version = "0.13.1" @@ -5464,7 +5475,7 @@ checksum = "c96395f0a926bc13b1c17622aaddda1ecb55d49c8f1bf9777e4d877800a43f8b" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.119", ] [[package]] @@ -5492,9 +5503,9 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.33" +version = "0.3.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19f132c84eca552bf34cab8ec81f1c1dcc229b811638f9d283dceabe58c5569e" +checksum = "f6b464fbc74e149a392436b17d523f769e057cb6877f6a5c4618bc6f11800548" [[package]] name = "plain" @@ -5512,7 +5523,7 @@ dependencies = [ "crc32fast", "fdeflate", "flate2", - "miniz_oxide", + "miniz_oxide 0.8.9", ] [[package]] @@ -5521,11 +5532,11 @@ version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60769b8b31b2a9f263dae2776c37b1b28ae246943cf719eb6946a1db05128a61" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "crc32fast", "fdeflate", "flate2", - "miniz_oxide", + "miniz_oxide 0.8.9", ] [[package]] @@ -5550,24 +5561,24 @@ checksum = "2f3a9f18d041e6d0e102a0a46750538147e5e8992d3b4873aaafee2520b00ce3" [[package]] name = "portable-atomic" -version = "1.13.1" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" +checksum = "05c8b63e8d9609db387f0324918f81d68fe27748f084ef092fb35954d0539a85" [[package]] name = "portable-atomic-util" -version = "0.2.7" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2a106d1259c23fac8e543272398ae0e3c0b8d33c88ed73d0cc71b0f1d902618" +checksum = "10ab3eb7f3becc3a1cbc4f2c6f20267996cfc1a6467a873763411b136a122715" dependencies = [ "portable-atomic", ] [[package]] name = "potential_utf" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0103b1cef7ec0cf76490e969665504990193874ea05c85ff9bab8b911d0a0564" +checksum = "d83eb9bc6d8e5cf568e7a1101d60ee05e81ed50ea106026f3d18deeb046d7661" dependencies = [ "serde_core", "writeable", @@ -5582,9 +5593,9 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppmd-rust" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efca4c95a19a79d1c98f791f10aebd5c1363b473244630bb7dbde1dc98455a24" +checksum = "196a7c80b9a7652aba7cc070827516c2abe4ccdf53d128e1944003cf5726cff1" [[package]] name = "ppv-lite86" @@ -5611,32 +5622,32 @@ dependencies = [ ] [[package]] -name = "proc-macro-error-attr2" -version = "2.0.0" +name = "proc-macro-error-attr3" +version = "3.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" +checksum = "9e564d14133360e1ae169ffde5da25881b5fa47261665b8e5713c212c27799da" dependencies = [ "proc-macro2", "quote", ] [[package]] -name = "proc-macro-error2" -version = "2.0.1" +name = "proc-macro-error3" +version = "3.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" +checksum = "8f0d4471b3436c22106b21913b1dda531558918ae9b7ec55d58aa84b43552233" dependencies = [ - "proc-macro-error-attr2", + "proc-macro-error-attr3", "proc-macro2", "quote", - "syn", + "syn 3.0.5", ] [[package]] name = "proc-macro2" -version = "1.0.106" +version = "1.0.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" dependencies = [ "unicode-ident", ] @@ -5649,7 +5660,7 @@ checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.119", "version_check", "yansi", ] @@ -5660,7 +5671,7 @@ version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25485360a54d6861439d60facef26de713b1e126bf015ec8f98239467a2b82f7" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "chrono", "flate2", "procfs-core", @@ -5673,7 +5684,7 @@ version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6401bf7b6af22f78b563665d15a22e9aef27775b79b149a66ca022468a4e405" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "chrono", "hex", ] @@ -5694,14 +5705,37 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4488a4a36b9a4ba6b9334a32a39971f77c1436ec82c38707bce707699cc3bbcb" dependencies = [ "quote", - "syn", + "syn 2.0.119", ] [[package]] -name = "pxfm" -version = "0.1.29" +name = "pulp" +version = "0.22.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0c5ccf5294c6ccd63a74f1565028353830a9c2f5eb0c682c355c471726a6e3f" +checksum = "046aa45b989642ec2e4717c8e72d677b13edd831a4d3b6cf37d9a3e54912496a" +dependencies = [ + "bytemuck", + "cfg-if", + "libm", + "num-complex", + "paste", + "pulp-wasm-simd-flag", + "raw-cpuid", + "reborrow", + "version_check", +] + +[[package]] +name = "pulp-wasm-simd-flag" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d8f70e07b9c3962945a74e59ca1c511bba65b6419468acc217c457d93f3c740" + +[[package]] +name = "pxfm" +version = "0.1.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d55d956fa96f5ec02be2e13af0e20391a5aa83d6a074e3ad368959d0fab299ea" [[package]] name = "qoi" @@ -5730,19 +5764,18 @@ dependencies = [ [[package]] name = "quick-xml" -version = "0.39.4" +version = "0.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdcc8dd4e2f670d309a5f0e83fe36dfdc05af317008fea29144da1a2ac858e5e" +checksum = "e660451e55124f798a69a5af3f49ccfbefbd41910eefd25caf2393e1f3473ec1" dependencies = [ "memchr", - "serde", ] [[package]] name = "quote" -version = "1.0.46" +version = "1.0.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfbc457d0c7a0759a614551b11a6409e5951f6c7537be1f1b7682b9ae9230368" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" dependencies = [ "proc-macro2", ] @@ -5761,9 +5794,9 @@ checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" [[package]] name = "rand" -version = "0.8.6" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ca0ecfa931c29007047d1bc58e623ab12e5590e8c7cc53200d5202b69266d8a" +checksum = "e058c7de0b26af77780c769414d6257830bb240f3c38477dbc2c16e5f54d6d4c" dependencies = [ "libc", "rand_chacha 0.3.1", @@ -5772,9 +5805,9 @@ dependencies = [ [[package]] name = "rand" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76ea" +checksum = "b9ef1d0d795eb7d84685bca4f72f3649f064e6641543d3a8c415898726a57b41" dependencies = [ "rand_chacha 0.9.0", "rand_core 0.9.5", @@ -5826,9 +5859,9 @@ checksum = "ca45419789ae5a7899559e9512e58ca889e41f04f1f2445e9f4b290ceccd1d08" [[package]] name = "rangemap" -version = "1.7.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "973443cf09a9c8656b574a866ab68dfa19f0867d0340648c7d2f6a71b8a8ea68" +checksum = "a611d15b50743feb4c76b7d03edcb0e64f399c26961e4efe6975bc398be6aa3d" [[package]] name = "rav1e" @@ -5857,10 +5890,10 @@ dependencies = [ "num-traits", "paste", "profiling", - "rand 0.9.4", + "rand 0.9.5", "rand_chacha 0.9.0", "simd_helpers", - "thiserror 2.0.18", + "thiserror 2.0.20", "v_frame", "wasm-bindgen", ] @@ -5880,6 +5913,15 @@ dependencies = [ "rgb", ] +[[package]] +name = "raw-cpuid" +version = "11.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "498cd0dc59d73224351ee52a95fee0f1a617a2eae0e7d9d720cc622c73a54186" +dependencies = [ + "bitflags 2.13.2", +] + [[package]] name = "raw-window-handle" version = "0.6.2" @@ -5914,19 +5956,26 @@ checksum = "7b634fabf032fab15307ffd272149b622260f55974d9fad689292a5d33df02e5" dependencies = [ "bytemuck", "core_maths", - "font-types", + "font-types 0.11.3", ] [[package]] name = "read-fonts" -version = "0.39.2" +version = "0.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4ed38b89c2c77ff968c524145ad65fb010f38af5c7a224b53b81d47ac2daa81" +checksum = "046a7d674daf459825b32f5062056d6882db0d2f5a479fbd76ccfc870ac18709" dependencies = [ "bytemuck", - "font-types", + "font-types 0.12.5", + "once_cell", ] +[[package]] +name = "reborrow" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03251193000f4bd3b042892be858ee50e8b3719f2b08e5833ac4353724632430" + [[package]] name = "recently-used-xbel" version = "1.2.0" @@ -5945,11 +5994,11 @@ dependencies = [ [[package]] name = "redox_event" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c07d0d6d291e3a951bd847b1cd4af32fc6243d64116cf7702838c02797688b7" +checksum = "c5018d583d6d2f5499352aea8d177e9067d1eb03ab17c78169d5ba7a30001b15" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "libredox", ] @@ -5959,16 +6008,16 @@ version = "0.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", ] [[package]] name = "redox_syscall" -version = "0.8.1" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b44b894f2a6e36457d665d1e08c3866add6ed5e70050c1b4ba8a8ddedb02ce7" +checksum = "737970939a87c6fa31e7acad13307bccbb017a073b695b6089a2c484f929e20e" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", ] [[package]] @@ -5990,14 +6039,14 @@ checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac" dependencies = [ "getrandom 0.2.17", "libredox", - "thiserror 2.0.18", + "thiserror 2.0.20", ] [[package]] name = "regex" -version = "1.12.4" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1292b7759ae1cb9ec195452d1390a074f0cd8541ab7a5a8c31cd6db45d4a6ba" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" dependencies = [ "aho-corasick", "memchr", @@ -6007,9 +6056,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.14" +version = "0.4.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" dependencies = [ "aho-corasick", "memchr", @@ -6034,7 +6083,7 @@ version = "0.12.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147" dependencies = [ - "base64", + "base64 0.22.1", "bytes", "encoding_rs", "futures-core", @@ -6083,7 +6132,7 @@ dependencies = [ "pico-args", "rgb", "svgtypes", - "tiny-skia", + "tiny-skia 0.11.4", "usvg", "zune-jpeg 0.4.21", ] @@ -6141,8 +6190,8 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "db09040cc89e461f1a265139777a2bde7f8d8c67c4936f700c63ce3e2904d468" dependencies = [ - "base64", - "bitflags 2.13.0", + "base64 0.22.1", + "bitflags 2.13.2", "serde", "serde_derive", "unicode-ident", @@ -6154,7 +6203,7 @@ version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "81116b9531d61eabc41aeb228e4b6b2435bcca3233b98cf3b3077d4e6e9debb3" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "once_cell", "serde", "serde_derive", @@ -6170,9 +6219,9 @@ checksum = "6c20b6793b5c2fa6553b250154b78d6d0db37e72700ae35fad9387a46f487c97" [[package]] name = "rust-embed" -version = "8.11.0" +version = "8.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04113cb9355a377d83f06ef1f0a45b8ab8cd7d8b1288160717d66df5c7988d27" +checksum = "e9e7760e252aaba7b09f4be00e36476cf585bdb68a53552ac954cdf504ab4bc9" dependencies = [ "rust-embed-impl", "rust-embed-utils", @@ -6181,24 +6230,25 @@ dependencies = [ [[package]] name = "rust-embed-impl" -version = "8.11.0" +version = "8.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0902e4c7c8e997159ab384e6d0fc91c221375f6894346ae107f47dd0f3ccaa" +checksum = "3bcfc4d6f53af43755f7a723e4b6b8794fcce052a178dd8c6c1dadc5f5343097" dependencies = [ + "mime_guess", "proc-macro2", "quote", "rust-embed-utils", - "syn", + "syn 2.0.119", "walkdir", ] [[package]] name = "rust-embed-utils" -version = "8.11.0" +version = "8.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bcdef0be6fe7f6fa333b1073c949729274b05f123a0ad7efcb8efd878e5c3b1" +checksum = "42ffa149f6aa81b58a5b3011d01a857c4ed12c7a732d2c51947a4c7c692185f0" dependencies = [ - "sha2 0.10.9", + "sha2 0.11.0", "walkdir", ] @@ -6210,9 +6260,9 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] name = "rustc-hash" -version = "2.1.2" +version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe" +checksum = "6b1e7f9a428571be2dc5bc0505c13fb6bf936822b894ec87abf8a08a4e51742d" [[package]] name = "rustc_version" @@ -6229,7 +6279,7 @@ version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "errno", "libc", "linux-raw-sys 0.4.15", @@ -6242,7 +6292,7 @@ version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "errno", "libc", "linux-raw-sys 0.12.1", @@ -6262,9 +6312,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.41" +version = "0.23.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b92b125634d9b795e7beca796cc790df15a7fb38323bf3196fda83292d06b1f" +checksum = "0d41d731c7d2f962d1ccc364cec258de3c0e93b38c2fb3ba97ac74513048d634" dependencies = [ "once_cell", "rustls-pki-types", @@ -6275,18 +6325,18 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.15.0" +version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "764899a24af3980067ee14bc143654f297b22eaebfe3c7b6b211920a5a59b046" +checksum = "2f4925028c7eb5d1fcdaf196971378ed9d2c1c4efc7dc5d011256f76c99c0a96" dependencies = [ "zeroize", ] [[package]] name = "rustls-webpki" -version = "0.103.13" +version = "0.103.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61c429a8649f110dddef65e2a5ad240f747e85f7758a6bccc7e5777bd33f756e" +checksum = "f3c3cf1d8b1e7d4927e2d154c3fcb02979afb9939629c62cd9048d4f07b60ac2" dependencies = [ "ring", "rustls-pki-types", @@ -6295,9 +6345,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.22" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" +checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f" [[package]] name = "rustybuzz" @@ -6305,7 +6355,7 @@ version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fd3c7c96f8a08ee34eff8857b11b49b07d71d1c3f4e88f8a88d4c9e9f90b1702" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "bytemuck", "core_maths", "log", @@ -6355,33 +6405,33 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "sctk-adwaita" -version = "0.11.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dd3accc0f3f4bbaf2c9e1957a030dc582028130c67660d44c0a0345a22ca69b" +checksum = "ea2a4360b9abcdcee43809e6fc11d6d61ca5d25734026a8fc46c2883eea3f13f" dependencies = [ "ab_glyph", "log", "memmap2 0.9.11", "smithay-client-toolkit", - "tiny-skia", + "tiny-skia 0.12.0", ] [[package]] name = "secret-service" -version = "5.1.0" +version = "5.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a62d7f86047af0077255a29494136b9aaaf697c76ff70b8e49cded4e2623c14" +checksum = "5107b24b91445dd2aa449a258a1807b63240942157292354dc5bfdbeb8bc6db8" dependencies = [ - "aes 0.8.4", + "aes", "cbc", "futures-util", - "generic-array", - "getrandom 0.2.17", + "getrandom 0.4.3", "hkdf", + "hybrid-array", "num", "once_cell", "serde", - "sha2 0.10.9", + "sha2 0.11.0", "zbus", ] @@ -6400,7 +6450,7 @@ version = "3.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b7f4bc775c73d9a02cde8bf7b2ec4c9d12743edf609006c7facc23998404cd1d" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "core-foundation 0.10.1", "core-foundation-sys", "libc", @@ -6419,9 +6469,9 @@ dependencies = [ [[package]] name = "self_cell" -version = "1.2.2" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b12e76d157a900eb52e81bc6e9f3069344290341720e9178cde2407113ac8d89" +checksum = "2ab42ca02749e120097e328d91d415325bdf43b1c72c4c8badf37375fe40a813" [[package]] name = "semver" @@ -6431,9 +6481,9 @@ checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd" [[package]] name = "serde" -version = "1.0.228" +version = "1.0.229" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" dependencies = [ "serde_core", "serde_derive", @@ -6441,29 +6491,29 @@ dependencies = [ [[package]] name = "serde_core" -version = "1.0.228" +version = "1.0.229" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.228" +version = "1.0.229" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 3.0.5", ] [[package]] name = "serde_json" -version = "1.0.150" +version = "1.0.151" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8014e44b4736ed0538adeecded0fce2a272f22dc9578a7eb6b2d9993c74cfb9" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" dependencies = [ "indexmap", "itoa", @@ -6475,13 +6525,13 @@ dependencies = [ [[package]] name = "serde_repr" -version = "0.1.20" +version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" +checksum = "8d3b1629de253c70a0508c3899572da79ca359fdab27c7920ff00406df418906" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 3.0.5", ] [[package]] @@ -6503,7 +6553,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aacc4cc499359472b4abe1bf11d0b12e688af9a805fa5e3016f9a386dc2d0214" dependencies = [ "cfg-if", - "cpufeatures 0.3.0", + "cpufeatures 0.3.1", "digest 0.11.3", ] @@ -6525,7 +6575,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "446ba717509524cb3f22f17ecc096f10f4822d76ab5c0b9822c5f9c284e825f4" dependencies = [ "cfg-if", - "cpufeatures 0.3.0", + "cpufeatures 0.3.1", "digest 0.11.3", ] @@ -6572,15 +6622,15 @@ dependencies = [ [[package]] name = "simd-adler32" -version = "0.3.9" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "703d5c7ef118737c72f1af64ad2f6f8c5e1921f818cdcb97b8fe6fc69bf66214" +checksum = "3a219298ac11a56ea9a6d2120044824d6f01aeb034955e7af7bc16858527deea" [[package]] name = "simd_cesu8" -version = "1.1.1" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94f90157bb87cddf702797c5dadfa0be7d266cdf49e22da2fcaa32eff75b2c33" +checksum = "11031e251abf8611c80f460e19dbdeb54a66db918e49c65a7065b46ac7aec520" dependencies = [ "rustc_version", "simdutf8", @@ -6628,12 +6678,12 @@ dependencies = [ [[package]] name = "skrifa" -version = "0.42.1" +version = "0.44.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c34617370ae968efb7161bb2beb517d9084659aae19e24b89e3db25b46e4564" +checksum = "819ab7d62b1d3e72d9d9dea5650bac30424f9111364bb94928dbf5ecad1baa68" dependencies = [ "bytemuck", - "read-fonts 0.39.2", + "read-fonts 0.41.0", ] [[package]] @@ -6653,9 +6703,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.15.2" +version = "1.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90" +checksum = "ba467056f1b547ed52077911161fc86985becbc60e8e1857c8a144dab0def891" [[package]] name = "smithay-client-toolkit" @@ -6663,7 +6713,7 @@ version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0512da38f5e2b31201a93524adb8d3136276fa4fe4aafab4e1f727a82b534cc0" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "bytemuck", "calloop", "calloop-wayland-source", @@ -6673,7 +6723,7 @@ dependencies = [ "memmap2 0.9.11", "pkg-config", "rustix 1.1.4", - "thiserror 2.0.18", + "thiserror 2.0.20", "wayland-backend", "wayland-client", "wayland-csd-frame", @@ -6709,9 +6759,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.6.4" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52d1cfed4120b4d927bf7c0f86d2087a4a7d6027c906d9f9d525a80573b9be51" +checksum = "c3d1e2c7f27f8d4cb10542a02c49005dbd6e93095799d6f3be745fae9f8fedd4" dependencies = [ "libc", "windows-sys 0.61.2", @@ -6728,11 +6778,11 @@ dependencies = [ "fastrand", "foreign-types 0.5.0", "js-sys", + "libredox", "log", "memmap2 0.9.11", "objc", "raw-window-handle", - "redox_syscall 0.5.18", "rustix 0.38.44", "wasm-bindgen", "wayland-backend", @@ -6744,9 +6794,9 @@ dependencies = [ [[package]] name = "spin" -version = "0.9.8" +version = "0.9.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +checksum = "3763264f6b73151db08c50ff20d7d8a0b8796e021cdea7ceedad07b80155fa0e" dependencies = [ "lock_api", ] @@ -6757,7 +6807,7 @@ version = "0.3.0+sdk-1.3.268.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", ] [[package]] @@ -6811,20 +6861,31 @@ dependencies = [ [[package]] name = "swash" -version = "0.2.9" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0811b01ca2c4e8718760713911feaf4675c24f94e50530a015ec646cfb622f7c" +checksum = "6c2499c2d826531388872b2268718aed907a39bd785ab0dcfe57fab26283f92e" dependencies = [ - "skrifa 0.42.1", + "skrifa 0.44.0", "yazi", "zeno", ] [[package]] name = "syn" -version = "2.0.118" +version = "2.0.119" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9ae57f904213ebb649ce6895b8a66c66f0203b9319718f69a5612a065b1422" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12df2e0110f65b775f769bb17ef989067a1d931b2eb822bd4346631eeada89f9" dependencies = [ "proc-macro2", "quote", @@ -6842,9 +6903,9 @@ dependencies = [ [[package]] name = "synchrony" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "416090a4d8f6358526df5f9f65dfe28750b8b7bfd1fd8a5620f483fc4a75722c" +checksum = "f9d6d5fbc4583cf3e5eee953506f13853a42ee6b4a21a983dffffb10c765cb80" dependencies = [ "futures-util", "loom", @@ -6858,7 +6919,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.119", ] [[package]] @@ -6876,7 +6937,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a13f3d0daba03132c0aa9767f98351b3488edc2c100cda2d2ec2b04f3d8d3c8b" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "core-foundation 0.9.4", "system-configuration-sys", ] @@ -6953,11 +7014,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.18" +version = "2.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" +checksum = "ec86235f5fcc2a73650310756d2ac5b138a5780bbbdfae3eeccec992c435ba4f" dependencies = [ - "thiserror-impl 2.0.18", + "thiserror-impl 2.0.20", ] [[package]] @@ -6968,25 +7029,25 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.119", ] [[package]] name = "thiserror-impl" -version = "2.0.18" +version = "2.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" +checksum = "bc04cd3e1236dd4a98afca4569f2deb3f120e5422a4023be2cb683f8486292af" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 3.0.5", ] [[package]] name = "thread_local" -version = "1.1.9" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185" +checksum = "1ad99c4c6d32803332c548b1af0540b357b3f5fc0be8f6c6bfe8b2e6ae784070" dependencies = [ "cfg-if", ] @@ -7007,9 +7068,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.52" +version = "0.3.55" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e48db7b415311b615f910b3dcaa4557bcd4bf1982379c95c223fd8c2a20e210" +checksum = "cdb87b95ec50ddfa440816d227a17b2ccbdda963a316a727fda0fc4334f7d134" dependencies = [ "deranged", "js-sys", @@ -7037,7 +7098,21 @@ dependencies = [ "cfg-if", "log", "png 0.17.16", - "tiny-skia-path", + "tiny-skia-path 0.11.4", +] + +[[package]] +name = "tiny-skia" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47ffee5eaaf5527f630fb0e356b90ebdec84d5d18d937c5e440350f88c5a91ea" +dependencies = [ + "arrayref", + "arrayvec", + "bytemuck", + "cfg-if", + "log", + "tiny-skia-path 0.12.0", ] [[package]] @@ -7052,10 +7127,21 @@ dependencies = [ ] [[package]] -name = "tinystr" -version = "0.8.3" +name = "tiny-skia-path" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8323304221c2a851516f22236c5722a72eaa19749016521d6dff0824447d96d" +checksum = "edca365c3faccca67d06593c5980fa6c57687de727a03131735bb85f01fdeeb9" +dependencies = [ + "arrayref", + "bytemuck", + "strict-num", +] + +[[package]] +name = "tinystr" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1e27c91459209c2986af3dcf603a5a74a4368754ce37414f59acc971167f643" dependencies = [ "displaydoc", "serde_core", @@ -7064,24 +7150,15 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.11.0" +version = "1.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e61e67053d25a4e82c844e8424039d9745781b3fc4f32b8d55ed50f5f667ef3" -dependencies = [ - "tinyvec_macros", -] - -[[package]] -name = "tinyvec_macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" +checksum = "fd3ca314f692efd6c868f8408f53fe444634a845f96c028b97d35f6a1f79f0ee" [[package]] name = "tokio" -version = "1.52.3" +version = "1.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fc7f01b389ac15039e4dc9531aa973a135d7a4135281b12d7c1bc79fd57fffe" +checksum = "202caea871b69668250d242070849eb495be178ed697a3e98aebce5bc81a0bed" dependencies = [ "bytes", "libc", @@ -7096,13 +7173,13 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.7.0" +version = "2.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "385a6cb71ab9ab790c5fe8d67f1645e6c450a7ce006a33de03daa956cf70a496" +checksum = "78773a2a397f451582ce068015985c33193cf6dea8b74d2a639fe457b2f07b0e" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 3.0.5", ] [[package]] @@ -7117,9 +7194,9 @@ dependencies = [ [[package]] name = "tokio-rustls" -version = "0.26.4" +version = "0.26.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61" +checksum = "b0c85f2c3ef0b1cd58b36682f4b17aaa995f0e5db534d85692b4903abce21f67" dependencies = [ "rustls", "tokio", @@ -7127,9 +7204,9 @@ dependencies = [ [[package]] name = "tokio-stream" -version = "0.1.18" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32da49809aab5c3bc678af03902d4ccddea2a87d028d86392a4b1560c6906c70" +checksum = "a3d06f0b082ba57c26b79407372e57cf2a1e28124f78e9479fe80322cf53420b" dependencies = [ "futures-core", "pin-project-lite", @@ -7138,13 +7215,14 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.18" +version = "0.7.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098" +checksum = "494815d09bf52b5548659851081238f0ca39ff638363907596da739561c62c52" dependencies = [ "bytes", "futures-core", "futures-sink", + "libc", "pin-project-lite", "tokio", ] @@ -7169,9 +7247,9 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.25.12+spec-1.1.0" +version = "0.25.15+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2153edc6955a6c354fad8f5efd38b6a8769bdccf9fe50f8e1329f81b0baa5d7" +checksum = "1340ea94a5856333492c9064b02c778b191dd2c853778d9609debdcdfea3a614" dependencies = [ "indexmap", "toml_datetime", @@ -7181,9 +7259,9 @@ dependencies = [ [[package]] name = "toml_parser" -version = "1.1.2+spec-1.1.0" +version = "1.1.3+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2abe9b86193656635d2411dc43050282ca48aa31c2451210f4202550afb7526" +checksum = "1d38ac1cf9b95face32296c0a3ede1fdc270627c9d9c02a7274dd6d960dc4d56" dependencies = [ "winnow", ] @@ -7209,7 +7287,7 @@ version = "0.6.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4cfcf7e2740e6fc6d4d688b4ef00650406bb94adf4731e43c096c3a19fe40840" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "bytes", "futures-util", "http", @@ -7253,7 +7331,7 @@ checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.119", ] [[package]] @@ -7297,9 +7375,9 @@ dependencies = [ [[package]] name = "trash" -version = "5.2.6" +version = "5.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7602e0c7d66ec2d92a8c917219fbc7894039efa2063b9064260110828a356f46" +checksum = "be89b3fe156965d29ac4f8522f3a640c655affdd9f21cb4f36857f0c92c00317" dependencies = [ "chrono", "libc", @@ -7310,7 +7388,7 @@ dependencies = [ "percent-encoding", "scopeguard", "urlencoding", - "windows 0.56.0", + "windows 0.62.2", ] [[package]] @@ -7334,7 +7412,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb30dbbd9036155e74adad6812e9898d03ec374946234fbcebd5dfc7b9187b90" dependencies = [ - "rustc-hash 2.1.2", + "rustc-hash 2.1.3", ] [[package]] @@ -7491,7 +7569,7 @@ version = "0.45.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "80be9b06fbae3b8b303400ab20778c80bbaf338f563afe567cf3c9eea17b47ef" dependencies = [ - "base64", + "base64 0.22.1", "data-url", "flate2", "fontdb", @@ -7505,7 +7583,7 @@ dependencies = [ "siphasher", "strict-num", "svgtypes", - "tiny-skia-path", + "tiny-skia-path 0.11.4", "unicode-bidi", "unicode-script", "unicode-vo", @@ -7526,9 +7604,9 @@ checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" [[package]] name = "uuid" -version = "1.23.4" +version = "1.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf80a72845275afea99e7f2b434723d3bc7e38470fcd1c7ed39a599c73319a53" +checksum = "2ef6dac1e96601b4fb3acccccff2139741fcb757cb9a36089bf5be91cfb285ce" dependencies = [ "js-sys", "serde_core", @@ -7581,7 +7659,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a5924018406ce0063cd67f8e008104968b74b563ee1b85dde3ed1f7cb87d3dbd" dependencies = [ "arrayvec", - "bitflags 2.13.0", + "bitflags 2.13.2", "cursor-icon", "log", "memchr", @@ -7624,9 +7702,9 @@ dependencies = [ [[package]] name = "wasm-bindgen" -version = "0.2.126" +version = "0.2.128" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b067c0c11094aef6b7a801c1e34a26affafdf3d051dba08456b868789aaf9a4" +checksum = "aecb87a33d3b0c5e3b7aa46336eaf486cffafbd281b195e4c8b80d50df2351bf" dependencies = [ "cfg-if", "once_cell", @@ -7637,9 +7715,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.76" +version = "0.4.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c62df1340f32221cb9c54d6a27b030e3dba64361d4a95bed55f9aacb44da291d" +checksum = "6ef4c5d3d2cdf5c54f4231181768f5510842e350db025faf1f7163b1030ed928" dependencies = [ "js-sys", "wasm-bindgen", @@ -7647,9 +7725,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.126" +version = "0.2.128" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "167ce5e579f6bcf889c4f7175a8a5a585de84e8ff93976ce393efa5f2837aab1" +checksum = "a690d511e3c1a8b3a55e33511e3c2c00c78415cd23650f32b808627f5696b9ed" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -7657,22 +7735,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.126" +version = "0.2.128" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3997c7839262f4ef12cf90b818d6340c18e80f263f1a94bf157d0ec4420380e" +checksum = "411e4887f0071ef2d2164a9d5fdf2d20efbef78fccd3a78b0c10a1dc5295e48a" dependencies = [ "bumpalo", "proc-macro2", "quote", - "syn", + "syn 3.0.5", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.126" +version = "0.2.128" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc1b4cb0cc549fcf58d7dfc081778139b3d283a081644e833e84682ad71cea24" +checksum = "81941cd78d0c92026c33e5e01312845a4cb1e9af3407f9134b100dd03144103e" dependencies = [ "unicode-ident", ] @@ -7706,9 +7784,9 @@ dependencies = [ [[package]] name = "wayland-backend" -version = "0.3.15" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2857dd20b54e916ec7253b3d6b4d5c4d7d4ca2c33c2e11c6c76a99bd8744755d" +checksum = "38a91b4eaddff87b1cd1074985e3713da4af2c49742d1b356b2c01670a67a078" dependencies = [ "cc", "downcast-rs", @@ -7720,11 +7798,11 @@ dependencies = [ [[package]] name = "wayland-client" -version = "0.31.14" +version = "0.31.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645c7c96bb74690c3189b5c9cb4ca1627062bb23693a4fad9d8c3de958260144" +checksum = "e3c36a0f861ad76d0901f2800b46321410d9f73f2ea88aac0650d86c32688073" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "rustix 1.1.4", "wayland-backend", "wayland-scanner", @@ -7736,7 +7814,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "cursor-icon", "wayland-backend", ] @@ -7758,7 +7836,7 @@ version = "0.32.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23d0c813de3daa2ed6520af85a3bd49b0e722a3078506899aa9686fea58dc4b6" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "wayland-backend", "wayland-client", "wayland-scanner", @@ -7771,7 +7849,7 @@ version = "20250721.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "40a1f863128dcaaec790d7b4b396cc9b9a7a079e878e18c47e6c2d2c5a8dcbb1" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "wayland-backend", "wayland-client", "wayland-protocols", @@ -7784,7 +7862,7 @@ version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e9567599ef23e09b8dad6e429e5738d4509dfc46b3b21f32841a304d16b29c8" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "wayland-backend", "wayland-client", "wayland-protocols", @@ -7797,7 +7875,7 @@ version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b6d8cf1eb2c1c31ed1f5643c88a6e53538129d4af80030c8cabd1f9fa884d91" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "wayland-backend", "wayland-client", "wayland-protocols", @@ -7810,7 +7888,7 @@ version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eb04e52f7836d7c7976c78ca0250d61e33873c34156a2a1fc9474828ec268234" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "wayland-backend", "wayland-client", "wayland-protocols", @@ -7820,22 +7898,22 @@ dependencies = [ [[package]] name = "wayland-scanner" -version = "0.31.10" +version = "0.31.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c324a910fd86ebdc364a3e61ec1f11737d3b1d6c273c0239ee8ff4bc0d24b4a" +checksum = "338e30461b3a2b67d70eb30a6d89f8e0c93a833e07d2ae89085cd070c4a00ac0" dependencies = [ "proc-macro2", - "quick-xml 0.39.4", + "quick-xml 0.41.0", "quote", ] [[package]] name = "wayland-server" -version = "0.31.13" +version = "0.31.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc1846eb04c49182e04f4a099e2a830a2b745610bbc1d61246e206f29c7000a0" +checksum = "0dde9c29be0f723a573977de51ee455bf3dfa03652730a74f9dd3b337e374d75" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "downcast-rs", "rustix 1.1.4", "wayland-backend", @@ -7856,9 +7934,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.103" +version = "0.3.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8622dcb61c0bcc9fffa6938bed81210af2da9a7e4a1a834b2e37a59b6dfb6141" +checksum = "9fbddc4a036f00ec4f18c83445bd3115cb306a91da554919a099d9222fe4a7f8" dependencies = [ "js-sys", "wasm-bindgen", @@ -7887,7 +7965,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9cb534d5ffd109c7d1135f34cdae29e60eab94855a625dcfe1705f8bc7ad79f" dependencies = [ "arrayvec", - "bitflags 2.13.0", + "bitflags 2.13.2", "bytemuck", "cfg-if", "cfg_aliases", @@ -7919,7 +7997,7 @@ dependencies = [ "arrayvec", "bit-set", "bit-vec", - "bitflags 2.13.0", + "bitflags 2.13.2", "bytemuck", "cfg_aliases", "document-features", @@ -7934,7 +8012,7 @@ dependencies = [ "raw-window-handle", "rustc-hash 1.1.0", "smallvec", - "thiserror 2.0.18", + "thiserror 2.0.20", "wgpu-core-deps-apple", "wgpu-core-deps-emscripten", "wgpu-core-deps-windows-linux-android", @@ -7979,7 +8057,7 @@ dependencies = [ "arrayvec", "ash", "bit-set", - "bitflags 2.13.0", + "bitflags 2.13.2", "block", "bytemuck", "cfg-if", @@ -8009,7 +8087,7 @@ dependencies = [ "raw-window-handle", "renderdoc-sys", "smallvec", - "thiserror 2.0.18", + "thiserror 2.0.20", "wasm-bindgen", "web-sys", "wgpu-types", @@ -8023,7 +8101,7 @@ version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e18308757e594ed2cd27dddbb16a139c42a683819d32a2e0b1b0167552f5840c" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "bytemuck", "js-sys", "log", @@ -8080,16 +8158,6 @@ dependencies = [ "thiserror 1.0.69", ] -[[package]] -name = "windows" -version = "0.56.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1de69df01bdf1ead2f4ac895dc77c9351aefff65b2f3db429a343f9cbf05e132" -dependencies = [ - "windows-core 0.56.0", - "windows-targets 0.52.6", -] - [[package]] name = "windows" version = "0.61.3" @@ -8133,26 +8201,14 @@ dependencies = [ "windows-core 0.62.2", ] -[[package]] -name = "windows-core" -version = "0.56.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4698e52ed2d08f8658ab0c39512a7c00ee5fe2688c65f8c0a4f06750d729f2a6" -dependencies = [ - "windows-implement 0.56.0", - "windows-interface 0.56.0", - "windows-result 0.1.2", - "windows-targets 0.52.6", -] - [[package]] name = "windows-core" version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" dependencies = [ - "windows-implement 0.60.2", - "windows-interface 0.59.3", + "windows-implement", + "windows-interface", "windows-link 0.1.3", "windows-result 0.3.4", "windows-strings 0.4.2", @@ -8164,8 +8220,8 @@ version = "0.62.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" dependencies = [ - "windows-implement 0.60.2", - "windows-interface 0.59.3", + "windows-implement", + "windows-interface", "windows-link 0.2.1", "windows-result 0.4.1", "windows-strings 0.5.1", @@ -8193,17 +8249,6 @@ dependencies = [ "windows-threading 0.2.1", ] -[[package]] -name = "windows-implement" -version = "0.56.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6fc35f58ecd95a9b71c4f2329b911016e6bec66b3f2e6a4aad86bd2e99e2f9b" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "windows-implement" version = "0.60.2" @@ -8212,18 +8257,7 @@ checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" dependencies = [ "proc-macro2", "quote", - "syn", -] - -[[package]] -name = "windows-interface" -version = "0.56.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08990546bf4edef8f431fa6326e032865f27138718c587dc21bc0265bbcb57cc" -dependencies = [ - "proc-macro2", - "quote", - "syn", + "syn 2.0.119", ] [[package]] @@ -8234,7 +8268,7 @@ checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.119", ] [[package]] @@ -8280,15 +8314,6 @@ dependencies = [ "windows-strings 0.5.1", ] -[[package]] -name = "windows-result" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" -dependencies = [ - "windows-targets 0.52.6", -] - [[package]] name = "windows-result" version = "0.3.4" @@ -8578,7 +8603,7 @@ checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" name = "winit" version = "0.31.0-beta.2" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "cfg_aliases", "cursor-icon", "dpi", @@ -8603,7 +8628,7 @@ name = "winit-android" version = "0.31.0-beta.2" dependencies = [ "android-activity", - "bitflags 2.13.0", + "bitflags 2.13.2", "dpi", "ndk", "raw-window-handle", @@ -8616,7 +8641,7 @@ dependencies = [ name = "winit-appkit" version = "0.31.0-beta.2" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "block2 0.6.2", "dispatch2", "dpi", @@ -8650,7 +8675,7 @@ dependencies = [ name = "winit-core" version = "0.31.0-beta.2" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "cursor-icon", "dpi", "keyboard-types", @@ -8663,7 +8688,7 @@ dependencies = [ name = "winit-orbital" version = "0.31.0-beta.2" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "dpi", "libredox", "orbclient", @@ -8678,7 +8703,7 @@ dependencies = [ name = "winit-uikit" version = "0.31.0-beta.2" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "block2 0.6.2", "dispatch2", "dpi", @@ -8698,7 +8723,7 @@ name = "winit-wayland" version = "0.31.0-beta.2" dependencies = [ "ahash", - "bitflags 2.13.0", + "bitflags 2.13.2", "calloop", "cursor-icon", "dpi", @@ -8723,7 +8748,7 @@ name = "winit-web" version = "0.31.0-beta.2" dependencies = [ "atomic-waker", - "bitflags 2.13.0", + "bitflags 2.13.2", "concurrent-queue", "cursor-icon", "dpi", @@ -8743,7 +8768,7 @@ dependencies = [ name = "winit-win32" version = "0.31.0-beta.2" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "cursor-icon", "dpi", "raw-window-handle", @@ -8756,9 +8781,9 @@ dependencies = [ [[package]] name = "winnow" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0592e1c9d151f854e6fd382574c3a0855250e1d9b2f99d9281c6e6391af352f1" +checksum = "23b97319f7b8343df12cc98938e5c3eb436064524c8d2b4e30a1d3a36eecdf81" dependencies = [ "memchr", ] @@ -8777,9 +8802,9 @@ checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" [[package]] name = "writeable" -version = "0.6.3" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ffae5123b2d3fc086436f8834ae3ab053a283cfac8fe0a0b8eaae044768a4c4" +checksum = "3ad82d2a33cdc9674dc7465672f271e096168fcdbe0f799d9e6db8c5892679dc" dependencies = [ "either", ] @@ -8796,9 +8821,9 @@ dependencies = [ [[package]] name = "xcursor" -version = "0.3.10" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bec9e4a500ca8864c5b47b8b482a73d62e4237670e5b5f1d6b9e3cae50f28f2b" +checksum = "163b33ed8786455e2fa5d72f554057ce3f3182425434f756cd39c99839d88e23" [[package]] name = "xdg" @@ -8858,7 +8883,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.2", "dlib", "log", "once_cell", @@ -8876,15 +8901,15 @@ dependencies = [ [[package]] name = "xml" -version = "1.3.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "636f85e5ca6488e96401b61eb7de54f4e44755c988af0f52cf90230c312a1a89" +checksum = "2f45bb2c13fec6a6cb4c0f76a7e94839e110a14ec803ec2940777a94c347bc52" [[package]] name = "xml-rs" -version = "0.8.28" +version = "0.8.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ae8337f8a065cfc972643663ea4279e04e7256de865aa66fe25cec5fb912d3f" +checksum = "e450f9b2ed1dff33c94c12589a87338689467b9c4f5d8a5710bd09a847d2c8a7" [[package]] name = "xmltree" @@ -8938,15 +8963,15 @@ checksum = "de844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858e" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.119", "synstructure", ] [[package]] name = "zbus" -version = "5.16.0" +version = "5.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eee682d202a77e4a9f3b2c2bdf48a7b28af5c08c34ddf66f98c93e5e39464285" +checksum = "5db4be7c075cb421e4b7ee645541604239bd243ba7c357511f4ff3a74b555907" dependencies = [ "async-broadcast", "async-executor", @@ -8996,7 +9021,7 @@ checksum = "10da05367f3a7b7553c8cdf8fa91aee6b64afebe32b51c95177957efc47ca3a0" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.119", "zbus-lockstep", "zbus_xml", "zvariant", @@ -9004,14 +9029,14 @@ dependencies = [ [[package]] name = "zbus_macros" -version = "5.16.0" +version = "5.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adf1bd45a81a103745b1757754762a26e8cd01e4532e4d6c8ec431624b80d1d6" +checksum = "2990635d09ade6df1868f72f8cac69a876a90981e8bd3c40b1be413f8dc88f40" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn", + "syn 3.0.5", "zbus_names", "zvariant", "zvariant_utils", @@ -9019,9 +9044,9 @@ dependencies = [ [[package]] name = "zbus_names" -version = "4.3.2" +version = "4.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7074f3e50b894eac91750142016d30d0a89be8e67dbfd9704fb875825760e52d" +checksum = "d8bf88b4a3ff53e883001e0e0115b297a9d53c31b9c1edd2bfdd853e3428624e" dependencies = [ "serde", "winnow", @@ -9030,16 +9055,25 @@ dependencies = [ [[package]] name = "zbus_xml" -version = "5.1.1" +version = "5.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8067892e940ed1727dea64690378601603b31d62dfde019a5335fbb7c0e0ed9" +checksum = "d1586c021a01ca0a9216dcd874e546382e156a5cbab5fab6cb5f10087e22682a" dependencies = [ - "quick-xml 0.39.4", "serde", + "winnow", "zbus_names", "zvariant", ] +[[package]] +name = "zcheapstr" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1afec51604565183aeb5c54c20aeab286120d4e4460f7f76e3e8bb8c0d99473" +dependencies = [ + "serde", +] + [[package]] name = "zeno" version = "0.3.3" @@ -9048,22 +9082,22 @@ checksum = "6df3dc4292935e51816d896edcd52aa30bc297907c26167fec31e2b0c6a32524" [[package]] name = "zerocopy" -version = "0.8.52" +version = "0.8.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce1022995ff5ff5d841ad7d994facc23098cd40152f2c1d11cd607c6f530653f" +checksum = "d35102a9f36d089ccae9e4c6802bc118be4487b80aaffc0ab4e0cf5ce92d2873" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.52" +version = "0.8.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ae7f38b72ec2a254e2b87ef277cf2cd4fb97cbebf944faa6f33354da0867930" +checksum = "146c01f5ab44258da43cf276c74a2763db2ff3969c9c652c3f2de07041d0b2bc" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.119", ] [[package]] @@ -9083,7 +9117,7 @@ checksum = "11532158c46691caf0f2593ea8358fed6bbf68a0315e80aae9bd41fbade684a1" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.119", "synstructure", ] @@ -9095,9 +9129,9 @@ checksum = "e13c156562582aa81c60cb29407084cdb54c4164760106ab78e6c5b0858cf64e" [[package]] name = "zerotrie" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f9152d31db0792fa83f70fb2f83148effb5c1f5b8c7686c3459e361d9bc20bf" +checksum = "4ea269c3bd32f0a32c321907a2ae912ba6f4649bb0fc764a15627e99a7095a3f" dependencies = [ "displaydoc", "yoke", @@ -9107,9 +9141,9 @@ dependencies = [ [[package]] name = "zerovec" -version = "0.11.6" +version = "0.11.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90f911cbc359ab6af17377d242225f4d75119aec87ea711a880987b18cd7b239" +checksum = "bb0464e17806c1d976d5cba29399c7f08e516e279e2ba493f63123b5fca67dd8" dependencies = [ "serde", "yoke", @@ -9119,13 +9153,13 @@ dependencies = [ [[package]] name = "zerovec-derive" -version = "0.11.3" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "625dc425cab0dca6dc3c3319506e6593dcb08a9f387ea3b284dbd52a92c40555" +checksum = "34df6fc39dbd26ddc9c10e6a2984476e13acce22e64e4487636ef494369225da" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 3.0.5", ] [[package]] @@ -9134,14 +9168,14 @@ version = "8.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2d04a6b5381502aa6087c94c669499eb1602eb9c5e8198e534de571f7154809b" dependencies = [ - "aes 0.9.1", + "aes", "bzip2", "constant_time_eq", "crc32fast", "deflate64", "flate2", "getrandom 0.4.3", - "hmac 0.13.0", + "hmac", "indexmap", "lzma-rust2", "memchr", @@ -9157,15 +9191,15 @@ dependencies = [ [[package]] name = "zlib-rs" -version = "0.6.4" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "977347db8caa080403f6b6b7c1cda9479a8e869316f7e13a59b19076a40f94e3" +checksum = "b268e58e7c693d7c271f93ffc4ba3b380412554231c85bf61ca7af91042a4112" [[package]] name = "zmij" -version = "1.0.21" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" [[package]] name = "zopfli" @@ -9190,18 +9224,18 @@ dependencies = [ [[package]] name = "zstd-safe" -version = "7.2.4" +version = "7.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f49c4d5f0abb602a93fb8736af2a4f4dd9512e36f7f570d66e65ff867ed3b9d" +checksum = "64d80649ab6db9d9f6f9c80a40becd948eda4714a0a5ac8c4d157a32231c7882" dependencies = [ "zstd-sys", ] [[package]] name = "zstd-sys" -version = "2.0.16+zstd.1.5.7" +version = "2.1.0+zstd.1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e19ebc2adc8f83e43039e79776e3fda8ca919132d68a1fed6a5faca2683748" +checksum = "0ef0a8027ec3ee71300ab3bcbcd0393f434aa72b91ca6d635a39941deae8eea0" dependencies = [ "cc", "pkg-config", @@ -9215,9 +9249,9 @@ checksum = "3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a" [[package]] name = "zune-core" -version = "0.5.1" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb8a0807f7c01457d0379ba880ba6322660448ddebc890ce29bb64da71fb40f9" +checksum = "d56377fd46368984a170bc5aac5567e52ca5da874caa60bea39fcbca78fb658b" [[package]] name = "zune-inflate" @@ -9243,47 +9277,48 @@ version = "0.5.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "27bc9d5b815bc103f142aa054f561d9187d191692ec7c2d1e2b4737f8dbd7296" dependencies = [ - "zune-core 0.5.1", + "zune-core 0.5.3", ] [[package]] name = "zvariant" -version = "5.12.0" +version = "5.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a192a0bde63360d77a7523c833d4b4ce6070a927e2c53246e4c540b1a3e27be0" +checksum = "c1d34c27cc6cdd1f458427519dd6b8612f7b7e3f7b9a0b2355d041dda9869147" dependencies = [ "endi", "enumflags2", "serde", "url", "winnow", + "zcheapstr", "zvariant_derive", "zvariant_utils", ] [[package]] name = "zvariant_derive" -version = "5.12.0" +version = "5.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bc6cde9c01c511074be97f7ccb6c19d0da89e3f8662e812e999dcfd4638737" +checksum = "864155e69b4352db0c7f374917bf45d1e0c8d17659c8b3dbf9795f3673f8c497" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn", + "syn 3.0.5", "zvariant_utils", ] [[package]] name = "zvariant_utils" -version = "3.4.0" +version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e8535915cfa75547e559d8c68e8139909a4aeee076831e4ef7fc59d8172c4d6" +checksum = "bad0294361a320b694a328460dc73add56c306150f5cb6bfafc44446120008a3" dependencies = [ "proc-macro2", "quote", "serde", - "syn", + "syn 3.0.5", "winnow", ] diff --git a/Cargo.toml b/Cargo.toml index b5147a3..b796364 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,10 +1,10 @@ [package] name = "cosmic-term" -version = "1.3.0" +version = "1.9.0" authors = ["Jeremy Soller "] edition = "2024" license = "GPL-3.0-only" -rust-version = "1.90" +rust-version = "1.93" [dependencies] alacritty_terminal = "0.25.1" @@ -51,7 +51,14 @@ package = "libcosmic-yoda" path = "../libcosmic" default-features = false #TODO: a11y feature crashes file chooser dialog -features = ["about", "autosize", "multi-window", "tokio", "winit", "surface-message"] +features = [ + "about", + "autosize", + "multi-window", + "tokio", + "winit", + "surface-message", +] [target.'cfg(unix)'.dependencies] fork = "0.4" diff --git a/debian/changelog b/debian/changelog index 35524cc..0da2a95 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,45 @@ +cosmic-term (1.9.0) noble; urgency=medium + + * Epoch 1.9.0 version update + + -- Michael Murphy Mon, 14 Sep 2026 19:50:47 +0200 + +cosmic-term (1.8.0) noble; urgency=medium + + * Epoch 1.8.0 version update + + -- Jeremy Soller Wed, 02 Sep 2026 08:15:55 -0600 + +cosmic-term (1.7.0) noble; urgency=medium + + * Epoch 1.7.0 version update + + -- Jeremy Soller Tue, 25 Aug 2026 09:21:20 -0600 + +cosmic-term (1.6.0) noble; urgency=medium + + * Epoch 1.6.0 version update + + -- Jeremy Soller Tue, 18 Aug 2026 07:15:01 -0600 + +cosmic-term (1.5.0) noble; urgency=medium + + * Epoch 1.5.0 version update + + -- Jeremy Soller Tue, 28 Jul 2026 09:15:04 -0600 + +cosmic-term (1.4.0) noble; urgency=medium + + * Epoch 1.4.0 version update + + -- Jeremy Soller Mon, 20 Jul 2026 14:36:58 -0600 + +cosmic-term (1.3.0) noble; urgency=medium + + * Epoch 1.3.0 version update + + -- Jeremy Soller Sun, 12 Jul 2026 13:22:28 -0600 + cosmic-term (1.2.0) noble; urgency=medium * Epoch 1.2.0 version update diff --git a/debian/source/options b/debian/source/options index 5d4ff73..2f8c4a1 100644 --- a/debian/source/options +++ b/debian/source/options @@ -1,4 +1,6 @@ tar-ignore=.github -tar-ignore=.vscode +tar-ignore=target/.rustc_info.json +tar-ignore=target/CACHEDIR.TAG +tar-ignore=target/debug +tar-ignore=target/release tar-ignore=vendor -tar-ignore=target \ No newline at end of file diff --git a/i18n/ar/cosmic_term.ftl b/i18n/ar/cosmic_term.ftl index 4ce536a..f30315b 100644 --- a/i18n/ar/cosmic_term.ftl +++ b/i18n/ar/cosmic_term.ftl @@ -41,7 +41,7 @@ settings = الإعدادات ### Appearance appearance = المظهر -theme = النسق +theme = السمة match-desktop = طابق سطح المكتب dark = داكن light = فاتح @@ -88,7 +88,7 @@ new-window = نافذة جديدة profile = ملف التعريف menu-profiles = ملفات التعريف... close-tab = أغلق اللسان -quit = أنهِ +quit = إنهِ ## Edit diff --git a/i18n/ca/cosmic_term.ftl b/i18n/ca/cosmic_term.ftl index 2b32132..97b63ea 100644 --- a/i18n/ca/cosmic_term.ftl +++ b/i18n/ca/cosmic_term.ftl @@ -1,3 +1,6 @@ cancel = Cancel·lar settings = Configuració quit = Surt +delete = Suprimeix +rename = Canvia el nom +name = Nom diff --git a/i18n/cs/cosmic_term.ftl b/i18n/cs/cosmic_term.ftl index 93d357d..89aa747 100644 --- a/i18n/cs/cosmic_term.ftl +++ b/i18n/cs/cosmic_term.ftl @@ -38,15 +38,15 @@ advanced-font-settings = Pokročilá nastavení písma default-font = Písmo default-font-size = Velikost písma default-font-stretch = Šířka písma -default-font-weight = Normální tloušťka písma -default-dim-font-weight = Tenká tloušťka písma -default-bold-font-weight = Tučná tloušťka písma +default-font-weight = Tloušťka normálního písma +default-dim-font-weight = Tloušťka zeslabeného písma +default-bold-font-weight = Tloušťka tučného písma use-bright-bold = Světlejší tučný text splits = Rozdělení focus-follow-mouse = Zaměření psaní sleduje myš advanced = Pokročilé show-headerbar = Zobrazit hlavičku -show-header-description = Hlavičku je možné odkrýt z kontextového menu +show-header-description = Hlavičku lze odkrýt z nabídky zobrazené po kliknutí pravým tlačítkem myši find-placeholder = Najít... find-previous = Najít předchozí find-next = Najít další @@ -109,3 +109,4 @@ paste-primary = Vložit primární copy-link = Kopírovat odkaz tab-new-inherit-working-directory = Nové karty a okna používají aktuální adresář tab-new-inherit-working-directory-description = Otevírat nové karty a okna v pracovním adresáři aktivní karty +show-pane-borders = Zobrazit ohraničení panelu diff --git a/i18n/da/cosmic_term.ftl b/i18n/da/cosmic_term.ftl index e69de29..acd6e6c 100644 --- a/i18n/da/cosmic_term.ftl +++ b/i18n/da/cosmic_term.ftl @@ -0,0 +1,31 @@ +rename = Omdøb +delete = Slet +name = Navn +cancel = Afbryd +quit = Afslut +find-next = Find næste +select-all = Vælg alle +new-window = Nyt vindue +edit = Redigér +copy = Kopiér +theme = Tema +appearance = Udseende +light = Lyst +repository = Pakkearkiv +paste = Indsæt +menu-settings = Indstillinger... +view = Vis +dark = Mørkt +match-desktop = Følg skrivebordets indstillinger +find-previous = Find forrige +find-placeholder = Find... +default-zoom-step = Zoom-trin +file = Fil +find = Find +support = Support +settings = Indstillinger +keyboard-shortcuts = Tastaturgenveje +menu-keyboard-shortcuts = Tastaturgenveje… +replace = Erstat +close-tab = Luk fane +new-tab = Ny fane diff --git a/i18n/de/cosmic_term.ftl b/i18n/de/cosmic_term.ftl index 247c08f..21d29da 100644 --- a/i18n/de/cosmic_term.ftl +++ b/i18n/de/cosmic_term.ftl @@ -69,7 +69,7 @@ advanced = Erweitert show-headerbar = Kopfzeile anzeigen show-header-description = Kopfzeile über das Rechtsklick-Menü aufzeigen # Suchen -find-placeholder = Suchen... +find-placeholder = Suchen ... find-previous = Vorherigen suchen find-next = Nächsten suchen @@ -82,7 +82,7 @@ file = Datei new-tab = Neuer Tab new-window = Neues Fenster profile = Profil -menu-profiles = Profile... +menu-profiles = Profile ... close-tab = Tab schließen quit = Beenden @@ -106,14 +106,14 @@ previous-tab = Vorheriger Tab split-horizontal = Horizontal teilen split-vertical = Vertikal teilen pane-toggle-maximize = Maximierung umschalten -menu-color-schemes = Farbschemen... -menu-settings = Einstellungen... -menu-about = Über COSMIC Terminal... -repository = Repository +menu-color-schemes = Farbschemen ... +menu-settings = Einstellungen ... +menu-about = Über COSMIC Terminal ... +repository = Repositorium cancel = Abbrechen keyboard-shortcuts = Tastenkombinationen open-link = Link öffnen -menu-password-manager = Passwörter... +menu-password-manager = Passwörter ... passwords-title = Passwörter add-password = Passwort hinzufügen password-input = Passwort @@ -124,7 +124,7 @@ focus-pane-down = Bereich unten fokussieren focus-pane-left = Bereich links fokussieren focus-pane-right = Bereich rechts fokussieren focus-pane-up = Bereich oben fokussieren -menu-keyboard-shortcuts = Tastenkombinationen... +menu-keyboard-shortcuts = Tastenkombinationen ... no-shortcuts = Keine Tastenkombinationen password-manager = Passwortmanager replace = Ersetzen @@ -137,7 +137,7 @@ shortcut-group-window = Fenster shortcut-replace-title = Tastenkombination ersetzen? tab-activate = Tab { $number } aktivieren copy-link = Link kopieren -type-to-search = Zum Suchen tippen... +type-to-search = Zum Suchen tippen ... close-window = Fenster schließen copy-or-sigint = Kopieren oder SIGINT toggle-fullscreen = Vollbild umschalten @@ -149,3 +149,4 @@ shortcut-replace-body = { $binding } ist bereits { $existing } zugeordnet. Durch keywords = Befehl;Shell;Terminal;CLI; tab-new-inherit-working-directory = Neue Tabs und Fenster verwenden das aktuelle Verzeichnis tab-new-inherit-working-directory-description = Neue Tabs und Fenster im Arbeitsverzeichnis des aktiven Tabs öffnen +show-pane-borders = Bereichsrahmen anzeigen diff --git a/i18n/el/cosmic_term.ftl b/i18n/el/cosmic_term.ftl index aea4409..1511a5d 100644 --- a/i18n/el/cosmic_term.ftl +++ b/i18n/el/cosmic_term.ftl @@ -87,7 +87,7 @@ new-window = Νέο παράθυρο profile = Προφίλ menu-profiles = Προφίλ... close-tab = Κλείσιμο καρτέλας -quit = Έξοδος +quit = Τερματισμός ## Edit @@ -152,3 +152,4 @@ shortcut-group-zoom = Ζουμ shortcut-replace-body = Ο συνδυασμός { $binding } έχει ήδη αντιστοιχιστεί στην ενέργεια «{ $existing }». Θέλετε να αντικατασταθεί με την ενέργεια «{ $new_action }»; tab-new-inherit-working-directory = Οι νέες καρτέλες και παράθυρα χρησιμοποιούν τον τρέχοντα κατάλογο tab-new-inherit-working-directory-description = Άνοιγμα νέων καρτελών και παραθύρων στον τρέχοντα κατάλογο της ενεργής καρτέλας +show-pane-borders = Εμφάνιση περιγραμμάτων πλαισίων diff --git a/i18n/en-GB/cosmic_term.ftl b/i18n/en-GB/cosmic_term.ftl index b92626f..5714c25 100644 --- a/i18n/en-GB/cosmic_term.ftl +++ b/i18n/en-GB/cosmic_term.ftl @@ -111,3 +111,7 @@ menu-settings = Settings... menu-about = About COSMIC Terminal... repository = Repository support = Support +cancel = Cancel +keyboard-shortcuts = Keyboard shortcuts +replace = Replace +menu-keyboard-shortcuts = Keyboard shortcuts... diff --git a/i18n/en/cosmic_term.ftl b/i18n/en/cosmic_term.ftl index 93d5e71..2ff6c3c 100644 --- a/i18n/en/cosmic_term.ftl +++ b/i18n/en/cosmic_term.ftl @@ -58,10 +58,12 @@ use-bright-bold = Make bold text brighter ### Splits splits = Splits focus-follow-mouse = Typing focus follows mouse +show-pane-borders = Show pane borders ### Advanced advanced = Advanced show-headerbar = Show header +window-header = Window header show-header-description = Reveal the header from the right-click menu tab-new-inherit-working-directory = New tabs and windows use current directory tab-new-inherit-working-directory-description = Open new tabs and windows in the active tab's working directory @@ -151,7 +153,7 @@ next-tab = Next tab previous-tab = Previous tab split-horizontal = Split horizontal split-vertical = Split vertical -pane-toggle-maximize = Toggle maximized +pane-toggle-maximize = Maximize or restore pane menu-color-schemes = Color schemes... menu-settings = Settings... menu-about = About COSMIC Terminal... diff --git a/i18n/fa/cosmic_term.ftl b/i18n/fa/cosmic_term.ftl index e69de29..d268934 100644 --- a/i18n/fa/cosmic_term.ftl +++ b/i18n/fa/cosmic_term.ftl @@ -0,0 +1,5 @@ +name = نام +cancel = لغو +quit = خروج +rename = تغییر نام +delete = حذف diff --git a/i18n/fi/cosmic_term.ftl b/i18n/fi/cosmic_term.ftl index 9eda973..0686f39 100644 --- a/i18n/fi/cosmic_term.ftl +++ b/i18n/fi/cosmic_term.ftl @@ -38,7 +38,7 @@ settings = Asetukset appearance = Ulkoasu theme = Teema -match-desktop = Sovita työpöytään +match-desktop = Sama kuin työpöytä dark = Tumma light = Vaalea syntax-dark = Tumma väriteema @@ -151,3 +151,4 @@ toggle-fullscreen = Koko näyttö päällä tai pois shortcut-group-other = Muut tab-new-inherit-working-directory = Uudet välilehdet käyttävät nykyistä hakemistoa tab-new-inherit-working-directory-description = Avaa uudet välilehdet aktiivisen välilehden työskentelyhakemistossa +show-pane-borders = Näytä paneelin rajat diff --git a/i18n/fil/cosmic_term.ftl b/i18n/fil/cosmic_term.ftl new file mode 100644 index 0000000..e69de29 diff --git a/i18n/fr/cosmic_term.ftl b/i18n/fr/cosmic_term.ftl index 992b18e..834c800 100644 --- a/i18n/fr/cosmic_term.ftl +++ b/i18n/fr/cosmic_term.ftl @@ -168,3 +168,4 @@ comment = Émulateur de terminal pour le bureau COSMIC keywords = Commande;Shell;Terminal;CLI; tab-new-inherit-working-directory = Les nouveaux onglets et fenêtres utilisent le répertoire actuel tab-new-inherit-working-directory-description = Ouvrir les nouveaux onglets et fenêtres dans le répertoire de travail de l'onglet actif +show-pane-borders = Afficher les bordures des panneaux diff --git a/i18n/ga/cosmic_term.ftl b/i18n/ga/cosmic_term.ftl index 27035e1..03f37ce 100644 --- a/i18n/ga/cosmic_term.ftl +++ b/i18n/ga/cosmic_term.ftl @@ -147,5 +147,5 @@ type-to-search = Clóscríobh le cuardach a dhéanamh... comment = Aithriseoir teirminéal don deasc COSMIC keywords = Ordú;Blaosc;Teirminéal;CLI; copy-link = Cóipeáil Nasc -tab-new-inherit-working-directory = Úsáideann cluaisíní nua an eolaire reatha -tab-new-inherit-working-directory-description = Oscail cluaisíní nua in eolaire oibre an chluaisín ghníomhaigh +tab-new-inherit-working-directory = Úsáideann cluaisíní agus fuinneoga nua an t-eolaire reatha +tab-new-inherit-working-directory-description = Oscail cluaisíní agus fuinneoga nua in eolaire oibre an chluaisín ghníomhaigh diff --git a/i18n/gl/cosmic_term.ftl b/i18n/gl/cosmic_term.ftl new file mode 100644 index 0000000..30e6ecc --- /dev/null +++ b/i18n/gl/cosmic_term.ftl @@ -0,0 +1,112 @@ +name = Nome +cancel = Cancelar +delete = Eliminar +rename = Renomear +repository = Repositorio +support = Soporte +settings = Axustes +appearance = Apariencia +theme = Tema +match-desktop = Axustar ao escritorio +dark = Escuro +light = Claro +default-zoom-step = Pasos do zoom +keyboard-shortcuts = Atallos de teclado +find-placeholder = Atopar… +find-previous = Atopar antes +find-next = Atopar seguinte +replace = Remplazar +file = Ficheiro +new-window = Nova xanela +quit = Pechar +edit = Editar +copy = Copiar +paste = Pegar +select-all = Seleccionar todo +find = Atopar +view = Ver +menu-settings = Axustes... +menu-keyboard-shortcuts = Atallos de teclado… +new-tab = Nova lapela +close-tab = Pechar lapela +export = Exportar +import = Importar +reset-to-default = Restablecer aos valores predeterminados +type-to-search = Escribe para buscar... +add-another-keybinding = Engadir outro atallo de teclado +cosmic-terminal = Terminal de COSMIC +comment = Emulador de terminal para o escritorio COSMIC +keywords = Orde; Shell; Terminal; CLI; +new-terminal = Novo terminal +color-schemes = Esquemas de cores +import-errors = Importar erros +profiles = Perfís +command-line = Liña de comandos +tab-title = Titulo da lapela +tab-title-description = Substituír o título predeterminado da lapela +add-profile = Engadir perfil +new-profile = Novo perfil +make-default = Facer predeterminado +working-directory = Directorio de traballo +hold = Manter +remain-open = Permanecer aberto despois de que remate o proceso fillo. +syntax-dark = Esquema de cores escuro +syntax-light = Esquema de cores claras +opacity = Opacidade do fondo +font = Tipografía +advanced-font-settings = Configuración avanzada da tipografía +default-font = Tipografía +default-font-size = Tamaño da tipografía +default-font-stretch = Ancho da tipografía +default-font-weight = Grosor da tipografía normal +default-dim-font-weight = Grosor da tipografía fina +default-bold-font-weight = Grosor da tipografía en negriña +use-bright-bold = Facer máis brillante o texto en negriña +splits = Divisións +focus-follow-mouse = O foco de escritura segue o rato +show-pane-borders = Mostrar os bordos dos paneis +advanced = Avanzado +show-headerbar = Mostrar a cabeceira +show-header-description = Mostrar a cabeceira desde o menú contextual +tab-new-inherit-working-directory = As novas lapelas e xanelas usan o directorio actual +tab-new-inherit-working-directory-description = Abrir novas lapelas e xanelas no directorio de traballo da pestana activa +close-window = Pechar xanela +copy-or-sigint = Copiar ou SIGINT +disable = Desactivar +focus-pane-down = Poñer o foco no panel inferior +focus-pane-left = Poñer o foco no panel esquerdo +focus-pane-right = Poñer o foco no panel dereito +focus-pane-up = Poñer o foco no panel superior +no-shortcuts = Sen atallos de teclado +password-manager = Xestor de contrasinais +paste-primary = Pegar o contido primario +shortcut-capture-hint = Preme a combinación de teclas +shortcut-group-clipboard = Portapapeis +shortcut-group-other = Outro +shortcut-group-tabs = Lapelas +shortcut-group-window = Xanela +shortcut-group-zoom = Zoom +shortcut-replace-body = { $binding } xa está asignado a { $existing }. Substituílo por { $new_action }? +shortcut-replace-title = Remplazar atallo de teclado ? +tab-activate = Activar a lapela { $number } +toggle-fullscreen = Cambiar a pantalla completa +profile = Perfil +menu-profiles = Perfís... +clear-scrollback = Limpar o historial de desprazamento +open-link = Abrir enderezo +copy-link = Copiar enderezo +zoom-in = Texto máis grande +zoom-reset = Tamaño de texto predeterminado +zoom-out = Texto máis pequeno +next-tab = Lapela seguinte +previous-tab = Lapela previa +split-horizontal = Dividir horizontalmente +split-vertical = Dividir verticalmente +pane-toggle-maximize = Alternar maximizado +menu-color-schemes = Esquema de cores... +menu-about = Sobre o Terminal de COSMIC... +menu-password-manager = Contrasinais... +passwords-title = Contrasinais +add-password = Engadir contrasinal +password-input = Contrasinal +password-input-description = Descripción diff --git a/i18n/hi/cosmic_term.ftl b/i18n/hi/cosmic_term.ftl index 0b4100a..b2ef696 100644 --- a/i18n/hi/cosmic_term.ftl +++ b/i18n/hi/cosmic_term.ftl @@ -29,18 +29,18 @@ remain-open = चाइल्ड प्रोसेस के निकलने ## Settings -settings = सेटिंग +settings = सेटिंग्स ### Appearance -appearance = दिखावट -theme = थीम -match-desktop = डेस्कटॉप से मिलाएं +appearance = रुप-रंग +theme = प्रसंग +match-desktop = डेस्कटॉप से मेल खाएँ dark = डार्क light = लाइट syntax-dark = रंग योजना डार्क syntax-light = रंग योजना लाइट -default-zoom-step = ज़ूम स्तर +default-zoom-step = ज़ूम चरण opacity = पृष्ठभूमि अपारदर्शिता ### Font @@ -66,7 +66,7 @@ advanced = एडवांस show-headerbar = हैडर दिखाएं show-header-description = हैडर को राइट-क्लिक मेन्यू से दिखाएं। # Find -find-placeholder = खोजें... +find-placeholder = खोजें..। find-previous = पिछला खोजें find-next = अगला खोजें @@ -81,13 +81,13 @@ new-window = नई विंडो profile = प्रोफाइल menu-profiles = प्रोफाइल्स... close-tab = टैब बंद करें -quit = बंद करें +quit = बाहर जाएँ ### Edit -edit = संपादित करें +edit = संपादन copy = कॉपी करें -paste = पेस्ट करें +paste = चिपकाएँ select-all = सभी चुनें find = खोजें clear-scrollback = स्क्रॉलबैक साफ़ करें @@ -104,7 +104,11 @@ split-horizontal = क्षैतिज विभाजन split-vertical = लंबवत विभाजन pane-toggle-maximize = अधिकतम करें menu-color-schemes = रंग योजनाएँ... -menu-settings = सेटिंग्स... +menu-settings = सेटिंग्स..। menu-about = कॉस्मिक टर्मिनल के बारे में... repository = रिपॉजिटरी -support = सहायता +support = समर्थन +cancel = रद्द करें +keyboard-shortcuts = कीबोर्ड शॉर्टकट्स +replace = बदलें +menu-keyboard-shortcuts = कीबोर्ड शॉर्टकट्स..। diff --git a/i18n/hu/cosmic_term.ftl b/i18n/hu/cosmic_term.ftl index aeac109..9c1e9df 100644 --- a/i18n/hu/cosmic_term.ftl +++ b/i18n/hu/cosmic_term.ftl @@ -149,3 +149,4 @@ type-to-search = Gépelj a kereséshez… copy-link = Hivatkozás másolása tab-new-inherit-working-directory = Az új lapok és ablakok az aktuális könyvtárat használják tab-new-inherit-working-directory-description = Az új lapok és ablakok az aktív lap munkakönyvtárában nyílnak meg +show-pane-borders = Ablaktábla-szegélyek megjelenítése diff --git a/i18n/id/cosmic_term.ftl b/i18n/id/cosmic_term.ftl index 659630b..6b139ad 100644 --- a/i18n/id/cosmic_term.ftl +++ b/i18n/id/cosmic_term.ftl @@ -4,7 +4,7 @@ repository = Repositori support = Dukungan color-schemes = Skema warna cosmic-terminal = Terminal COSMIC -rename = Ganti nama +rename = Ganti Nama export = Ekspor delete = Hapus import = Impor @@ -23,7 +23,7 @@ remain-open = Tetap buka setelah proses anak berakhir. settings = Pengaturan appearance = Tampilan theme = Tema -match-desktop = Cocokkan desktop +match-desktop = Cocok desktop dark = Gelap light = Terang syntax-dark = Skema warna gelap @@ -109,3 +109,4 @@ keywords = Perintah;Shell;Terminal;CLI; copy-link = Salin Tautan tab-new-inherit-working-directory = Tab dan jendela baru menggunakan direktori saat ini tab-new-inherit-working-directory-description = Buka tab dan jendela baru di direktori pekerjaan tab aktif +show-pane-borders = Tampilkan batas panel diff --git a/i18n/it/cosmic_term.ftl b/i18n/it/cosmic_term.ftl index 59dac84..d4c5ff4 100644 --- a/i18n/it/cosmic_term.ftl +++ b/i18n/it/cosmic_term.ftl @@ -40,7 +40,7 @@ settings = Impostazioni appearance = Aspetto theme = Tema -match-desktop = Sistema +match-desktop = Abbina al desktop dark = Scuro light = Chiaro syntax-dark = Schema colori scuro @@ -115,3 +115,7 @@ menu-settings = Impostazioni... menu-about = Informazioni su COSMIC Terminal... support = Supporto repository = Repository +cancel = Annulla +keyboard-shortcuts = Scorciatoie da tastiera +replace = Sostituisci +menu-keyboard-shortcuts = Scorciatoie da tastiera... diff --git a/i18n/kab/cosmic_term.ftl b/i18n/kab/cosmic_term.ftl index 1761fee..368b6f2 100644 --- a/i18n/kab/cosmic_term.ftl +++ b/i18n/kab/cosmic_term.ftl @@ -1,9 +1,9 @@ -cancel = Sefsex +cancel = Semmet name = Isem delete = kkes rename = Snifel isem -quit = Tuffɣa -support = Tallalt +quit = Ffeɣ +support = Tallelt repository = Asarsay settings = Iɣewwaṛen appearance = Timeẓri @@ -14,7 +14,7 @@ paste = Senteḍ select-all = Fren akk view = Wali menu-settings = Iɣewwaṛen… -match-desktop = Amṣada d tnarit +match-desktop = Semṣada akked tnarit file = Afaylu new-window = Asfaylu amaynut edit = Ẓreg diff --git a/i18n/kk/cosmic_term.ftl b/i18n/kk/cosmic_term.ftl index 9f4f34d..682dd96 100644 --- a/i18n/kk/cosmic_term.ftl +++ b/i18n/kk/cosmic_term.ftl @@ -3,11 +3,11 @@ delete = Өшіру repository = Репозиторий support = Қолдау settings = Баптаулар -appearance = Сыртқы түрі -theme = Тақырып -match-desktop = Жұмыс үстеліне сәйкес келу -dark = Қараңғы -light = Жарық +appearance = Сыртқы көрініс +theme = Тема +match-desktop = Жұмыс үстеліне сәйкес болу +dark = Қою +light = Ашық file = Файл new-tab = Жаңа бет new-window = Жаңа терезе @@ -107,5 +107,6 @@ type-to-search = Іздеу үшін теріңіз... comment = COSMIC жұмыс үстелі үшін терминал эмуляторы keywords = Command;Shell;Terminal;CLI;Команда;Қоршам;Терминал; copy-link = Сілтемені көшіру -tab-new-inherit-working-directory = Жаңа беттерде ағымдағы буманы қолдану -tab-new-inherit-working-directory-description = Жаңа беттерді белсенді беттің жұмыс бумасында ашу +tab-new-inherit-working-directory = Жаңа беттерде және терезелерде ағымдағы буманы қолдану +tab-new-inherit-working-directory-description = Жаңа беттерді және терезелерді белсенді беттің жұмыс бумасында ашу +show-pane-borders = Панель жақтауларын көрсету diff --git a/i18n/kmr/cosmic_term.ftl b/i18n/kmr/cosmic_term.ftl index 550abb0..4348691 100644 --- a/i18n/kmr/cosmic_term.ftl +++ b/i18n/kmr/cosmic_term.ftl @@ -27,13 +27,13 @@ light = Ronî advanced = Pêşketî support = Piştgirî default-font = Cûrenivîs -paste = Pêve bike +paste = Pê ve bike menu-settings = Sazkarî... command-line = Rêza fermanê view = Dîtin dark = Tarî hold = Ragire -match-desktop = Li gorî sermaseyê +match-desktop = Bi sermaseyê re li hev bîne find-previous = Yê paş bibîne cosmic-terminal = Termînalê COSMIC find-placeholder = Bibîne... @@ -62,7 +62,7 @@ shortcut-group-zoom = Nêzîkbûn repository = Embar find = Bibîne replace = Biguhêrîne -syntax-light = Şêwaza rengê ronî +syntax-light = Şêwaza rengan a ronî default-font-weight = Giraniya cûrenivîsê ya normal zoom-in = Nivîsa mezintir previous-tab = Rûgera paş @@ -100,7 +100,7 @@ focus-pane-left = Balê bikişîne ser destgeha çepê focus-pane-right = Balê bikişîne ser destgeha rastê focus-pane-up = Balê bikişîne ser destgeha jorîn password-manager = Rêveberê borînpeyvê -paste-primary = A sereke pêve bike +paste-primary = A sereke pê ve bike reset-to-default = Vegere rewşa berdest shortcut-capture-hint = Kombînasyona kilîtan bitikîne shortcut-replace-body = { $binding } berê ji bo { $existing } hatiye destnîşankirin. Tu dixwazî bi { $new_action } re biguherînî? @@ -109,3 +109,4 @@ tab-activate = Rûgera { $number } çalak bike toggle-fullscreen = Dîmendera tijî biguhêrîne type-to-search = Ji bo lêgerînê binivîse... copy-link = Girêdanê jê bigire +show-pane-borders = Sînorên kilîtdankê nîşan bide diff --git a/i18n/lt/cosmic_term.ftl b/i18n/lt/cosmic_term.ftl index 9da3c22..dfa7d8f 100644 --- a/i18n/lt/cosmic_term.ftl +++ b/i18n/lt/cosmic_term.ftl @@ -1,6 +1,6 @@ name = Pavadinimas delete = Ištrinti -cosmic-terminal = COSMIC Terminal +cosmic-terminal = COSMIC Terminalas new-terminal = Naujas terminalas repository = Saugykla support = Palaikymas @@ -19,7 +19,7 @@ make-default = Padaryti numatytu working-directory = Darbinis katalogas hold = Laikyti remain-open = Palikti atidarytą išsijungus vaikiniam procesui. -settings = Nuostatos +settings = Nuostatai appearance = Išvaizda theme = Stilius match-desktop = Pagal darbalaukio temą @@ -47,7 +47,7 @@ new-window = Naujas langas profile = Profilis menu-profiles = Profiliai... close-tab = Uždaryti skirtuką -quit = Išeiti +quit = Išjungti edit = Redaguoti copy = Kopijuoti paste = Įdėti @@ -65,7 +65,7 @@ split-horizontal = Skaidyti horizontaliai split-vertical = Skaidyti vertikaliai pane-toggle-maximize = Perjungti maksimalų padidinimą menu-color-schemes = Spalvų schemos... -menu-settings = Nuostatos... +menu-settings = Nuostatai... menu-about = Apie COSMIC Terminal... menu-password-manager = Slaptažodžiai... passwords-title = Slaptažodžiai diff --git a/i18n/oc/cosmic_term.ftl b/i18n/oc/cosmic_term.ftl index cac5b9a..50030da 100644 --- a/i18n/oc/cosmic_term.ftl +++ b/i18n/oc/cosmic_term.ftl @@ -1 +1,14 @@ -settings = Paramètres +settings = Configuracion +appearance = Aparéncia +theme = Tèma +match-desktop = Assortir al burèu +dark = Escur +light = Clar +file = Fichièr +name = Nom +repository = Depaus +cancel = Anullar +menu-settings = Configuracion... +quit = Quitar +delete = Suprimir +replace = Remplaçar diff --git a/i18n/pa/cosmic_term.ftl b/i18n/pa/cosmic_term.ftl index 5b74383..83cd456 100644 --- a/i18n/pa/cosmic_term.ftl +++ b/i18n/pa/cosmic_term.ftl @@ -8,11 +8,11 @@ name = ਨਾਂ settings = ਸੈਟਿੰਗਾਂ appearance = ਦਿੱਖ theme = ਥੀਮ -match-desktop = ਡੈਸਕਟਾਪ ਨਾਲ ਮਿਲਦਾ +match-desktop = ਡੈਸਕਟਾਪ ਨਾਲ ਮਿਲਾਓ dark = ਗੂੜ੍ਹਾ -light = ਹਲਕਾ +light = ਫਿੱਕਾ default-zoom-step = ਜ਼ੂਮ ਸਟੈਪ -quit = ਬਾਹਰ +quit = ਸਮਾਪਤ edit = ਸੋਧੋ copy = ਕਾਪੀ ਕਰੋ paste = ਚੇਪੋ diff --git a/i18n/pl/cosmic_term.ftl b/i18n/pl/cosmic_term.ftl index c1db944..25c3027 100644 --- a/i18n/pl/cosmic_term.ftl +++ b/i18n/pl/cosmic_term.ftl @@ -1,5 +1,5 @@ cosmic-terminal = Terminal COSMIC -comment = Emulator terminala dla pulpitu COSMIC +comment = Emulator terminala dla środowiska COSMIC keywords = Cli;WierszPoleceń;Powłoka;Terminal; new-terminal = Nowy terminal @@ -73,7 +73,7 @@ advanced = Zaawansowane show-headerbar = Pokaż pasek nagłówka show-header-description = Ukazuje pasek nagłówka z menu wybieranego prawym przyciskiem myszki # Find -find-placeholder = Szukaj… +find-placeholder = Wyszukaj… find-previous = Znajdź poprzedni find-next = Znajdź następny @@ -88,7 +88,7 @@ new-window = Nowe okno profile = Profil menu-profiles = Profile... close-tab = Zamknij kartę -quit = Zamknij +quit = Zakończ ## Edit @@ -96,7 +96,7 @@ edit = Edytuj copy = Kopiuj paste = Wklej select-all = Zaznacz wszystko -find = Szukaj +find = Wyszukaj clear-scrollback = Wyczyść przewijanie ## View @@ -149,3 +149,4 @@ focus-pane-up = Aktywuj panel wyżej copy-link = Skopiuj Odnośnik tab-new-inherit-working-directory = Nowe karty i okna użyją obecnego katalogu tab-new-inherit-working-directory-description = Otwieraj nowe karty i okna w katalogu roboczym aktywnej karty +show-pane-borders = Pokaż obramowania paneli diff --git a/i18n/pt-BR/cosmic_term.ftl b/i18n/pt-BR/cosmic_term.ftl index 570bc48..98a7f87 100644 --- a/i18n/pt-BR/cosmic_term.ftl +++ b/i18n/pt-BR/cosmic_term.ftl @@ -88,7 +88,7 @@ new-window = Nova janela profile = Perfil menu-profiles = Perfis... close-tab = Fechar aba -quit = Sair +quit = Encerrar ## Edit @@ -149,3 +149,4 @@ type-to-search = Digite para pesquisar... copy-link = Copiar link tab-new-inherit-working-directory = Novas abas e janelas usam o diretório atual tab-new-inherit-working-directory-description = Abrir novas abas e janelas no diretório de trabalho da aba ativa +show-pane-borders = Mostrar bordas do quadro diff --git a/i18n/ru/cosmic_term.ftl b/i18n/ru/cosmic_term.ftl index 7226000..c168100 100644 --- a/i18n/ru/cosmic_term.ftl +++ b/i18n/ru/cosmic_term.ftl @@ -1,5 +1,5 @@ cosmic-terminal = Терминал -comment = Эмулятор терминала для рабочей среды COSMIC +comment = Эмулятор терминала для среды COSMIC keywords = Команда;Оболочка;Терминал;Консоль; new-terminal = Новый терминал @@ -86,7 +86,7 @@ new-window = Новое окно profile = Профиль menu-profiles = Профили... close-tab = Закрыть вкладку -quit = Выйти +quit = Завершить ## Edit @@ -141,5 +141,6 @@ tab-activate = Активировать вкладку { $number } toggle-fullscreen = Вкл./выкл. полноэкранный режим type-to-search = Введите для поиска... copy-link = Копировать ссылку -tab-new-inherit-working-directory = В новых вкладках исп. текущий каталог -tab-new-inherit-working-directory-description = Открывать новые вкладки в рабочем каталоге активной вкладки +tab-new-inherit-working-directory = Текущий каталог в новых вкладках и окнах +tab-new-inherit-working-directory-description = Открывать новые вкладки и окна в рабочем каталоге активной вкладки +show-pane-borders = Показывать границы панелей diff --git a/i18n/sat/cosmic_term.ftl b/i18n/sat/cosmic_term.ftl new file mode 100644 index 0000000..2f329ab --- /dev/null +++ b/i18n/sat/cosmic_term.ftl @@ -0,0 +1,2 @@ +cancel = ᱵᱟᱹᱛᱤᱞ +name = ᱧᱩᱛᱩᱢ diff --git a/i18n/sv-SE/cosmic_term.ftl b/i18n/sv-SE/cosmic_term.ftl index 5e888ab..8167a39 100644 --- a/i18n/sv-SE/cosmic_term.ftl +++ b/i18n/sv-SE/cosmic_term.ftl @@ -113,7 +113,7 @@ split-vertical = Dela vertikalt pane-toggle-maximize = Växla maximerad clear-scrollback = Töm tillbakarullning menu-color-schemes = Färgscheman… -menu-settings = Inställningar… +menu-settings = Inställningar... menu-about = Om COSMIC Terminal… repository = Källkod support = Support @@ -153,3 +153,4 @@ shortcut-group-zoom = Zooma copy-link = Kopiera länk tab-new-inherit-working-directory-description = Öppna nya flikar och fönster i den aktiva flikens arbetskatalog tab-new-inherit-working-directory = Nya flikar och fönster använder aktuell katalog +show-pane-borders = Visa ram runt fält diff --git a/i18n/th/cosmic_term.ftl b/i18n/th/cosmic_term.ftl index 32ec77d..f95e682 100644 --- a/i18n/th/cosmic_term.ftl +++ b/i18n/th/cosmic_term.ftl @@ -39,8 +39,8 @@ settings = การตั้งค่า appearance = ลักษณะ theme = ธีม match-desktop = ใช้ตามธีมหน้าจอหลัก -dark = ธีมมืด -light = ธีมสว่าง +dark = มืด +light = สว่าง syntax-dark = โทนสีมืด syntax-light = โทนสีสว่าง default-zoom-step = ระยะซูม @@ -109,3 +109,8 @@ pane-toggle-maximize = ขยายให้ใหญ่สุด menu-color-schemes = โทนสี... menu-settings = การตั้งค่า... menu-about = เกี่ยวกับ เทอร์มินัล COSMIC... +cancel = ยกเลิก +reset-to-default = รีเซ็ตเป็นค่าเริ่มต้น +type-to-search = พิมพ์เพื่อค้นหา +add-another-keybinding = เพิ่มคีย์ลัดเพิ่มเติม +replace = แทนที่ diff --git a/i18n/uk/cosmic_term.ftl b/i18n/uk/cosmic_term.ftl index c282eca..753eda5 100644 --- a/i18n/uk/cosmic_term.ftl +++ b/i18n/uk/cosmic_term.ftl @@ -84,7 +84,7 @@ new-window = Нове вікно profile = Профіль menu-profiles = Профілі... close-tab = Закрити вкладку -quit = Вийти +quit = Завершити ## Edit @@ -147,5 +147,6 @@ focus-pane-up = Фокус на верхню панель comment = Емулятор терміналу для середовища COSMIC keywords = Команда;Оболонка;Термінал;Інтерфейс;CLI; copy-link = Копіювати ланку -tab-new-inherit-working-directory = У нових вкладках використовується поточний каталог -tab-new-inherit-working-directory-description = Відкривати нові вкладки в робочому каталозі активної вкладки +tab-new-inherit-working-directory = Нові вкладки та вікна відкривати в поточному каталозі +tab-new-inherit-working-directory-description = Відкривати нові вкладки та вікна в робочому каталозі активної вкладки +show-pane-borders = Показувати межі панелей diff --git a/i18n/zh-CN/cosmic_term.ftl b/i18n/zh-CN/cosmic_term.ftl index 7806bcf..d06d5d5 100644 --- a/i18n/zh-CN/cosmic_term.ftl +++ b/i18n/zh-CN/cosmic_term.ftl @@ -149,3 +149,4 @@ keywords = 指令;外壳;终端;命令行界面; copy-link = 复制链接 tab-new-inherit-working-directory = 新标签和窗口使用当前目录 tab-new-inherit-working-directory-description = 在活动标签的工作目录中打开新标签和窗口 +show-pane-borders = 显示窗格边框 diff --git a/i18n/zh-TW/cosmic_term.ftl b/i18n/zh-TW/cosmic_term.ftl index 9f686c7..7cebc95 100644 --- a/i18n/zh-TW/cosmic_term.ftl +++ b/i18n/zh-TW/cosmic_term.ftl @@ -10,7 +10,7 @@ new-terminal = 新建終端機 ## Color schemes color-schemes = 配色方案 -rename = 重命名 +rename = 重新命名 export = 匯出 delete = 刪除 import = 匯入 @@ -24,7 +24,7 @@ command-line = 命令列 tab-title = 分頁標題 tab-title-description = 覆寫預設分頁標題 add-profile = 新增設定檔 -new-profile = 新建設定檔 +new-profile = 新增設定檔 make-default = 設為預設值 working-directory = 工作目錄 hold = 保留 @@ -79,12 +79,12 @@ find-next = 下一個 ## File file = 檔案 -new-tab = 新建分頁 -new-window = 新建視窗 +new-tab = 新增分頁 +new-window = 新增視窗 profile = 設定檔案 menu-profiles = 設定檔案... close-tab = 關閉分頁 -quit = 退出 +quit = 結束 ## Edit @@ -109,11 +109,11 @@ menu-color-schemes = 配色方案... menu-settings = 設定... menu-about = 關於 COSMIC 終端機… cancel = 取消 -repository = 軟體庫源 +repository = 軟體庫 support = 支援 keyboard-shortcuts = 鍵盤快速鍵 keywords = 指令;殼層;終端;指令行介面CLI; -add-another-keybinding = 添加另一個按鍵組合 +add-another-keybinding = 新增另一個鍵盤快速鍵 close-window = 關閉視窗 copy-or-sigint = 複製或 SIGINT disable = 停用 @@ -136,7 +136,7 @@ focus-pane-up = 聚焦上方窗格 open-link = 開啟連結 menu-password-manager = 密碼… passwords-title = 密碼 -add-password = 添增密碼 +add-password = 新增密碼 password-input = 密碼 password-input-description = 描述 shortcut-replace-title = 取代快速鍵? @@ -149,3 +149,4 @@ clear-scrollback = 清除捲動回朔 comment = COSMIC 桌面終端機模擬器 tab-new-inherit-working-directory = 新分頁和視窗使用目前目錄 tab-new-inherit-working-directory-description = 在作用中分頁的工作目錄開啟新分頁和視窗 +show-pane-borders = 顯示窗格邊框 diff --git a/src/config.rs b/src/config.rs index 350842c..caedf4d 100644 --- a/src/config.rs +++ b/src/config.rs @@ -231,6 +231,7 @@ pub struct Config { pub opacity: u8, pub profiles: BTreeMap, pub show_headerbar: bool, + pub show_pane_borders: bool, pub use_bright_bold: bool, pub syntax_theme_dark: String, pub syntax_theme_light: String, @@ -260,6 +261,7 @@ impl Default for Config { opacity: 100, profiles: BTreeMap::new(), show_headerbar: true, + show_pane_borders: false, syntax_theme_dark: COSMIC_THEME_DARK.to_string(), syntax_theme_light: COSMIC_THEME_LIGHT.to_string(), use_bright_bold: false, diff --git a/src/main.rs b/src/main.rs index a0a2128..1a72235 100644 --- a/src/main.rs +++ b/src/main.rs @@ -566,11 +566,13 @@ pub enum Message { ReorderTab(Pane, ReorderEvent), SaveOutput(Option), SaveOutputResult(pane_grid::Pane, segmented_button::Entity, DialogResult), - Surface(surface::Action), + Surface(surface::Action), SelectAll(Option), ShowAdvancedFontSettings(bool), ShowHeaderBar(bool), SshConnect(usize), + ShowPaneBorders(bool), + SyntaxTheme(ColorSchemeKind, usize), SystemThemeChange, TabNewInheritWorkingDirectory(bool), @@ -602,7 +604,6 @@ pub enum Message { ZoomIn, ZoomOut, ZoomReset, - ContextMenuPopupClosed(window::Id), } #[derive(Clone, Copy, Debug, Eq, PartialEq)] @@ -680,14 +681,6 @@ pub struct App { shortcut_search_regex: Option, shortcut_search_value: String, modifiers: Modifiers, - context_menu_popup: Option<( - window::Id, - pane_grid::Pane, - segmented_button::Entity, - Option, - widget::Id, - cosmic::iced::Point, - )>, #[cfg(feature = "password_manager")] password_mgr: password_manager::PasswordManager, } @@ -833,7 +826,7 @@ impl App { // Update terminal window background color { - let color = Color::from(theme.cosmic().background(false).base); + let color = Color::from(theme.cosmic().background(theme.transparent).base); let bytes = color.into_rgba8(); let data = u32::from(bytes[2]) | (u32::from(bytes[1]) << 8) @@ -1483,6 +1476,7 @@ impl App { } fn settings(&self) -> Element<'_, Message> { + let t = self.core().system_theme(); let app_theme_selected = match self.config.app_theme { AppTheme::Dark => 1, AppTheme::Light => 2, @@ -1566,13 +1560,13 @@ impl App { }), ), ) - .add( + .add_maybe((!t.transparent).then(|| { widget::settings::item::builder(fl!("opacity")) .description(format!("{}%", self.config.opacity)) .control(widget::slider(0..=100, self.config.opacity, |opacity| { Message::Opacity(opacity) - })), - ); + })) + })); let mut font_section = widget::settings::section() .title(fl!("font")) @@ -1658,10 +1652,16 @@ impl App { font_section = font_section.add(advanced_font_settings()); } - let splits_section = widget::settings::section().title(fl!("splits")).add( - widget::settings::item::builder(fl!("focus-follow-mouse")) - .toggler(self.config.focus_follow_mouse, Message::FocusFollowMouse), - ); + let splits_section = widget::settings::section() + .title(fl!("splits")) + .add( + widget::settings::item::builder(fl!("focus-follow-mouse")) + .toggler(self.config.focus_follow_mouse, Message::FocusFollowMouse), + ) + .add( + widget::settings::item::builder(fl!("show-pane-borders")) + .toggler(self.config.show_pane_borders, Message::ShowPaneBorders), + ); let advanced_section = widget::settings::section() .title(fl!("advanced")) @@ -2204,7 +2204,6 @@ impl Application for App { shortcut_search_regex: None, shortcut_search_value: String::new(), modifiers: Modifiers::empty(), - context_menu_popup: None, #[cfg(feature = "password_manager")] password_mgr: Default::default(), }; @@ -3045,7 +3044,8 @@ impl Application for App { } Message::PaneClicked(pane) => { self.pane_model.set_focus(pane); - return self.update_title(Some(pane)); + let title_task = self.update_title(Some(pane)); + return Task::batch([self.update_focus(), title_task]); } Message::PaneSplit(axis) => { let result = self.pane_model.panes.split( @@ -3295,6 +3295,11 @@ impl Application for App { tab_new_inherit_working_directory ); } + Message::ShowPaneBorders(show_pane_borders) => { + if show_pane_borders != self.config.show_pane_borders { + config_set!(show_pane_borders, show_pane_borders); + } + } Message::UseBrightBold(use_bright_bold) => { if use_bright_bold != self.config.use_bright_bold { config_set!(use_bright_bold, use_bright_bold); @@ -3418,16 +3423,7 @@ impl Application for App { return self.update_title(None); } Message::TabContextAction(entity, action) => { - // Close context menu popup let mut tasks = Vec::new(); - if let Some((_popup_id, _, _, _, _, _)) = self.context_menu_popup.take() { - #[cfg(feature = "wayland")] - if is_wayland() { - tasks.push(cosmic::task::message(Message::Surface( - cosmic::surface::action::destroy_popup(_popup_id), - ))); - } - } // Close terminal context menu state if let Some(tab_model) = self.pane_model.active() && let Some(terminal) = tab_model.data::>(entity) @@ -3436,11 +3432,8 @@ impl Application for App { //Some actions need the menu_state, //so only clear the position for them. match action { - Action::LaunchUrlByMenu | Action::CopyUrlByMenu => { - if let Some(context_menu) = terminal.context_menu.as_mut() { - context_menu.position = None; - } - } + // these read the link from the menu state and clear it themselves + Action::LaunchUrlByMenu | Action::CopyUrlByMenu => {} _ => { terminal.context_menu = None; } @@ -3450,94 +3443,29 @@ impl Application for App { return cosmic::Task::batch(tasks); } Message::TabContextMenu(pane, menu_state) => { - #[allow(unused_mut)] - let mut tasks = Vec::new(); - - // Close existing context menu popup if any - if let Some((_popup_id, _, _, _, _, _)) = self.context_menu_popup.take() { - #[cfg(feature = "wayland")] - if is_wayland() { - tasks.push(cosmic::task::message(Message::Surface( - cosmic::surface::action::destroy_popup(_popup_id), - ))); - } - } - // Clear all terminal context_menu state for (_, tab_model) in self.pane_model.panes.iter() { for entity in tab_model.iter() { if let Some(terminal) = tab_model.data::>(entity) { let mut terminal = terminal.lock().unwrap(); - terminal.context_menu = None; + if terminal.context_menu.take().is_some() { + terminal.active_regex_match = None; + terminal.needs_update = true; + } } } } - if let Some(menu_state) = menu_state { - if let Some(_position) = menu_state.position { - let local_position = menu_state.local_position.unwrap_or(_position); - if let Some(tab_model) = self.pane_model.panes.get(pane) { - let entity = tab_model.active(); - let link = menu_state.link.clone(); - let popup_id = window::Id::unique(); - - if let Some(terminal) = tab_model.data::>(entity) { - let mut terminal = terminal.lock().unwrap(); - terminal.context_menu = Some(menu_state); - } - - self.context_menu_popup = Some(( - popup_id, - pane, - entity, - link, - widget::Id::unique(), - local_position, - )); - - #[cfg(feature = "wayland")] - if is_wayland() { - let main_window = self.core.main_window_id().unwrap(); - let pos_x = _position.x as i32; - let pos_y = _position.y as i32; - - tasks.push(cosmic::task::message(Message::Surface( - cosmic::surface::action::app_popup( - |_: &Self| cosmic::surface::action::LiveSettings::default(), - move |_app: &mut Self| { - use cosmic::cctk::wayland_protocols::xdg::shell::client::xdg_positioner::{Anchor, Gravity}; - use cosmic::iced::runtime::platform_specific::wayland::popup::{SctkPopupSettings, SctkPositioner}; - - SctkPopupSettings { - parent: main_window, - id: popup_id, - positioner: SctkPositioner { - size: None, - anchor_rect: cosmic::iced::Rectangle { - x: pos_x, - y: pos_y, - width: 1, - height: 1, - }, - anchor: Anchor::None, - gravity: Gravity::BottomRight, - reactive: true, - ..Default::default() - }, - parent_size: None, - grab: true, - close_with_children: false, - input_zone: None, - } - }, None), - ))); - } - } + // A right press records what is under the cursor + if let Some(menu_state) = menu_state + && let Some(tab_model) = self.pane_model.panes.get(pane) + { + let entity = tab_model.active(); + if let Some(terminal) = tab_model.data::>(entity) { + terminal.lock().unwrap().context_menu = Some(menu_state); } self.pane_model.set_focus(pane); } - - return cosmic::Task::batch(tasks); } Message::TabNew => { // The profile from `--profile` only applies to the first tab @@ -3929,26 +3857,8 @@ impl Application for App { self.reset_active_pane_zoom(); return self.update_config(); } - Message::ContextMenuPopupClosed(id) => { - if let Some((popup_id, pane, entity, _, _, _)) = &self.context_menu_popup - && id == *popup_id - { - // Clear link underline on the terminal - if let Some(tab_model) = self.pane_model.panes.get(*pane) - && let Some(terminal) = tab_model.data::>(*entity) - { - let mut terminal = terminal.lock().unwrap(); - terminal.context_menu = None; - terminal.active_regex_match = None; - terminal.needs_update = true; - } - self.context_menu_popup = None; - } - } Message::Surface(a) => { - return cosmic::task::message(cosmic::Action::Cosmic( - cosmic::app::Action::Surface(a), - )); + return cosmic::task::message(cosmic::Action::Surface(a)); } Message::ReorderTab( pane, @@ -4097,32 +4007,7 @@ impl Application for App { ] } - fn on_close_requested(&self, id: window::Id) -> Option { - if let Some((popup_id, _, _, _, _, _)) = &self.context_menu_popup - && id == *popup_id - { - return Some(Message::ContextMenuPopupClosed(id)); - } - None - } - fn view_window(&self, window_id: window::Id) -> Element<'_, Message> { - if let Some((popup_id, pane, entity, ref link, ref autosize_id, _)) = - self.context_menu_popup - && window_id == popup_id - { - return widget::autosize::autosize( - menu::context_menu( - &self.config, - &self.key_binds, - entity, - link.clone(), - self.terminal_monitors(pane, entity), - ), - autosize_id.clone(), - ) - .into(); - } match &self.dialog_opt { Some(dialog) => dialog.view(window_id), None => widget::text("Unknown window ID").into(), @@ -4131,8 +4016,23 @@ impl Application for App { /// Creates a view after each update. fn view(&self) -> Element<'_, Self::Message> { - let cosmic_theme::Spacing { space_xxs, .. } = self.core().system_theme().cosmic().spacing; + let t = self.core().system_theme(); + let cosmic = t.cosmic(); + let cosmic_theme::Spacing { + space_xxxs, + space_xxs, + .. + } = cosmic.spacing; + let show_pane_borders = + self.config.show_pane_borders && self.pane_model.panes.panes.len() > 1; + let pane_corner_radius: iced::border::Radius = { + let pad = f32::from(space_xxxs) / 2.0; + cosmic + .radius_s() + .map(|r| if r > 0.0 { r + pad } else { 0.0 }) + .into() + }; let pane_grid = PaneGrid::new(&self.pane_model.panes, |pane, tab_model, _is_maximized| { let mut tab_column = widget::column::with_capacity(1); @@ -4181,60 +4081,51 @@ impl Application for App { .on_open_hyperlink(Some(Box::new(Message::LaunchUrl))) .on_window_focused(|| Message::WindowFocused) .on_window_unfocused(|| Message::WindowUnfocused) - .opacity(self.config.opacity_ratio()) + .opacity(if t.transparent { + t.cosmic().alpha_map.blurred_alpha(t.cosmic().frosted) + } else { + self.config.opacity_ratio() + }) .padding(space_xxs) .sharp_corners(self.core.window.sharp_corners) - .show_headerbar(self.config.show_headerbar); + .show_headerbar(self.config.show_headerbar) + .pane_border_radius(show_pane_borders.then_some(pane_corner_radius)) + .border(pane_border(cosmic, t.transparent, show_pane_borders)); if self.config.focus_follow_mouse { terminal_box = terminal_box.on_mouse_enter(move || Message::MouseEnter(pane)); } - // If a context menu popup is active for this pane, inform the - // terminal_box so it will emit on_context_menu(None) on click - // to dismiss the popup. - if self.context_menu_popup.is_some() { - terminal_box = terminal_box.context_menu(cosmic::iced::Point::ORIGIN); + // The terminal records what was under the right press; the widget opens the + // menu on release, so build it from that state + let context_link = terminal + .lock() + .unwrap() + .context_menu + .as_ref() + .map(|menu_state| menu_state.link.clone()); + if context_link.is_some() { + terminal_box = terminal_box.context_menu_open(true); } - - let use_wayland_popup = { - #[cfg(feature = "wayland")] - { - is_wayland() - } - #[cfg(not(feature = "wayland"))] - { - false - } - }; - - let tab_element: Element<'_, Message> = if !use_wayland_popup { - // Fallback: render context menu as an inline popover - if let Some((_, popup_pane, popup_entity, ref link, _, point)) = - self.context_menu_popup - { - if pane == popup_pane { - let mut popover = widget::popover(terminal_box.context_menu(point)); - popover = popover - .popup(menu::context_menu( - &self.config, - &self.key_binds, - popup_entity, - link.clone(), - self.terminal_monitors(popup_pane, popup_entity), - )) - .position(widget::popover::Position::Point(point)); - popover.into() - } else { - terminal_box.into() - } - } else { - terminal_box.into() - } - } else { - terminal_box.into() - }; - tab_column = tab_column.push(tab_element); + let mut context_menu = widget::context_menu( + terminal_box, + context_link.map(|link| { + menu::context_menu( + &self.config, + &self.key_binds, + entity, + link, + self.terminal_monitors(pane, entity), + ) + }), + ) + .item_width(widget::menu::ItemWidth::Uniform(360)) + .on_close(Message::TabContextMenu(pane, None)) + .on_surface_action(Message::Surface); + if let Some(window_id) = self.core.main_window_id() { + context_menu = context_menu.window_id(window_id); + } + tab_column = tab_column.push(context_menu); } //Only draw find in the currently focused pane @@ -4327,7 +4218,14 @@ impl Application for App { .on_drag(Message::PaneDragged); //TODO: apply window border radius xs at bottom of window - pane_grid.into() + if show_pane_borders { + // Each pane draws its own border stroke. Painting a filled + // container behind the grid instead would stack its alpha with the + // translucent panes and wash out the blurred backdrop. + pane_grid.spacing(space_xxxs).into() + } else { + pane_grid.into() + } } fn system_theme_update( @@ -4408,10 +4306,79 @@ impl Application for App { } } -#[cfg(feature = "wayland")] -fn is_wayland() -> bool { - matches!( - cosmic::app::cosmic::windowing_system(), - Some(cosmic::app::cosmic::WindowingSystem::Wayland) - ) +/// Divider color painted behind the pane grid to form pane borders. +/// +/// When blur is active the transparent container must be used, otherwise the +/// fill is opaque and hides the blurred desktop behind the window. +fn pane_divider_color( + cosmic: &cosmic_theme::Theme, + transparent: bool, +) -> cosmic::cosmic_theme::palette::Srgba { + cosmic.background(transparent).divider +} + +/// Border stroke drawn around each terminal pane. +/// +/// The stroke sits on the pane edge rather than behind it, so the pane +/// interior keeps its own opacity and the blurred desktop stays visible. +fn pane_border(cosmic: &cosmic_theme::Theme, transparent: bool, show: bool) -> iced::Border { + if show { + iced::Border { + color: Color::from(pane_divider_color(cosmic, transparent)), + width: 1.0, + ..Default::default() + } + } else { + iced::Border::default() + } +} + +#[cfg(test)] +mod tests { + use super::{pane_border, pane_divider_color}; + + #[test] + fn pane_border_is_drawn_only_when_enabled() { + // With borders off the pane must render exactly as before, so the + // stroke has to be zero width rather than a transparent hairline. + let theme = cosmic::cosmic_theme::Theme::dark_default(); + assert_eq!(pane_border(&theme, true, false).width, 0.0); + assert!(pane_border(&theme, true, true).width > 0.0); + } + + #[test] + fn pane_border_uses_the_divider_color() { + // The stroke is the only thing marking the pane edge now that nothing + // is painted behind the grid, so it must match the theme divider. + let theme = cosmic::cosmic_theme::Theme::dark_default(); + let expected = cosmic::iced::Color::from(pane_divider_color(&theme, true)); + assert_eq!(pane_border(&theme, true, true).color, expected); + } + + #[test] + fn pane_divider_is_translucent_when_blur_is_active() { + // The divider is painted as a full-window container behind the pane + // grid. With blur active it must keep alpha < 1 so the frosted + // backdrop still shows through instead of a flat opaque fill. + let theme = cosmic::cosmic_theme::Theme::dark_default(); + let color = pane_divider_color(&theme, true); + assert!( + color.alpha < 1.0, + "expected translucent divider, got alpha {}", + color.alpha + ); + } + + #[test] + fn pane_divider_is_opaque_without_blur() { + // Without blur there is nothing to show through, so the divider keeps + // the fully opaque background color. + let theme = cosmic::cosmic_theme::Theme::dark_default(); + let color = pane_divider_color(&theme, false); + assert!( + (color.alpha - 1.0).abs() < f32::EPSILON, + "expected opaque divider, got alpha {}", + color.alpha + ); + } } diff --git a/src/menu.rs b/src/menu.rs index 4473f93..4ffb397 100644 --- a/src/menu.rs +++ b/src/menu.rs @@ -1,17 +1,15 @@ // SPDX-License-Identifier: GPL-3.0-only -use cosmic::iced::Point; +use cosmic::widget::menu::action::MenuAction; use cosmic::widget::menu::key_bind::KeyBind; use cosmic::widget::menu::{Item as MenuItem, menu_button}; -use cosmic::widget::{Column, space}; use cosmic::{ Element, app::Core, iced::core::Border, - iced::{Background, Length, advanced::widget::text::Style as TextStyle}, - theme, + iced::{Background, Length}, widget::{ - self, divider, + self, menu::{ItemHeight, ItemWidth}, responsive_menu_bar, segmented_button, }, @@ -23,147 +21,92 @@ use crate::{Action, ColorSchemeId, ColorSchemeKind, Config, Message, fl, termina static MENU_ID: LazyLock = LazyLock::new(|| cosmic::widget::Id::new("responsive-menu")); +/// What the terminal found under the right-click #[derive(Debug, Clone)] pub struct MenuState { - pub position: Option, - pub local_position: Option, pub link: Option, } -pub fn context_menu<'a>( +/// A context menu action dispatched to the tab the menu was opened on. +#[derive(Clone, Copy, Debug, Eq, PartialEq)] +pub struct TabAction(pub segmented_button::Entity, pub Action); + +impl MenuAction for TabAction { + type Message = Message; + + fn message(&self) -> Message { + Message::TabContextAction(self.0, self.1) + } +} + +pub fn context_menu( config: &Config, key_binds: &HashMap, entity: segmented_button::Entity, link: Option, monitors: (bool, bool, bool), -) -> Element<'a, Message> { - let find_key = |action: &Action| -> String { - for (key_bind, key_action) in key_binds { - if action == key_action { - return key_bind.to_string(); - } - } - String::new() - }; - fn key_style(theme: &cosmic::Theme) -> TextStyle { - let mut color = theme.cosmic().background(false).component.on; - color.alpha *= 0.75; - TextStyle { - color: Some(color.into()), - ..Default::default() - } - } - - let menu_item = |label, action| { - let key = find_key(&action); - menu_button(vec![ - widget::text(label).into(), - space::horizontal().into(), - widget::text(key) - .class(theme::Text::Custom(key_style)) - .into(), - ]) - .on_press(Message::TabContextAction(entity, action)) +) -> Vec> { + let item = + |label: String, action: Action| MenuItem::Button(label, None, TabAction(entity, action)); + let check = |label: String, value: bool, action: Action| { + MenuItem::CheckBox(label, None, value, TabAction(entity, action)) }; - let menu_checkbox = |label, value, action| { - menu_button(vec![ - widget::text(label).into(), - widget::space::horizontal().into(), - widget::toggler(value) - .on_toggle(move |_| Message::TabContextAction(entity, action)) - .size(16.0) - .into(), - ]) - .on_press(Message::TabContextAction(entity, action)) - }; - - let mut rows = vec![ - Element::from(menu_item(fl!("copy"), Action::Copy)), - Element::from(menu_item(fl!("paste"), Action::Paste)), - Element::from(menu_item(fl!("select-all"), Action::SelectAll)), - Element::from(divider::horizontal::light()), - Element::from(menu_item(fl!("clear-scrollback"), Action::ClearScrollback)), - Element::from(menu_item(fl!("save-output"), Action::SaveOutput)), - Element::from(divider::horizontal::light()), - Element::from(menu_checkbox( + let mut items = vec![ + item(fl!("new-tab"), Action::TabNew), + item(fl!("rename-tab"), Action::TabRename), + MenuItem::Divider, + item(fl!("copy"), Action::Copy), + item(fl!("paste"), Action::Paste), + item(fl!("select-all"), Action::SelectAll), + MenuItem::Divider, + item(fl!("clear-scrollback"), Action::ClearScrollback), + item(fl!("save-output"), Action::SaveOutput), + MenuItem::Divider, + check( fl!("monitor-activity"), monitors.0, Action::Monitor(MonitorKind::Activity), - )), - Element::from(menu_checkbox( + ), + check( fl!("monitor-silence"), monitors.1, Action::Monitor(MonitorKind::Silence), - )), - Element::from(menu_checkbox( + ), + check( fl!("monitor-process-finished"), monitors.2, Action::Monitor(MonitorKind::ProcessFinished), - )), - Element::from(divider::horizontal::light()), - Element::from(menu_item( - fl!("split-horizontal"), - Action::PaneSplitHorizontal, - )), - Element::from(menu_item(fl!("split-vertical"), Action::PaneSplitVertical)), - Element::from(menu_item( - fl!("pane-toggle-maximize"), - Action::PaneToggleMaximized, - )), - Element::from(divider::horizontal::light()), - Element::from(menu_item(fl!("new-tab"), Action::TabNew)), - Element::from(menu_item(fl!("rename-tab"), Action::TabRename)), - Element::from(menu_item(fl!("menu-settings"), Action::Settings)), - Element::from(menu_item(fl!("menu-about"), Action::About)), + ), + MenuItem::Divider, + item(fl!("split-horizontal"), Action::PaneSplitHorizontal), + item(fl!("split-vertical"), Action::PaneSplitVertical), + item(fl!("pane-toggle-maximize"), Action::PaneToggleMaximized), + MenuItem::Divider, + MenuItem::CheckBox( + fl!("window-header"), + None, + config.show_headerbar, + TabAction(entity, Action::ShowHeaderBar(!config.show_headerbar)), + ), + MenuItem::Divider, ]; #[cfg(feature = "password_manager")] - { - rows.push(Element::from(menu_item( - fl!("menu-password-manager"), - Action::PasswordManager, - ))); - } - rows.push(Element::from(menu_checkbox( - fl!("show-headerbar"), - config.show_headerbar, - Action::ShowHeaderBar(!config.show_headerbar), - ))); - - //If we have a link - //prepend the Open Link item + items.push(item(fl!("menu-password-manager"), Action::PasswordManager)); + items.push(item(fl!("menu-settings"), Action::Settings)); + items.push(item(fl!("menu-about"), Action::About)); + // If we have a link, prepend the link items if link.is_some() { - rows.insert( - 0, - Element::from(menu_item(fl!("open-link"), Action::LaunchUrlByMenu)), - ); - rows.insert( - 1, - Element::from(menu_item(fl!("copy-link"), Action::CopyUrlByMenu)), - ); - rows.insert(2, Element::from(divider::horizontal::light())); + items.insert(0, item(fl!("open-link"), Action::LaunchUrlByMenu)); + items.insert(1, item(fl!("copy-link"), Action::CopyUrlByMenu)); + items.insert(2, MenuItem::Divider); } - let content = Column::with_children(rows); - widget::container(content) - .padding(1) - //TODO: move style to libcosmic - .style(|theme| { - let cosmic = theme.cosmic(); - let component = &cosmic.background(false).component; - widget::container::Style { - icon_color: Some(component.on.into()), - text_color: Some(component.on.into()), - background: Some(Background::Color(component.base.into())), - border: Border { - radius: cosmic.radius_s().map(|x| x + 1.0).into(), - width: 1.0, - color: component.divider.into(), - }, - ..Default::default() - } - }) - .width(Length::Fixed(360.0)) - .into() + + let key_binds: HashMap = key_binds + .iter() + .map(|(key_bind, action)| (key_bind.clone(), TabAction(entity, *action))) + .collect(); + widget::menu::items(&key_binds, items) } pub fn color_scheme_menu<'a>( @@ -174,7 +117,8 @@ pub fn color_scheme_menu<'a>( let menu_item = |label, message| menu_button(vec![widget::text(label).into()]).on_press(message); - let mut column = widget::column::with_capacity(if id_opt.is_some() { 3 } else { 1 }); + let mut column = + widget::menu::menu_column::MenuColumn::with_capacity(if id_opt.is_some() { 3 } else { 1 }); if let Some(id) = id_opt { column = column.push(menu_item( fl!("rename"), @@ -197,7 +141,7 @@ pub fn color_scheme_menu<'a>( //TODO: move style to libcosmic .style(|theme| { let cosmic = theme.cosmic(); - let component = &cosmic.background(false).component; + let component = &cosmic.background(theme.transparent).component; widget::container::Style { icon_color: Some(component.on.into()), text_color: Some(component.on.into()), diff --git a/src/terminal.rs b/src/terminal.rs index 1da3269..683ac9a 100644 --- a/src/terminal.rs +++ b/src/terminal.rs @@ -207,23 +207,28 @@ impl TerminalPaneGrid { } } pub fn unfocus_all_terminals(&self) { - for (_pane, tab_model) in self.panes.panes.iter() { - for entity in tab_model.iter() { - if let Some(terminal) = tab_model.data::>(entity) { - let mut terminal = terminal.lock().unwrap(); - terminal.set_focused(false); - terminal.update(); - } + for tab_model in self.panes.panes.values() { + let entity = tab_model.active(); + if let Some(terminal) = tab_model.data::>(entity) { + let mut terminal = terminal.lock().unwrap(); + terminal.set_focused(false); + terminal.update(); } } } } -#[derive(Debug, PartialEq, Eq, Hash, Clone)] +#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] pub struct Metadata { pub bg: cosmic_text::Color, pub underline_color: cosmic_text::Color, pub flags: Flags, + /// Remplissage natif (élément de bloc Unicode) — voir [`BlockFill`]. + pub block: Option, + /// Couleur du remplissage natif. Hors bloc, sans effet ; participant à + /// l'égalité pour que deux blocs adjacents de couleurs différentes ne + /// fusionnent pas en un seul quad. + pub block_color: cosmic_text::Color, } impl Metadata { @@ -233,6 +238,8 @@ impl Metadata { bg, underline_color, flags, + block: None, + block_color: underline_color, } } @@ -246,6 +253,73 @@ impl Metadata { fn with_flags(self, flags: Flags) -> Self { Self { flags, ..self } } + + fn with_block(mut self, block: Option, color: cosmic_text::Color) -> Self { + self.block = block; + self.block_color = color; + self + } +} + +/// Élément de bloc Unicode (U+2580–U+259F) rendu nativement. +/// +/// Ces caractères ne passent PAS par le glyphe de la police : le `█` d'une +/// police couvre à peine l'em (≈ 1× la taille de police) alors que la cellule +/// fait `line_height` (≈ 1,4×) — d'où des trous entre les rangées et un rendu +/// crénelé. À la place, chaque bloc est remplacé par une espace (le glyphe +/// disparaît) et peint en quad GPU couvrant exactement la fraction voulue de +/// la cellule : bords alignés sur la grille, jointif par construction, net à +/// toute échelle. C'est l'approche de kitty/WezTerm. +#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] +pub enum BlockFill { + /// Un ou deux rectangles en huitièmes de cellule : `(x0, x1, y0, y1)`, + /// abscisse et ordonnée depuis le coin haut-gauche. Un rectangle vide + /// (`x0 >= x1` ou `y0 >= y1`) est ignoré au tracé — deux rectangles + /// suffisent pour toute la famille des quadrants. + Rects([(u8, u8, u8, u8); 2]), + /// Trame (`░▒▓`) : rectangle plein, alpha en quarts (1–3). + Shade(u8), +} + +/// Mappe un caractère vers son remplissage natif, s'il est un élément de bloc. +pub fn block_fill(c: char) -> Option { + use BlockFill::{Rects, Shade}; + const NONE: (u8, u8, u8, u8) = (8, 8, 8, 8); + match c { + '▀' => Some(Rects([(0, 8, 0, 4), NONE])), + '▁' => Some(Rects([(0, 8, 7, 8), NONE])), + '▂' => Some(Rects([(0, 8, 6, 8), NONE])), + '▃' => Some(Rects([(0, 8, 5, 8), NONE])), + '▄' => Some(Rects([(0, 8, 4, 8), NONE])), + '▅' => Some(Rects([(0, 8, 3, 8), NONE])), + '▆' => Some(Rects([(0, 8, 2, 8), NONE])), + '▇' => Some(Rects([(0, 8, 1, 8), NONE])), + '█' => Some(Rects([(0, 8, 0, 8), NONE])), + '▉' => Some(Rects([(0, 7, 0, 8), NONE])), + '▊' => Some(Rects([(0, 6, 0, 8), NONE])), + '▋' => Some(Rects([(0, 5, 0, 8), NONE])), + '▌' => Some(Rects([(0, 4, 0, 8), NONE])), + '▍' => Some(Rects([(0, 3, 0, 8), NONE])), + '▎' => Some(Rects([(0, 2, 0, 8), NONE])), + '▏' => Some(Rects([(0, 1, 0, 8), NONE])), + '▐' => Some(Rects([(4, 8, 0, 8), NONE])), + '░' => Some(Shade(1)), + '▒' => Some(Shade(2)), + '▓' => Some(Shade(3)), + '▔' => Some(Rects([(0, 8, 0, 1), NONE])), + '▕' => Some(Rects([(7, 8, 0, 8), NONE])), + '▖' => Some(Rects([(0, 4, 4, 8), NONE])), + '▗' => Some(Rects([(4, 8, 4, 8), NONE])), + '▘' => Some(Rects([(0, 4, 0, 4), NONE])), + '▝' => Some(Rects([(4, 8, 0, 4), NONE])), + '▙' => Some(Rects([(0, 4, 0, 8), (4, 8, 4, 8)])), + '▚' => Some(Rects([(0, 4, 0, 4), (4, 8, 4, 8)])), + '▛' => Some(Rects([(0, 8, 0, 4), (0, 4, 4, 8)])), + '▜' => Some(Rects([(0, 8, 0, 4), (4, 8, 4, 8)])), + '▞' => Some(Rects([(4, 8, 0, 4), (0, 4, 4, 8)])), + '▟' => Some(Rects([(0, 8, 4, 8), (4, 8, 0, 4)])), + _ => None, + } } pub struct Terminal { @@ -906,9 +980,14 @@ impl Terminal { } let start = text.len(); - // Tab skip/stop is handled by alacritty_terminal + // Tab skip/stop is handled by alacritty_terminal. + // Les éléments de bloc ne deviennent pas des glyphes : la + // police ne couvre pas la cellule (trous d'interligne) ; + // ils sont peints en quads natifs au tracé, via Metadata. + let block = block_fill(indexed.cell.c); text.push(match indexed.cell.c { '\t' => ' ', + c if block.is_some() => ' ', c => c, }); if let Some(zerowidth) = indexed.cell.zerowidth() { @@ -1026,6 +1105,7 @@ impl Terminal { } let metadata = Metadata::new(bg, fg) + .with_block(block, fg) .with_flags(flags) .with_underline_color(underline_color); let (meta_idx, _) = self.metadata_set.insert_full(metadata); @@ -1345,3 +1425,53 @@ impl Drop for Terminal { } } } + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn block_fill_couvre_toute_la_plage_unicode() { + // U+2580–U+259F : chaque élément de bloc a sa géométrie native. + for code in 0x2580..=0x259F { + let c = char::from_u32(code).unwrap(); + assert!( + block_fill(c).is_some(), + "{c} (U+{code:04X}) sans remplissage" + ); + } + // Hors de la plage : filets, espaces, lettres — pas de remplissage. + for c in [' ', '─', '│', 'M', '●', '\u{25A0}'] { + assert!( + block_fill(c).is_none(), + "{c} ne doit pas être un bloc natif" + ); + } + } + + #[test] + fn block_fill_geometry_toujours_valide() { + // Fractions croissantes, bornées à la cellule — sinon le quad + // déborderait sur la cellule voisine ou serait rejeté au tracé. + for c in (char::from_u32(0x2580).unwrap()..=char::from_u32(0x259F).unwrap()) + .chain(['░', '▒', '▓'].iter().copied()) + { + let Some(fill) = block_fill(c) else { continue }; + match fill { + BlockFill::Rects(rects) => { + for (x0, x1, y0, y1) in rects { + // Rectangle vide (sentinelle) ou borné à la cellule. + let empty = x0 >= x1 || y0 >= y1; + assert!( + empty || (x1 <= 8 && y1 <= 8), + "{c}: géométrie déborde la cellule" + ); + } + } + BlockFill::Shade(quarters) => { + assert!((1..=3).contains(&quarters), "{c}: alpha de trame invalide") + } + } + } + } +} diff --git a/src/terminal_box.rs b/src/terminal_box.rs index 1b00e31..1df9ae3 100644 --- a/src/terminal_box.rs +++ b/src/terminal_box.rs @@ -12,6 +12,7 @@ use cosmic::{ cosmic_theme::palette::{WithAlpha, blend::Compose}, iced::core::{ Border, Shell, + border::Radius, clipboard::Clipboard, input_method::{self, InputMethod}, keyboard::key::Named, @@ -45,7 +46,11 @@ use std::{ time::{Duration, Instant}, }; -use crate::{Action, Terminal, TerminalScroll, menu::MenuState, terminal::Metadata}; +use crate::{ + Action, Terminal, TerminalScroll, + menu::MenuState, + terminal::{BlockFill, Metadata}, +}; const AUTOSCROLL_INTERVAL: Duration = Duration::from_millis(100); @@ -109,8 +114,9 @@ pub struct TerminalBox<'a, Message> { border: Border, padding: Padding, show_headerbar: bool, + pane_border_radius: Option, click_timing: Duration, - context_menu: Option, + context_menu_open: bool, on_context_menu: Option) -> Message + 'a>>, on_mouse_enter: Option Message + 'a>>, opacity: Option, @@ -135,8 +141,9 @@ where border: Border::default(), padding: Padding::new(0.0), show_headerbar: true, + pane_border_radius: None, click_timing: Duration::from_millis(500), - context_menu: None, + context_menu_open: false, on_context_menu: None, on_mouse_enter: None, opacity: None, @@ -171,13 +178,18 @@ where self } + pub fn pane_border_radius(mut self, pane_border_radius: Option) -> Self { + self.pane_border_radius = pane_border_radius; + self + } + pub fn click_timing(mut self, click_timing: Duration) -> Self { self.click_timing = click_timing; self } - pub fn context_menu(mut self, position: Point) -> Self { - self.context_menu = Some(position); + pub fn context_menu_open(mut self, open: bool) -> Self { + self.context_menu_open = open; self } @@ -241,7 +253,7 @@ where if !state.is_focused { return InputMethod::Disabled; } - if self.context_menu.is_some() { + if self.context_menu_open { return InputMethod::Disabled; } @@ -409,13 +421,22 @@ where let state = tree.state.downcast_ref::(); let cosmic_theme = theme.cosmic(); - // matches the corners to the window border - let corner_radius = if self.sharp_corners { + let corner_radius = if let Some(r) = self.pane_border_radius { + r.into() + } else if self.sharp_corners { + // matches the corners to the window border cosmic_theme.radius_0() } else { - cosmic_theme.radius_s() - } - .map(|x| if x < 4.0 { x - 1.0 } else { x + 3.0 }); + cosmic_theme + .radius_s() + .map(|x| if x < 4.0 { x - 1.0 } else { x + 3.0 }) + }; + // When there's a headerbar and no pane border, only round the bottom corners + let border_radius: Radius = if self.show_headerbar && self.pane_border_radius.is_none() { + [0.0, 0.0, corner_radius[2], corner_radius[3]].into() + } else { + corner_radius.into() + }; let scrollbar_w = f32::from(cosmic_theme.spacing.space_xxs); let view_position = layout.position() + [self.padding.left, self.padding.top].into(); @@ -429,16 +450,11 @@ where // Pane too small for content, but still fill background let terminal = self.terminal.lock().unwrap(); let meta = &terminal.metadata_set[terminal.default_attrs().metadata]; - let background_color = shade(meta.bg, state.is_focused && !self.disabled); renderer.fill_quad( Quad { bounds: layout.bounds(), border: Border { - radius: if self.show_headerbar { - [0.0, 0.0, corner_radius[2], corner_radius[3]].into() - } else { - corner_radius.into() - }, + radius: border_radius, width: self.border.width, color: self.border.color, }, @@ -446,12 +462,12 @@ where ..Default::default() }, Color::from_rgba( - f32::from(background_color.r()) / 255.0, - f32::from(background_color.g()) / 255.0, - f32::from(background_color.b()) / 255.0, + f32::from(meta.bg.r()) / 255.0, + f32::from(meta.bg.g()) / 255.0, + f32::from(meta.bg.b()) / 255.0, match self.opacity { Some(opacity) => opacity, - None => f32::from(background_color.a()) / 255.0, + None => f32::from(meta.bg.a()) / 255.0, }, ), ); @@ -472,17 +488,11 @@ where // Render default background { let meta = &terminal.metadata_set[terminal.default_attrs().metadata]; - let background_color = shade(meta.bg, state.is_focused && !self.disabled); - renderer.fill_quad( Quad { bounds: layout.bounds(), border: Border { - radius: if self.show_headerbar { - [0.0, 0.0, corner_radius[2], corner_radius[3]].into() - } else { - corner_radius.into() - }, + radius: border_radius, width: self.border.width, color: self.border.color, }, @@ -490,12 +500,12 @@ where ..Default::default() }, Color::from_rgba( - f32::from(background_color.r()) / 255.0, - f32::from(background_color.g()) / 255.0, - f32::from(background_color.b()) / 255.0, + f32::from(meta.bg.r()) / 255.0, + f32::from(meta.bg.g()) / 255.0, + f32::from(meta.bg.b()) / 255.0, match self.opacity { Some(opacity) => opacity, - None => f32::from(background_color.a()) / 255.0, + None => f32::from(meta.bg.a()) / 255.0, }, ), ); @@ -537,7 +547,7 @@ where fn fill( &mut self, renderer: &mut Renderer, - is_focused: bool, + _is_focused: bool, ) { let cosmic_text_to_iced_color = |color: cosmic_text::Color| { Color::from_rgba( @@ -551,7 +561,7 @@ where macro_rules! mk_pos_offset { ($x_offset:expr, $bottom_offset:expr) => { Vector::new( - self.start_x + $x_offset, + (self.start_x + $x_offset).floor(), self.line_top + self.line_height - $bottom_offset, ) }; @@ -568,19 +578,57 @@ where } }; ($pos_offset:expr, $style_line_height:expr) => { - mk_quad!($pos_offset, $style_line_height, self.end_x - self.start_x) + mk_quad!( + $pos_offset, + $style_line_height, + (self.end_x - self.start_x).ceil() + ) }; } let metadata = &self.metadata_set[self.metadata]; if metadata.bg != self.metadata_set[self.default_metadata].bg { - let color = shade(metadata.bg, is_focused); renderer.fill_quad( mk_quad!(mk_pos_offset!(0.0, self.line_height), self.line_height), - cosmic_text_to_iced_color(color), + cosmic_text_to_iced_color(metadata.bg), ); } + // Éléments de bloc peints nativement : fractions de la + // cellule (ou de la course fusionnée, à géométrie + // séparable), bords calés sur la grille — zéro glyphe, + // zéro interligne. + if let Some(block) = metadata.block { + let span_w = self.end_x - self.start_x; + let mut color = cosmic_text_to_iced_color(metadata.block_color); + let rects = match block { + BlockFill::Rects(rects) => rects, + BlockFill::Shade(quarters) => { + color.a *= f32::from(quarters) / 4.0; + [(0, 8, 0, 8), (8, 8, 8, 8)] + } + }; + for (x0, x1, y0, y1) in rects { + if x0 >= x1 || y0 >= y1 { + continue; + } + let left = self.start_x + span_w * f32::from(x0) / 8.0; + let right = self.start_x + span_w * f32::from(x1) / 8.0; + let top = self.line_top + self.line_height * f32::from(y0) / 8.0; + let bottom = self.line_top + self.line_height * f32::from(y1) / 8.0; + renderer.fill_quad( + Quad { + bounds: Rectangle::new( + self.view_position + Vector::new(left.floor(), top), + Size::new(right.ceil() - left.floor(), bottom - top), + ), + ..Default::default() + }, + color, + ); + } + } + if !metadata.flags.is_empty() { let style_line_height = (self.glyph_font_size / 10.0).clamp(1.0, 16.0); @@ -756,7 +804,7 @@ where let scrollbar_color: Color = if pressed { // pressed_state_color, 0.5 cosmic_theme - .background(false) + .background(theme.transparent) .component .pressed .without_alpha() @@ -766,7 +814,7 @@ where } else if hover { // hover_state_color, 0.2 cosmic_theme - .background(false) + .background(theme.transparent) .component .hover .without_alpha() @@ -1344,11 +1392,11 @@ where } // Update context menu state if let Some(on_context_menu) = &self.on_context_menu { - match self.context_menu { - Some(_) => { + match self.context_menu_open { + true => { shell.publish(on_context_menu(None)); } - None => { + false => { if *button == Button::Right { let x = p.x - self.padding.left; let y = p.y - self.padding.top; @@ -1366,23 +1414,13 @@ where None, ); let link = get_hyperlink(&terminal, location); - let abs = cosmic::iced::Point::new( - layout.bounds().x + p.x, - layout.bounds().y + p.y, - ); - shell.publish(on_context_menu(Some(MenuState { - position: Some(abs), - local_position: Some(p), - link, - }))); + shell.publish(on_context_menu(Some(MenuState { link }))); } } } } shell.capture_event(); } - } else { - state.is_focused = false; } } Event::Mouse(MouseEvent::ButtonReleased(Button::Left)) => { @@ -1608,6 +1646,10 @@ where } _ => (), } + + if terminal.needs_update { + shell.request_redraw(); + } } } @@ -1754,20 +1796,6 @@ fn accumulate_wheel_lines(y: f32, accumulator: f32) -> (i32, f32) { (lines, total - lines as f32) } -fn shade(color: cosmic_text::Color, is_focused: bool) -> cosmic_text::Color { - if is_focused { - color - } else { - let shade = 0.92; - cosmic_text::Color::rgba( - (f32::from(color.r()) * shade) as u8, - (f32::from(color.g()) * shade) as u8, - (f32::from(color.b()) * shade) as u8, - color.a(), - ) - } -} - impl<'a, Message> From> for Element<'a, Message, cosmic::Theme, Renderer> where Message: Clone + 'a,