diff --git a/Cargo.lock b/Cargo.lock index 5e6580b..6c8a633 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -215,7 +215,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f2a1bb052857d5dd49572219344a7332b31b76405648eabac5bc68978251bcd" dependencies = [ "android-properties", - "bitflags 2.13.0", + "bitflags 2.13.1", "cc", "jni", "libc", @@ -336,7 +336,7 @@ checksum = "0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -351,6 +351,12 @@ version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3fb67a6e08acf24fdeccbac2cb6ac4305825bd1f117462e0e6f2f193345ad56" +[[package]] +name = "as-raw-xcb-connection" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b" + [[package]] name = "as-slice" version = "0.2.1" @@ -500,7 +506,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -535,7 +541,7 @@ checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -597,7 +603,7 @@ dependencies = [ "derive_utils", "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -648,7 +654,7 @@ dependencies = [ "anyhow", "arrayvec", "log", - "nom 8.0.0", + "nom", "num-rational", "v_frame", ] @@ -692,26 +698,6 @@ dependencies = [ "serde", ] -[[package]] -name = "bindgen" -version = "0.71.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f58bf3d7db68cfbac37cfc485a8d711e87e064c3d0fe0435b92f7a407f9d6b3" -dependencies = [ - "bitflags 2.13.0", - "cexpr", - "clang-sys", - "itertools 0.13.0", - "log", - "prettyplease", - "proc-macro2", - "quote", - "regex", - "rustc-hash 2.1.3", - "shlex 1.3.0", - "syn 2.0.118", -] - [[package]] name = "bit-set" version = "0.8.0" @@ -741,9 +727,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.13.0" +version = "2.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4388bee8683e3d04af747c73422af53102d2bd24d9eadb6cbc100baef4b43f8" +checksum = "b588b76d00fde79687d7646a9b5bdf3cc0f655e0bbd080335a95d7e96f3587da" dependencies = [ "serde_core", ] @@ -910,6 +896,14 @@ dependencies = [ "num-traits", ] +[[package]] +name = "build_helpers" +version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic#1f8d8786940cc6db59d412153c5a03f69a20375c" +dependencies = [ + "cfg_aliases 0.2.1", +] + [[package]] name = "built" version = "0.8.1" @@ -951,7 +945,7 @@ checksum = "f65693059b6b9c588b9f62fed1cedbf0a8b805631457ea162d68f0de186f3de5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -988,7 +982,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.1", "polling", "rustix 1.1.4", "slab", @@ -1028,15 +1022,6 @@ dependencies = [ "shlex 2.0.1", ] -[[package]] -name = "cexpr" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" -dependencies = [ - "nom 7.1.3", -] - [[package]] name = "cfb" version = "0.7.3" @@ -1109,22 +1094,11 @@ dependencies = [ "inout", ] -[[package]] -name = "clang-sys" -version = "1.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "157a8ba7b480713b56f4c09fd13fc3e0a22a5dfab8097ba61cbc5feef950788a" -dependencies = [ - "glob", - "libc", - "libloading", -] - [[package]] name = "clap" -version = "4.6.1" +version = "4.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ddb117e43bbf7dacf0a4190fef4d345b9bad68dfc649cb349e7d17d28428e51" +checksum = "d91e0c145792ef73a6ad36d27c75ac09f1832222a3c209689d90f534685ee5b7" dependencies = [ "clap_builder", "clap_derive", @@ -1132,9 +1106,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.6.0" +version = "4.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069f" +checksum = "f09628afdcc538b57f3c6341e9c8e9970f18e4a481690a64974d7023bd33548b" dependencies = [ "anstream", "anstyle", @@ -1144,14 +1118,14 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.6.1" +version = "4.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2ce8604710f6733aa641a2b3731eaa1e8b3d9973d5e3565da11800813f997a9" +checksum = "d012d2b9d65aca7f18f4d9878a045bc17899bba951561ba5ec3c2ba1eed9a061" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.118", + "syn 3.0.3", ] [[package]] @@ -1172,6 +1146,7 @@ dependencies = [ [[package]] name = "clipboard_macos" version = "0.1.0" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=sctk-0.20#f68595ee0e62fbd6589f4709b5aaa5c3c7ea5f6c" dependencies = [ "objc", "objc-foundation", @@ -1181,12 +1156,22 @@ dependencies = [ [[package]] name = "clipboard_wayland" version = "0.2.2" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=sctk-0.20#f68595ee0e62fbd6589f4709b5aaa5c3c7ea5f6c" dependencies = [ "dnd", "mime 0.1.0", "smithay-clipboard", ] +[[package]] +name = "clipboard_x11" +version = "0.4.2" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=sctk-0.20#f68595ee0e62fbd6589f4709b5aaa5c3c7ea5f6c" +dependencies = [ + "thiserror 1.0.69", + "x11rb", +] + [[package]] name = "cocoa" version = "0.25.0" @@ -1225,7 +1210,7 @@ checksum = "fe6d2e5af09e8c8ad56c969f2157a3d4238cebc7c55f0a517728c38f7b200f81" dependencies = [ "serde", "termcolor", - "unicode-width 0.2.2", + "unicode-width", ] [[package]] @@ -1354,7 +1339,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.1", "core-foundation 0.10.1", "libc", ] @@ -1371,6 +1356,7 @@ dependencies = [ [[package]] name = "cosmic-bg-config" version = "1.0.3" +source = "git+https://github.com/pop-os/cosmic-bg#76e89e6aff4224e3a820cbe71c74ee91adb60d03" dependencies = [ "cosmic-config", "derive_setters", @@ -1382,8 +1368,9 @@ dependencies = [ [[package]] name = "cosmic-client-toolkit" version = "0.2.0" +source = "git+https://github.com/pop-os/cosmic-protocols//?rev=e95d895#e95d89504513e1407f89a189aca328fbecc9eeef" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.1", "cosmic-protocols", "libc", "smithay-client-toolkit", @@ -1394,6 +1381,7 @@ dependencies = [ [[package]] name = "cosmic-comp-config" version = "1.0.0" +source = "git+https://github.com/pop-os/cosmic-comp#9718699ec7c66c820c6ad247ebb39872ff449402" dependencies = [ "cosmic-config", "input", @@ -1405,6 +1393,7 @@ dependencies = [ [[package]] name = "cosmic-config" version = "1.0.0" +source = "git+https://github.com/pop-os/libcosmic#1f8d8786940cc6db59d412153c5a03f69a20375c" dependencies = [ "atomicwrites", "cosmic-config-derive", @@ -1425,9 +1414,10 @@ dependencies = [ [[package]] name = "cosmic-config-derive" version = "1.0.0" +source = "git+https://github.com/pop-os/libcosmic#1f8d8786940cc6db59d412153c5a03f69a20375c" dependencies = [ "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -1441,6 +1431,7 @@ dependencies = [ [[package]] name = "cosmic-freedesktop-icons" version = "0.4.0" +source = "git+https://github.com/pop-os/freedesktop-icons#ab4c57b8e416c6af9297cb04d101889896fd9a92" dependencies = [ "bstr", "btoi", @@ -1454,6 +1445,7 @@ dependencies = [ [[package]] name = "cosmic-idle-config" version = "0.1.0" +source = "git+https://github.com/pop-os/cosmic-idle#c95d066b5b640509a6369634b669ca60dc50e168" dependencies = [ "cosmic-config", "serde", @@ -1474,7 +1466,8 @@ dependencies = [ [[package]] name = "cosmic-panel-config" -version = "1.3.0" +version = "0.1.0" +source = "git+https://github.com/pop-os/cosmic-panel#f416dbbe72d8600d395d24bf9f96f6ba1299d13b" dependencies = [ "anyhow", "cosmic-config", @@ -1488,8 +1481,9 @@ dependencies = [ [[package]] name = "cosmic-protocols" version = "0.2.0" +source = "git+https://github.com/pop-os/cosmic-protocols//?rev=e95d895#e95d89504513e1407f89a189aca328fbecc9eeef" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.1", "wayland-backend", "wayland-client", "wayland-protocols", @@ -1500,7 +1494,8 @@ dependencies = [ [[package]] name = "cosmic-randr" -version = "1.3.0" +version = "0.1.0" +source = "git+https://github.com/pop-os/cosmic-randr#6e8e795970fa06d434af22775e415b517f7552d3" dependencies = [ "cosmic-protocols", "indexmap 2.14.0", @@ -1513,7 +1508,8 @@ dependencies = [ [[package]] name = "cosmic-randr-shell" -version = "1.3.0" +version = "0.1.0" +source = "git+https://github.com/pop-os/cosmic-randr#6e8e795970fa06d434af22775e415b517f7552d3" dependencies = [ "kdl", "slotmap", @@ -1522,7 +1518,7 @@ dependencies = [ [[package]] name = "cosmic-settings" -version = "1.0.12" +version = "1.5.0" dependencies = [ "accounts-zbus", "anyhow", @@ -1545,13 +1541,12 @@ dependencies = [ "cosmic-settings-airplane-mode-subscription", "cosmic-settings-audio-client", "cosmic-settings-bluetooth-subscription", - "cosmic-settings-config 0.1.0 (git+https://github.com/pop-os/cosmic-settings-daemon)", + "cosmic-settings-config", "cosmic-settings-daemon-config", "cosmic-settings-page", "cosmic-settings-sound", "cosmic-settings-upower-subscription", "cosmic-settings-wallpaper", - "cups_rs", "derive_setters", "dirs", "eyre", @@ -1568,10 +1563,10 @@ dependencies = [ "image", "indexmap 2.14.0", "intmap", - "itertools 0.14.0", + "itertools", "itoa", "jiff", - "libcosmic-yoda", + "libcosmic", "locale1", "locales-rs", "mime 0.3.17", @@ -1647,7 +1642,7 @@ dependencies = [ [[package]] name = "cosmic-settings-audio-client" version = "1.0.0" -source = "git+https://github.com/pop-os/cosmic-settings-daemon#1af414fc6cb9080349847382a66db9fd69dbe964" +source = "git+https://github.com/pop-os/cosmic-settings-daemon#e4d2a74f5115091940f6ea09f730863f74f34758" dependencies = [ "cosmic-settings-audio-core", "dirs", @@ -1663,7 +1658,7 @@ dependencies = [ [[package]] name = "cosmic-settings-audio-core" version = "1.0.0" -source = "git+https://github.com/pop-os/cosmic-settings-daemon#1af414fc6cb9080349847382a66db9fd69dbe964" +source = "git+https://github.com/pop-os/cosmic-settings-daemon#e4d2a74f5115091940f6ea09f730863f74f34758" dependencies = [ "dirs", "ron 0.12.2", @@ -1686,19 +1681,7 @@ dependencies = [ [[package]] name = "cosmic-settings-config" version = "0.1.0" -dependencies = [ - "cosmic-config", - "ron 0.11.0", - "serde", - "serde_with", - "tracing", - "xkbcommon 0.9.0", -] - -[[package]] -name = "cosmic-settings-config" -version = "0.1.0" -source = "git+https://github.com/pop-os/cosmic-settings-daemon#1af414fc6cb9080349847382a66db9fd69dbe964" +source = "git+https://github.com/pop-os/cosmic-settings-daemon#e4d2a74f5115091940f6ea09f730863f74f34758" dependencies = [ "cosmic-config", "ron 0.11.0", @@ -1710,7 +1693,8 @@ dependencies = [ [[package]] name = "cosmic-settings-daemon" -version = "0.1.1-yoda.1" +version = "0.1.0" +source = "git+https://github.com/pop-os/dbus-settings-bindings#eed01dd3609e90e3c8cd043656734c500956c793" dependencies = [ "zbus", ] @@ -1718,7 +1702,7 @@ dependencies = [ [[package]] name = "cosmic-settings-daemon-config" version = "0.1.0" -source = "git+https://github.com/pop-os/cosmic-settings-daemon#1af414fc6cb9080349847382a66db9fd69dbe964" +source = "git+https://github.com/pop-os/cosmic-settings-daemon#e4d2a74f5115091940f6ea09f730863f74f34758" dependencies = [ "cosmic-config", "serde", @@ -1742,7 +1726,7 @@ version = "1.0.7" dependencies = [ "derive_setters", "downcast-rs 2.0.2", - "libcosmic-yoda", + "libcosmic", "regex", "slab", "slotmap", @@ -1795,8 +1779,10 @@ dependencies = [ [[package]] name = "cosmic-text" version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be17b688510d934ce13f48a2beba700e11583e281e0fda99c22bb256a14eda73" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.1", "fontdb", "harfrust", "linebender_resource_handle", @@ -1812,12 +1798,12 @@ dependencies = [ "unicode-linebreak", "unicode-script", "unicode-segmentation", - "unicode-width 0.2.2", ] [[package]] name = "cosmic-theme" version = "1.0.0" +source = "git+https://github.com/pop-os/libcosmic#1f6dc991eaa5115a09be2505cc8a323e5b2b0bff" dependencies = [ "almost", "configparser", @@ -1893,6 +1879,7 @@ checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" [[package]] name = "cryoglyph" version = "0.1.0" +source = "git+https://github.com/iced-rs/cryoglyph.git?rev=e429a025df36ab8145708acb309080ae3deec17a#e429a025df36ab8145708acb309080ae3deec17a" dependencies = [ "cosmic-text", "etagere", @@ -1949,16 +1936,12 @@ dependencies = [ ] [[package]] -name = "cups_rs" -version = "0.3.0" +name = "ctor" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77ad179868ddceb8948487316c7094aa251e3efb0ecf15cab88b08f22eabf724" +checksum = "83cf0d42651b16c6dfe68685716d18480d18a9c39c62d76e8cf3eb6ed5d8bcbf" dependencies = [ - "bindgen", - "chrono", - "libc", - "pkg-config", - "thiserror 1.0.69", + "dtor", ] [[package]] @@ -1998,7 +1981,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -2011,7 +1994,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -2022,7 +2005,7 @@ checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" dependencies = [ "darling_core 0.21.3", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -2033,7 +2016,7 @@ checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d" dependencies = [ "darling_core 0.23.0", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -2049,7 +2032,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3ee89cb860616069c67520dcd66cacdb900b57c799f634a0eb6d91f6e2a82b61" dependencies = [ "av-data", - "bitflags 2.13.0", + "bitflags 2.13.1", "dav1d-sys", "static_assertions", ] @@ -2083,7 +2066,7 @@ dependencies = [ "defmt-parser", "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -2113,7 +2096,7 @@ dependencies = [ "darling 0.21.3", "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -2124,7 +2107,7 @@ checksum = "362f47930db19fe7735f527e6595e4900316b893ebf6d48ad3d31be928d57dd6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -2185,7 +2168,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.1", "block2 0.6.2", "libc", "objc2 0.6.4", @@ -2199,7 +2182,7 @@ checksum = "1ac70aa55017e108007fbaf5aa0f54b021c98f92ff8af59d42eda9da96e3dd4f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -2214,8 +2197,9 @@ dependencies = [ [[package]] name = "dnd" version = "0.1.0" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=sctk-0.20#f68595ee0e62fbd6589f4709b5aaa5c3c7ea5f6c" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.1", "mime 0.1.0", "raw-window-handle", "smithay-client-toolkit", @@ -2246,6 +2230,52 @@ checksum = "117240f60069e65410b3ae1bb213295bd828f707b5bec6596a1afc8793ce0cbc" [[package]] name = "dpi" version = "0.1.2" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#71ce08c043814514a8fd92d9d0599f115ae854e8" + +[[package]] +name = "drm" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0f8a69e60d75ae7dab4ef26a59ca99f2a89d4c142089b537775ae0c198bdcde" +dependencies = [ + "bitflags 2.13.1", + "bytemuck", + "drm-ffi", + "drm-fourcc", + "rustix 0.38.44", +] + +[[package]] +name = "drm-ffi" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41334f8405792483e32ad05fbb9c5680ff4e84491883d2947a4757dc54cb2ac6" +dependencies = [ + "drm-sys", + "rustix 0.38.44", +] + +[[package]] +name = "drm-fourcc" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0aafbcdb8afc29c1a7ee5fbe53b5d62f4565b35a042a662ca9fecd0b54dae6f4" + +[[package]] +name = "drm-sys" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d09ff881f92f118b11105ba5e34ff8f4adf27b30dae8f12e28c193af1c83176" +dependencies = [ + "libc", + "linux-raw-sys 0.6.5", +] + +[[package]] +name = "dtor" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edf234dd1594d6dd434a8fb8cada51ddbbc593e40e4a01556a0b31c62da2775b" [[package]] name = "dyn-clone" @@ -2283,7 +2313,7 @@ checksum = "67c78a4d8fdf9953a5c9d458f9efe940fd97a0cab0941c075a813ac594733827" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -2303,7 +2333,7 @@ checksum = "44f23cf4b44bfce11a86ace86f8a73ffdec849c9fd00a386a53d278bd9e81fb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -2319,7 +2349,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.61.2", + "windows-sys 0.52.0", ] [[package]] @@ -2609,7 +2639,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -2649,7 +2679,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc6d3a3635983a889f065aa9ce760384713f23a9b4a04f696f86c39a5d7a6a5a" dependencies = [ "indexmap 2.14.0", - "nom 8.0.0", + "nom", ] [[package]] @@ -2673,9 +2703,9 @@ dependencies = [ [[package]] name = "futures" -version = "0.3.32" +version = "0.3.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d" +checksum = "a88cf1f829d945f548cf8fec32c61b1f202b6d93b45848602fc02af4b12ad218" dependencies = [ "futures-channel", "futures-core", @@ -2688,9 +2718,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.32" +version = "0.3.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d" +checksum = "262590f4fe6afeb0bc83be1daa64e52657fe185690a958af7f3ad0e92085c5ae" dependencies = [ "futures-core", "futures-sink", @@ -2698,15 +2728,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.32" +version = "0.3.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" +checksum = "2cd50c473c80f6d7c3670a752354b8e569b1a7cbfdc0419ec88e5edad85e0dc7" [[package]] name = "futures-executor" -version = "0.3.32" +version = "0.3.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d" +checksum = "6754879cc9f2c66f88c6e5c35344bb0bdb0708b0352b1201815667c7eabc7458" dependencies = [ "futures-core", "futures-task", @@ -2715,9 +2745,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.32" +version = "0.3.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718" +checksum = "4577ecaa3c4f96589d473f679a71b596316f6641bc350038b962a5daf0085d7a" [[package]] name = "futures-lite" @@ -2734,26 +2764,26 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.32" +version = "0.3.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b" +checksum = "2d6d3cde68c518367be28956066ddfef33813991b77a55005a69dae04bf3b10b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] name = "futures-sink" -version = "0.3.32" +version = "0.3.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893" +checksum = "e34418ac499d6305c2fb5ad0ed2f6ac998c5f8ca209b4510f7f94242c647e307" [[package]] name = "futures-task" -version = "0.3.32" +version = "0.3.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393" +checksum = "b231ed28831efb4a61a08580c4bc233ec56bc009f4cd8f52da2c3cb97df0c109" [[package]] name = "futures-timer" @@ -2763,9 +2793,9 @@ checksum = "af43fadb8a98512d547e37b4e92e0ced13e205c061b87b4623eff01d918d6968" [[package]] name = "futures-util" -version = "0.3.32" +version = "0.3.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6" +checksum = "a77a90a256fce34da66415271e30f94ee91c57b04b8a2c042d9cf3220179deaa" dependencies = [ "futures-channel", "futures-core", @@ -2788,6 +2818,16 @@ dependencies = [ "version_check", ] +[[package]] +name = "gethostname" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bd49230192a3797a9a4d6abe9b3eed6f7fa4c8a8a4947977c6f80025f92cbd8" +dependencies = [ + "rustix 1.1.4", + "windows-link 0.2.1", +] + [[package]] name = "getrandom" version = "0.2.17" @@ -2875,12 +2915,6 @@ version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "151665d9be52f9bb40fc7966565d39666f2d1e69233571b71b87791c7e0528b3" -[[package]] -name = "glob" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4eba85ea1d0a966a983acd07deee566e67395d2d96b6fb39e62b5a833f1eb0b" - [[package]] name = "glow" version = "0.16.0" @@ -2922,7 +2956,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.1", "gpu-descriptor-types", "hashbrown 0.15.5", ] @@ -2933,7 +2967,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.1", ] [[package]] @@ -2970,7 +3004,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.1", "bytemuck", "core_maths", "read-fonts 0.37.0", @@ -3153,20 +3187,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 2.0.118", + "syn 2.0.119", "unic-langid", ] @@ -3180,7 +3214,7 @@ dependencies = [ "i18n-config", "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -3210,7 +3244,9 @@ dependencies = [ [[package]] name = "iced" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic#1f6dc991eaa5115a09be2505cc8a323e5b2b0bff" dependencies = [ + "build_helpers", "dnd", "iced_accessibility", "iced_core", @@ -3230,6 +3266,7 @@ dependencies = [ [[package]] name = "iced_accessibility" version = "0.1.0" +source = "git+https://github.com/pop-os/libcosmic#1f8d8786940cc6db59d412153c5a03f69a20375c" dependencies = [ "accesskit", "accesskit_winit", @@ -3238,8 +3275,10 @@ dependencies = [ [[package]] name = "iced_core" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic#1f8d8786940cc6db59d412153c5a03f69a20375c" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.1", + "build_helpers", "bytes", "cosmic-client-toolkit", "dnd", @@ -3263,6 +3302,7 @@ dependencies = [ [[package]] name = "iced_debug" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic#1f6dc991eaa5115a09be2505cc8a323e5b2b0bff" dependencies = [ "iced_core", "iced_futures", @@ -3272,6 +3312,7 @@ dependencies = [ [[package]] name = "iced_futures" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic#1f8d8786940cc6db59d412153c5a03f69a20375c" dependencies = [ "futures", "iced_core", @@ -3285,8 +3326,9 @@ dependencies = [ [[package]] name = "iced_graphics" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic#1f6dc991eaa5115a09be2505cc8a323e5b2b0bff" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.1", "bytemuck", "cosmic-text", "half", @@ -3305,6 +3347,7 @@ dependencies = [ [[package]] name = "iced_program" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic#1f6dc991eaa5115a09be2505cc8a323e5b2b0bff" dependencies = [ "iced_graphics", "iced_runtime", @@ -3313,6 +3356,7 @@ dependencies = [ [[package]] name = "iced_renderer" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic#1f6dc991eaa5115a09be2505cc8a323e5b2b0bff" dependencies = [ "iced_graphics", "iced_tiny_skia", @@ -3324,7 +3368,9 @@ dependencies = [ [[package]] name = "iced_runtime" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic#1f6dc991eaa5115a09be2505cc8a323e5b2b0bff" dependencies = [ + "build_helpers", "bytes", "cosmic-client-toolkit", "dnd", @@ -3339,6 +3385,7 @@ dependencies = [ [[package]] name = "iced_tiny_skia" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic#1f6dc991eaa5115a09be2505cc8a323e5b2b0bff" dependencies = [ "bytemuck", "cosmic-text", @@ -3355,8 +3402,11 @@ dependencies = [ [[package]] name = "iced_wgpu" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic#1f6dc991eaa5115a09be2505cc8a323e5b2b0bff" dependencies = [ - "bitflags 2.13.0", + "as-raw-xcb-connection", + "bitflags 2.13.1", + "build_helpers", "bytemuck", "cosmic-client-toolkit", "cryoglyph", @@ -3372,17 +3422,21 @@ dependencies = [ "rustc-hash 2.1.3", "rustix 0.38.44", "thiserror 2.0.18", + "tiny-xlib", "wayland-backend", "wayland-client", "wayland-protocols", "wayland-sys", "wgpu", + "x11rb", ] [[package]] name = "iced_widget" version = "0.14.2" +source = "git+https://github.com/pop-os/libcosmic#1f6dc991eaa5115a09be2505cc8a323e5b2b0bff" dependencies = [ + "build_helpers", "cosmic-client-toolkit", "dnd", "iced_accessibility", @@ -3401,7 +3455,9 @@ dependencies = [ [[package]] name = "iced_winit" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic#1f6dc991eaa5115a09be2505cc8a323e5b2b0bff" dependencies = [ + "build_helpers", "cosmic-client-toolkit", "cursor-icon", "dnd", @@ -3952,7 +4008,7 @@ version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "153be1941a183ec9ccd095ddbe17a8b8d435ef6c76e9e02451b933c3999af2c8" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.1", "inotify-sys", "libc", ] @@ -3982,7 +4038,7 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9793345a65d71317763a33066b5d8351f8760dde8d4930fe9e39b5f14a7959d" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.1", "input-sys", "libc", "log", @@ -4003,7 +4059,7 @@ checksum = "c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -4048,15 +4104,6 @@ version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" -[[package]] -name = "itertools" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" -dependencies = [ - "either", -] - [[package]] name = "itertools" version = "0.14.0" @@ -4102,7 +4149,7 @@ checksum = "d0879bd39df99c4c5e2c6615ccc026391a423dde10532c573e6086eb94a802cc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -4147,7 +4194,7 @@ dependencies = [ "quote", "rustc_version", "simd_cesu8", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -4175,7 +4222,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38c0b942f458fe50cdac086d2f946512305e5631e720728f2a61aabcd47a6264" dependencies = [ "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -4405,7 +4452,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.1", "serde", ] @@ -4451,7 +4498,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.1", "libc", ] @@ -4495,16 +4542,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66" [[package]] -name = "libcosmic-yoda" -version = "0.1.0-yoda.2" +name = "libcosmic" +version = "1.0.0" +source = "git+https://github.com/pop-os/libcosmic#1f6dc991eaa5115a09be2505cc8a323e5b2b0bff" dependencies = [ "apply", "ashpd 0.12.3", "auto_enums", + "build_helpers", "cosmic-client-toolkit", "cosmic-config", "cosmic-freedesktop-icons", - "cosmic-settings-config 0.1.0", + "cosmic-settings-config", "cosmic-settings-daemon", "cosmic-theme", "css-color", @@ -4581,7 +4630,7 @@ version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c943259e342f1e06ff2da7a83eabdfe7f92ce10262688dbf1895ff0b3e6e4652" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.1", "libc", "plain", "redox_syscall 0.9.0", @@ -4618,6 +4667,12 @@ version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" +[[package]] +name = "linux-raw-sys" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a385b1be4e5c3e362ad2ffa73c392e53f031eaa5b7d648e64cd87f27f6063d7" + [[package]] name = "linux-raw-sys" version = "0.12.1" @@ -4828,7 +4883,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.1", "block", "core-graphics-types 0.2.0", "foreign-types", @@ -4844,12 +4899,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f98efec8807c63c752b5bd61f862c165c115b0a35685bdcfd9238c7aeb592b7" dependencies = [ "cfg-if", - "unicode-width 0.1.14", + "unicode-width", ] [[package]] name = "mime" version = "0.1.0" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=sctk-0.20#f68595ee0e62fbd6589f4709b5aaa5c3c7ea5f6c" dependencies = [ "smithay-clipboard", ] @@ -4870,12 +4926,6 @@ dependencies = [ "unicase", ] -[[package]] -name = "minimal-lexical" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" - [[package]] name = "miniz_oxide" version = "0.8.9" @@ -4936,7 +4986,7 @@ checksum = "618f667225063219ddfc61251087db8a9aec3c3f0950c916b614e403486f1135" dependencies = [ "arrayvec", "bit-set", - "bitflags 2.13.0", + "bitflags 2.13.1", "cfg-if", "cfg_aliases 0.2.1", "codespan-reporting", @@ -4960,7 +5010,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.1", "jni-sys 0.3.1", "log", "ndk-sys", @@ -4992,13 +5042,13 @@ checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" [[package]] name = "nmrs" -version = "3.4.0" +version = "3.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62c427203beda58ac05815b356d64a34eeb2fba180b3077d543ebb1472fc1269" +checksum = "33e42c05118e18f29f55eefa2fbfd98a06b0c7a1a829bdb0f328137d358c6013" dependencies = [ "async-trait", "base64", - "bitflags 2.13.0", + "bitflags 2.13.1", "futures", "futures-timer", "log", @@ -5019,16 +5069,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "nom" -version = "7.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" -dependencies = [ - "memchr", - "minimal-lexical", -] - [[package]] name = "nom" version = "8.0.0" @@ -5050,7 +5090,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.1", "fsevent-sys", "inotify", "kqueue", @@ -5068,7 +5108,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.1", ] [[package]] @@ -5137,7 +5177,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -5199,7 +5239,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -5253,7 +5293,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.1", "block2 0.5.1", "libc", "objc2 0.5.2", @@ -5269,7 +5309,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.1", "block2 0.6.2", "objc2 0.6.4", "objc2-core-foundation", @@ -5282,7 +5322,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.1", "block2 0.5.1", "objc2 0.5.2", "objc2-foundation 0.2.2", @@ -5294,7 +5334,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.1", "block2 0.6.2", "dispatch2", "objc2 0.6.4", @@ -5306,7 +5346,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.1", "libc", "objc2-core-foundation", ] @@ -5329,7 +5369,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.1", "objc2-core-foundation", "objc2-core-graphics", ] @@ -5346,7 +5386,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.1", "block2 0.5.1", "libc", "objc2 0.5.2", @@ -5358,7 +5398,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.1", "block2 0.6.2", "objc2 0.6.4", "objc2-core-foundation", @@ -5380,7 +5420,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.1", "block2 0.5.1", "objc2 0.5.2", "objc2-foundation 0.2.2", @@ -5392,7 +5432,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.1", "block2 0.5.1", "objc2 0.5.2", "objc2-foundation 0.2.2", @@ -5405,7 +5445,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.1", "objc2 0.6.4", "objc2-core-foundation", "objc2-foundation 0.3.2", @@ -5503,7 +5543,7 @@ dependencies = [ "proc-macro2", "proc-macro2-diagnostics", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -5543,7 +5583,7 @@ dependencies = [ "by_address", "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -5644,7 +5684,7 @@ dependencies = [ "phf_shared 0.11.3", "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -5657,7 +5697,7 @@ dependencies = [ "phf_shared 0.13.1", "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", "uncased", ] @@ -5703,7 +5743,7 @@ checksum = "c96395f0a926bc13b1c17622aaddda1ecb55d49c8f1bf9777e4d877800a43f8b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -5760,7 +5800,7 @@ version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60769b8b31b2a9f263dae2776c37b1b28ae246943cf719eb6946a1db05128a61" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.1", "crc32fast", "fdeflate", "flate2", @@ -5834,16 +5874,6 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8cf8e6a8aa66ce33f63993ffc4ea4271eb5b0530a9002db8455ea6050c77bfa" -[[package]] -name = "prettyplease" -version = "0.2.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" -dependencies = [ - "proc-macro2", - "syn 2.0.118", -] - [[package]] name = "proc-macro-crate" version = "3.5.0" @@ -5854,25 +5884,25 @@ dependencies = [ ] [[package]] -name = "proc-macro-error-attr2" -version = "2.0.0" +name = "proc-macro-error-attr3" +version = "3.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" +checksum = "be5bfc63c4dc85083c9daaf7112d0261701d4058677c3bff7f2afc44e30ef3e1" dependencies = [ "proc-macro2", "quote", ] [[package]] -name = "proc-macro-error2" -version = "2.0.1" +name = "proc-macro-error3" +version = "3.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" +checksum = "dd0d42490f6b7b143eef32b9e3522e42bf25dadc02c69ed72236f80adb949b5c" dependencies = [ - "proc-macro-error-attr2", + "proc-macro-error-attr3", "proc-macro2", "quote", - "syn 2.0.118", + "syn 3.0.3", ] [[package]] @@ -5892,7 +5922,7 @@ checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", "version_check", "yansi", ] @@ -5913,7 +5943,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4488a4a36b9a4ba6b9334a32a39971f77c1436ec82c38707bce707699cc3bbcb" dependencies = [ "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -6098,7 +6128,7 @@ dependencies = [ "built", "cfg-if", "interpolate_name", - "itertools 0.14.0", + "itertools", "libc", "libfuzzer-sys", "log", @@ -6138,7 +6168,7 @@ version = "11.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "498cd0dc59d73224351ee52a95fee0f1a617a2eae0e7d9d720cc622c73a54186" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.1", ] [[package]] @@ -6200,7 +6230,7 @@ version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c5018d583d6d2f5499352aea8d177e9067d1eb03ab17c78169d5ba7a30001b15" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.1", "libredox", ] @@ -6210,7 +6240,7 @@ version = "0.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.1", ] [[package]] @@ -6219,7 +6249,7 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c5102a6aaa05aa011a238e178e6bca86d2cb56fc9f586d37cb80f5bca6e07759" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.1", ] [[package]] @@ -6250,14 +6280,14 @@ checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] name = "regex" -version = "1.13.0" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a0e75113e14dc5acb068cd0786884f214f1312650a3d36d269f5c4f3cdee8a2" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" dependencies = [ "aho-corasick", "memchr", @@ -6267,9 +6297,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.15" +version = "0.4.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f388202e4b80542a0921078cc23b6333bcf1409c1e3f86404cae4766a6131db" +checksum = "8fcfdb36bda0c880c5931cdc7a2bcdc8ba4556847b9d912bca70bc94708711ad" dependencies = [ "aho-corasick", "memchr", @@ -6345,7 +6375,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "db09040cc89e461f1a265139777a2bde7f8d8c67c4936f700c63ce3e2904d468" dependencies = [ "base64", - "bitflags 2.13.0", + "bitflags 2.13.1", "serde", "serde_derive", "unicode-ident", @@ -6357,7 +6387,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.1", "once_cell", "serde", "serde_derive", @@ -6392,7 +6422,7 @@ dependencies = [ "proc-macro2", "quote", "rust-embed-utils", - "syn 2.0.118", + "syn 2.0.119", "walkdir", ] @@ -6439,11 +6469,11 @@ version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.1", "errno", "libc", "linux-raw-sys 0.4.15", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -6452,11 +6482,11 @@ version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.1", "errno", "libc", "linux-raw-sys 0.12.1", - "windows-sys 0.61.2", + "windows-sys 0.52.0", ] [[package]] @@ -6471,7 +6501,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.1", "bytemuck", "core_maths", "log", @@ -6590,9 +6620,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", @@ -6612,22 +6642,22 @@ 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 2.0.118", + "syn 3.0.3", ] [[package]] @@ -6652,7 +6682,7 @@ checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -6693,7 +6723,7 @@ dependencies = [ "darling 0.23.0", "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -6783,9 +6813,9 @@ 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" @@ -6874,7 +6904,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.1", "bytemuck", "calloop", "calloop-wayland-source", @@ -6901,6 +6931,7 @@ dependencies = [ [[package]] name = "smithay-clipboard" version = "0.8.0" +source = "git+https://github.com/pop-os/smithay-clipboard?tag=sctk-0.20#859b02c88f45c554049a67c6ddeec1692ce0e20b" dependencies = [ "libc", "raw-window-handle", @@ -6931,11 +6962,14 @@ dependencies = [ [[package]] name = "softbuffer" version = "0.4.1" +source = "git+https://github.com/pop-os/softbuffer?tag=cosmic-4.0#c2b2c19ddb38ff17495643699f97cb1f2064a1be" dependencies = [ + "as-raw-xcb-connection", "bytemuck", "cfg_aliases 0.2.1", "cocoa", "core-graphics", + "drm", "fastrand", "foreign-types", "js-sys", @@ -6945,12 +6979,14 @@ dependencies = [ "raw-window-handle", "redox_syscall 0.5.18", "rustix 0.38.44", + "tiny-xlib", "wasm-bindgen", "wayland-backend", "wayland-client", "wayland-sys", "web-sys", "windows-sys 0.52.0", + "x11rb", ] [[package]] @@ -6959,7 +6995,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.1", ] [[package]] @@ -7072,9 +7108,20 @@ dependencies = [ [[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.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53e9bae58849f64dfa4f5d5ae372c8341f7305f82a3868709269343628b659a3" dependencies = [ "proc-macro2", "quote", @@ -7089,7 +7136,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -7124,7 +7171,7 @@ dependencies = [ "cfg-expr", "heck 0.5.0", "pkg-config", - "toml 1.1.2+spec-1.1.0", + "toml 1.1.3+spec-1.1.0", "version-compare", ] @@ -7162,7 +7209,7 @@ dependencies = [ "getrandom 0.4.3", "once_cell", "rustix 1.1.4", - "windows-sys 0.61.2", + "windows-sys 0.52.0", ] [[package]] @@ -7200,7 +7247,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -7211,7 +7258,7 @@ checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -7287,6 +7334,19 @@ dependencies = [ "strict-num", ] +[[package]] +name = "tiny-xlib" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a90a0ca3ee6a69f2ad28fd11621a4c3f03b371f366be500b64df260c4ffbafb4" +dependencies = [ + "as-raw-xcb-connection", + "ctor", + "libloading", + "pkg-config", + "tracing", +] + [[package]] name = "tinystr" version = "0.8.3" @@ -7315,9 +7375,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[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", @@ -7338,14 +7398,14 @@ checksum = "385a6cb71ab9ab790c5fe8d67f1645e6c450a7ce006a33de03daa956cf70a496" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[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", @@ -7377,9 +7437,9 @@ dependencies = [ [[package]] name = "toml" -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 = "81f3d15e84cbcd896376e6730314d59fb5a87f31e4b038454184435cd57defee" +checksum = "53c96ecdfa941c8fc4fcaed14f99ada8ebed502eef533015095a07e3301d4c3c" dependencies = [ "indexmap 2.14.0", "serde_core", @@ -7422,9 +7482,9 @@ dependencies = [ [[package]] name = "toml_writer" -version = "1.1.1+spec-1.1.0" +version = "1.1.2+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "756daf9b1013ebe47a8776667b466417e2d4c5679d441c26230efd9ef78692db" +checksum = "7d56353a2a665ad0f41a421187180aab746c8c325620617ad883a99a1cbe66d2" [[package]] name = "tracing" @@ -7446,7 +7506,7 @@ checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -7645,12 +7705,6 @@ version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" -[[package]] -name = "unicode-width" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" - [[package]] name = "upower_dbus" version = "0.3.2" @@ -7834,7 +7888,7 @@ dependencies = [ "bumpalo", "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", "wasm-bindgen-shared", ] @@ -7881,7 +7935,7 @@ version = "0.31.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "645c7c96bb74690c3189b5c9cb4ca1627062bb23693a4fad9d8c3de958260144" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.1", "rustix 1.1.4", "wayland-backend", "wayland-scanner", @@ -7893,7 +7947,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.1", "cursor-icon", "wayland-backend", ] @@ -7915,7 +7969,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.1", "wayland-backend", "wayland-client", "wayland-scanner", @@ -7928,7 +7982,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.1", "wayland-backend", "wayland-client", "wayland-protocols", @@ -7941,7 +7995,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.1", "wayland-backend", "wayland-client", "wayland-protocols", @@ -7954,7 +8008,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.1", "wayland-backend", "wayland-client", "wayland-protocols", @@ -7967,7 +8021,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.1", "wayland-backend", "wayland-client", "wayland-protocols", @@ -7992,7 +8046,7 @@ version = "0.31.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cc1846eb04c49182e04f4a099e2a830a2b745610bbc1d61246e206f29c7000a0" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.1", "downcast-rs 1.2.1", "rustix 1.1.4", "wayland-backend", @@ -8044,7 +8098,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9cb534d5ffd109c7d1135f34cdae29e60eab94855a625dcfe1705f8bc7ad79f" dependencies = [ "arrayvec", - "bitflags 2.13.0", + "bitflags 2.13.1", "bytemuck", "cfg-if", "cfg_aliases 0.2.1", @@ -8076,7 +8130,7 @@ dependencies = [ "arrayvec", "bit-set", "bit-vec", - "bitflags 2.13.0", + "bitflags 2.13.1", "bytemuck", "cfg_aliases 0.2.1", "document-features", @@ -8136,7 +8190,7 @@ dependencies = [ "arrayvec", "ash", "bit-set", - "bitflags 2.13.0", + "bitflags 2.13.1", "block", "bytemuck", "cfg-if", @@ -8180,7 +8234,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.1", "bytemuck", "js-sys", "log", @@ -8189,9 +8243,9 @@ dependencies = [ [[package]] name = "which" -version = "8.0.4" +version = "8.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48d7cd18d4acb58fb3cdfe9ea54e6cd96a4e7d4cc45c56338b236e82dad47248" +checksum = "8f3ef584124b911bcc3875c2f1472e80f24361ceb789bd1c62b3e9a3df9ff43c" dependencies = [ "libc", ] @@ -8218,7 +8272,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.52.0", ] [[package]] @@ -8230,10 +8284,12 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "window_clipboard" version = "0.4.1" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=sctk-0.20#f68595ee0e62fbd6589f4709b5aaa5c3c7ea5f6c" dependencies = [ "clipboard-win", "clipboard_macos", "clipboard_wayland", + "clipboard_x11", "dnd", "mime 0.1.0", "raw-window-handle", @@ -8339,7 +8395,7 @@ checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -8350,7 +8406,7 @@ checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -8673,8 +8729,9 @@ checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" [[package]] name = "winit" version = "0.31.0-beta.2" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#71ce08c043814514a8fd92d9d0599f115ae854e8" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.1", "cfg_aliases 0.2.1", "cursor-icon", "dpi", @@ -8692,14 +8749,16 @@ dependencies = [ "winit-wayland", "winit-web", "winit-win32", + "winit-x11", ] [[package]] name = "winit-android" version = "0.31.0-beta.2" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#71ce08c043814514a8fd92d9d0599f115ae854e8" dependencies = [ "android-activity", - "bitflags 2.13.0", + "bitflags 2.13.1", "dpi", "ndk", "raw-window-handle", @@ -8711,8 +8770,9 @@ dependencies = [ [[package]] name = "winit-appkit" version = "0.31.0-beta.2" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#71ce08c043814514a8fd92d9d0599f115ae854e8" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.1", "block2 0.6.2", "dispatch2", "dpi", @@ -8732,6 +8792,7 @@ dependencies = [ [[package]] name = "winit-common" version = "0.31.0-beta.2" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#71ce08c043814514a8fd92d9d0599f115ae854e8" dependencies = [ "memmap2 0.9.11", "objc2 0.6.4", @@ -8739,14 +8800,16 @@ dependencies = [ "smol_str", "tracing", "winit-core", + "x11-dl", "xkbcommon-dl", ] [[package]] name = "winit-core" version = "0.31.0-beta.2" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#71ce08c043814514a8fd92d9d0599f115ae854e8" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.1", "cursor-icon", "dpi", "keyboard-types", @@ -8758,8 +8821,9 @@ dependencies = [ [[package]] name = "winit-orbital" version = "0.31.0-beta.2" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#71ce08c043814514a8fd92d9d0599f115ae854e8" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.1", "dpi", "libredox", "orbclient", @@ -8773,8 +8837,9 @@ dependencies = [ [[package]] name = "winit-uikit" version = "0.31.0-beta.2" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#71ce08c043814514a8fd92d9d0599f115ae854e8" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.1", "block2 0.6.2", "dispatch2", "dpi", @@ -8792,9 +8857,10 @@ dependencies = [ [[package]] name = "winit-wayland" version = "0.31.0-beta.2" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#71ce08c043814514a8fd92d9d0599f115ae854e8" dependencies = [ "ahash", - "bitflags 2.13.0", + "bitflags 2.13.1", "calloop", "cursor-icon", "dpi", @@ -8817,9 +8883,10 @@ dependencies = [ [[package]] name = "winit-web" version = "0.31.0-beta.2" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#71ce08c043814514a8fd92d9d0599f115ae854e8" dependencies = [ "atomic-waker", - "bitflags 2.13.0", + "bitflags 2.13.1", "concurrent-queue", "cursor-icon", "dpi", @@ -8838,8 +8905,9 @@ dependencies = [ [[package]] name = "winit-win32" version = "0.31.0-beta.2" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#71ce08c043814514a8fd92d9d0599f115ae854e8" dependencies = [ - "bitflags 2.13.0", + "bitflags 2.13.1", "cursor-icon", "dpi", "raw-window-handle", @@ -8850,6 +8918,29 @@ dependencies = [ "winit-core", ] +[[package]] +name = "winit-x11" +version = "0.31.0-beta.2" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#71ce08c043814514a8fd92d9d0599f115ae854e8" +dependencies = [ + "bitflags 2.13.1", + "bytemuck", + "calloop", + "cursor-icon", + "dpi", + "libc", + "percent-encoding", + "raw-window-handle", + "rustix 1.1.4", + "smol_str", + "tracing", + "winit-common", + "winit-core", + "x11-dl", + "x11rb", + "xkbcommon-dl", +] + [[package]] name = "winnow" version = "0.6.24" @@ -8889,6 +8980,39 @@ dependencies = [ "either", ] +[[package]] +name = "x11-dl" +version = "2.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f" +dependencies = [ + "libc", + "once_cell", + "pkg-config", +] + +[[package]] +name = "x11rb" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9993aa5be5a26815fe2c3eacfc1fde061fc1a1f094bf1ad2a18bf9c495dd7414" +dependencies = [ + "as-raw-xcb-connection", + "gethostname", + "libc", + "libloading", + "once_cell", + "rustix 1.1.4", + "x11rb-protocol", + "xcursor", +] + +[[package]] +name = "x11rb-protocol" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea6fc2961e4ef194dcbfe56bb845534d0dc8098940c7e5c012a258bfec6701bd" + [[package]] name = "xcursor" version = "0.3.10" @@ -8903,7 +9027,8 @@ checksum = "2fb433233f2df9344722454bc7e96465c9d03bff9d77c248f9e7523fe79585b5" [[package]] name = "xdg-shell-wrapper-config" -version = "1.3.0" +version = "0.1.0" +source = "git+https://github.com/pop-os/cosmic-panel#f416dbbe72d8600d395d24bf9f96f6ba1299d13b" dependencies = [ "serde", "wayland-protocols-wlr", @@ -8970,7 +9095,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.1", "dlib", "log", "once_cell", @@ -9050,15 +9175,15 @@ checksum = "de844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", "synstructure", ] [[package]] name = "zbus" -version = "5.17.0" +version = "5.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a28b97f866896a4be7aefd2b5a8e01bb6773d19a775d54ab28b4d094b9a4480e" +checksum = "fe18fb60dc696039e738717b76eaea21e7a4489bbb1885020b43c94236d7e98a" dependencies = [ "async-broadcast", "async-executor", @@ -9108,7 +9233,7 @@ checksum = "10da05367f3a7b7553c8cdf8fa91aee6b64afebe32b51c95177957efc47ca3a0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", "zbus-lockstep", "zbus_xml", "zvariant", @@ -9116,14 +9241,14 @@ dependencies = [ [[package]] name = "zbus_macros" -version = "5.17.0" +version = "5.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e05ad887425eecf5e8384dc2406a4a9313eb73468712fc1cdea362eb4fe0469" +checksum = "fe96480bed92df2b442a1a30df364e12d08eed03aeb061f2b8dc6afb2be91119" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", "zbus_names", "zvariant", "zvariant_utils", @@ -9131,9 +9256,9 @@ dependencies = [ [[package]] name = "zbus_names" -version = "4.3.3" +version = "4.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1039ca249fee9559680f3a9f05b55e0761fee51af4f6c1e7d8c1f31e549721d2" +checksum = "d8bf88b4a3ff53e883001e0e0115b297a9d53c31b9c1edd2bfdd853e3428624e" dependencies = [ "serde", "winnow 1.0.4", @@ -9188,7 +9313,7 @@ checksum = "e2e817b7b52d0c7358d3246da9d69935ebb18116b2b102b4230dac079b4862f5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -9208,7 +9333,7 @@ checksum = "11532158c46691caf0f2593ea8358fed6bbf68a0315e80aae9bd41fbade684a1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", "synstructure", ] @@ -9250,7 +9375,7 @@ checksum = "625dc425cab0dca6dc3c3319506e6593dcb08a9f387ea3b284dbd52a92c40555" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -9289,7 +9414,7 @@ checksum = "e6f2416a5f504dfd7e04fee49f31abafe3314a3f62b4ddaa8e9a5fd496d4dd50" dependencies = [ "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", ] [[package]] @@ -9367,9 +9492,9 @@ dependencies = [ [[package]] name = "zvariant" -version = "5.13.0" +version = "5.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cf057bb00bf5c9ad77abb6147b0ca4818236a1858416e9d988e40d6322fefa7" +checksum = "bee2a0bcd2a907786a456fff45aaaaf54c9ba5f50b71ae9ec1a4edd200c94911" dependencies = [ "endi", "enumflags2", @@ -9382,14 +9507,14 @@ dependencies = [ [[package]] name = "zvariant_derive" -version = "5.13.0" +version = "5.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8118ca6bda77bfc0ab51d660db0c955f2505eef854c9a449435bccb616933b31" +checksum = "38a708216a18780796770bfe3f4739c7c83a3e8f789b755534bbbc06e4e23e12" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.118", + "syn 2.0.119", "zvariant_utils", ] @@ -9402,10 +9527,6 @@ dependencies = [ "proc-macro2", "quote", "serde", - "syn 2.0.118", + "syn 2.0.119", "winnow 1.0.4", ] - -[[patch.unused]] -name = "winit-x11" -version = "0.31.0-beta.2" diff --git a/Cargo.toml b/Cargo.toml index 395c8cf..40814c9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,7 +8,7 @@ rust-version = "1.93" [workspace.dependencies] cosmic-randr = { path = "../cosmic-randr/lib" } -tokio = { version = "1.49.0", features = ["macros"] } +tokio = { version = "1.53.1", features = ["macros"] } iced_winit = { path = "/home/lionel/Projets/COSMIC/libcosmic/iced/winit", default-features = false } image = { version = "0.25.10", default-features = false, features = [ "jpeg", diff --git a/TESTING.md b/TESTING.md index 43b75fc..8efc53e 100644 --- a/TESTING.md +++ b/TESTING.md @@ -48,7 +48,13 @@ This document provides a regression testing checklist for COSMIC Settings and th ### Sound -TBD after devices/profiles are fixed. +- [ ] Output & Input volume sliders work independently +- [ ] Output balance slider works & doesn't get reset by volume slider +- [ ] Amplification toggles work as expected +- [ ] Device profiles can be changed & reflect as expected on the main Sound page +- [ ] Applications using sound appear on the Applications sub-page +- [ ] Application volume and mute controls only affect the selected playback stream +- [ ] Closing an playback stream removes it from the Applications sub-page ### Power & Battery diff --git a/cosmic-settings/Cargo.toml b/cosmic-settings/Cargo.toml index 688115d..35ec946 100644 --- a/cosmic-settings/Cargo.toml +++ b/cosmic-settings/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cosmic-settings" -version = "1.0.12" +version = "1.5.0" edition = "2024" license = "GPL-3.0-only" publish = false @@ -16,7 +16,7 @@ ashpd = { version = "0.12", default-features = false, features = [ ], optional = true } chrono = "0.4" jiff = "0.2" -clap = { version = "4.5.59", features = ["derive"] } +clap = { version = "4.6.4", features = ["derive"] } color-eyre = "0.6.5" cosmic-bg-config.workspace = true cosmic-comp-config = { workspace = true, optional = true } @@ -41,28 +41,28 @@ derive_setters = "0.1.9" dirs = "6.0.0" eyre = "0.6.12" freedesktop-desktop-entry = "0.8.1" -futures = "0.3.32" +futures = "0.3.33" hostname-validator = "1.1.1" hostname1-zbus = { git = "https://github.com/pop-os/dbus-settings-bindings", optional = true } -i18n-embed-fl = "0.10.0" +i18n-embed-fl = "0.10.1" image.workspace = true -indexmap = "2.13.0" +indexmap = "2.14.0" itertools = "0.14.0" -itoa = "1.0.17" +itoa = "1.0.18" cosmic.workspace = true iced_winit.workspace = true locale1 = { git = "https://github.com/pop-os/dbus-settings-bindings", optional = true } sysinfo = { version = "=0.38.0", optional = true } mime-apps = { package = "cosmic-mime-apps", git = "https://github.com/pop-os/cosmic-mime-apps", features = ["tokio"], optional = true } notify = "8.2.0" -nmrs = { version = "3.4.0", optional = true } -regex = "1.12.3" +nmrs = { version = "3.4.2", optional = true } +regex = "1.13.1" ron = "0.12" -rust-embed = "8.11.0" +rust-embed = "8.12.0" sctk = { workspace = true, optional = true } secure-string = "0.3.0" secret-service = { version = "5.1.0", features = ["rt-tokio-crypto-rust"], optional = true } -serde = { version = "1.0.228", features = ["derive"] } +serde = { version = "1.0.229", features = ["derive"] } slab = "0.4.12" slotmap = "1.1.1" static_init = "1.0.4" @@ -70,26 +70,26 @@ sunrise = "3.0.0" timedate-zbus = { git = "https://github.com/pop-os/dbus-settings-bindings", optional = true } tokio = { workspace = true, features = ["fs", "io-util", "process", "sync"] } tracing = "0.1.44" -tracing-subscriber = { version = "0.3.22", features = ["env-filter"] } +tracing-subscriber = { version = "0.3.23", features = ["env-filter"] } udev = { version = "0.9.3", optional = true } upower_dbus = { git = "https://github.com/pop-os/dbus-settings-bindings", optional = true } bluez-zbus = { git = "https://github.com/pop-os/dbus-settings-bindings", optional = true } url = "2.5.8" xkb-data = "0.2.2" xkeysym = { version = "0.2.1", optional = true } -zbus = { version = "5.13.2", default-features = false, features = [ +zbus = { version = "5.18.0", default-features = false, features = [ "tokio", ], optional = true } zbus_polkit = { version = "5.0.0", optional = true } fontdb = "0.23.0" mime = "0.3.17" -rustix = { version = "1.1.3", features = ["process"] } +rustix = { version = "1.1.4", features = ["process"] } gettext-rs = { version = "0.7.7", features = [ "gettext-system", ], optional = true } num-traits = "0.2" pwhash = "1" -which = "8.0.0" +which = "8.0.5" zlink = "0.5.0" intmap = "3.1.3" @@ -99,7 +99,7 @@ features = ["codec"] optional = true [dependencies.icu] -version = "2.1.1" +version = "2.2.0" features = ["compiled_data"] [dependencies.i18n-embed] @@ -196,6 +196,6 @@ cosmic-comp-config = ["dep:cosmic-comp-config"] dbus-config = ["cosmic/dbus-config", "cosmic-config/dbus"] single-instance = ["cosmic/single-instance"] test = [] -wayland = ["cosmic/wayland", "dep:cosmic-panel-config", "dep:cosmic-randr", "iced_winit/cctk"] +wayland = ["cosmic/wayland", "dep:cosmic-panel-config", "dep:cosmic-randr", "iced_winit/wayland"] wgpu = ["cosmic/wgpu"] xdg-portal = ["ashpd", "cosmic/xdg-portal"] diff --git a/cosmic-settings/src/app.rs b/cosmic-settings/src/app.rs index 557a873..a54eb81 100644 --- a/cosmic-settings/src/app.rs +++ b/cosmic-settings/src/app.rs @@ -584,6 +584,13 @@ impl cosmic::Application for SettingsApp { } } + #[cfg(feature = "page-sound")] + crate::pages::Message::SoundApplications(message) => { + if let Some(page) = self.pages.page_mut::() { + return page.update(message).map(Into::into); + } + } + #[cfg(feature = "page-sound")] crate::pages::Message::SoundDeviceProfiles(message) => { if let Some(page) = self.pages.page_mut::() { @@ -1158,6 +1165,9 @@ impl SettingsApp { } for page in unload { + if page == self.active_page { + continue; + } self.loaded_pages.remove(&page); self.pages.on_leave(page); } diff --git a/cosmic-settings/src/pages/applications/startup_apps.rs b/cosmic-settings/src/pages/applications/startup_apps.rs index 4735771..f7118a4 100644 --- a/cosmic-settings/src/pages/applications/startup_apps.rs +++ b/cosmic-settings/src/pages/applications/startup_apps.rs @@ -1,7 +1,7 @@ use cosmic::app::ContextDrawer; use cosmic::iced::{Alignment, Length}; use cosmic::widget::text_input::focus; -use cosmic::widget::{Id, button, icon, settings, text}; +use cosmic::widget::{button, icon, settings, text}; use cosmic::{Apply, Element, Task, task, widget}; use cosmic_settings_page::section::Entity; use cosmic_settings_page::{self as page, Content, Info, Section}; diff --git a/cosmic-settings/src/pages/desktop/appearance/drawer.rs b/cosmic-settings/src/pages/desktop/appearance/drawer.rs index 4d8334f..32c727e 100644 --- a/cosmic-settings/src/pages/desktop/appearance/drawer.rs +++ b/cosmic-settings/src/pages/desktop/appearance/drawer.rs @@ -153,6 +153,16 @@ impl Content { } } + pub fn preserve_from(&mut self, previous: &mut Content) { + self.font_config + .take_families_from(&mut previous.font_config); + + self.icons_fetched = previous.icons_fetched; + self.icon_theme_active = previous.icon_theme_active; + self.icon_themes = std::mem::take(&mut previous.icon_themes); + self.icon_handles = std::mem::take(&mut previous.icon_handles); + } + pub fn update_font( &mut self, message: FontMessage, diff --git a/cosmic-settings/src/pages/desktop/appearance/font_config.rs b/cosmic-settings/src/pages/desktop/appearance/font_config.rs index 420a044..2f88b13 100644 --- a/cosmic-settings/src/pages/desktop/appearance/font_config.rs +++ b/cosmic-settings/src/pages/desktop/appearance/font_config.rs @@ -6,7 +6,6 @@ use std::sync::{Arc, LazyLock}; use cosmic::config::{CosmicTk, FontConfig}; use cosmic::{Apply, Element, Task, widget}; use cosmic_config::ConfigSet; -use mime::FONT; use crate::app; use crate::widget::selection_context_item; @@ -94,6 +93,11 @@ impl Model { self.font_filter.clear(); } + pub fn take_families_from(&mut self, other: &mut Model) { + self.interface_font_families = std::mem::take(&mut other.interface_font_families); + self.monospace_font_families = std::mem::take(&mut other.monospace_font_families); + } + pub fn font_loaded( &mut self, mono: Vec>, diff --git a/cosmic-settings/src/pages/desktop/appearance/mod.rs b/cosmic-settings/src/pages/desktop/appearance/mod.rs index 594656e..7ab3061 100644 --- a/cosmic-settings/src/pages/desktop/appearance/mod.rs +++ b/cosmic-settings/src/pages/desktop/appearance/mod.rs @@ -200,7 +200,9 @@ impl Page { Message::DrawerOpen(context_view) => { self.context_view = Some(context_view); - self.drawer = drawer::Content::from(&self.theme_manager); + let mut previous = + std::mem::replace(&mut self.drawer, drawer::Content::from(&self.theme_manager)); + self.drawer.preserve_from(&mut previous); tasks.push(cosmic::task::message( crate::app::Message::OpenContextDrawer(self.entity), )); diff --git a/cosmic-settings/src/pages/desktop/wallpaper/mod.rs b/cosmic-settings/src/pages/desktop/wallpaper/mod.rs index b3acb5a..cb98b7b 100644 --- a/cosmic-settings/src/pages/desktop/wallpaper/mod.rs +++ b/cosmic-settings/src/pages/desktop/wallpaper/mod.rs @@ -65,7 +65,7 @@ pub enum Message { AddFolder(Arc>), /// Adds a new image file the system wallpaper folder. #[cfg(feature = "xdg-portal")] - AddFile(Arc>), + AddFiles(Arc, file_chooser::Error>>), /// Cache currently displayed image. CacheDisplayImage, /// Selects an option in the category dropdown menu. @@ -787,11 +787,11 @@ impl Page { .title(fl!("wallpaper", "image-dialog")) .accept_label(fl!("dialog-add")) .modal(false) - .open_file() + .open_files() .await - .map(|response| response.url().to_owned()); + .map(|response| response.urls().to_vec()); - let message = Message::AddFile(Arc::new(dialog_result)); + let message = Message::AddFiles(Arc::new(dialog_result)); let page_message = crate::pages::Message::DesktopWallpaper(message); crate::Message::PageMessage(page_message) }); @@ -862,6 +862,11 @@ impl Page { #[cfg(feature = "xdg-portal")] Message::AddFolder(result) => { let path = match dialog_response(result) { + DialogResponse::Paths(_) => { + // TODO find if there is a use of multi folder addition. + tracing::warn!("unexpected multi-path response for folder dialog"); + return Task::none(); + } DialogResponse::Path(path) => path, DialogResponse::Error(why) => { tracing::error!(why, "dialog response error"); @@ -887,27 +892,30 @@ impl Page { } #[cfg(feature = "xdg-portal")] - Message::AddFile(result) => { - let path = match dialog_response(result) { - DialogResponse::Path(path) => path, + Message::AddFiles(result) => { + let paths = match dialog_response_multi(result) { + DialogResponse::Paths(paths) => paths, + DialogResponse::Path(path) => vec![path], // not really but for the sake of consistency.. DialogResponse::Error(why) => { tracing::error!(why, "dialog response error"); return Task::none(); } }; - if path.is_file() { + let tasks = paths.into_iter().filter(|path| path.is_file()).map(|path| { tracing::info!(?path, "opening custom image"); // Loads a single custom image and its thumbnail for display in the backgrounds view. - return cosmic::Task::future(async move { + cosmic::Task::future(async move { let result = wallpaper::load_image_with_thumbnail(path); let message = Message::ImageAdd(result.map(Arc::new)); let page_message = crate::pages::Message::DesktopWallpaper(message); crate::Message::PageMessage(page_message) - }); - } + }) + }); + + return Task::batch(tasks); } Message::Event(event) => match event { @@ -1417,27 +1425,33 @@ pub fn settings() -> Section { enum DialogResponse { Error(String), Path(PathBuf), + Paths(Vec), +} + +#[cfg(feature = "xdg-portal")] +fn unwrap_dialog_response(result: Arc>) -> Result { + let Some(result) = Arc::into_inner(result) else { + return Err(String::from("Arc::into_inner returned None")); + }; + + result.map_err(|why| { + let mut source: &dyn std::error::Error = &why; + let mut string = format!("open dialog subscription errored\n cause: {source}"); + + while let Some(new_source) = source.source() { + string.push_str(&format!("\n cause: {new_source}")); + source = new_source; + } + + string + }) } #[cfg(feature = "xdg-portal")] fn dialog_response(result: Arc>) -> DialogResponse { - let Some(result) = Arc::into_inner(result) else { - return DialogResponse::Error(String::from("Arc::into_inner returned None")); - }; - - let selection = match result { - Ok(response) => response, - Err(why) => { - let mut source: &dyn std::error::Error = &why; - let mut string = format!("open dialog subscription errored\n cause: {source}"); - - while let Some(new_source) = source.source() { - string.push_str(&format!("\n cause: {new_source}")); - source = new_source; - } - - return DialogResponse::Error(string); - } + let selection = match unwrap_dialog_response(result) { + Ok(selection) => selection, + Err(why) => return DialogResponse::Error(why), }; let Ok(path) = selection.to_file_path() else { @@ -1446,3 +1460,22 @@ fn dialog_response(result: Arc>) -> DialogRespo DialogResponse::Path(path) } + +#[cfg(feature = "xdg-portal")] +fn dialog_response_multi(result: Arc, file_chooser::Error>>) -> DialogResponse { + let selections = match unwrap_dialog_response(result) { + Ok(selections) => selections, + Err(why) => return DialogResponse::Error(why), + }; + + let mut paths = Vec::with_capacity(selections.len()); + for selection in selections { + let Ok(path) = selection.to_file_path() else { + tracing::warn!("not a valid file path: {}", selection.path()); + continue; + }; + paths.push(path); + } + + DialogResponse::Paths(paths) +} diff --git a/cosmic-settings/src/pages/display/arrangement.rs b/cosmic-settings/src/pages/display/arrangement.rs index 0eced7f..0f8fe89 100644 --- a/cosmic-settings/src/pages/display/arrangement.rs +++ b/cosmic-settings/src/pages/display/arrangement.rs @@ -244,11 +244,13 @@ impl Widget for Arrangement<'_ if let Some(ref on_placement) = self.on_placement { shell.publish(on_placement( output_key, - ((region.x - state.max_dimensions.0 - bounds.x) * UNIT_PIXELS) as i32, + ((region.x - state.max_dimensions.0 - bounds.x) * UNIT_PIXELS).round() + as i32, ((region.y - (state.max_dimensions.1 / VERTICAL_DISPLAY_OVERHEAD) - bounds.y) - * UNIT_PIXELS) as i32, + * UNIT_PIXELS) + .round() as i32, )); } diff --git a/cosmic-settings/src/pages/mod.rs b/cosmic-settings/src/pages/mod.rs index b7acc2d..eaeeb82 100644 --- a/cosmic-settings/src/pages/mod.rs +++ b/cosmic-settings/src/pages/mod.rs @@ -91,6 +91,8 @@ pub enum Message { #[cfg(feature = "page-sound")] Sound(sound::Message), #[cfg(feature = "page-sound")] + SoundApplications(sound::applications::Message), + #[cfg(feature = "page-sound")] SoundDeviceProfiles(sound::device_profiles::Message), StartupApps(applications::startup_apps::Message), #[cfg(feature = "page-users")] diff --git a/cosmic-settings/src/pages/networking/backend.rs b/cosmic-settings/src/pages/networking/backend.rs index eec2e4e..db0e3be 100644 --- a/cosmic-settings/src/pages/networking/backend.rs +++ b/cosmic-settings/src/pages/networking/backend.rs @@ -12,7 +12,7 @@ use futures::channel::mpsc::{UnboundedReceiver, UnboundedSender, unbounded}; use futures::{FutureExt, SinkExt, StreamExt}; use nmrs::agent::{SecretAgent, SecretAgentFlags, SecretRequest, SecretResponder, SecretSetting}; use nmrs::raw::zbus; -use nmrs::raw::zvariant::{OwnedObjectPath, OwnedValue, Str, Value}; +use nmrs::raw::zvariant::{Dict, OwnedObjectPath, OwnedValue, Str, Value}; use nmrs::{ ActiveConnection, ConnectType, ConnectionOptions, EapOptions, NetworkEvent, NetworkManager, SavedConnection, SettingsSummary, WifiKeyMgmt, WifiSecurity, @@ -514,6 +514,10 @@ pub enum Request { Option, ), SetAirplaneMode(bool), + SetVpnUsername { + uuid: UUID, + username: String, + }, SetWiFi(bool), } @@ -720,12 +724,64 @@ async fn handle_request(nm: &NetworkManager, req: Request) -> Event { result.is_ok() } Request::SetAirplaneMode(enabled) => nm.set_airplane_mode(*enabled).await.is_ok(), + Request::SetVpnUsername { uuid, username } => { + let result = set_vpn_username(nm, uuid, username).await; + if let Err(err) = &result { + tracing::error!(%err, %uuid, "failed to store VPN username"); + } + result.is_ok() + } Request::SetWiFi(enabled) => nm.set_wireless_enabled(*enabled).await.is_ok(), }; request_response(nm, req, success).await } +/// Stores a VPN username in `vpn.data`, which is where NetworkManager and the VPN +/// plugins read it from. +/// +/// The username must not be sent through the secret agent: openvpn fails to +/// reconnect when it receives a `username` key in the VPN secrets dictionary. +async fn set_vpn_username( + nm: &NetworkManager, + uuid: &str, + username: &str, +) -> Result<(), nmrs::ConnectionError> { + let settings = nm.get_saved_connection_raw(uuid).await?; + + // The whole dict is rewritten, so the keys already in it have to be carried over. + let mut data = HashMap::::new(); + if let Some(stored) = settings.get("vpn").and_then(|vpn| vpn.get("data")) + && let Ok(dict) = Dict::try_from(stored.clone()) + { + for (key, value) in dict.iter() { + if let (Ok(key), Ok(value)) = (Str::try_from(key.clone()), Str::try_from(value.clone())) + { + data.insert(key.to_string(), value.to_string()); + } + } + } + + if data + .get("username") + .is_some_and(|stored| stored == username) + { + return Ok(()); + } + + data.insert("username".to_string(), username.to_string()); + let data = OwnedValue::try_from(Value::from(data)) + .map_err(|err| nmrs::ConnectionError::VpnFailed(err.to_string()))?; + + let mut patch = nmrs::SettingsPatch::default(); + patch.raw_overlay = Some(HashMap::from([( + "vpn".to_string(), + HashMap::from([("data".to_string(), data)]), + )])); + + nm.update_saved_connection(uuid, patch).await +} + async fn request_response(nm: &NetworkManager, req: Request, success: bool) -> Event { Event::RequestResponse { req, @@ -1649,15 +1705,28 @@ pub mod nm_secret_agent { } } SecretSetting::Vpn { .. } => { - let secrets = stored + // Earlier versions stored the username next to the password. openvpn + // fails to reconnect when one is present in the secrets dictionary, so + // profiles saved by those versions have to be filtered on read too. + let secrets: HashMap = stored .into_iter() + .filter(|(key, _)| key != "username") .map(|(key, value)| (key, value.unsecure().to_string())) .collect(); - request - .responder - .vpn_secrets(secrets) - .await - .map_err(|err| Error(err.to_string()))?; + + if secrets.is_empty() { + request + .responder + .no_secrets() + .await + .map_err(|err| Error(err.to_string()))?; + } else { + request + .responder + .vpn_secrets(secrets) + .await + .map_err(|err| Error(err.to_string()))?; + } } _ => { let setting_name = setting_name(&request.setting).to_string(); diff --git a/cosmic-settings/src/pages/networking/vpn/mod.rs b/cosmic-settings/src/pages/networking/vpn/mod.rs index 6c2c9e7..7323d84 100644 --- a/cosmic-settings/src/pages/networking/vpn/mod.rs +++ b/cosmic-settings/src/pages/networking/vpn/mod.rs @@ -612,7 +612,7 @@ impl Page { } = dialog && let Some(NmState { ref sender, .. }) = self.nm_state { - let username_unwrapped = username.clone().unwrap_or_default(); + let username = username.clone().unwrap_or_default(); let sec_tx = self.secret_tx.clone(); let nm_sender = sender.clone(); return Task::future(async move { @@ -626,10 +626,10 @@ impl Page { .send(nm_secret_agent::Request::SetSecrets { setting_name: "vpn".to_string(), uuid: uuid.to_string(), - secrets: HashMap::from_iter([ - ("username".to_string(), username_unwrapped.into()), - ("password".to_string(), password), - ]), + secrets: HashMap::from_iter([( + "password".to_string(), + password, + )]), applied_tx, }) .await @@ -645,6 +645,16 @@ impl Page { tracing::error!(%err, "failed to apply secret"); } } + + if !username.is_empty() { + _ = nm_sender.unbounded_send( + network_manager::Request::SetVpnUsername { + uuid: uuid.clone(), + username, + }, + ); + } + _ = nm_sender .unbounded_send(network_manager::Request::ActivateVpn(uuid)); } @@ -668,7 +678,7 @@ impl Page { } = dialog && let Some(NmState { ref sender, .. }) = self.nm_state { - let username_unwrapped = username.unwrap_or_default(); + let username = username.unwrap_or_default(); let sec_tx = self.secret_tx.clone(); let nm_sender = sender.clone(); return Task::future(async move { @@ -678,10 +688,10 @@ impl Page { .send(nm_secret_agent::Request::SetSecrets { setting_name: "vpn".to_string(), uuid: uuid.to_string(), - secrets: HashMap::from_iter([ - ("username".to_string(), username_unwrapped.into()), - ("password".to_string(), password), - ]), + secrets: HashMap::from_iter([( + "password".to_string(), + password, + )]), applied_tx, }) .await; @@ -689,6 +699,16 @@ impl Page { tokio::time::timeout(std::time::Duration::from_secs(1), applied_rx) .await; } + + if !username.is_empty() { + _ = nm_sender.unbounded_send( + network_manager::Request::SetVpnUsername { + uuid: uuid.clone(), + username, + }, + ); + } + _ = nm_sender.unbounded_send(network_manager::Request::ActivateVpn(uuid)); Message::Refresh }) diff --git a/cosmic-settings/src/pages/sound/applications.rs b/cosmic-settings/src/pages/sound/applications.rs new file mode 100644 index 0000000..dbe69da --- /dev/null +++ b/cosmic-settings/src/pages/sound/applications.rs @@ -0,0 +1,465 @@ +// Copyright 2026 System76 +// SPDX-License-Identifier: GPL-3.0-only + +use super::model; +use cosmic::desktop::{ + DesktopEntryCache, DesktopLookupContext, DesktopResolveOptions, resolve_desktop_entry, +}; +use cosmic::iced::futures; +use cosmic::iced::{self, Alignment, Length, window}; +use cosmic::widget::space::horizontal as horizontal_space; +use cosmic::{Apply, Element, surface, widget}; +use cosmic_config::{Config, ConfigGet}; +use cosmic_settings_audio_client::{self as audio_client, CosmicAudioProxy}; +use cosmic_settings_page::{self as page, Section, section}; +use futures::executor::block_on; +use intmap::IntMap; +use slotmap::SlotMap; +use std::cell::RefCell; +use std::rc::Rc; +use std::sync::Arc; + +const AUDIO_CONFIG: &str = "com.system76.CosmicAudio"; +const AMPLIFICATION_SINK: &str = "amplification_sink"; + +#[derive(Clone, Debug)] +pub enum Message { + Model(cosmic_settings_sound::Message), + SetBalance(u32, f32), + SetMute(u32, bool), + SetSink(u32, usize), + SetVolume(u32, u32), + Surface(surface::Action), + ToggleExpanded(u32), +} + +impl From for crate::pages::Message { + fn from(message: Message) -> Self { + crate::pages::Message::SoundApplications(message) + } +} + +impl From for crate::Message { + fn from(message: Message) -> Self { + crate::Message::PageMessage(message.into()) + } +} + +#[derive(Default)] +pub struct Page { + entity: page::Entity, + model: model::Model, + client: Option>>, + desktop_entries: DesktopEntryCache, + playback_icons: IntMap, + amplification_sink: bool, + expanded: Option, +} + +impl page::AutoBind for Page {} + +impl page::Page for Page { + fn on_enter(&mut self) -> cosmic::Task { + self.amplification_sink = Config::new(AUDIO_CONFIG, 1) + .ok() + .and_then(|config| config.get::(AMPLIFICATION_SINK).ok()) + .unwrap_or(true); + cosmic::Task::none() + } + + fn info(&self) -> page::Info { + page::Info::new("sound-applications", "preferences-sound-symbolic") + .title(fl!("sound-applications")) + } + + fn content( + &self, + sections: &mut SlotMap>, + ) -> Option { + Some(vec![sections.insert(view())]) + } + + fn set_id(&mut self, entity: page::Entity) { + self.entity = entity; + } + + fn on_leave(&mut self) -> cosmic::Task { + *self = Page { + entity: self.entity, + ..Page::default() + }; + cosmic::Task::none() + } + + fn subscription(&self, _core: &cosmic::Core) -> iced::Subscription { + iced::Subscription::run(|| { + iced::stream::channel( + 1, + move |emitter: futures::channel::mpsc::Sender| async move { + cosmic_settings_sound::subscribe(emitter, |m| Message::Model(m).into()).await + }, + ) + }) + } +} + +impl Page { + fn resolve_playback_icon(&mut self, node_id: u32, info: &audio_client::PlaybackInfo) { + let Some(candidate) = [ + info.application_id.as_deref(), + info.icon_name.as_deref(), + info.application_name.as_deref(), + ] + .into_iter() + .flatten() + .find(|value| !value.is_empty()) else { + return; + }; + + let mut context = DesktopLookupContext::new(candidate); + if let Some(icon_name) = info.icon_name.as_deref().filter(|value| !value.is_empty()) { + context = context.with_identifier(icon_name); + } + if let Some(application_name) = info + .application_name + .as_deref() + .filter(|value| !value.is_empty()) + { + context = context.with_title(application_name); + } + + let entry = resolve_desktop_entry( + &mut self.desktop_entries, + &context, + &DesktopResolveOptions::default(), + ); + let entry_icon = entry.icon(); + let icon_name = entry_icon + .filter(|value| !value.is_empty()) + .or(info.icon_name.as_deref()) + .or(info.application_id.as_deref()) + .unwrap_or("application-default"); + + self.playback_icons.insert(node_id, icon_name.to_owned()); + } + + pub fn update(&mut self, message: Message) -> cosmic::Task { + match message { + Message::Model(cosmic_settings_sound::Message::Subscription(message)) => { + match &message { + audio_client::Event::Playback(node_id, info) => { + self.resolve_playback_icon(*node_id, info); + } + audio_client::Event::RemoveNode(node_id) => { + self.playback_icons.remove(*node_id); + } + _ => {} + } + self.model.update(message); + } + + Message::Model(cosmic_settings_sound::Message::Client(client)) => { + if let Some(client) = Arc::into_inner(client) { + self.client = Some(Rc::new(RefCell::new(client))); + self.model = model::Model::default(); + self.playback_icons = IntMap::new(); + } + } + + Message::SetMute(node_id, mute) => { + self.model + .update(audio_client::Event::NodeMute(node_id, mute)); + if let Some(client) = &self.client { + match block_on(client.borrow_mut().conn.set_node_mute(node_id, mute)) { + Ok(Ok(_)) => {} + Ok(Err(why)) => { + tracing::error!(?why, node_id, mute, "daemon rejected playback mute"); + } + Err(why) => { + tracing::error!(?why, node_id, mute, "failed to set playback mute"); + } + } + } else { + tracing::warn!(node_id, mute, "audio client is not connected"); + } + } + + Message::SetBalance(playback_id, balance) => { + if let Some(playback) = self + .model + .playback + .iter_mut() + .find(|playback| playback.id == playback_id) + { + playback.balance = Some(balance); + } + + if let Some(client) = &self.client { + match block_on( + client + .borrow_mut() + .conn + .set_node_volume_balance(playback_id, Some(balance)), + ) { + Ok(Ok(volume)) => { + self.model.update(audio_client::Event::NodeVolume( + playback_id, + volume.volume, + volume.balance, + )); + } + Ok(Err(why)) => { + tracing::error!( + ?why, + playback_id, + balance, + "daemon rejected playback balance" + ); + } + Err(why) => { + tracing::error!( + ?why, + playback_id, + balance, + "failed to set playback balance" + ); + } + } + } else { + tracing::warn!(playback_id, balance, "audio client is not connected"); + } + } + + Message::SetSink(playback_id, sorted_pos) => { + let Some(&sink_pos) = self.model.sinks.sorted_index.get(sorted_pos) else { + return cosmic::Task::none(); + }; + let Some(&sink_id) = self.model.sinks.id.get(sink_pos as usize) else { + return cosmic::Task::none(); + }; + + if let Some(client) = &self.client { + match block_on( + client + .borrow_mut() + .conn + .set_playback_sink(playback_id, sink_id), + ) { + Ok(Ok(())) => { + if let Some(playback) = self + .model + .playback + .iter_mut() + .find(|playback| playback.id == playback_id) + { + playback.sink_id = Some(sink_id); + } + } + Ok(Err(why)) => { + tracing::error!( + ?why, + playback_id, + sink_id, + "daemon rejected playback output" + ); + } + Err(why) => { + tracing::error!( + ?why, + playback_id, + sink_id, + "failed to set playback output" + ); + } + } + } else { + tracing::warn!(playback_id, sink_id, "audio client is not connected"); + } + } + + Message::SetVolume(node_id, volume) => { + if let Some(playback) = self + .model + .playback + .iter_mut() + .find(|playback| playback.id == node_id) + { + playback.volume = volume; + } + if let Some(client) = &self.client { + match block_on(client.borrow_mut().conn.set_node_volume(node_id, volume)) { + Ok(Ok(_)) => {} + Ok(Err(why)) => { + tracing::error!( + ?why, + node_id, + volume, + "daemon rejected playback volume" + ); + } + Err(why) => { + tracing::error!(?why, node_id, volume, "failed to set playback volume"); + } + } + } else { + tracing::warn!(node_id, volume, "audio client is not connected"); + } + } + + Message::Surface(action) => { + return cosmic::task::message(crate::app::Message::Surface(action)); + } + + Message::ToggleExpanded(node_id) => { + self.expanded = if self.expanded == Some(node_id) { + None + } else { + Some(node_id) + }; + } + } + + cosmic::Task::none() + } +} + +pub fn view() -> Section { + Section::default().view::(move |_, page, _section| { + if page.model.playback.is_empty() { + return widget::settings::section() + .add( + widget::text::body(fl!("sound-applications", "none")) + .width(Length::Fill) + .align_x(Alignment::Center), + ) + .into(); + } + + let mut applications = widget::settings::section(); + + for playback in page.model.playback.iter().cloned() { + let node_id = playback.id; + let mute = playback.mute; + let volume = playback.volume; + let expanded = page.expanded == Some(node_id); + let icon_name = page + .playback_icons + .get(node_id) + .map(String::as_str) + .unwrap_or("application-default"); + + let slider = if page.amplification_sink { + widget::slider(0..=150, volume, move |volume| { + Message::SetVolume(node_id, volume) + }) + .breakpoints(&[100]) + } else { + widget::slider(0..=100, volume, move |volume| { + Message::SetVolume(node_id, volume) + }) + } + .width(Length::Fill) + .apply(widget::container) + .max_width(250.); + + let volume_controls = widget::row::with_capacity(5) + .align_y(Alignment::Center) + .push( + widget::button::icon(widget::icon::from_name(if mute { + "audio-volume-muted-symbolic" + } else { + "audio-volume-high-symbolic" + })) + .on_press(Message::SetMute(node_id, !mute)), + ) + .push( + widget::text::body(volume.to_string()) + .width(Length::Fixed(22.)) + .align_x(Alignment::Center), + ) + .push(horizontal_space().width(8.)) + .push(slider) + .push( + widget::button::icon(widget::icon::from_name(if expanded { + "go-up-symbolic" + } else { + "go-down-symbolic" + })) + .on_press(Message::ToggleExpanded(node_id)), + ) + .apply(Element::from) + .map(crate::pages::Message::from); + + applications = applications.add( + widget::settings::item::builder(playback.name().to_owned()) + .icon(widget::icon::from_name(icon_name).size(16)) + .flex_control(volume_controls) + .align_items(Alignment::Center), + ); + + if !expanded { + continue; + } + + let selected_sink = + playback + .selected_sink(page.model.default_sink) + .and_then(|sink_id| { + let sink_pos = page.model.sinks.id.iter().position(|id| *id == sink_id)?; + page.model + .sinks + .sorted_index + .iter() + .position(|pos| usize::from(*pos) == sink_pos) + }); + let output = widget::dropdown::popup_dropdown( + &page.model.sinks.sorted_display, + selected_sink, + move |pos| Message::SetSink(node_id, pos), + window::Id::RESERVED, + Message::Surface, + crate::Message::from, + ) + .apply(Element::from) + .map(crate::pages::Message::from); + + let balance = widget::row::with_capacity(5) + .align_y(Alignment::Center) + .push( + widget::column::with_capacity(2) + .align_x(Alignment::Center) + .push(widget::text::body(fl!("sound-output", "left"))) + .push(horizontal_space().width(22.)), + ) + .push(horizontal_space().width(8.)) + .push( + widget::slider(0.0..=2.0, playback.balance.unwrap_or(1.0), move |balance| { + Message::SetBalance(node_id, balance) + }) + .step(0.01) + .breakpoints(&[1.0]), + ) + .push(horizontal_space().width(8.)) + .push( + widget::column::with_capacity(2) + .align_x(Alignment::Center) + .push(widget::text::body(fl!("sound-output", "right"))) + .push(horizontal_space().width(22.)), + ) + .apply(Element::from) + .map(crate::pages::Message::from); + + applications = applications + .add(widget::settings::item( + fl!("sound-output", "device"), + output, + )) + .add(widget::settings::item( + fl!("sound-output", "balance"), + balance, + )); + } + + applications.into() + }) +} diff --git a/cosmic-settings/src/pages/sound/mod.rs b/cosmic-settings/src/pages/sound/mod.rs index 6f15634..8537c93 100644 --- a/cosmic-settings/src/pages/sound/mod.rs +++ b/cosmic-settings/src/pages/sound/mod.rs @@ -1,6 +1,7 @@ // Copyright 2023 System76 // SPDX-License-Identifier: GPL-3.0-only +pub mod applications; pub mod device_profiles; use cosmic::iced::{self, Alignment, Length, window}; @@ -63,6 +64,7 @@ impl From for crate::Message { pub struct Page { entity: page::Entity, + applications: page::Entity, device_profiles: page::Entity, client: Option, model: model::Model, @@ -78,6 +80,7 @@ impl Default for Page { fn default() -> Self { Self { entity: page::Entity::default(), + applications: page::Entity::default(), device_profiles: page::Entity::default(), client: None, model: model::Model { @@ -122,6 +125,7 @@ impl page::Page for Page { Some(vec![ sections.insert(output()), sections.insert(input()), + sections.insert(applications()), sections.insert(device_profiles()), ]) } @@ -150,6 +154,7 @@ impl page::Page for Page { fn on_leave(&mut self) -> Task { *self = Page { entity: self.entity, + applications: self.applications, device_profiles: self.device_profiles, ..Page::default() }; @@ -163,8 +168,10 @@ impl page::AutoBind for Page { mut page: page::Insert, ) -> page::Insert { let id = page.sub_page_with_id::(); + let applications_id = page.sub_page_with_id::(); let model = page.model.page_mut::().unwrap(); model.device_profiles = id; + model.applications = applications_id; page } } @@ -265,7 +272,7 @@ impl Page { tokio::time::sleep(Duration::from_millis(128)).await; _ = client .conn - .set_sink_volume(volume.load(atomic::Ordering::Relaxed)) + .set_source_volume(volume.load(atomic::Ordering::Relaxed)) .await; Message::ReattachClient(Arc::new(client)).into() }); @@ -534,6 +541,24 @@ fn device_profiles() -> Section { }) } +/// A section for opening the application volume controls sub-page. +fn applications() -> Section { + crate::slab!(descriptions { + button_txt = fl!("sound-applications"); + }); + + Section::default() + .descriptions(descriptions) + .view::(move |_binder, page, section| { + settings::section() + .add(crate::widget::go_next_item( + §ion.descriptions[button_txt], + crate::pages::Message::Page(page.applications), + )) + .into() + }) +} + // fn alerts() -> Section { // let mut descriptions = Slab::new(); // let volume = descriptions.insert(fl!("sound-alerts", "volume")); @@ -549,21 +574,3 @@ fn device_profiles() -> Section { // .into() // }) // } - -// fn applications() -> Section { -// let mut descriptions = Slab::new(); - -// let applications = descriptions.insert(fl!("sound-applications", "desc")); - -// Section::default() -// .title(fl!("sound-applications")) -// .descriptions(descriptions) -// .view::(move |_binder, _page, section| { -// settings::section().title(§ion.title) -// .add(settings::item( -// &*section.descriptions[applications], -// text::body("TODO"), -// )) -// .into() -// }) -// } diff --git a/flake.lock b/flake.lock index d2e188a..92635eb 100644 --- a/flake.lock +++ b/flake.lock @@ -2,11 +2,11 @@ "nodes": { "nixpkgs": { "locked": { - "lastModified": 1760533177, - "narHash": "sha256-OwM1sFustLHx+xmTymhucZuNhtq98fHIbfO8Swm5L8A=", + "lastModified": 1785747939, + "narHash": "sha256-D740uKsMbgsfK2oaDenJLLPIZfq7W0/g4KN/Fls8eKs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "35f590344ff791e6b1d6d6b8f3523467c9217caf", + "rev": "104240a772428cc2e20d8fd86c9ddbb886bbaff2", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index b286fc3..28a0dfd 100644 --- a/flake.nix +++ b/flake.nix @@ -41,6 +41,7 @@ libinput libpulseaudio.dev pipewire.dev + dav1d ]; RUST_SRC_PATH = rustPlatform.rustLibSrc; diff --git a/i18n/ar/cosmic_settings.ftl b/i18n/ar/cosmic_settings.ftl index 68a03c8..0954508 100644 --- a/i18n/ar/cosmic_settings.ftl +++ b/i18n/ar/cosmic_settings.ftl @@ -16,7 +16,7 @@ xdg-entry-date-time-comment = المنطقة الزمنية وإعدادات ا xdg-entry-default-apps = التطبيقات المبدئية xdg-entry-default-apps-comment = متصفح الويب المبدئي، عميل البريد، متصفح الملفات، والتطبيقات الأخرى xdg-entry-desktop = سطح المكتب -xdg-entry-desktop-comment = إعدادات خلفية الشاشة والمظهر واللوحة والمنصة وإدارة النوافذ ومساحة العمل +xdg-entry-desktop-comment = إعدادات خلفية الشاشة والمظهر واللوحة والإرساء وإدارة النوافذ ومساحة العمل xdg-entry-displays = شاشات العرض xdg-entry-displays-comment = أدِر إعدادات تضبيط العرض xdg-entry-dock = الإرساء @@ -275,13 +275,26 @@ frosted = تأثير الزجاج البلوري على واجهة النظام enable-export = قم بتطبيق هذا المظهر على تطبيقات GNOME. .desc = لا تدعم جميع مجموعات الأدوات التبديل التلقائي. قد تحتاج التطبيقات غير التابعة لـ COSMIC إلى إعادة التشغيل بعد تغيير المظهر. icon-theme = نسق الأيقونات - .desc = يطبق مجموعة مختلفة من الأيقونات على التطبيقات + .desc = يطبِّق مجموعة مختلفة من الأيقونات على التطبيقات text-tint = لون نص الواجهة .desc = اللون المستخدم لاشتقاق ألوان نص الواجهة التي تتمتع بتباين كافٍ على الأسطح المختلفة -style = المظهر +style = الأسلوب .round = دائري .slightly-round = دائري قليلاً .square = مربع + .frosted-glass = زجاج بلوري + .frosted-system-interface = واجهة النظام + .frosted-system-interface-desc = يُطبِّق مظهر الزجاج البلوري على المشغّل، ومكتبة التطبيقات، ونظرة عامة على مساحة العمل، وعناصر التحكم التي تظهر على الشاشة + .frosted-windows = النوافذ + .frosted-windows-desc = يطبِّق مظهر الزجاج البلوري على النوافذ ومربعات الحوار + .frosted-panels = اللوحات + .frosted-panels-desc = يطبِّق الزجاج البلوري على اللوحة وقاعدة الإرساء + .frosted-applets = البريمجات + .frosted-applets-desc = يطبِّق الزجاج البلوري على قوائم البريمجات الموجودة على اللوحة والإرساء + .frosted-thickness = السماكة البلورية + .less = أقل + .more = أكثر + .glass-opacity = عتامة الزجاج interface-density = كثافة الواجهة .comfortable = مريحة .compact = صغير ة @@ -354,7 +367,7 @@ super-key = إجراءات مفتاح Super .launcher = فتح مشغل التطبيقات .workspaces = فتح مساحات العمل .applications = فتح التطبيقات - .disable = تعطيل + .none = لا شيء edge-gravity = تنجذب النوافذ العائمة إلى الحواف القريبة window-controls = تحكمات النوافذ .maximize = أظهر زر التكبير @@ -535,11 +548,27 @@ keyboard-sources = مصادر الإدخال .view-layout = اعرض تخطيط لوحة المفاتيح .remove = أزِل .add = أضِف مصدر إدخال -keyboard-special-char = إدخال أحرف خاصة +keyboard-special-char = إدخال الأحرف الخاصة .alternate = مفتاح الأحرف البديلة - .compose = مفتاح التركيب - .compose-desc = مفتاح التركيب يسمح بإدخال مجموعة واسعة من الأحرف. لاستخدامه، اضغط على مفتاح التركيب ثم اكتب تسلسلًا من الأحرف. على سبيل المثال، الضغط على مفتاح التركيب متبوعًا بـ C و o سيدخل الرمز ©، بينما الضغط على مفتاح التركيب متبوعًا بـ a و ‘ سيدخل الحرف á. - .caps = مفتاح Caps Lock + .compose = مفتاح التكوين + .compose-desc = يتيح مفتاح التكوين إدخال مجموعة متنوعة من الأحرف. لاستخدامه، اضغط على مفتاح التكوين ثم سلسلة من الأحرف. على سبيل المثال، سيؤدي الضغط على مفتاح التكوين متبوعًا بالحرفين C و o إلى إدخال الرمز ©، بينما سيؤدي الضغط على مفتاح «التكوين» متبوعًا بالحرفين a و ‘ إلى إدخال الحرف á. + .caps = مفتاح قفل الحروف + .ctrl = مفتاح التحكم + .ctrl-right = مفتاح Ctrl الأيمن + .swap-with-ctrl = تبديل مع مفتاح التحكم + .alt = مفتاح Alt + .alt-left = مفتاح Alt الأيسر + .alt-right = Alt الأيمن + .super = Super + .super-left = Super الأيسر + .super-right = Super الأيمن + .menu = مفتاح القائمة + .backspace = مسافة للخلف + .escape = هروب (ESC) + .swap-with-escape = التبديل مع مفتاح الهروب + .print-screen = اطبع الشاشة + .scroll-lock = قفل التمرير + .none = لا شيء keyboard-typing-assist = الكتابة .repeat-rate = معدل التكرار .repeat-delay = تأخير التكرار diff --git a/i18n/ca/cosmic_settings.ftl b/i18n/ca/cosmic_settings.ftl index 23264a3..c47f1a1 100644 --- a/i18n/ca/cosmic_settings.ftl +++ b/i18n/ca/cosmic_settings.ftl @@ -5,3 +5,7 @@ identity = Identitat password-confirm = Confirmeu la contrasenya connected = Connectat settings = Configuració +save = Desa +forget-dialog = Oblidar aquesta xarxa Wi-Fi? + .description = Caldrà tornar a introduir la contrasenya per utilitzar aquesta xarxa en el futur. +close = Tancar diff --git a/i18n/cs/cosmic_settings.ftl b/i18n/cs/cosmic_settings.ftl index 9e4d95f..915e59e 100644 --- a/i18n/cs/cosmic_settings.ftl +++ b/i18n/cs/cosmic_settings.ftl @@ -32,7 +32,7 @@ xdg-entry-network = Síť a Wi-Fi xdg-entry-network-comment = Správa síťových připojení xdg-entry-notifications = Oznámení xdg-entry-notifications-comment = Režim Nerušit, oznámení na zamykací obrazovce a nastavení jednotlivých aplikací -xdg-entry-panel-comment = Hlavní systémová lišta pro menu a applety +xdg-entry-panel-comment = Hlavní systémová lišta pro nabídky a applety xdg-entry-power = Napájení a baterie xdg-entry-power-comment = Režimy napájení a možnosti úspory energie xdg-entry-region-language = Region a jazyk @@ -116,9 +116,9 @@ panel-missing = Nastavení panelu chybí .desc = Soubor nastavení panelu chybí kvůli poškození nebo použití vlastního nastavení. .fix = Obnovit výchozí applets = Applety -start-segment = Začínající segment +start-segment = Počáteční segment center-segment = Prostřední segment -end-segment = Konečný segment +end-segment = Koncový segment add = Přidat add-applet = Přidat applet search-applets = Vyhledat applety... @@ -282,6 +282,22 @@ keyboard-special-char = Zadávání speciálních znaků .compose = Klávesa Compose .compose-desc = Klávesa Compose umožňuje zadávat širokou škálu znaků. Pro její použití stiskněte Compose a poté zadejte sekvenci znaků. Například Compose, C, O vloží znak „©“, zatímco Compose, A, ‘ vloží znak „á“. .caps = Klávesa Caps Lock + .ctrl = Control + .ctrl-right = Pravý Ctrl + .swap-with-ctrl = Zaměnit s klávesou Control + .alt = Alt + .alt-left = Levý Alt + .alt-right = Pravý Alt + .super = Super + .super-left = Levý Super + .super-right = Pravý Super + .menu = Klávesa Menu + .backspace = Backspace + .escape = Escape + .swap-with-escape = Zaměnit s klávesou Escape + .print-screen = Print Screen + .scroll-lock = Scroll Lock + .none = Žádná ## Input: Keyboard: Shortcuts @@ -445,7 +461,7 @@ container-background = Pozadí kontejneru .desc = Používá se pro navigační postranní panel, výsuvný panel, dialogy a podobné prvky control-tint = Odstín ovládacích prvků .desc = Používá se pro pozadí standardních tlačítek, vyhledávacích polí, textových vstupů a podobných komponent -frosted = Efekt zmrazeného okna na systémovém rozhraní +frosted = Efekt ledového skla na systémovém rozhraní .desc = Použije rozmazané pozadí pro panel, dok, applety, spouštěč a knihovnu aplikací enable-export = Použít aktuální motiv v aplikacích GNOME .desc = Ne všechny toolkity podporují automatické přepínání. Aplikace, které nejsou postaveny na COSMIC toolkitu mohou vyžadovat restart po změně motivu. @@ -469,7 +485,7 @@ super-key = Akce klávesy Super .launcher = Otevřít spouštěč .workspaces = Otevřít pracovní plochy .applications = Otevřít aplikace - .disable = Zakázat + .none = Žádná edge-gravity = Plovoucí okna se přichytávají k blízkým okrajům focus-navigation = Navigace zaměření .focus-follows-cursor = Zaměření následuje kurzor @@ -532,8 +548,21 @@ display = Obrazovky .additional-scale-options = Další možnosti měřítka style = Styl .round = Kulatý - .slightly-round = Lehce kulatý + .slightly-round = Mírně zaoblený .square = Hranatý + .frosted-glass = Efekt ledového skla + .frosted-system-interface = Rozhraní systému + .frosted-system-interface-desc = Použije efekt ledového skla na spouštěč, knihovnu aplikací, přehled pracovních ploch a ovládací prvky na obrazovce + .frosted-windows = Okna + .frosted-windows-desc = Použije efekt ledového skla na okna a dialogy + .frosted-panels = Panely + .frosted-panels-desc = Použije efekt ledového skla na dok a panel + .frosted-applets = Applety + .frosted-applets-desc = Použije efekt ledového skla na nabídky appletů v doku a na panelu + .frosted-thickness = Tloušťka ledu + .less = menší + .more = větší + .glass-opacity = Krytí skla interface-density = Hustota rozhraní .comfortable = Pohodlné .compact = Kompaktní diff --git a/i18n/da/cosmic_settings.ftl b/i18n/da/cosmic_settings.ftl index 43cc54c..94296f7 100644 --- a/i18n/da/cosmic_settings.ftl +++ b/i18n/da/cosmic_settings.ftl @@ -11,8 +11,8 @@ add-network = Tilføj Netværk add-vpn = Tilføj VPN airplane-on = Airplane mode is on. Flytilstand er slået til cable-unplugged = Kabel frakoblet -connect = Tilslut -connected = Tilsluttet +connect = Opret forbindelse +connected = Forbundet connecting = Tilslutter… disconnect = Afbryd forget = Glem @@ -21,14 +21,14 @@ network-and-wireless = Netværk & trådløst no-networks = Der blev ikke fundet nogen netværk. no-vpn = Ingen VPN-forbindelser tilgængelige. password = Adgangskode -password-confirm = Godkend Adgangskode +password-confirm = Bekræft adgangskode remove = Fjern settings = Indstillinger username = Brugernavn visible-networks = Synlige Netværk identity = Identitet forget-dialog = Glem dette Wi-Fi-netværk? - .description = Du skal indtaste en adgangskode igen for at bruge dette Wi-Fi-netværk i fremtiden. + .description = Du skal indtaste adgangskoden igen for at bruge dette Wi-Fi-netværk i fremtiden. network-device-state = .activated = Tilsluttet .config = Opretter forbindelse @@ -192,7 +192,6 @@ never = Aldrig ## Desktop: Udseende appearance = Udseende - .desc = Accentfarver og tema. accent-color = Accentfarve app-background = Applikation eller vinduesbaggrund auto = Auto @@ -200,11 +199,11 @@ close = Luk color-picker = Farvevælger copied-to-clipboard = Kopieret til udklipsholder copy-to-clipboard = Kopiér til udklipsholder -dark = Mørk +dark = Mørkt export = Eksporter hex = Hex import = Importer -light = Lys +light = Lyst mode-and-colors = Tilstand og farver recent-colors = Seneste farver reset-to-default = Nulstil til standard @@ -714,7 +713,7 @@ region = Region ## Applications -applications = Applikationer +applications = Programmer ## Applications: Default Applications diff --git a/i18n/de/cosmic_settings.ftl b/i18n/de/cosmic_settings.ftl index 197208a..35864e3 100644 --- a/i18n/de/cosmic_settings.ftl +++ b/i18n/de/cosmic_settings.ftl @@ -9,7 +9,7 @@ number = { $number } add-network = Netzwerk hinzufügen .profile = Profil hinzufügen add-vpn = VPN hinzufügen -airplane-on = Flugzeugmodus ist eingeschaltet. +airplane-on = Flugmodus ist eingeschaltet. cable-unplugged = Kabel ausgesteckt connect = Verbinden connected = Verbunden @@ -236,6 +236,19 @@ style = Stil .round = Rund .slightly-round = Leicht rund .square = Quadratisch + .frosted-glass = Milchglas + .frosted-system-interface = Systemschnittstelle + .frosted-system-interface-desc = Wendet einen Milchglaseffekt auf den Starter, die Anwendungsbibliothek, die Arbeitsflächenübersicht und die Bildschirmsteuerelemente an + .frosted-windows = Fenster + .frosted-windows-desc = Wendet einen Milchglaseffekt auf Fenster und Dialoge an + .frosted-panels = Panels + .frosted-panels-desc = Wendet einen Milchglaseffekt auf das Panel und das Dock an + .frosted-applets = Applets + .frosted-applets-desc = Wendet einen Milchglaseffekt auf die Applet-Menüs im Panel und im Dock an + .frosted-thickness = Dicke der Mattierung + .less = weniger + .more = mehr + .glass-opacity = Glastrübung interface-density = Dichte der Benutzeroberfläche .comfortable = Komfortabel .compact = Kompakt @@ -265,12 +278,12 @@ applets = Applets center-segment = Mittelsegment end-segment = Endsegment large = Groß -no-applets-found = Keine Applets gefunden... +no-applets-found = Keine Applets gefunden ... panel-bottom = Unten panel-left = Links panel-right = Rechts panel-top = Oben -search-applets = Applets suchen... +search-applets = Applets suchen ... small = Klein start-segment = Anfangssegment panel-appearance = Aussehen @@ -308,7 +321,7 @@ super-key = Super-Tasten-Aktion .launcher = Starter öffnen .workspaces = Arbeitsflächen öffnen .applications = Anwendungen öffnen - .disable = Deaktivieren + .none = Keine edge-gravity = Schwebende Fenster werden von nahe gelegenen Kanten angezogen window-controls = Fenstersteuerung .minimize = Minimieren-Schaltfläche anzeigen @@ -497,6 +510,22 @@ keyboard-special-char = Eingabe von Sonderzeichen .compose = Compose-Taste .compose-desc = Mit der Compose-Taste kannst du viele verschiedene Zeichen eingeben. Drück einfach die Compose-Taste und dann die Zeichen, die du brauchst. Wenn du zum Beispiel die Compose-Taste und dann C und o drückst, kommt ©, und wenn du die Compose-Taste und dann a und ' drückst, kommt á. .caps = Feststelltaste + .ctrl = Steuerungstaste + .ctrl-right = Rechte Strg-Taste + .swap-with-ctrl = Mit der Steuerungstaste tauschen + .alt = Alt-Taste + .alt-left = Linke Alt-Taste + .alt-right = Rechte Alt-Taste + .super = Super-Taste + .super-left = Linke Super-Taste + .super-right = Rechte Super-Taste + .menu = Menü-Taste + .backspace = Rücktaste + .escape = Escape-Taste + .swap-with-escape = Mit der Escape-Taste tauschen + .print-screen = Druck-Taste + .scroll-lock = Rollen-Taste + .none = Keine keyboard-typing-assist = Tippen .repeat-rate = Wiederholungsrate .repeat-delay = Wiederholungsverzögerung @@ -507,7 +536,7 @@ keyboard-numlock-boot = Numlock .off = Deaktiviert .set = Numlock-Boot-Status setzen added = Hinzugefügt -type-to-search = Zum Suchen tippen... +type-to-search = Zum Suchen tippen ... show-extended-input-sources = Erweiterte Eingabequellen anzeigen ## Input: Keyboard: Shortcuts diff --git a/i18n/el/cosmic_settings.ftl b/i18n/el/cosmic_settings.ftl index f455222..bfa73c4 100644 --- a/i18n/el/cosmic_settings.ftl +++ b/i18n/el/cosmic_settings.ftl @@ -119,7 +119,7 @@ super-key = Ενέργεια πλήκτρου Super .launcher = Άνοιγμα μενού εκκίνησης .workspaces = Άνοιγμα χώρων εργασίας .applications = Άνοιγμα εφαρμογών - .disable = Απενεργοποίηση + .none = Καμία x-minutes = { $number } { $number -> [one] λεπτό @@ -378,6 +378,19 @@ style = Στυλ .round = Στρογγυλό .slightly-round = Ελαφρώς στρογγυλό .square = Τετράγωνο + .frosted-glass = Ημιδιαφανές γυαλί + .frosted-system-interface = Περιβάλλον συστήματος + .frosted-system-interface-desc = Εφαρμόζει το εφέ ημιδιαφανούς γυαλιού στο μενού εκκίνησης, τη βιβλιοθήκη εφαρμογών, την επισκόπηση χώρων εργασίας και τα στοιχεία ελέγχου στην οθόνη + .frosted-windows = Παράθυρα + .frosted-windows-desc = Εφαρμόζει το εφέ ημιδιαφανούς γυαλιού στα παράθυρα και τους διαλόγους + .frosted-panels = Γραμμές συστήματος + .frosted-panels-desc = Εφαρμόζει το εφέ ημιδιαφανούς γυαλιού στη γραμμή συστήματος και την μπάρα εφαρμογών + .frosted-applets = Μικροεφαρμογές + .frosted-applets-desc = Εφαρμόζει το εφέ ημιδιαφανούς γυαλιού στα μενού των μικροεφαρμογών στη γραμμή συστήματος και την μπάρα εφαρμογών + .frosted-thickness = Βαθμός θολότητας + .less = λίγο + .more = πολύ + .glass-opacity = Διαφάνεια γυαλιού panel-applets = Διαμόρφωση .dock-desc = Διαμόρφωση των μικροεφαρμογών της μπάρας εφαρμογών .desc = Διαμόρφωση των μικροεφαρμογών της γραμμής συστήματος @@ -819,6 +832,22 @@ keyboard-special-char = Εισαγωγή ειδικών χαρακτήρων .compose = Πλήκτρο σύνθεσης .compose-desc = Το πλήκτρο σύνθεσης επιτρέπει την εισαγωγή μιας ευρείας ποικιλίας χαρακτήρων. Για να το χρησιμοποιήσετε, πατήστε το πλήκτρο σύνθεσης και έπειτα, μια ακολουθία χαρακτήρων. Για παράδειγμα, μπορείτε να εισαγάγετε τον χαρακτήρα «©» πατώντας το πλήκτρο σύνθεσης, ακολουθούμενο από τα «C» και «o», ή τον χαρακτήρα «á» πατώντας το πλήκτρο σύνθεσης, ακολουθούμενο από τα «a» και «‘» . .caps = Πλήκτρο Caps Lock + .ctrl = Control + .ctrl-right = Δεξί Ctrl + .swap-with-ctrl = Εναλλαγή με Control + .alt = Alt + .alt-left = Αριστερό Alt + .alt-right = Δεξί Alt + .super = Super + .super-left = Αριστερό Super + .super-right = Δεξί Super + .menu = Πλήκτρο μενού + .backspace = Backspace + .escape = Escape + .swap-with-escape = Εναλλαγή με Escape + .print-screen = Print Screen + .scroll-lock = Scroll Lock + .none = Κανένα no-search-results = Δεν αντιστοιχεί κανένα δίκτυο στην αναζήτησή σας. workspaces-navigation = Πλοήγηση .wraparound = Μετακίνηση μεταξύ του πρώτου και του τελευταίου χώρου εργασίας με συντομεύσεις πληκτρολογίου και χειρονομίες diff --git a/i18n/en-GB/cosmic_settings.ftl b/i18n/en-GB/cosmic_settings.ftl index e69de29..6f51f33 100644 --- a/i18n/en-GB/cosmic_settings.ftl +++ b/i18n/en-GB/cosmic_settings.ftl @@ -0,0 +1,9 @@ +save = Save +cancel = Cancel +connected = Connected +confirm = Confirm +replace = Replace +settings = Settings +appearance = Appearance +dark = Dark +light = Light diff --git a/i18n/en/cosmic_settings.ftl b/i18n/en/cosmic_settings.ftl index 7773c83..d41f0a0 100644 --- a/i18n/en/cosmic_settings.ftl +++ b/i18n/en/cosmic_settings.ftl @@ -633,6 +633,7 @@ sound-alerts = Alerts sound-applications = Applications .desc = Application volumes and settings + .none = No applications are using sound # No speaker, headphones, or microphone plugged into sound card port sound-device-port-unplugged = Unplugged diff --git a/i18n/fa/cosmic_settings.ftl b/i18n/fa/cosmic_settings.ftl index 39caaa0..16bbbae 100644 --- a/i18n/fa/cosmic_settings.ftl +++ b/i18n/fa/cosmic_settings.ftl @@ -167,3 +167,5 @@ firmware = فریمور users = کاربران .desc = احراز هویت و ورود، قفل صفحه. +save = ذخیره +cancel = لغو diff --git a/i18n/fi/cosmic_settings.ftl b/i18n/fi/cosmic_settings.ftl index 3dd3588..1ea3cdd 100644 --- a/i18n/fi/cosmic_settings.ftl +++ b/i18n/fi/cosmic_settings.ftl @@ -516,6 +516,19 @@ style = Tyyli .round = Pyöristetty .slightly-round = Hieman pyöristetty .square = Nelikulmainen + .frosted-glass = Huurteinen lasi + .frosted-system-interface = Järjestelmän käyttöliittymä + .frosted-system-interface-desc = Toteuttaa huurteisen lasin käynnistimeen, sovelluskirjastoon, työtilan yleiskuvaan ja näytöllä näkyviin säätimiin + .frosted-windows = Ikkunat + .frosted-windows-desc = Toteuttaa huurteisen lasin ikkunoihin ja vahvistusikkunoihin + .frosted-panels = Paneelit + .frosted-panels-desc = Toteuttaa huurteisen lasin paneeliin ja telakkaan + .frosted-applets = Sovelmat + .frosted-applets-desc = Toteuttaa huurteisen lasin sovelmavalikkoihin paneelissa ja telakassa + .frosted-thickness = Huurteen tiheys + .less = vähemmän + .more = enemmän + .glass-opacity = Lasin peittävyys panel-applets = Asetukset .dock-desc = Telakkasovelmien asetukset .desc = Paneelisovelmien asetukset @@ -820,3 +833,7 @@ shadows-tiling = Asetellut ikkunat no-search-results = Hakuasi vastaavia verkkoja ei löytynyt. workspaces-navigation = Liikkuminen .wraparound = Siirry ensimmäisen ja viimeisen työtilan välillä käyttäen pikanäppäimiä ja eleitä +bluetooth-display-passkey = Bluetooth-parinmuodostus + .description = Syötä seuraava turva-avain laitteelle { $device }, ja paina sitten Enter +bluetooth-display-pin = Bluetooth-parinmuodostus + .description = Syötä seuraava PIN-koodi laitteelle { $device }, ja paina sitten Enter diff --git a/i18n/fr/cosmic_settings.ftl b/i18n/fr/cosmic_settings.ftl index 53f740d..20c14c8 100644 --- a/i18n/fr/cosmic_settings.ftl +++ b/i18n/fr/cosmic_settings.ftl @@ -70,7 +70,7 @@ add-network = Ajouter un réseau add-vpn = Ajouter un VPN airplane-on = Mode avion activé. cable-unplugged = Câble débranché -connect = Connecter +connect = Se connecter connected = Connecté connecting = Connexion… disconnect = Se déconnecter @@ -235,7 +235,7 @@ container-background = Arrière-plan .desc = La couleur principale de l'arrière-plan est utilisée pour la barre latérale de navigation, le panneau latéral, les boîtes de dialogue et les widgets similaires control-tint = Teinte des composants de contrôle .desc = Utilisé pour les arrière-plans des boutons standards, les entrées de recherche, les entrées de texte et les composants similaires -frosted = Effet de verre sur l'interface système +frosted = Effet de verre dépoli dans l'interface système .desc = Applique un effet de flou d'arrière-plan au panneau, au dock, aux applets, au lanceur et à la bibliothèque d'applications enable-export = Appliquer ce thème aux applications GNOME .desc = Certaines boîtes à outils ne supportent pas le changement automatique de thème. Les applications non-COSMIC peuvent nécessiter un redémarrage après un changement de thème. @@ -244,9 +244,22 @@ icon-theme = Thème d'icônes text-tint = Teinte du texte de l'interface .desc = Utilisée pour obtenir des couleurs de texte d'interface offrant un contraste suffisant sur différentes surfaces style = Style - .round = Rond - .slightly-round = Légèrement rond + .round = Arrondi + .slightly-round = Légèrement arrondi .square = Carré + .frosted-glass = Verre dépoli + .frosted-system-interface = Interface système + .frosted-system-interface-desc = Applique un effet de verre dépoli au lanceur, à la bibliothèque d’applications, à la vue d’ensemble de l’espace de travail et aux contrôles à l’écran + .frosted-windows = Fenêtres + .frosted-windows-desc = Applique un effet de verre dépoli aux fenêtres et aux boîtes de dialogue + .frosted-panels = Panneaux + .frosted-panels-desc = Applique un effet de verre dépoli au panneau et au dock + .frosted-applets = Applets + .frosted-applets-desc = Applique un effet de verre dépoli aux menus des applets du panneau et du dock + .frosted-thickness = Épaisseur du verre dépoli + .less = moins + .more = plus + .glass-opacity = Opacité du verre interface-density = Densité de l'interface .comfortable = Confortable .compact = Compact @@ -319,7 +332,7 @@ super-key = Action de la touche Super .launcher = Ouvrir le Lanceur .workspaces = Ouvrir les Espaces de travail .applications = Ouvrir les Applications - .disable = Désactiver + .none = Aucun window-controls = Contrôles des fenêtres .maximize = Afficher le bouton maximiser .minimize = Afficher le bouton minimiser @@ -593,7 +606,23 @@ keyboard-special-char = Saisie de caractères spéciaux .alternate = Touche de caractères alternatifs .compose = Touche de composition .compose-desc = La touche de composition permet d'entrer une grande variété de caractères. Pour l'utiliser, appuyez sur composition puis une séquence de caractères. Par exemple, la touche composition suivie de C et o entrera ©, tandis que la touche composition suivie de a et ‘ entrera á. - .caps = Touche Verr Màj + .caps = Touche de verrouillage des majuscules + .ctrl = Ctrl + .ctrl-right = Ctrl Droite + .swap-with-ctrl = Echanger avec Ctrl + .alt = Alt + .alt-left = Alt Gauche + .alt-right = Alt Droite + .super = Super + .super-left = Super Gauche + .super-right = Super Droite + .menu = Touche de menu + .backspace = Retour arrière + .escape = Echap + .swap-with-escape = Echanger avec Echap + .print-screen = Impression Ecran + .scroll-lock = Arrêt Défilement + .none = Aucune keyboard-typing-assist = Saisie .repeat-rate = Taux de répétition .repeat-delay = Délai de répétition diff --git a/i18n/ga/cosmic_settings.ftl b/i18n/ga/cosmic_settings.ftl index 6f7571a..3eb16fb 100644 --- a/i18n/ga/cosmic_settings.ftl +++ b/i18n/ga/cosmic_settings.ftl @@ -60,9 +60,11 @@ vpn-error = Earráid VPN .connect = Theip ar nascadh le VPN .connection-editor = Theip ar an eagarthóir ceangail .connection-settings = Theip ar na socruithe a fháil le haghaidh naisc ghníomhacha + .openvpn-config-path = Cosán comhaid neamhbhailí do chumraíocht OpenVPN + .openvpn-config-path-desc = Ní mór an comhad roghnaithe a bheith ar chóras comhad áitiúil. .updating-state = Theip ar staid an bhainisteora líonra a nuashonrú .wireguard-config-path = Cosán comhaid neamhbhailí le haghaidh cumraíochta WireGuard - .wireguard-config-path-desc = Caithfidh an comhad roghnaithe a bheith ar chóras comhad áitiúil. + .wireguard-config-path-desc = Ní mór an comhad roghnaithe a bheith ar chóras comhad áitiúil. .wireguard-device = Theip ar chruthú gléas WireGuard .with-password = Theip ar VPN a shocrú { $field -> @@ -234,6 +236,19 @@ style = Stíl .round = Ciorclach .slightly-round = Ciorclach beagán .square = Cearnógach + .frosted-glass = Gloine sioctha + .frosted-system-interface = Comhéadan córais + .frosted-system-interface-desc = Cuireann sé gloine sioctha i bhfeidhm ar an Tosaitheoir, leabharlann feidhmchlár, forbhreathnú ar an spás oibre, rialuithe ar an scáileán + .frosted-windows = Fuinneoga + .frosted-windows-desc = Cuireann sé gloine sioctha i bhfeidhm ar fhuinneoga agus ar dhialóga + .frosted-panels = Painéil + .frosted-panels-desc = Cuireann sé gloine sioctha i bhfeidhm ar an bpainéal agus ar an duga + .frosted-applets = Feidhmchláiríní + .frosted-applets-desc = Cuireann sé gloine sioctha i bhfeidhm ar bhiachláir feidhmchláiríní ar an bpainéal agus ar an duga + .frosted-thickness = Tiús sioctha + .less = níos lú + .more = níos mó + .glass-opacity = Teimhneacht gloine interface-density = Dlús comhéadan .comfortable = Compordach .compact = Dlúth @@ -306,7 +321,7 @@ super-key = Gníomh na heochrach Super .launcher = Oscail lainseálaí .workspaces = Oscail spásanna oibre .applications = Oscail feidhmchláir - .disable = Díchumasaigh + .none = Dada edge-gravity = Imtharraingítear fuinneoga snámhacha chuig imill in aice láimhe window-controls = Rialuithe fuinneoige .maximize = Taispeáin an cnaipe uasmhéadaithe @@ -490,6 +505,22 @@ keyboard-special-char = Iontráil Carachtar Speisialta .compose = Eochair chumadóireachta .compose-desc = Ligeann an eochair chumadóireachta raon leathan carachtar a iontráil. Chun í a úsáid, brúigh an eochair chumadóireachta agus ansin sraith carachtar. Mar shampla, má bhrúnn tú an eochair chumadóireachta agus C agus o ina dhiaidh sin, cuirfear © isteach; agus má bhrúnn tú an eochair chumadóireachta agus a agus ‘ ina dhiaidh sin, cuirfear á isteach. .caps = Eochair Caps Lock + .ctrl = Ctrl + .ctrl-right = Ctrl ar Dheas + .swap-with-ctrl = Malartú le Ctrl + .alt = Alt + .alt-left = Alt ar Chlé + .alt-right = Alt ar Dheas + .super = Super + .super-left = Super ar Chlé + .super-right = Super ar Dheas + .menu = Eochair Roghchláir + .backspace = Spás Cúil + .escape = Éalú + .swap-with-escape = Malartú le hÉalú + .print-screen = Priontáil Scáileáin + .scroll-lock = Glas Scrollaithe + .none = Dada keyboard-typing-assist = Ag clóscríobh .repeat-rate = Ráta athuair .repeat-delay = Moill athrá @@ -913,3 +944,7 @@ xdg-entry-wired-comment = Naisc sreangaithe agus próifílí nasc no-search-results = Níl aon líonra ag teacht leis an gcuardach seo. workspaces-navigation = Nascleanúint .wraparound = Bog idir an chéad spás oibre agus an spás oibre deireanach ag baint úsáide as aicearraí méarchláir agus gothaí +bluetooth-display-passkey = Péireáil Bluetooth + .description = Clóscríobh an eochair phas seo a leanas ar { $device }, ansin brúigh Iontráil +bluetooth-display-pin = Péireáil Bluetooth + .description = Clóscríobh an PIN seo a leanas ar { $device }, ansin brúigh Iontráil diff --git a/i18n/gl/cosmic_settings.ftl b/i18n/gl/cosmic_settings.ftl new file mode 100644 index 0000000..3b1a851 --- /dev/null +++ b/i18n/gl/cosmic_settings.ftl @@ -0,0 +1,857 @@ +save = Gardar +cancel = Cancelar +connected = Conectado +confirm = Confirmar +settings = Axustes +appearance = Apariencia +dark = Escuro +light = Claro +replace = Remplazar +remove = Eliminar +connect = Conectar +password = Contrasinal +username = Nome de usuario +identity = Identidade +password-confirm = Confirmar o contrasinal +forget-dialog = Esquecer esta rede Wi-Fi? + .description = Terás que introducir o contrasinal de novo para usar esta rede Wi-Fi no futuro. +applications = Aplicacións +dbus-connection-error = Non foi posible conectarse a DBus +ok = Aceptar +unknown = Descoñecido +number = { $number } +app = Configuración COSMIC +xdg-entry-comment = Aplicación de configuracións para o escritorio COSMIC +xdg-entry-keywords = COSMIC;Configuracións; +xdg-entry-about = Sobre +xdg-entry-about-comment = Nome do dispositivo, información do hardware, valores predeterminados do sistema operativo +xdg-entry-about-keywords = COSMIC;Sobre +xdg-entry-a11y = Accesibilidade +xdg-entry-a11y-comment = Lector de pantalla, ampliador, alto contraste e filtros de cor +xdg-entry-a11y-keywords = COSMIC;Accesibilidade;A11y;Pantalla;Lector;Ampliador;Contraste;Cor; +xdg-entry-appearance = Apariencia +xdg-entry-appearance-comment = Cores de acento e temas +xdg-entry-appearance-keywords = COSMIC;Acento;Cor;Icona;Tipo de letra;Tema +xdg-entry-applications = Aplicacións +xdg-entry-applications-comment = Aplicacións predeterminadas, aplicacións de inicio e configuracións de compatibilidade con aplicacións X11 +xdg-entry-applications-keywords = COSMIC;Predeterminada;Aplicación;Inicio;X11;Compatibilidade +xdg-entry-bluetooth-comment = Xestionar dispositivos Bluetooth +xdg-entry-bluetooth-keywords = COSMIC;Bluetooth; +xdg-entry-date-time = Data e hora +xdg-entry-date-time-comment = Fuso horario, axustes automáticos do reloxo e formato da hora +xdg-entry-date-time-keywords = COSMIC;Fuso;Horario; +xdg-entry-default-apps = Aplicacións por defecto +xdg-entry-default-apps-comment = Navegador web predeterminado, cliente de correo, xestor de ficheiros e outras aplicacións +xdg-entry-default-apps-keywords = COSMIC;Aplicación;Predeterminada +xdg-entry-desktop = Escritorio +xdg-entry-desktop-comment = Fondo de pantalla, aparencia, panel, dock, xestión de xanelas e configuración dos espazos de traballo +xdg-entry-desktop-keywords = COSMIC;Escritorio; +xdg-entry-displays = Pantallas +xdg-entry-displays-comment = Xestionar a configuración da pantalla +xdg-entry-displays-keywords = COSMIC;Monitor; +xdg-entry-dock = Dock +xdg-entry-dock-comment = Unha barra opcional para aplicacións e miniaplicacións +xdg-entry-dock-keywords = COSMIC;Dock;Panel;Miniaplicativo +xdg-entry-input = Dispositivos de Entrada +xdg-entry-input-comment = Axustes de teclado e rato +xdg-entry-input-keywords = COSMIC;Entrada;Teclado;Rato;Ratos; +xdg-entry-keyboard = Teclado +xdg-entry-keyboard-comment = Fontes de entrada, cambio, introdución de caracteres especiais e atallos de teclado +xdg-entry-keyboard-keywords = COSMIC;Teclado;Entrada;Fonte;Atallos; +xdg-entry-mouse = Rato +xdg-entry-mouse-comment = Velocidade do rato, aceleración e desprazamento natural +xdg-entry-mouse-keywords = COSMIC;Rato;Aceleración;Desprazamento;Natural; +xdg-entry-network = Rede e conexións sen fíos +xdg-entry-network-comment = Xestionar as conexións de rede +xdg-entry-network-keywords = COSMIC;Rede;SenFíos;WiFi;VPN; +xdg-entry-notifications = Notificacións +xdg-entry-notifications-comment = Non molestar, notificacións da pantalla de bloqueo e configuración por aplicación +xdg-entry-notifications-keywords = COSMIC;Notificación;Bloqueo; +xdg-entry-panel = Panel +xdg-entry-panel-comment = Barra principal do sistema para menús e miniaplicativos +xdg-entry-panel-keywords = COSMIC;Panel;Miniaplicativo +xdg-entry-power = Enerxía e batería +xdg-entry-power-comment = Modos de enerxía e opcións de aforro de enerxía +xdg-entry-power-keywords = COSMIC;Enerxía;Batería +xdg-entry-region-language = Rexión e Linguaxe +xdg-entry-region-language-comment = Formatar datas, horas e números segundo a túa rexión +xdg-entry-region-language-keywords = COSMIC;Rexión;Lingua;Data;Formato;Hora;Configuración rexional;Localización; +xdg-entry-sound = Son +xdg-entry-sound-comment = Configuración de son para dispositivos, alertas e aplicacións +xdg-entry-sound-keywords = COSMIC;Son;Audio;Alerta;PipeWire; +xdg-entry-startup-apps = Aplicacións de Inicio +xdg-entry-startup-apps-comment = Configurar as aplicacións que se executan ao iniciar sesión +xdg-entry-startup-apps-keywords = COSMIC;Inicio;Aplicación; +xdg-entry-system = Sistema e contas +xdg-entry-system-comment = Información do sistema, contas e actualizacións de firmware +xdg-entry-system-keywords = COSMIC;Sistema;Información;Contas;Firmware; +xdg-entry-time-language = Hora e lingua +xdg-entry-time-language-comment = Xestionar a data, a hora, a rexión e a lingua do sistema +xdg-entry-time-language-keywords = COSMIC;Sistema;Hora;Data;Rexión;Lingua; +xdg-entry-touchpad = Panel táctil +xdg-entry-touchpad-comment = Velocidade do panel táctil, opcións de clic e xestos +xdg-entry-touchpad-keywords = COSMIC;PanelTáctil;Xesto; +xdg-entry-users = Usuarios +xdg-entry-users-comment = Autenticación e contas de usuario +xdg-entry-users-keywords = COSMIC;Usuario;Conta; +xdg-entry-vpn-comment = Conexións VPN e perfís de conexión +xdg-entry-vpn-keywords = COSMIC;VPN;Rede;Conexión;OpenVPN;OpenConnect; +xdg-entry-wallpaper = Fondo de pantalla +xdg-entry-wallpaper-comment = Imaxes de fondo de pantalla, cores e opcións da presentación de diapositivas +xdg-entry-wallpaper-keywords = COSMIC;FondoDePantalla;Fondo;PresentaciónDeDiapositivas; +xdg-entry-window-management = Xestión de xanelas +xdg-entry-window-management-comment = Acción da tecla Super, opcións de control das xanelas e opcións adicionais de mosaico de xanelas +xdg-entry-window-management-keywords = COSMIC;Xanela;Xestión;Mosaico;Super;Tecla; +xdg-entry-wired = Cableado +xdg-entry-wired-comment = Conexións con fíos e perfís de conexión +xdg-entry-wired-keywords = COSMIC;Con Fíos;LAN;Rede;Conexión; +xdg-entry-wireless = WiFi +xdg-entry-wireless-comment = Conexións Wi-Fi e perfís de conexión +xdg-entry-wireless-keywords = COSMIC;WiFi;Wi-Fi;Rede;Conexión; +xdg-entry-workspaces = Espazos de traballo +xdg-entry-workspaces-comment = Orientación dos espazos de traballo, vista xeral e comportamento con varias pantallas +xdg-entry-workspaces-keywords = COSMIC;EspazoDeTraballo;Orientación;VistaXeral;Monitor; +xdg-entry-x11-applications = Compatibilidade de aplicacións X11 +xdg-entry-x11-applications-comment = Escala das aplicacións do sistema de xanelas X11, pantalla principal e atallos globais +xdg-entry-x11-applications-keywords = COSMIC;X11;Aplicación;Xogo;Compatibilidade; +add-network = Engadir rede + .profile = Engadir perfil +add-vpn = Engadir VPN +airplane-on = O modo avión está activado. +cable-unplugged = Cable desconectado +connecting = Conectando… +disconnect = Desconectar +forget = Olvidar +known-networks = Redes coñecidas +network-and-wireless = Rede e conexións sen fíos +network-name = Nome da rede +no-networks = Non se atoparon redes. +no-vpn = Non hay conexións VPN dispoñibles. +qr-code-unavailable = O codigo QR non está dispoñible +scan-to-connect-description = Escanea o código QR para conectarte a esta rede. +share = Compartir rede +visible-networks = Redes visibles +auth-dialog = Autenticación necesaria + .vpn-description = Introduce o nome de usuario e o contrasinal requiridos polo servizo VPN. + .wifi-description = Introduce o contrasinal ou a chave de cifrado. Tamén podes conectarte premendo o botón «WPS» do router. +network-device-state = + .activated = Conectado + .config = Conectando + .deactivating = Desconectando + .disconnected = Desconectado + .failed = Fallou a conexión + .ip-check = Comprobando conexión + .ip-config = Solicitando IP e información de enrutamento + .need-auth = Precisa autenticación + .prepare = Preparando a conexión + .secondaries = Agardando pola conexión secundaria + .unavailable = Non dispoñible + .unknown = Estado descoñecido + .unmanaged = Non xestionado + .unplugged = Cable desconectado +remove-connection-dialog = Eliminar o perfil de conexión? + .vpn-description = Terás que introducir o contrasinal de novo para usar esta rede no futuro. + .wired-description = Terás que crear de novo este perfil para usalo no futuro. +vpn = VPN + .connections = Conexións VPN + .error = Fallou ao engadir a configuración VPN + .remove = Eliminar perfil de conexión + .select-file = Seleccionar un ficheiro de configuración VPN +vpn-error = Erro VPN + .config = Fallou ao engadir a configuración VPN + .connect = Fallou ao conectar coa VPN + .connection-editor = Fallou o editor de conexións + .connection-settings = Fallou ao obter a configuración das conexións activas + .openvpn-config-path = Ruta de ficheiro de configuración OpenVPN non válida + .openvpn-config-path-desc = O ficheiro seleccionado debe estar nun sistema de ficheiros local. + .updating-state = Fallou ao actualizar o estado do xestor de rede + .wireguard-config-path = Ruta de ficheiro de configuración WireGuard non válida + .wireguard-config-path-desc = O ficheiro seleccionado debe estar nun sistema de ficheiros local. + .wireguard-device = Fallou ao crear o dispositivo WireGuard + .with-password = + Fallou ao establecer { $field -> + *[username] o nome de usuario + [password] o contrasinal + [password-flags] as marcas do contrasinal + } da VPN con nmcli +wired = Wired + .adapter = Adaptador con fíos { $id } + .connections = Conexións con fíos + .devices = Dispositivos con fíos + .remove = Eliminar perfil de conexión +wifi = Wi-Fi + .adapter = Adaptador Wi-Fi { $id } + .forget = Esquecer esta rede +wireguard-dialog = Engadir dispositivo WireGuard + .description = Escolle un nome de dispositivo para a configuración de WireGuard. +online-accounts = Contas en liña + .desc = Engade contas, IMAP e SMTP, inicios de sesión empresariais +activate = Activar +enable = Activar +bluetooth = Bluetooth + .status = Este sistema é visible como { $aliases } mentres a configuración de Bluetooth está aberta. + .connected = Conectado + .connecting = Conectando + .disconnecting = Desconectando + .connect = Conectar + .disconnect = Desconectar + .forget = Esquecer + .dbus-error = Produciuse un erro ao interactuar con DBus: { $why } + .disabled = O servizo Bluetooth está desactivado + .inactive = O servizo Bluetooth non está activo + .unknown = Non se puido activar o servizo Bluetooth. Está instalado BlueZ? +bluetooth-paired = Dispositivos conectados anteriormente + .connect = Conectar + .battery = Batería ao { $percentage }% +bluetooth-confirm-pin = Confirmar PIN de Bluetooth + .description = Confirma que o seguinte PIN coincide co que se mostra en { $device } +bluetooth-display-passkey = Emparellamento Bluetooth + .description = Introduce a seguinte clave de acceso en { $device } e preme Intro +bluetooth-display-pin = Emparellamento Bluetooth + .description = Introduce o seguinte PIN en { $device } e preme Intro +bluetooth-available = Dispositivos próximos +bluetooth-adapters = Adaptadores Bluetooth +accessibility = Accessibility + .vision = Visión + .on = Activado + .off = Desactivado + .unavailable = Non dispoñible + .screen-reader = Lector de pantalla + .high-contrast = Modo de alto contraste + .invert-colors = Inverter cores + .color-filters = Filtros de cor +hearing = Audición + .mono = Reproducir o audio estéreo como mono +default = Por defecto +magnifier = Lupa + .controls = + Ou usa estes atallos: { $zoom_in -> + [zero] { "" } + *[other] + { "" } + { $zoom_in } para achegar, + }{ $zoom_out -> + [zero] { "" } + *[other] + { "" } + { $zoom_out } para afastar, + } + Super + desprazamento co rato + .scroll_controls = Activar o zoom co rato ou panel táctil mediante Super + desprazamento + .show_overlay = Mostrar a superposición da lupa + .increment = Incremento do zoom + .signin = Iniciar a lupa ao iniciar sesión + .applet = Activar ou desactivar a lupa no miniaplicativo do panel + .movement = O movemento da vista ampliada + .continuous = Continuamente co punteiro + .onedge = Cando o punteiro chega ao bordo + .centered = Para manter o punteiro centrado +color-filter = Tipo de filtro de cor + .unknown = Filtro activo descoñecido + .greyscale = Escala de grises + .deuteranopia = Verde/Vermello (debilidade do verde, Deuteranopia) + .protanopia = Vermello/Verde (debilidade do vermello, Protanopia) + .tritanopia = Azul/Amarelo (debilidade do azul, Tritanopia) +desktop = Escritorio +wallpaper = Wallpaper + .change = Cambiar imaxe cada + .fit = Axuste do fondo de pantalla + .folder-dialog = Escoller cartafol de fondos de pantalla + .image-dialog = Escoller imaxe de fondo de pantalla + .plural = Fondos de pantalla + .same = O mesmo fondo de pantalla en todas as pantallas + .slide = Presentación de diapositivas +add-color = Engadir color +add-image = Engadir imaxe +all-displays = Todas as pantallas +colors = Cores +dialog-add = Engadir +fill = Encher +fit-to-screen = Axustar a pantalla +open-new-folder = Abrir novo cartafol +recent-folders = Cartafoles recentes +x-minutes = + { $number } { $number -> + [one] minuto + *[other] minutos + } +x-hours = + { $number } { $number -> + [one] hora + *[other] horas + } +never = Nunca +accent-color = Cor de acento +app-background = Fondo da xanela +auto = Automatico +close = Pechar +color-picker = Selector de cor +copied-to-clipboard = Copiado ao portapapeis +copy-to-clipboard = Copiar ao portapapeis +export = Exportar +hex = Hexadecimal +import = Importar +mode-and-colors = Modo e cores +recent-colors = Cores recentes +reset-to-default = Restablecer aos valores predeterminados +rgb = RGB +window-hint-accent = Cor de indicación da xanela activa +window-hint-accent-toggle = Usar a cor de acento do tema como indicación da xanela activa +auto-switch = Cambiar automaticamente entre os modos claro e escuro + .sunrise = Cambia ao modo claro ao amencer + .sunset = Cambia ao modo escuro ao solpor + .next-sunrise = Cambia ao modo claro no seguinte amencer + .next-sunset = Cambia ao modo escuro no seguinte solpor +shadows-floating = Xanelas flotantes + .clip = Coincidir coas esquinas do sistema e aplicar sombras +shadows-tiling = Xanelas en mosaico + .clip = Coincidir coas esquinas do sistema + .shadow = Aplicar sombras +container-background = Fondo do contedor + .desc-detail = A cor do fondo do contedor úsase para a barra lateral de navegación, o caixón lateral, os diálogos e outros elementos similares. Por defecto, a cor do fondo do contedor derívase automaticamente do fondo da xanela. + .reset = Restablecer a automático + .desc = Úsase para a barra lateral de navegación, o caixón lateral, os diálogos e outros elementos similares +control-tint = Matiz dos compoñentes de control + .desc = Úsase para os fondos dos botóns estándar, campos de busca, campos de texto e compoñentes similares +frosted = Efecto de vidro esmerilado na interface do sistema + .desc = Aplica desenfoque de fondo ao panel, Dock, miniaplicativos, lanzador e biblioteca de aplicacións +enable-export = Aplicar o tema actual ás aplicacións de GNOME + .desc = Non todos os kits de ferramentas son compatibles co cambio automático. As aplicacións que non son COSMIC poden precisar reiniciarse despois dun cambio de tema. +icon-theme = Tema de iconas + .desc = Aplica un conxunto diferente de iconas ás aplicacións +text-tint = Matiz do texto da interface + .desc = Úsase para derivar as cores do texto da interface que teñen contraste suficiente en varias superficies +style = Style + .round = Redondeado + .slightly-round = Lixeiramente redondeado + .square = Cadrado + .frosted-glass = Vidro esmerilado + .frosted-system-interface = Interface do sistema + .frosted-system-interface-desc = Aplica vidro esmerilado ao Lanzador, biblioteca de aplicacións, vista xeral dos espazos de traballo e controis en pantalla + .frosted-windows = Xanelas + .frosted-windows-desc = Aplica vidro esmerilado ás xanelas e diálogos + .frosted-panels = Paneis + .frosted-panels-desc = Aplica vidro esmerilado ao panel e ao Dock + .frosted-applets = Miniaplicativos + .frosted-applets-desc = Aplica vidro esmerilado aos menús dos miniaplicativos do panel e do Dock + .frosted-thickness = Grosor do esmerilado + .less = menos + .more = máis + .glass-opacity = Opacidade do vidro +interface-density = Densidade da interface + .comfortable = Cómoda + .compact = Compacta + .spacious = Espazosa +window-management-appearance = Xestión de xanelas + .active-hint = Tamaño da indicación da xanela activa + .gaps = Separacións arredor das xanelas en mosaico +experimental-settings = Axustes experimentais +icons-and-toolkit = Tematización de iconas e kits de ferramentas +interface-font = Tipografía do sistema +monospace-font = Tipografia monoespaciada +shadow-and-corners = Sombra e esquinas das xanelas +notifications = Notificacións +panel = Panel +add = Engadir +add-applet = Engadir miniaplicativo +all = Todo +applets = Miniaplicativo +center-segment = Segmento central +place-here = Coloca os miniaplicativos aquí +end-segment = Segmento final +large = Grande +no-applets-found = Non se atoparon miniaplicativos... +panel-bottom = Abaixo +panel-left = Esquerda +panel-right = Dereita +panel-top = Arriba +search-applets = Buscar miniaplicativos... +small = Pequeno +start-segment = Segmento inicial +panel-appearance = Aparencia + .match = Coincidir co escritorio + .light = Claro + .dark = Escuro +panel-behavior-and-position = Comportamento e posicións + .autohide = Ocultar automaticamente o panel + .dock-autohide = Ocultar automaticamente o Dock + .position = Posición na pantalla + .display = Mostrar na pantalla +panel-style = Style + .anchor-gap = Separación entre o panel e os bordos da pantalla + .dock-anchor-gap = Separación entre o Dock e os bordos da pantalla + .extend = Estender o panel ata os bordos da pantalla + .dock-extend = Estender o Dock ata os bordos da pantalla + .appearance = Aparencia + .size = Tamaño + .background-opacity = Opacidade do fondo +panel-applets = Configuración + .dock-desc = Configura os miniaplicativos do Dock + .desc = Configura os miniaplicativos do panel +panel-missing = Falta a configuración do panel + .desc = O ficheiro de configuración do panel non está dispoñible debido ao uso dunha configuración personalizada ou está danado. + .fix = Restablecer aos valores predeterminados +dock = Dock +window-management = Xestión de xanelas +super-key = Acción da tecla Super + .launcher = Abrir o Lanzador + .workspaces = Abrir os Espazos de traballo + .applications = Abrir as Aplicacións + .none = Ningunha +edge-gravity = As xanelas flotantes axústanse aos bordos próximos +window-controls = Controis das xanelas + .maximize = Mostrar o botón de maximizar + .minimize = Mostrar o botón de minimizar + .active-window-hint = Mostrar indicación da xanela activa +focus-navigation = Navegación do foco + .focus-follows-cursor = O foco segue o cursor + .focus-follows-cursor-delay = Retardo do foco ao seguir o cursor en ms + .cursor-follows-focus = O cursor segue o foco +workspaces = Espazos de traballo +workspaces-overview = Vista xeral dos espazos de traballo + .action-on-typing = Acción ao escribir + .none = Ningunha + .launcher = Abrir o Lanzador + .applications = Abrir as Aplicacións +workspaces-behavior = Comportamento dos espazos de traballo + .dynamic = Espazos de traballo dinámicos + .dynamic-desc = Elimina automaticamente os espazos de traballo baleiros. + .fixed = Número fixo de espazos de traballo + .fixed-desc = Engade ou elimina espazos de traballo na vista xeral. +workspaces-multi-behavior = Comportamento con varios monitores + .span = Os espazos de traballo abranguen todas as pantallas + .separate = As pantallas teñen espazos de traballo separados +workspaces-overview-thumbnails = Miniaturas da vista xeral dos espazos de traballo + .show-number = Mostrar o número do espazo de traballo + .show-name = Mostrar o nome do espazo de traballo +workspaces-orientation = Orientación dos espazos de traballo + .vertical = Vertical + .horizontal = Horizontal +hot-corner = Esquina activa + .top-left-corner = Activar a esquina activa superior esquerda para os Espazos de traballo +workspaces-navigation = Navegación + .wraparound = Moverse entre o primeiro e o último espazo de traballo usando atallos de teclado e xestos +-requires-restart = Require reinicio +color = Cor + .depth = Profundidade de cor + .profile = Perfil de cor + .sidebar = Perfís de cor + .temperature = Temperatura da cor +display = Pantallas + .arrangement = Disposición das pantallas + .arrangement-desc = Arrastra as pantallas para reorganizalas + .enable = Activar pantalla + .external = Pantalla externa { $size } { $output } + .laptop = Pantalla de portátil { $size } + .options = Opcións da pantalla + .refresh-rate = Frecuencia de actualización + .resolution = Resolución + .scale = Escala + .additional-scale-options = Opcións adicionais de escala +mirroring = Espello + .id = Espello { $id } + .dont = Non facer espello + .mirror = Facer espello de { $display } + .project = + Proxectar en { $display -> + [all] todas as pantallas + *[other] { $display } + } + .project-count = + Proxectando noutras { $count } { $count -> + [1] pantalla + *[other] pantallas + } +night-light = Luz nocturna + .auto = Automática (do solpor ao amencer) + .desc = Reduce a luz azul usando cores máis cálidas +orientation = Orientación + .standard = Estándar + .rotate-90 = Xirar 90° + .rotate-180 = Xirar 180° + .rotate-270 = Xirar 270° +vrr = Frecuencia de actualización variable + .enabled = Activada + .force = Sempre + .auto = Automática + .disabled = Desactivada +scheduling = Programación + .manual = Programación manual +dialog = Diálogo + .title = Manter esta configuración da pantalla? + .keep-changes = Manter os cambios + .change-prompt = Os cambios de configuración reverteranse automaticamente en { $time } segundos. + .revert-settings = Reverter a configuración +sound = Son +sound-output = Saída + .volume = Volume de saída + .device = Dispositivo de saída + .level = Nivel de saída + .config = Configuración + .balance = Balance + .left = Esquerda + .right = Dereita +sound-input = Entrada + .volume = Volume de entrada + .device = Dispositivo de entrada + .level = Nivel de entrada +amplification = Amplificación + .desc = Permite aumentar o volume ata o 150% +sound-alerts = Alertas + .volume = Volume das alertas + .sound = Son das alertas +sound-applications = Aplicacións + .desc = Volumes e configuracións das aplicacións +sound-device-port-unplugged = Desconectado +sound-hd-audio = Audio HD +sound-usb-audio = Audio USB +sound-device-profiles = Perfís dos dispositivos +power = Enerxía e batería +battery = Batería + .minute = + { $value } { $value -> + [one] minuto + *[other] minutos + } + .hour = + { $value } { $value -> + [one] hora + *[other] horas + } + .day = + { $value } { $value -> + [one] día + *[other] días + } + .less-than-minute = Menos dun minuto + .and = e + .remaining-time = + { $time } ata { $action -> + [full] completo + *[other] baleiro + } +connected-devices = Dispositivos conectados + .unknown = Dispositivo descoñecido +power-mode = Modo de enerxía + .battery = Maior duración da batería + .battery-desc = Menor consumo de enerxía e funcionamento silencioso + .balanced = Equilibrado + .balanced-desc = Funcionamento silencioso e consumo moderado de enerxía + .performance = Alto rendemento + .performance-desc = Máximo rendemento e consumo de enerxía + .no-backend = Non se atopou o backend. Instala system76-power ou power-profiles-daemon. +power-saving = Opcións de aforro de enerxía + .turn-off-screen-after = Apagar a pantalla despois de + .auto-suspend = Suspensión automática + .auto-suspend-ac = Suspensión automática ao estar conectado á corrente + .auto-suspend-battery = Suspensión automática usando a batería +acceleration-desc = Axuste automático da sensibilidade de seguimento segundo a velocidade +disable-while-typing = Desactivar ao escribir +input-devices = Dispositivos de entrada +primary-button = Botón principal + .desc = Establece a orde dos botóns físicos + .left = Esquerdo + .right = Dereito +scrolling = Desprazamento + .two-finger = Desprazamento con dous dedos + .edge = Desprazamento polo bordo cun dedo + .speed = Velocidade de desprazamento + .natural = Desprazamento natural + .natural-desc = Desprazar o contido en vez da vista +slow = Amodo +fast = Rápido +short = Curto +long = Longo +keyboard = Teclado +keyboard-sources = Fontes de entrada + .desc = As fontes de entrada pódense cambiar usando a combinación de teclas Super+Espazo. Isto pódese personalizar na configuración dos atallos de teclado. + .move-up = Mover arriba + .move-down = Mover abaixo + .settings = Configuracións + .view-layout = Ver a distribución do teclado + .remove = Eliminar + .add = Engadir fonte de entrada +keyboard-special-char = Entrada de caracteres especiais + .alternate = Tecla de caracteres alternativos + .compose = Tecla Compose + .compose-desc = A tecla Compose permite introducir unha gran variedade de caracteres. Para usala, preme Compose e despois unha secuencia de caracteres. Por exemplo, a tecla Compose seguida de C e o introduce ©, mentres que a tecla Compose seguida de a e ‘ introduce á. + .caps = Tecla Bloq Maiús + .ctrl = Control + .ctrl-right = Ctrl dereito + .swap-with-ctrl = Intercambiar con Control + .alt = Alt + .alt-left = Alt esquerda + .alt-right = Alt dereita + .super = Super + .super-left = Super esquerda + .super-right = Super dereita + .menu = Tecla Menú + .backspace = Retroceso + .escape = Escape + .swap-with-escape = Intercambiar con Escape + .print-screen = Imprimir pantalla + .scroll-lock = Bloq Desprazamento + .none = Ningunha +keyboard-typing-assist = Escritura + .repeat-rate = Velocidade de repetición + .repeat-delay = Retardo de repetición +keyboard-numlock-boot = Bloq Num + .boot-state = Estado no arranque + .last-boot = Último arranque + .on = Activado + .off = Desactivado + .set = Establecer o estado de Bloq Num no arranque +added = Engadido +type-to-search = Escribe para buscar... +no-search-results = Non hai redes que coincidan coa túa busca. +show-extended-input-sources = Mostrar fontes de entrada ampliadas +keyboard-shortcuts = Atallos de teclado + .desc = Ver e personalizar os atallos de teclado +add-another-keybinding = Engadir outro atallo de teclado +command = Comando +custom = Personalizado +debug = Depuración +disabled = Deshabilitado +input-source-switch = Cambiar fonte de entrada do idioma do teclado +migrate-workspace-prev = Migrar espazo de traballo á pantalla anterior +migrate-workspace-next = Migrar espazo de traballo á seguinte pantalla +migrate-workspace = + Migrar espazo de traballo á pantalla { $direction -> + *[down] abaixo + [left] esquerda + [right] dereita + [up] arriba + } +navigate = Navegar +shortcut-name = Nome do atallo +system-controls = Controles do sistema +terminate = Finalizar +toggle-stacking = Alternar pila de xanelas +type-key-combination = Escribir combinación de teclas +custom-shortcuts = Atallos personalizados + .add = Engadir atallo + .context = Engadir atallo personalizado + .none = Non hai atallos personalizados +modified = { $count } modificado +nav-shortcuts = Navegación + .prev-output = Enfocar a pantalla anterior + .next-output = Enfocar a seguinte pantalla + .last-workspace = Enfocar o último espazo de traballo + .prev-workspace = Enfocar o espazo de traballo anterior + .next-workspace = Enfocar o seguinte espazo de traballo + .focus = + Enfocar ventá { $direction -> + *[down] abaixo + [in] dentro + [left] esquerda + [out] fóra + [right] dereita + [up] arriba + } + .output = + Cambiar á pantalla { $direction -> + *[down] abaixo + [left] esquerda + [right] dereita + [up] arriba + } + .workspace = Cambiar ao espazo de traballo { $num } +manage-windows = Xestionar ventás + .close = Pechar ventá + .maximize = Maximizar ventá + .fullscreen = Ventá a pantalla completa + .minimize = Minimizar ventá + .resize-inwards = Reducir tamaño da ventá cara dentro + .resize-outwards = Aumentar tamaño da ventá cara fóra + .toggle-sticky = Alternar ventá persistente +move-windows = Mover ventás + .direction = + Mover ventá { $direction -> + *[down] abaixo + [left] esquerda + [right] dereita + [up] arriba + } + .display = + Mover ventá un monitor { $direction -> + *[down] abaixo + [left] esquerda + [right] dereita + [up] arriba + } + .workspace = + Mover ventá un espazo de traballo { $direction -> + *[below] abaixo + [left] esquerda + [right] dereita + [above] arriba + } + .workspace-num = Mover ventá ao espazo de traballo { $num } + .prev-workspace = Mover ventá ao espazo de traballo anterior + .next-workspace = Mover ventá ao seguinte espazo de traballo + .last-workspace = Mover ventá ao último espazo de traballo + .next-display = Mover ventá á seguinte pantalla + .prev-display = Mover ventá á pantalla anterior + .send-to-prev-workspace = Enviar ventá ao espazo de traballo anterior + .send-to-next-workspace = Enviar ventá ao seguinte espazo de traballo +system-shortcut = Sistema + .app-library = Abrir a biblioteca de aplicacións + .brightness-down = Reducir o brillo da pantalla + .brightness-up = Aumentar o brillo da pantalla + .display-toggle = Alternar a pantalla interna + .home-folder = Abrir o cartafol persoal + .keyboard-brightness-down = Reducir o brillo do teclado + .keyboard-brightness-up = Aumentar o brillo do teclado + .launcher = Abrir o Lanzador + .log-out = Pechar sesión + .lock-screen = Bloquear a pantalla + .mute = Silenciar a saída de audio + .mute-mic = Silenciar a entrada do micrófono + .play-pause = Reproducir/pausar + .play-next = Seguinte pista + .play-prev = Pista anterior + .poweroff = Apagar + .screenshot = Facer unha captura de pantalla + .suspend = Suspender + .terminal = Abrir un terminal + .touchpad-toggle = Alternar o panel táctil + .volume-lower = Reducir o volume de saída de audio + .volume-raise = Aumentar o volume de saída de audio + .web-browser = Abrir un navegador web + .window-switcher = Cambiar entre ventás abertas + .window-switcher-previous = Cambiar entre ventás abertas en orde inversa + .workspace-overview = Abrir a vista xeral dos espazos de traballo +window-tiling = Mosaico de xanelas + .horizontal = Establecer orientación horizontal + .vertical = Establecer orientación vertical + .swap-window = Intercambiar ventá + .toggle-tiling = Alternar mosaico de ventás + .toggle-stacking = Alternar empilhamento de ventás + .toggle-floating = Alternar ventá flotante + .toggle-orientation = Alternar orientación +replace-shortcut-dialog = Substituír atallo? + .desc = { $shortcut } está sendo usado por { $name }. Se o substitúes, { $name } será desactivado. +zoom-in = Ampliar Zoom +zoom-out = Reducir Zoom +mouse = Rato + .speed = Velocidade do rato + .acceleration = Activar aceleración do rato +click-behavior = Comportamento dos clics + .click-finger = Clic secundario con dous dedos e clic central con tres dedos + .button-areas = Clic secundario na esquina inferior dereita e clic central no centro inferior +pinch-to-zoom = Zoom con pinza + .desc = Usa dous dedos para ampliar o contido nas aplicacións que admitan zoom +tap-to-click = Tocar para facer clic + .desc = Activa o toque cun dedo para o clic principal, o toque con dous dedos para o clic secundario e o toque con tres dedos para o clic central +touchpad = Panel táctil + .acceleration = Activar aceleración do panel táctil + .speed = Velocidade do panel táctil +gestures = Xestos + .four-finger-down = Desprazamento cara abaixo con catro dedos + .four-finger-left = Desprazamento cara á esquerda con catro dedos + .four-finger-right = Desprazamento cara á dereita con catro dedos + .four-finger-up = Desprazamento cara arriba con catro dedos + .three-finger-any = Desprazamento en calquera dirección con tres dedos +switch-workspaces = Cambiar de espazos de traballo + .horizontal = Desprazamento horizontal con catro dedos (esquerda/dereita) + .vertical = Desprazamento vertical con catro dedos (arriba/abaixo) +switch-between-windows = Alternar entre xanelas +open-application-library = Abrir a biblioteca de aplicacións +open-workspaces-view = Abrir a vista xeral dos espazos de traballo +time = Hora e linguaxe +time-date = Data e hora + .auto = Establecer automaticamente + .auto-ntp = A data e hora actualizaranse automaticamente cando estea configurada a zona horaria +time-zone = Zona horaria + .auto = Zona horaria automática + .auto-info = Require servizos de localización e acceso a Internet +time-format = Formato de data e hora + .twenty-four = Formato de 24 horas + .show-seconds = Mostrar segundos + .first = Primeiro día da semana + .show-date = Mostrar a data no applet da hora + .friday = Venres + .saturday = Sábado + .sunday = Domingo + .monday = Luns +time-region = Rexión e linguaxe +formatting = Formato + .dates = Datas + .time = Hora + .date-and-time = Data e hora + .numbers = Números + .measurement = Medición + .paper = Papel +preferred-languages = Idiomas preferidos + .desc = A orde dos idiomas determina que idioma se usa para a interface de usuario. Os cambios aplicaranse no seguinte inicio de sesión. +add-language = Engadir linguaxe + .context = Engadir lingua +install-additional-languages = Instalar linguaxes adicionais +region = Rexión +default-apps = Aplicacións predeterminadas + .web-browser = Navegador web + .file-manager = Xestor de ficheiros + .mail-client = Cliente de correo + .music = Música + .video = Vídeo + .photos = Fotos + .calendar = Calendario + .terminal = Terminal + .other-associations = Outras asociacións + .text-editor = Editor de texto + .not-installed = Non instalado +startup-apps = Aplicacións de inicio + .add = Engadir aplicación + .user = Aplicacións iniciadas cando inicias sesión + .none = Non hai aplicacións de inicio engadidas + .remove-dialog-title = Eliminar { $name }? + .remove-dialog-description = Queres eliminar esta aplicación de inicio? + .add-startup-app = Engadir aplicación de inicio +legacy-applications = Compatibilidade de aplicacións X11 +legacy-app-global-shortcuts = Atallos globais en aplicacións X11 + .desc = Os atallos globais permiten que as pulsacións de teclas e os eventos dos botóns do rato realizados nas aplicacións sexan recoñecidos por outras aplicacións para funcións como premer para falar ou premer para silenciar. Por defecto, os atallos globais están desactivados nas aplicacións X11 para garantir que outras aplicacións non poidan supervisar eventos de teclado e rato que conteñan información sensible. + .none = Sen teclas + .modifiers = Modificadores (Super, Maiús, Control, Alt) + .combination = Todas as teclas mentres se manteñen premidos os modificadores Super, Control ou Alt + .all = Todas as teclas + .mouse = Eventos dos botóns do rato nas aplicacións X11 +legacy-app-scaling = Escalado de aplicacións do sistema de ventás X11 + .scaled-gaming = Optimizar para xogos e aplicacións a pantalla completa + .gaming-description = As aplicacións X11 poden aparecer lixeiramente máis grandes ou máis pequenas en comparación coas aplicacións Wayland + .scaled-applications = Optimizar para aplicacións + .applications-description = Os xogos e as aplicacións X11 a pantalla completa poden non coincidir coa resolución da túa pantalla + .scaled-compatibility = Modo de máxima compatibilidade + .compatibility-description = As aplicacións X11 poden aparecer borrosas en pantallas HiDPI + .preferred-display = Pantalla preferida para xogos e aplicacións X11 a pantalla completa + .no-display = Ningunha +system = Sistema e contas +about = Sobre +about-device = Nome do dispositivo + .desc = Este nome aparece para outros dispositivos da rede ou Bluetooth +about-hardware = Hardware + .model = Modelo de hardware + .memory = Memoria + .processor = Procesador + .graphics = Gráficos + .disk-capacity = Capacidade do disco +about-os = Sistema operativo + .os = Sistema operativo + .os-architecture = Arquitectura do sistema operativo + .kernel = Versión do kernel + .desktop-environment = Contorno de escritorio + .windowing-system = Sistema de xanelas (servidor gráfico) +about-related = Axustes relacionados + .support = Obter asistencia +firmware = Firmware +users = Usuarios + .admin = Administrador + .standard = Estándar + .profile-add = Escoller imaxe de perfil +administrator = Administrador + .desc = Os administradores poden cambiar os axustes de todos os usuarios, engadir e eliminar outros usuarios +add-user = Engadir usuario +change-password = Cambiar o contrasinal +remove-user = Eliminar o usuario +full-name = Nome completo +invalid-username = Nome de usuario non válido +password-mismatch = O contrasinal e a confirmación deben coincidir diff --git a/i18n/hi/cosmic_settings.ftl b/i18n/hi/cosmic_settings.ftl index 879d5c2..164ea8f 100644 --- a/i18n/hi/cosmic_settings.ftl +++ b/i18n/hi/cosmic_settings.ftl @@ -21,8 +21,8 @@ network-and-wireless = नेटवर्क और वायरलेस no-networks = कोई नेटवर्क नहीं मिला। no-vpn = कोई वी.पी.एन कनेक्शन नहीं है। password = पासवर्ड -remove = हटा दें -settings = सेटिंग +remove = हटाएँ +settings = सेटिंग्स username = उपयोगकर्ता नाम visible-networks = दृश्य नेटवर्क auth-dialog = प्रमाणीकरण आवश्यक है @@ -145,8 +145,7 @@ x-hours = ## Desktop: Appearance -appearance = रूपरेखा - .desc = प्राधिकरण रंग और थीम। +appearance = रुप-रंग accent-color = प्राधिकरण रंग app-background = एप्लिकेशन या विंडो का पृष्ठभूमि auto = स्वचालित @@ -154,11 +153,11 @@ close = बंद करें color-picker = रंग चयनकर्ता copied-to-clipboard = क्लिपबोर्ड में कॉपी किया गया copy-to-clipboard = क्लिपबोर्ड में कॉपी करें -dark = गहरा +dark = डार्क export = निर्यात hex = हेक्स import = आयात -light = हल्का +light = लाइट mode-and-colors = मोड और रंग recent-colors = हाल के रंग reset-to-default = डिफ़ॉल्ट पर पुनर्स्थापित करें diff --git a/i18n/hu/cosmic_settings.ftl b/i18n/hu/cosmic_settings.ftl index 004f0fb..38a9dcc 100644 --- a/i18n/hu/cosmic_settings.ftl +++ b/i18n/hu/cosmic_settings.ftl @@ -224,7 +224,7 @@ desktop = Asztal wallpaper = Háttérkép .change = Háttérkép váltásának gyakorisága .fit = Háttérkép illeszkedése - .folder-dialog = Háttérkép-mappa kiválasztása + .folder-dialog = Háttérképmappa kiválasztása .image-dialog = Háttérkép kiválasztása .plural = Háttérképek .same = Ugyanaz a háttérkép legyen minden kijelzőn @@ -282,7 +282,7 @@ container-background = Felületi elemek háttere .desc = Navigációs oldalsávhoz, oldalsó menühöz, párbeszédablakhoz és hasonló modulokhoz használandó control-tint = Vezérlőelemek színezése .desc = Szabványos gombok hátterére, keresési bemenetekre, szövegbevitelre és hasonló összetevőkre használandó -frosted = Tejüveg hatás a rendszerfelületen +frosted = Tejüveghatás a rendszerfelületen .desc = A háttér elmosását alkalmazza a panelre, a dokkra, a kisalkalmazásokra, az indítóra és az alkalmazáskönyvtárra enable-export = Jelenlegi téma alkalmazása a GNOME-alkalmazásokra .desc = Nem minden eszközkészlet támogatja az automatikus váltást. Előfordulhat, hogy a téma módosítása után újra kell indítani a nem COSMIC-alkalmazásokat. @@ -294,6 +294,19 @@ style = Stílus .round = Lekerekített .slightly-round = Enyhén lekerekített .square = Szögletes + .frosted-glass = Tejüveghatás + .frosted-system-interface = Rendszerfelület + .frosted-system-interface-desc = Tejüveghatás alkalmazása az Indítóra, az alkalmazáskönyvtárra, a munkaterület-áttekintőre és a képernyőn megjelenő vezérlőkre + .frosted-windows = Ablakok + .frosted-windows-desc = Tejüveghatás alkalmazása az ablakokra és a párbeszédablakokra + .frosted-panels = Panelek + .frosted-panels-desc = Tejüveghatás alkalmazása a panelre és a dokkra + .frosted-applets = Kisalkalmazások + .frosted-applets-desc = Tejüveghatás alkalmazása a panelen és a dokkon lévő kisalkalmazások menüire + .frosted-thickness = Homályosítás mértéke + .less = kevesebb + .more = több + .glass-opacity = Üveg átlátszatlansága interface-density = Felületsűrűség .comfortable = Kényelmes .compact = Kompakt @@ -366,7 +379,7 @@ super-key = Super billentyű funkciója .launcher = Indító megnyitása .workspaces = Munkaterületek megnyitása .applications = Alkalmazások megnyitása - .disable = Letiltás + .none = Nincs edge-gravity = A lebegő ablakok a közeli szélekhez igazodnak window-controls = Ablakvezérlés .maximize = Maximalizálás gomb megjelenítése @@ -550,6 +563,22 @@ keyboard-special-char = Speciális karakter beírása .compose = Kombináló billentyű .compose-desc = A kombináló billentyű lehetővé teszi számos karakter bevitelét. Használatához nyomd meg a billentyűt, majd gépeld be a karakterek sorozatát. Például a kombináló billentyű, majd „C” és „o” lenyomásával a „©” jelet kapod, míg „a” és „‘” után „á” jelenik meg. .caps = Caps Lock billentyű + .ctrl = Ctrl + .ctrl-right = Jobb Ctrl + .swap-with-ctrl = Felcserélés a Ctrl billentyűvel + .alt = Alt + .alt-left = Bal Alt + .alt-right = Jobb Alt + .super = Super + .super-left = Bal Super + .super-right = Jobb Super + .menu = Menü billentyű + .backspace = Backspace + .escape = Esc + .swap-with-escape = Felcserélés az Esc billentyűvel + .print-screen = Print Screen + .scroll-lock = Scroll Lock + .none = Nincs keyboard-typing-assist = Gépelés .repeat-rate = Ismétlési sebesség .repeat-delay = Ismétlési késleltetés diff --git a/i18n/id/cosmic_settings.ftl b/i18n/id/cosmic_settings.ftl index a6f6a8f..6ef7fc7 100644 --- a/i18n/id/cosmic_settings.ftl +++ b/i18n/id/cosmic_settings.ftl @@ -229,6 +229,19 @@ style = Gaya .round = Bulat .slightly-round = Sedikit bulat .square = Persegi + .frosted-glass = Kaca es + .frosted-system-interface = Antarmuka sistem + .frosted-system-interface-desc = Menerapkan kaca es ke Peluncur, pustaka aplikasi, ikhtisar ruang kerja, kontrol pada layar + .frosted-windows = Jendela + .frosted-windows-desc = Menerapkan kaca es ke jendela dan dialog + .frosted-panels = Panel + .frosted-panels-desc = Menerapkan kaca es ke panel dan dok + .frosted-applets = Applet + .frosted-applets-desc = Menerapkan kaca es ke menu applet pada panel dan dok + .frosted-thickness = Ketebalan es + .less = lebih + .more = kurang + .glass-opacity = Opasitas kaca interface-density = Kepadatan antarmuka .comfortable = Nyaman .compact = Kompak @@ -291,7 +304,7 @@ super-key = Tindakan tombol super .launcher = Buka Peluncur .workspaces = Buka Ruang Kerja .applications = Buka Aplikasi - .disable = Nonaktifkan + .none = Tidak Ada edge-gravity = Jendela mengapung bergerak ke tepi terdekat window-controls = Kontrol jendela .maximize = Tampilkan tombol maksimalkan @@ -535,6 +548,22 @@ keyboard-special-char = Entri Karakter Spesial .compose = Tombol compose .compose-desc = Tombol compose memungkinkan berbagai macam karakter untuk memasukkan. Untuk menggunakannya, tekan compose dan kemudian serangkaian karakter. Misalnya, tombol compose diikuti dengan C dan o akan memasukkan ©, sedangkan tombol compose diikuti dengan a dan ‘ akan memasukkan á. .caps = Tombol Caps Lock + .ctrl = Control + .ctrl-right = Ctrl Kanan + .swap-with-ctrl = Tukar dengan Control + .alt = Alt + .alt-left = Alt Kiri + .alt-right = Alt Kanan + .super = Super + .super-left = Super Kiri + .super-right = Super Kanan + .menu = Tombol menu + .backspace = Backspace + .escape = Escape + .swap-with-escape = Tukar dengan Escape + .print-screen = Print Screen + .scroll-lock = Scroll Lock + .none = Tidak ada keyboard-typing-assist = Pengetikan .repeat-rate = Kecepatan pengulangan .repeat-delay = Penundaan pengulangan diff --git a/i18n/it/cosmic_settings.ftl b/i18n/it/cosmic_settings.ftl index b7d4b9a..d978a64 100644 --- a/i18n/it/cosmic_settings.ftl +++ b/i18n/it/cosmic_settings.ftl @@ -254,7 +254,6 @@ never = Mai ## Desktop: Appearance appearance = Aspetto - .desc = Colore d'accento e tema COSMIC. accent-color = Colore d'accento app-background = Sfondo applicazione o finestra auto = Automatico diff --git a/i18n/kk/cosmic_settings.ftl b/i18n/kk/cosmic_settings.ftl index 37aa0ec..651323d 100644 --- a/i18n/kk/cosmic_settings.ftl +++ b/i18n/kk/cosmic_settings.ftl @@ -61,6 +61,8 @@ vpn-error = VPN қатесі .connect = VPN-ге қосылу сәтсіз аяқталды .connection-editor = Байланыс редакторының жұмысы сәтсіз аяқталды .connection-settings = Белсенді байланыстар үшін баптауларды алу сәтсіз аяқталды + .openvpn-config-path = OpenVPN баптаулары үшін файлға дейінгі жол жарамсыз + .openvpn-config-path-desc = Таңдалған файл жергілікті файлдық жүйеде болуы тиіс. .updating-state = Желі менеджерінің күйін жаңарту сәтсіз аяқталды .wireguard-config-path = WireGuard конфигурациясы үшін файл жолы жарамсыз .wireguard-config-path-desc = Таңдалған файл жергілікті файлдық жүйеде болуы тиіс. @@ -175,7 +177,7 @@ x-hours = *[other] сағат } never = Ешқашан -appearance = Сыртқы түрі +appearance = Сыртқы көрініс accent-color = Акцент түсі app-background = Терезе фоны auto = Автоматты түрде @@ -183,11 +185,11 @@ close = Жабу color-picker = Түс таңдаушы copied-to-clipboard = Алмасу буферіне көшірілді copy-to-clipboard = Алмасу буферіне көшіру -dark = Қараңғы +dark = Қою export = Экспорттау hex = Он алтылық import = Импорттау -light = Жарық +light = Ашық mode-and-colors = Режим мен түстер recent-colors = Соңғы түстер reset-to-default = Әдепкі күйге қайтару @@ -222,6 +224,19 @@ style = Стиль .round = Дөңгелек .slightly-round = Сәл дөңгелектелген .square = Шаршы + .frosted-glass = Мөлдір емес шыны + .frosted-system-interface = Жүйелік интерфейс + .frosted-system-interface-desc = Мөлдір емес шыны эффектін іске қосқыш, қолданбалар библиотекасы, жұмыс үстелі көрінісі, экрандағы басқару элементтері үшін іске асырады + .frosted-windows = Терезелер + .frosted-windows-desc = Мөлдір емес шыны эффектін терезелер мен сұхбат терезелері үшін іске асырады + .frosted-panels = Панельдер + .frosted-panels-desc = Мөлдір емес шыны эффектін панель мен бекіту панелі (док) үшін іске асырады + .frosted-applets = Апплеттер + .frosted-applets-desc = Мөлдір емес шыны эффектін панель мен доктағы апплеттер мәзірі үшін іске асырады + .frosted-thickness = Мөлдір еместігінің шамасы + .less = азырақ + .more = көбірек + .glass-opacity = Шынының мөлдір еместігі interface-density = Интерфейс тығыздығы .comfortable = Ыңғайлы .compact = Ықшам @@ -281,7 +296,7 @@ super-key = Super пернесінің әрекеті .launcher = Іске қосқышты ашу .workspaces = Жұмыс орындарын ашу .applications = Қолданбаларды ашу - .disable = Сөндіру + .none = Ешнәрсе edge-gravity = Қалқымалы терезелер жақын маңдағы шеттерге тартылады window-controls = Терезе басқару элементтері .maximize = Жазық қылу батырмасын көрсету @@ -453,6 +468,22 @@ keyboard-special-char = Арнайы таңбаларды енгізу .compose = Compose пернесі .compose-desc = Compose пернесі таңбалардың алуан түрін енгізуге мүмкіндік береді. Оны пайдалану үшін, compose пернесін, содан кейін таңбалар тізбегін басыңыз. Мысалы, compose пернесінен кейін C және o басылса, © таңбасы енгізіледі, ал compose пернесінен кейін a және ‘ басылса, á таңбасы енгізіледі. .caps = Caps Lock пернесі + .ctrl = Control + .ctrl-right = Оң жақ Ctrl + .swap-with-ctrl = Control-мен ауыстыру + .alt = Alt + .alt-left = Сол жақ Alt + .alt-right = Оң жақ Alt + .super = Super + .super-left = Сол жақ Super + .super-right = Оң жақSuper + .menu = Menu key + .backspace = Backspace + .escape = Escape + .swap-with-escape = Escape-пен алмастыру + .print-screen = Print Screen + .scroll-lock = Scroll Lock + .none = Ешнәрсе keyboard-typing-assist = Теру .repeat-rate = Қайталау жиілігі .repeat-delay = Қайталау кідірісі @@ -820,3 +851,7 @@ xdg-entry-wired-comment = Сымды қосылымдар және қосылы no-search-results = Сіздің іздеуіңізге ешбір желі сәйкес келмейді. workspaces-navigation = Навигация .wraparound = Бірінші және соңғы жұмыс орындары арасында пернетақта жарлықтары мен ым қимылдар арқылы ауысу +bluetooth-display-passkey = Bluetooth жұптау + .description = { $device } құрылғысында келесі кілттік кодты енгізіңіз, одан кейін Enter басыңыз +bluetooth-display-pin = Bluetooth жұптау + .description = { $device } құрылғысында келесі PIN кодты енгізіңіз, одан кейін Enter басыңыз diff --git a/i18n/kmr/cosmic_settings.ftl b/i18n/kmr/cosmic_settings.ftl index 9ddde9a..fa9ba50 100644 --- a/i18n/kmr/cosmic_settings.ftl +++ b/i18n/kmr/cosmic_settings.ftl @@ -25,9 +25,9 @@ connected = Hat girêdan panel-left = Çep super-key = Çalakiya bişkoka Super .launcher = Destpêkerê veke - .workspaces = Cîhên xebatê veke + .workspaces = Qadên xebatê veke .applications = Sepanan veke - .disable = Neçalak bike + .none = Ne yek x-minutes = { $number } { $number -> [one] xulek @@ -187,7 +187,7 @@ battery = Betarî .and = û .remaining-time = { $time } heya { $action -> - [full] tije + [full] tije bibe *[other] vala } search-applets = Sepanokan bigere... @@ -278,8 +278,21 @@ enable-export = Rûkara heyî li ser sepanên GNOME disepîne shortcut-name = Navê kurteriyê style = Şêwaz .round = Gilover - .slightly-round = Nîv gilover + .slightly-round = Hinekî gilover .square = Çargoşe + .frosted-glass = Mijbûna camê + .frosted-system-interface = Navrûya pergalê + .frosted-system-interface-desc = Mijbûna camê li ser destpêker, pirtûkxaneya sepanan, pêşdîtina qada xebatê, kontrolên li ser dîmenderê tê sepandin. + .frosted-windows = Çarçove + .frosted-windows-desc = Mijbûna camê li ser çarçove û gotûbêjan tê sepandin. + .frosted-panels = Destgeh + .frosted-panels-desc = Mijbûna camê li ser destgeh û benderê tê sepandin. + .frosted-applets = Sepanok + .frosted-applets-desc = Mijbûna camê li ser menuyên sepanokan, destgeh û benderê tê sepandin. + .frosted-thickness = Qalindiya camê + .less = kêmtir + .more = bêtir + .glass-opacity = Zelalaliya camê panel-applets = Rêkxistin .dock-desc = Sepanokên benderê bi rêk bixe .desc = Sepanokên destgehê bi rêk bixe @@ -410,8 +423,8 @@ system-shortcut = Pergal .suspend = Rawestîne .terminal = Termînalê veke .touchpad-toggle = Touchpadê biguhêrîne - .volume-lower = Asta dengê derana kêm bike - .volume-raise = Asta dengê derana bêtir bike + .volume-lower = Asta dengê ya deran kêm bike + .volume-raise = Asta dengê ya deranê bêtir bike .web-browser = Gerokeke tevnê veke .window-switcher = Di navbera çarçoveyên vekirî de biguhêrîne .window-switcher-previous = Di navbera çarçoveyên vekirî de berevajî biguhêrîne @@ -435,7 +448,7 @@ formatting = Awa .dates = Dîrok .time = Dem .date-and-time = Dîrok & Dem - .numbers = Jimmar + .numbers = Jimar .measurement = Pîvan .paper = Pelik disabled = Neçalakkirî @@ -482,9 +495,25 @@ accent-color = Rengê sereke type-key-combination = Kombînasyona kilîtan binivîse keyboard-special-char = Têketina tîpên taybet .alternate = Kilîta tîpên alternatîf - .compose = Kilîta taybet + .compose = Kilîta taybe .compose-desc = Kilîta compose mafê dide ku tîpên cûda werin nivîsandin. Ji bo bikaranînê, pêşî compose û paşê rêzek tîpan bitikîne. Bo mînak, kilîta compose li dû C û o wê © binivîse, dema ku kilîta compose li dû a û ‘ wê á binivîse. .caps = Kilîta Caps Lock + .ctrl = Control + .ctrl-right = Ctrl a rastê + .swap-with-ctrl = Swap û Control + .alt = Alt + .alt-left = Alt a çepê + .alt-right = Alt a rastê + .super = Super + .super-left = Super a çepê + .super-right = Super a rastê + .menu = Kilîta Menu + .backspace = Backspace + .escape = Escape + .swap-with-escape = Swap û Escape + .print-screen = Print Screen + .scroll-lock = Scroll Lock + .none = Ne yek manage-windows = Rêveberê çarçoveyan .close = Çarçoveyê bigire .maximize = Çarçoveyê mezin bike @@ -495,7 +524,7 @@ manage-windows = Rêveberê çarçoveyan .toggle-sticky = Çarçoveyê daliqandî biguhêrîne never = Tu car install-additional-languages = Zimanên vebijêrkî saz bike -sound-output = Derketin +sound-output = Deran .volume = Asta dengê deranê .device = Amûra deranê .level = Asta deranê @@ -666,7 +695,7 @@ default-apps = Sepanên berdest .file-manager = Rêveberê pelê .mail-client = Rajigera enameyê .music = Muzîk - .video = Vîdyo + .video = Vîdiyo .photos = Wêne .calendar = Salname .terminal = Termînal @@ -784,7 +813,7 @@ touchpad = Touchpad xdg-entry-sound = Deng xdg-entry-power-comment = Awayên hêzê û vebijêrkên parastina hêzê xdg-entry-displays-keywords = COSMIC;Dîmender; -time = Dem & ziman +time = Dem & Ziman xdg-entry-workspaces = Qadên xebatê xdg-entry-date-time-comment = Herêma demê, sazkariyên demjimêra xweber û awaya demê xdg-entry-x11-applications = Lihevhatina sepanên X11 diff --git a/i18n/ko/cosmic_settings.ftl b/i18n/ko/cosmic_settings.ftl index 476cb4a..41694bd 100644 --- a/i18n/ko/cosmic_settings.ftl +++ b/i18n/ko/cosmic_settings.ftl @@ -781,3 +781,5 @@ xdg-entry-region-language-comment = 지역에 기반한 날짜와 시간 및 숫 xdg-entry-time-language-keywords = COSMIC;시스템;시간;날짜;지역;언어; xdg-entry-sound-keywords = COSMIC;소리;오디오;알림;Pipewire; xdg-entry-sound = 소리 +xdg-entry-touchpad-comment = 터치패드 속도와 클릭 옵션 및 제스처 +xdg-entry-wallpaper-comment = 바탕화면 이미지와 색상 및 슬라이드 쇼 옵션 diff --git a/i18n/lt/cosmic_settings.ftl b/i18n/lt/cosmic_settings.ftl index 3d3e1bd..54ce4a1 100644 --- a/i18n/lt/cosmic_settings.ftl +++ b/i18n/lt/cosmic_settings.ftl @@ -30,6 +30,8 @@ vpn-error = VPN klaida .connect = Nepavyko prisijungti prie VPN .connection-editor = Ryšio rengyklės triktis .connection-settings = Nepavyko gauti veikiančių ryšių nuostatų + .openvpn-config-path = Neteisingas OpenVPN konfigūracinio failo kelias + .openvpn-config-path-desc = Pasirinktas failas turi egzistuoti lokalioje failų sistemoje. .updating-state = Nepavyko atnaujinti tinklo valdytojo būsenos .wireguard-config-path = Klaidingas WireGuard nustatymų failo kelio vardas .wireguard-config-path-desc = Pasirinktas failas turi būti lokalioje failų sistemoje. @@ -539,7 +541,7 @@ manage-windows = Valdyti langus .toggle-sticky = Įjungti/išjungti lipnų langą never = Niekada install-additional-languages = Pridėti papildomas kalbas -settings = Nuostatos +settings = Nuostatai sound-output = Išvestis .volume = Išvesties garsumas .device = Išvesties įrenginys @@ -787,17 +789,17 @@ xdg-entry-about-comment = Įrenginio pavadinimas, techninė informacija, operaci xdg-entry-vpn-keywords = COSMIC;VPN;Ryšys;Prisijungimai;OpenVPN;OpenConnect; xdg-entry-time-language-keywords = COSMIC;Sistema;Laikas;Data;Regionas;Kalba; xdg-entry-input-keywords = COSMIC;Įvestis;Klaviatūra;Pelė;Pelytė; -xdg-entry-comment = COSMIC desktop aplikacijų nustatymai +xdg-entry-comment = COSMIC darbalaukio nuostatų programa xdg-entry-notifications-comment = Režimas „Netrukdyti“, užrakinto ekrano pranešimai ir programų nuostatos xdg-entry-applications = Programos xdg-entry-sound-keywords = COSMIC;Garsas;Audio;Pranešimai;Pipewire; xdg-entry-power-keywords = COSMIC;Energija;Baterija xdg-entry-default-apps-keywords = COSMIC;Numatyta;Programa -xdg-entry-keywords = COSMIC;Nustatymai; +xdg-entry-keywords = COSMIC;Nuostatos; xdg-entry-region-language-keywords = COSMIC;Regionas;Kalba;Data;Formatas;Laikas;Vietovė;Lokalizavimas; xdg-entry-about = Apie xdg-entry-input = Įvesties Įrenginiai -xdg-entry-applications-keywords = COSMIC;Numatytas;Aplikacija;Paleidimas;X11;Suderinamumas +xdg-entry-applications-keywords = COSMIC;Numatytieji;Programa;Paleistis;X11;Suderinamumas xdg-entry-sound-comment = Įrenginių, pranešimų ir programų garso nuostatos xdg-entry-touchpad-comment = Jutiklinis kilimėlio greitis, valdymo parinktys, gestai xdg-entry-keyboard-keywords = COSMIC;Klaviatūra;Įvestis;Šaltinis;Spartieji klavišai; @@ -814,3 +816,8 @@ xdg-entry-date-time-comment = Laiko juosta, automatinės laikrodžio nuostatos i xdg-entry-x11-applications = Suderinamumas su X11 programomis xdg-entry-wired-comment = Laidiniai ryšiai ir ryšių profiliai no-search-results = Joks tinklas neatitinka jūsų paieškos. +xdg-entry-appearance-comment = Akcentų spalvos ir stiliai +xdg-entry-window-management-keywords = COSMIC;Langas;Valdymas;Išklojimas;Super;Klavišas; +xdg-entry-window-management-comment = „Super“ klavišo veiksmas, langų valdymo parinktys, papildomos langų klojimo parinktys +workspaces-navigation = Judėjimas + .wraparound = Judėkite tarp pirmos ir paskutinės darbo sričių naudodamiesi sparčiaisias klavišais ir gestais diff --git a/i18n/nl/cosmic_settings.ftl b/i18n/nl/cosmic_settings.ftl index 7c2c2cc..8c3edfc 100644 --- a/i18n/nl/cosmic_settings.ftl +++ b/i18n/nl/cosmic_settings.ftl @@ -8,16 +8,16 @@ number = { $number } xdg-entry-about = Over xdg-entry-about-comment = Apparaatnaam, hardware-informatie, standaardinstellingen van het besturingssysteem -xdg-entry-a11y = Toegankelijkheden -xdg-entry-a11y-comment = Toegankelijkheidsinstellingen -xdg-entry-appearance = Weergave +xdg-entry-a11y = Toegankelijkheid +xdg-entry-a11y-comment = Schermlezer, vergrootglas, hoog contrast, en kleurenfilters +xdg-entry-appearance = Uiterlijk xdg-entry-appearance-comment = Accentkleuren en thema's xdg-entry-applications = Toepassingen -xdg-entry-applications-comment = Instellingen voor toepassingen beheren +xdg-entry-applications-comment = Standaardtoepassingen, autostart-toepassingen, en X11-compatibiliteitsinstellingen xdg-entry-date-time = Datum en tijd -xdg-entry-date-time-comment = Tijdszone, automatische klokinstellingen en tijdformatering -xdg-entry-default-apps = Standaard toepassingen -xdg-entry-default-apps-comment = Standaard webbrowser, mailprogramma, bestandsbeheerder en andere apps +xdg-entry-date-time-comment = Tijdszone, automatische tijdinstellingen en tijdnotatie +xdg-entry-default-apps = Standaardtoepassingen +xdg-entry-default-apps-comment = Standaard webbrowser, e-mailclient, bestandsbeheerder, en andere toepassingen xdg-entry-desktop = Bureaublad xdg-entry-displays = Beeldschermen xdg-entry-displays-comment = Weergaveopties, grafische modi en nachtlicht @@ -248,7 +248,6 @@ never = Nooit ## Desktop: Appearance appearance = Uiterlijk - .desc = Accentkleuren en thema's accent-color = Accentkleur app-background = Vensterachtergrond auto = Automatisch @@ -265,8 +264,8 @@ mode-and-colors = Kleuren en lichte/donkere modus recent-colors = Recente kleuren reset-to-default = Naar standaardinstellingen terugzetten rgb = RGB -window-hint-accent = Accentkleur als visuele hint voor het actieve venster -window-hint-accent-toggle = Gebruik de accentkleur van het thema als visuele hint voor het actieve venster +window-hint-accent = Kleur van vensterfocus-aanduiding +window-hint-accent-toggle = Gebruik de accentkleur van het thema voor de vensterfocus-aanduiding auto-switch = Automatisch wisselen tussen lichte en donkere modus .sunrise = Wissel naar lichte modus bij zonsopgang .sunset = Wissel naar donkere modus bij zonsondergang @@ -295,7 +294,7 @@ interface-density = Interfacedichtheid .compact = Compact .spacious = Ruim window-management-appearance = Vensterbeheer - .active-hint = Grootte visuele hint voor het actieve venster + .active-hint = Grootte van vensterfocus-aanduiding .gaps = Ruimte rondom getegelde vensters ### Experimental @@ -371,7 +370,7 @@ edge-gravity = Zwevende vensters worden door de randen van het scherm aangetrokk window-controls = Vensterbeheer .maximize = Maximaliseerknop tonen .minimize = Minimaliseerknop tonen - .active-window-hint = Gebruik visuele hint voor het actieve venster + .active-window-hint = Vensterfocus-aanduiding tonen focus-navigation = Focusbesturing .focus-follows-cursor = Focus volgt de cursor .focus-follows-cursor-delay = Vertraging voor focus volgt de cursor in ms @@ -871,3 +870,17 @@ sound-hd-audio = HD-audio sound-device-profiles = Apparaatprofielen amplification = Verhoog maximum volume .desc = Hiermee kan het volume tot 150% worden verhoogd +xdg-entry-appearance-keywords = COSMIC;Accent;Kleur;Accentkleur;Icoon;Iconen;Lettertype;Thema +xdg-entry-a11y-keywords = COSMIC;Toegankelijkheid;A11y;Scherm;Lezer;Schermlezer;Vergrootglas;Contrast;Kleur; +xdg-entry-comment = Instellingentoepassing voor COSMIC +xdg-entry-keywords = COSMIC;Instellingen; +workspaces-navigation = Navigatie + .wraparound = Ga met sneltoetsen en gebaren ook tussen het eerste en laatste werkblad heen en weer +xdg-entry-bluetooth-comment = Bluetooth-apparaten beheren +xdg-entry-desktop-keywords = COSMIC;Bureaublad; +xdg-entry-about-keywords = COSMIC;Over; +xdg-entry-date-time-keywords = COSMIC;Tijd;Zone;Tijdzone; +xdg-entry-desktop-comment = Schermachtergrond, uiterlijk, paneel, dock, vensterbeheer, en werkbladinstellingen +xdg-entry-bluetooth-keywords = COSMIC;Bluetooth; +xdg-entry-default-apps-keywords = COSMIC;Standaard;Toepassing;Standaardtoepassing +xdg-entry-applications-keywords = COSMIC;Standaard;Opstart;Autostart;Toepassingen;Standaardtoepassingen;Autostarttoepassingen;X11;Compatibiliteit; diff --git a/i18n/oc/cosmic_settings.ftl b/i18n/oc/cosmic_settings.ftl index 22d8560..099babc 100644 --- a/i18n/oc/cosmic_settings.ftl +++ b/i18n/oc/cosmic_settings.ftl @@ -24,3 +24,6 @@ add-network = Apondre una ret .profile = Apondre perfil unknown = Desconegut ok = D’acòrdi +light = Clar +dark = Fosc +appearance = Aparéncia diff --git a/i18n/pa/cosmic_settings.ftl b/i18n/pa/cosmic_settings.ftl index 1da2454..8cb0093 100644 --- a/i18n/pa/cosmic_settings.ftl +++ b/i18n/pa/cosmic_settings.ftl @@ -123,7 +123,7 @@ dock = ਡੌਕ sound-hd-audio = HD ਆਡੀਓ network-and-wireless = ਨੈੱਟਵਰਕ ਅਤੇ ਬੇਤਾਰ username = ਵਰਤੋਂਕਾਰ ਦਾ ਨਾਂ -light = ਹਲਕਾ +light = ਫਿੱਕਾ no-vpn = ਕੋਈ VPN ਕਨੈਕਸ਼ਨ ਮੌਜੂਦ ਨਹੀਂ ਹੈ। start-segment = ਸ਼ੁਰੂ ਭਾਗ desktop = ਡੈਸਕਟਾਪ @@ -149,7 +149,7 @@ terminate = ਖ਼ਤਮ type-to-search = ਖੋਜਣ ਲਈ ਲਿਖੋ... workspaces = ਵਰਕਸਪੇਸ password-confirm = ਪਾਸਵਰਡ ਦੀ ਤਸਦੀਕ ਕਰੋ -applications = ਐਪਲੀਕੇਸ਼ਨਾਂ +applications = ਐਪਲੀਕੇਸ਼ਨ dbus-connection-error = DBus ਨਾਲ ਕਨੈਕਟ ਕਰਨ ਲਈ ਅਸਫ਼ਲ ਹੈ system-controls = ਸਿਸਟਮ ਕੰਟਰੋਲ dark = ਗੂੜ੍ਹਾ diff --git a/i18n/pl/cosmic_settings.ftl b/i18n/pl/cosmic_settings.ftl index f7bcad2..40749f2 100644 --- a/i18n/pl/cosmic_settings.ftl +++ b/i18n/pl/cosmic_settings.ftl @@ -294,6 +294,19 @@ style = Styl .round = Okrągły .slightly-round = Lekko zaokrąglony .square = Kwadratowy + .frosted-glass = Oszronione szkło + .frosted-system-interface = Interfejs systemu + .frosted-system-interface-desc = Użyj oszronionego szkła do Programu startowego, biblioteki aplikacji, podglądu obszarów roboczych i elementów kontrolnych na ekranie + .frosted-windows = Okna + .frosted-windows-desc = Użyj oszronionego szkła w oknach i dialogach + .frosted-panels = Panele + .frosted-panels-desc = Użyj oszronionego szkła w panelach i doku + .frosted-applets = Aplety + .frosted-applets-desc = Użyj oszronionego szkła w apletach menu na panelu i doku + .frosted-thickness = Grubość szronu + .less = mniej + .more = więcej + .glass-opacity = Przeźroczystość szkła interface-density = Zagęszczenie interfejsu .comfortable = Wygodne .compact = Zwarte @@ -366,7 +379,7 @@ super-key = Klawisz Super .launcher = Otwórz program startowy .workspaces = Otwórz obszary robocze .applications = Otwórz aplikacje - .disable = Wyłącz + .none = Nie przypisany edge-gravity = Pływające okna są przyciągane do pobliskich krawędzi window-controls = Sterowanie oknami .maximize = Pokaż przycisk maksymalizacji @@ -412,7 +425,7 @@ display = Wyświetlacz .external = { $size } { $output } Zewnętrzny Wyświetlacz .laptop = { $size } Wyświetlacz Laptopa .options = Opcje Wyświetlacza - .refresh-rate = Prędkość odświeżania ekranu + .refresh-rate = Częstotliwość odświeżania ekranu .resolution = Rozdzielczość .scale = Skala .additional-scale-options = Dodatkowe opcje skalowania @@ -564,6 +577,22 @@ keyboard-special-char = Wpis znaków specjalnych .compose = Klawisz komponujący .compose-desc = Klawisz komponujący umożliwia wprowadzanie różnorodnych liter. By z niego skorzystać, naciśnij go a następnie kombinację znaków. Na przykład, po naciśnięciu klawisza komponującego a następnie C i o wyjdzie ©, lub klawisz komponujący a następnie a i ' wyjdzie á. .caps = Klawisz Caps Lock + .ctrl = Control + .ctrl-right = Prawy Ctrl + .swap-with-ctrl = Zamień z Control + .alt = Alt + .alt-left = Lewy Alt + .alt-right = Prawy Alt + .super = Super + .super-left = Lewy Super + .super-right = Prawy Super + .menu = Klawisz Menu + .backspace = Backspace + .escape = Escape + .swap-with-escape = Zamień zEscape + .print-screen = Print Screen + .scroll-lock = Scroll Lock + .none = Nie Przypisany keyboard-typing-assist = Pisanie .repeat-rate = Tempo powtarzania .repeat-delay = Opóźnienie powtarzania diff --git a/i18n/pt-BR/cosmic_settings.ftl b/i18n/pt-BR/cosmic_settings.ftl index 45d9973..8a36d4a 100644 --- a/i18n/pt-BR/cosmic_settings.ftl +++ b/i18n/pt-BR/cosmic_settings.ftl @@ -202,11 +202,11 @@ close = Fechar color-picker = Seletor de cores copied-to-clipboard = Copiado para a área de transferência copy-to-clipboard = Copiar para a área de transferência -dark = Escuro +dark = Estilo escuro export = Exportar hex = Hex import = Importar -light = Claro +light = Estilo claro mode-and-colors = Modo e cores recent-colors = Cores recentes reset-to-default = Restaurar padrão @@ -219,13 +219,13 @@ auto-switch = Alternar automaticamente entre os modos claro e escuro .next-sunrise = Altera para o modo claro no próximo nascer do sol .next-sunset = Altera para o modo escuro no próximo pôr do sol container-background = Fundo do contêiner - .desc-detail = A cor de fundo do contêiner é usada para a barra lateral de navegação, a gaveta lateral, as caixas de diálogos e widgets similares. Por padrão, a cor de fundo do contêiner é automaticamente derivada do fundo da janela. + .desc-detail = A cor de fundo do contêiner é usada para a barra lateral de navegação, a gaveta lateral, as caixas de diálogo e widgets similares. Por padrão, a cor de fundo do contêiner é automaticamente derivada do fundo da janela. .reset = Restaurar para automático - .desc = Usada para a barra lateral de navegação, a gaveta lateral, as caixas de diálogos e widgets similares + .desc = Usada para a barra lateral de navegação, a gaveta lateral, as caixas de diálogo e widgets similares control-tint = Tonalidade dos componentes de controle .desc = Usado para os fundos dos botões padrão, entradas de busca, entradas de texto e componentes similares frosted = Efeito de vidro fosco na interface do sistema - .desc = Ativa desfoque de fundo ao painel, à dock, aos miniaplicativos, ao lançador e à biblioteca de aplicativos + .desc = Aplica um desfoque de fundo ao painel, à dock, aos miniaplicativos, ao lançador e à biblioteca de aplicativos enable-export = Aplicar o tema atual para aplicativos GNOME .desc = Nem todos os toolkits suportam trocar automaticamente. Aplicativos que não são de COSMIC podem precisar ser reiniciados após uma mudança de tema. icon-theme = Tema de ícones @@ -236,6 +236,19 @@ style = Estilo .round = Arredondado .slightly-round = Levemente arredondado .square = Quadrado + .frosted-glass = Vidro fosco + .frosted-system-interface = Interface do sistema + .frosted-system-interface-desc = Aplica efeito de vidro fosco ao lançador, à biblioteca de aplicativos, à visão geral dos espaços de trabalho e aos controles na tela + .frosted-windows = Janelas + .frosted-windows-desc = Aplica efeito de vidro fosco a janelas e caixas de diálogo + .frosted-panels = Painéis + .frosted-panels-desc = Aplica efeito de vidro fosco ao painel e à dock + .frosted-applets = Miniaplicativos + .frosted-applets-desc = Aplica efeito de vidro fosco aos menus dos miniaplicativos no painel e na dock + .frosted-thickness = Espessura do efeito fosco + .less = menor + .more = maior + .glass-opacity = Opacidade do vidro interface-density = Densidade da interface .comfortable = Confortável .compact = Compacta @@ -308,7 +321,7 @@ super-key = Ação da tecla Super (Windows) .launcher = Abrir o lançador .workspaces = Abrir a visão geral dos espaços de trabalho .applications = Abrir o menu de aplicativos - .disable = Desabilitar + .none = Nenhuma edge-gravity = Janelas flutuantes gravitam em direção às bordas próximas window-controls = Controles de janela .maximize = Mostrar botão de maximizar @@ -446,7 +459,7 @@ connected-devices = Dispositivos conectados .unknown = Dispositivo desconhecido power-mode = Modo de energia .battery = Economia de energia - .battery-desc = Baixo consumo de energia e desempenho silencioso + .battery-desc = Baixo consumo de energia e desempenho limitado .balanced = Balanceado .balanced-desc = Desempenho padrão e consumo de energia moderado .performance = Alto desempenho @@ -492,8 +505,24 @@ keyboard-sources = Fontes de entrada keyboard-special-char = Entrada de caracteres especiais .alternate = Tecla de caracteres especiais .compose = Tecla de composição - .compose-desc = A tecla de composição permite a inserção de uma grande variedade de caracteres. Para usá-la, pressione a tecla de composição seguida pela sequência de caracteres. Por exemplo, a tecla de composição seguida das teclas C e O irá inserir "©", enquanto a tecla de composição seguida das teclas A e ' irá inserir um "á". + .compose-desc = A tecla de composição permite a inserção de uma grande variedade de caracteres. Para usá-la, pressione a tecla de composição seguida pela sequência de caracteres. Por exemplo, a tecla de composição seguida de "C" e "o" irá inserir "©", enquanto a tecla de composição seguida de "a" e ‘ irá inserir "á". .caps = Tecla Caps Lock + .ctrl = Ctrl + .ctrl-right = Ctrl direita + .swap-with-ctrl = Trocar com Ctrl + .alt = Alt + .alt-left = Alt esquerda + .alt-right = Alt direita + .super = Super + .super-left = Super esquerda + .super-right = Super direita + .menu = Tecla menu + .backspace = Backspace + .escape = Esc + .swap-with-escape = Trocar com Esc + .print-screen = Print Screen + .scroll-lock = Scroll Lock + .none = Nenhuma keyboard-typing-assist = Digitação .repeat-rate = Taxa de repetição .repeat-delay = Taxa de atraso @@ -686,7 +715,7 @@ time-format = Formato de data e hora .twenty-four = Formato de 24 horas .show-seconds = Mostrar segundos .first = Primeiro dia da semana - .show-date = Mostrar a data no painel + .show-date = Mostrar a data no miniaplicativo de hora .friday = Sexta-feira .saturday = Sábado .sunday = Domingo diff --git a/i18n/pt/cosmic_settings.ftl b/i18n/pt/cosmic_settings.ftl index e89df97..c3f5cf6 100644 --- a/i18n/pt/cosmic_settings.ftl +++ b/i18n/pt/cosmic_settings.ftl @@ -33,7 +33,7 @@ xdg-entry-notifications = Notificações xdg-entry-notifications-comment = "Não Perturbe", notificações na tela de bloqueio e ajustes por aplicativo xdg-entry-panel = Panel xdg-entry-panel-comment = Barra superior com controles e menus -xdg-entry-power = Energia e Bateria +xdg-entry-power = Energia e bateria xdg-entry-power-comment = Modos de energia e opções de poupança de energia xdg-entry-region-language = Região e Idioma xdg-entry-region-language-comment = Formatação de datas, horas e números baseados em sua região diff --git a/i18n/ru/cosmic_settings.ftl b/i18n/ru/cosmic_settings.ftl index dcb14af..2c4815c 100644 --- a/i18n/ru/cosmic_settings.ftl +++ b/i18n/ru/cosmic_settings.ftl @@ -16,22 +16,22 @@ close = Закрыть color-picker = Выбор цвета copied-to-clipboard = Скопировано в буфер обмена copy-to-clipboard = Копировать в буфер обмена -dark = Тёмное +dark = Тёмная export = Экспорт hex = Hex import = Импорт -light = Светлое -mode-and-colors = Цвета и оформление +light = Светлая +mode-and-colors = Цвета и тема оформления recent-colors = Недавние цвета reset-to-default = Вернуть по умолчанию rgb = RGB window-hint-accent = Цвет подсветки активного окна window-hint-accent-toggle = Использовать акцентный цвет в качестве подсветки активного окна -auto-switch = Автоматически переключать оформление - .sunrise = Сменится на светлое при восходе - .sunset = Сменится на тёмное при закате - .next-sunrise = Сменится на светлое при следующем восходе - .next-sunset = Сменится на тёмное при следующем закате +auto-switch = Автоматически переключать тему + .sunrise = Сменится на светлую при восходе + .sunset = Сменится на тёмную при закате + .next-sunrise = Сменится на светлую при следующем восходе + .next-sunset = Сменится на тёмную при следующем закате container-background = Фон контейнера .desc-detail = Цвет фона контейнера используется для боковой панели навигации, бокового меню, диалоговых окон и других подобных виджетов. По умолчанию он автоматически определяется на основе фона окна. .reset = Вернуть автоматический @@ -50,7 +50,20 @@ text-tint = Оттенок текста интерфейса style = Стиль .round = Округлый .slightly-round = Слегка округлый - .square = Прямой + .square = Прямоугольный + .frosted-glass = Эффект матового стекла + .frosted-system-interface = Системный интерфейс + .frosted-system-interface-desc = Применяет эффект матового стекла к панели запуска, библиотеке приложений, обзору рабочих столов и экранным элементам управления + .frosted-windows = Окна + .frosted-windows-desc = Применяет эффект матового стекла к окнам и диалогам + .frosted-panels = Панели + .frosted-panels-desc = Применяет эффект матового стекла к панели и доку + .frosted-applets = Апплеты + .frosted-applets-desc = Применяет эффект матового стекла к меню апплетов на панели и в доке + .frosted-thickness = Степень матовости + .less = мин + .more = макс + .glass-opacity = Непрозрачность стекла # interface density left out for now window-management = Управление окнами @@ -116,7 +129,7 @@ super-key = Действие клавиши Super .launcher = Открывает панель запуска .workspaces = Открывает обзор рабочих столов .applications = Открывает приложения - .disable = Отсутствует + .none = Отсутствует window-controls = Элементы управления окнами .minimize = Отображать кнопку «Свернуть» .maximize = Отображать кнопку «Развернуть» @@ -337,6 +350,22 @@ keyboard-special-char = Ввод специальных символов .compose = Клавиша Compose .compose-desc = Клавиша Compose позволяет вводить широкое множество символов. Для этого нужно нажать на неё, а затем ввести последовательность «составляющих» символов. Например, нажатие Compose, латинских «o» и «c» введёт «©», а нажатие Compose, «з» и «=» — «₽». .caps = Клавиша Caps Lock + .ctrl = Control + .ctrl-right = Правый Ctrl + .swap-with-ctrl = Замена Control + .alt = Alt + .alt-left = Левый Alt + .alt-right = Правый Alt + .super = Super + .super-left = Левый Super + .super-right = Правый Super + .menu = Клавиша «Меню» + .backspace = Backspace + .escape = Escape + .swap-with-escape = Замена Escape + .print-screen = Print Screen + .scroll-lock = Scroll Lock + .none = Отсутствует keyboard-typing-assist = Ввод текста .repeat-rate = Скорость повторения .repeat-delay = Задержка повторения diff --git a/i18n/sat/cosmic_settings.ftl b/i18n/sat/cosmic_settings.ftl new file mode 100644 index 0000000..08b54bd --- /dev/null +++ b/i18n/sat/cosmic_settings.ftl @@ -0,0 +1,2 @@ +cancel = ᱵᱟᱹᱛᱤᱞ +save = ᱥᱟᱧᱪᱟᱣ diff --git a/i18n/sv/cosmic_settings.ftl b/i18n/sv/cosmic_settings.ftl index c2e5f33..06089ec 100644 --- a/i18n/sv/cosmic_settings.ftl +++ b/i18n/sv/cosmic_settings.ftl @@ -111,6 +111,19 @@ style = Stil .round = Rund .slightly-round = Lite rund .square = Fyrkant + .frosted-glass = Frostat glas + .frosted-system-interface = Systemgränssnitt + .frosted-system-interface-desc = Tillämpar frostat glas på programstartare, programbibliotek, arbetsyteöversikten, kontroller som ritas upp på skärmen + .frosted-windows = Fönster + .frosted-windows-desc = Tillämpar frostat glas på fönster och dialogrutor + .frosted-panels = Paneler + .frosted-panels-desc = Tillämpar frostat glas på paneler och docka + .frosted-applets = Miniprogram + .frosted-applets-desc = Tillämpar frostat glas på miniprogrammenyer i panel och docka + .frosted-thickness = Frostens tjocklek + .less = mindre + .more = mer + .glass-opacity = Glasets ogenomskinlighet interface-density = Gränssnittstäthet .comfortable = Bekväm .compact = Tät @@ -126,7 +139,7 @@ super-key = Åtgärd för Super-tangent .launcher = Öppna programstartare .workspaces = Öppna arbetsytor .applications = Öppna program - .disable = Inaktivera + .none = Ingen edge-gravity = Flytande fönster dras till närliggande kanter ## Testinställningar @@ -600,6 +613,22 @@ keyboard-special-char = Specialteckeninmatning .compose = Compose-tangent .compose-desc = Compose-tangenten tillåter en stor mängd olika tecken att matas in. För att göra det, tryck compose och sedan en teckensekvens. Om du t.ex. trycker på compose-tangenten och sedan C och o kommer du att mata in ©, medan compose-tangenten och sedan a och ' kommer att mata in á. .caps = Caps Lock-tangent + .ctrl = Control + .ctrl-right = Höger Ctrl + .swap-with-ctrl = Byt med Control + .alt = Alt + .alt-left = Vänster Alt + .alt-right = Höger Alt + .super = Super + .super-left = Vänster Super + .super-right = Höger Super + .menu = Menytangent + .backspace = Backsteg + .escape = Escape + .swap-with-escape = Byt med Escape + .print-screen = Print Screen-tangent + .scroll-lock = Scroll Lock-tangent + .none = Inget keyboard-typing-assist = Tangenttrycksrespons .repeat-rate = Upprepningshastighet .repeat-delay = Upprepningsfördröjning @@ -848,6 +877,8 @@ vpn-error = VPN Fel .connect = Misslyckades att ansluta till VPN .connection-editor = Anslutningsredigerare misslyckades .connection-settings = Misslyckades att erhålla inställningar för aktiva anslutningar + .openvpn-config-path = Ogiltig sökväg for OpenVPN-konfiguration + .openvpn-config-path-desc = Vald fil måste ligga på ett lokalt filsystem. .updating-state = Misslyckades att uppdatera tillstånd för 'network manager' .wireguard-config-path = Ogiltig sökväg för Wireguard config .wireguard-config-path-desc = Vald fil måste ligga på ett lokalt filsystem. diff --git a/i18n/uk/cosmic_settings.ftl b/i18n/uk/cosmic_settings.ftl index 3a2ab8a..fb61345 100644 --- a/i18n/uk/cosmic_settings.ftl +++ b/i18n/uk/cosmic_settings.ftl @@ -96,6 +96,19 @@ style = Стиль .round = Заокруглений .slightly-round = Трохи заокруглений .square = Квадратний + .frosted-glass = Матове скло + .frosted-system-interface = Системні елементи + .frosted-system-interface-desc = Розмиття запускача, бібліотеки застосунків, режиму огляду й елементів керування + .frosted-windows = Вікна + .frosted-windows-desc = Розмиття вікон і діалогових вікон + .frosted-panels = Панелі + .frosted-panels-desc = Розмиття панелі й області завдань + .frosted-applets = Віджети + .frosted-applets-desc = Розмиття спливних меню віджетів + .frosted-thickness = Щільність + .less = Менше + .more = Більше + .glass-opacity = Прозорість скла # interface density left out for now window-management-appearance = Керування вікнами .active-hint = Розмір підказки активного вікна @@ -158,7 +171,7 @@ super-key = Клавіша Super .launcher = Відкриває запускач .workspaces = Відкриває меню робочих просторів .applications = Відкриває меню застосунків - .disable = Вимкнути + .none = Нічого window-controls = Керування вікнами .minimize = Показувати кнопку згортання .maximize = Показувати кнопку розгортання @@ -303,6 +316,22 @@ keyboard-special-char = Введення спеціальних символів .compose = Клавіша компонування .compose-desc = Клавіша компонування дозволяє вводити широкий спектр символів. Щоб скористатися нею, натисніть Compose, а потім послідовність символів. Наприклад, клавіша Compose, а потім C і o введуть ©, а клавіша Compose, а потім a і ‘ введуть á. .caps = Клавіша Caps Lock + .ctrl = Control + .ctrl-right = Правий Ctrl + .swap-with-ctrl = Поміняти місцями з Control + .alt = Alt + .alt-left = Лівий Alt + .alt-right = Правий Alt + .super = Super + .super-left = Лівий Super + .super-right = Правий Super + .menu = Клавіша контекстного меню + .backspace = Backspace + .escape = Escape + .swap-with-escape = Поміняти місцями з Escape + .print-screen = Print Screen + .scroll-lock = Scroll Lock + .none = Немає keyboard-typing-assist = Введення .repeat-rate = Частота повторів .repeat-delay = Затримка повторів @@ -574,9 +603,11 @@ vpn = VPN .select-file = Обрати файл налаштувань VPN vpn-error = Помилка VPN .config = Не вдалося додати конфігурацію VPN - .connect = Не вдалося з'єднатися з VPN + .connect = Не вдалося з’єднатися з VPN .connection-editor = Помилка редактора з’єднань .connection-settings = Не вдалося отримати налаштування активних з’єднань + .openvpn-config-path = Неправильний шлях до файлу конфігурації OpenVPN + .openvpn-config-path-desc = Вибраний файл повинен знаходитися в локальній файловій системі. .updating-state = Не вдалося оновити стан мережевого менеджера .wireguard-config-path = Недійсний шлях до профілю WireGuard .wireguard-config-path-desc = Обраний файл має бути локальним. @@ -902,3 +933,7 @@ xdg-entry-a11y-comment = Екранний читач, лупа, високий no-search-results = Пошук не дав результатів. workspaces-navigation = Навігація .wraparound = Перехід між першим і останнім робочим простором сполученнями клавіш і жестами +bluetooth-display-pin = Злучення Bluetooth + .description = Введіть PIN-код на { $device }, далі натисніть Enter +bluetooth-display-passkey = Злучення Bluetooth + .description = Введіть код для створення пари на { $device }, далі натисніть Enter diff --git a/i18n/zh-CN/cosmic_settings.ftl b/i18n/zh-CN/cosmic_settings.ftl index 4b70052..9a628cf 100644 --- a/i18n/zh-CN/cosmic_settings.ftl +++ b/i18n/zh-CN/cosmic_settings.ftl @@ -284,7 +284,7 @@ container-background = 容器背景 .desc = 用于导航侧栏、侧边抽屉、对话框等小部件 control-tint = 控件色调 .desc = 用于标准按钮、搜索输入框、文本输入框等组件的背景 -frosted = 系统界面磨砂玻璃效果 +frosted = 系统界面磨砂玻璃效应 .desc = 对面板、程序坞、小部件、启动器和应用程序库应用背景模糊效果 enable-export = 将此主题应用到 GNOME 应用程序 .desc = 并非所有工具包都支持自动切换。非 COSMIC 应用程序可能需要在主题更改后重新启动。 @@ -296,6 +296,19 @@ style = 样式 .round = 圆角 .slightly-round = 微圆角 .square = 方角 + .frosted-glass = 磨砂玻璃效应 + .frosted-system-interface = 系统界面 + .frosted-system-interface-desc = 将磨砂玻璃应用于启动器、应用程序库、 工作区总览、屏幕控件 + .frosted-windows = 窗口 + .frosted-windows-desc = 将磨砂玻璃应用于窗口和对话框 + .frosted-panels = 面板 + .frosted-panels-desc = 将磨砂玻璃应用于面板和程序坞 + .frosted-applets = 小部件 + .frosted-applets-desc = 将磨砂玻璃应用于处在面板与程序坞的小部件 + .frosted-thickness = 磨砂厚度 + .less = 少 + .more = 多 + .glass-opacity = 玻璃不透明度 interface-density = 界面密度 .comfortable = 适中 .compact = 紧凑 @@ -335,8 +348,8 @@ small = 小 start-segment = 开始区段 panel-appearance = 外观 .match = 匹配桌面 - .light = 亮色 - .dark = 暗色 + .light = 亮色模式 + .dark = 暗色模式 panel-behavior-and-position = 行为和位置 .autohide = 自动隐藏面板 .dock-autohide = 自动隐藏程序坞 @@ -368,7 +381,7 @@ super-key = Super 键动作 .launcher = 打开启动器 .workspaces = 打开工作区 .applications = 打开应用程序 - .disable = 禁用 + .none = 无 edge-gravity = 悬浮窗口吸附到附近边缘 window-controls = 窗口控制 .maximize = 显示最大化按钮 @@ -552,6 +565,22 @@ keyboard-special-char = 特殊字符输入 .compose = 组合键 (Compose Key) .compose-desc = 组合键允许输入种类繁多的字符。使用方法:按下组合键,然后依次输入字符序列。例如,按下组合键后依次输入 C 和 o 可输入 ©,而按下组合键后依次输入 a 和 ‘ 则可输入 á。 .caps = 大写锁定键 + .ctrl = Control 键 + .ctrl-right = 右 Control 键 + .swap-with-ctrl = Control 键互换 + .alt = Alt 键 + .alt-left = 左 Alt 键 + .alt-right = 右 Alt 键 + .super = Super 键 + .super-left = 左 Super 键 + .super-right = 右 Super 键 + .menu = Menu 键 + .backspace = 退格键 + .escape = Escape 键 + .swap-with-escape = Escape 键互换 + .print-screen = Print Screen 键 + .scroll-lock = Scroll Lock 键 + .none = 无 keyboard-typing-assist = 打字 .repeat-rate = 重复率 .repeat-delay = 重复延迟 @@ -917,7 +946,7 @@ xdg-entry-window-management-keywords = COSMIC;窗口;管理;平铺;Super;键; xdg-entry-displays-keywords = COSMIC;显示器;屏幕; no-search-results = 无网络符合您的搜索。 workspaces-navigation = 导航 - .wraparound = 使用快捷键和手势在第一个和最后个工作区间切换 + .wraparound = 使用快捷键和手势在第一个和最后一个工作区间切换 bluetooth-display-passkey = 蓝牙配对 .description = 请在 { $device } 上输入以下密钥,然后按回车键 bluetooth-display-pin = 蓝牙配对 diff --git a/i18n/zh-TW/cosmic_settings.ftl b/i18n/zh-TW/cosmic_settings.ftl index 5548cb8..0a1076b 100644 --- a/i18n/zh-TW/cosmic_settings.ftl +++ b/i18n/zh-TW/cosmic_settings.ftl @@ -12,7 +12,7 @@ add-vpn = 新增 VPN airplane-on = 飛航模式已開啟。 cable-unplugged = 網路線已拔除 connect = 連線 -connected = 已經連線 +connected = 已連線 connecting = 連線中… disconnect = 中斷連線 forget = 忘記此網路 @@ -70,7 +70,7 @@ vpn-error = VPN 錯誤 使用 nmcli 設定 VPN { $field -> *[username] 使用者名稱 [password] 密碼 - [password-flags] 密碼選項 + [password-flags] 密碼旗標 }失敗 wired = 有線網路 .adapter = 有線網路卡 { $id } @@ -225,7 +225,7 @@ container-background = 容器背景 control-tint = 控制元件色調 .desc = 使用於標準按鈕、搜尋輸入、文字輸入和類似元件的背景 frosted = 系統介面呈現磨砂玻璃的透明效果 - .desc = 將磨砂玻璃的透明效果套用至面板、程式塢、工具程式、啟動器及程式庫 + .desc = 將磨砂玻璃的透明效果套用至面板、Dock、小程式、啟動器及程式庫 enable-export = 將目前主題套用至 GNOME 應用程式 .desc = 並非所有工具組都支援自動切換。非 COSMIC 應用程式在主題變更後可能需要重新啟動。 icon-theme = 圖示主題 @@ -234,8 +234,21 @@ text-tint = 介面文字色調 .desc = 用來衍生出介面文字的顏色,其有足夠對比於各種表面 style = 樣式 .round = 圓角 - .slightly-round = 略為圓角 + .slightly-round = 略微圓角 .square = 直角 + .frosted-glass = 磨砂玻璃 + .frosted-system-interface = 系統介面 + .frosted-system-interface-desc = 將磨砂玻璃的透明效果套用至啟動器、程式庫、工作區總覽及螢幕控制 + .frosted-windows = 視窗 + .frosted-windows-desc = 將磨砂玻璃的透明效果套用至視窗及對話方塊 + .frosted-panels = 面板 + .frosted-panels-desc = 將磨砂玻璃的透明效果套用至面板及 Dock + .frosted-applets = 小程式 + .frosted-applets-desc = 將磨砂玻璃的透明效果套用至處在面板和 Dock 的小程式選單 + .frosted-thickness = 磨砂厚度 + .less = 少 + .more = 多 + .glass-opacity = 玻璃不透明度 interface-density = 介面密度 .comfortable = 舒適 .compact = 緊湊 @@ -258,19 +271,19 @@ notifications = 通知 ## Desktop: Panel panel = 面板 -add = 添增 -add-applet = 新增工具程式 +add = 新增 +add-applet = 新增小程式 all = 全部 -applets = 工具程式 +applets = 小程式 center-segment = 中間位置 end-segment = 末尾位置 large = 大 -no-applets-found = 找不到工具程式... +no-applets-found = 找不到小程式... panel-bottom = 底部 panel-left = 左側 panel-right = 右側 -panel-top = 頂部 -search-applets = 搜尋工具程式... +panel-top = 頂端 +search-applets = 搜尋小程式... small = 小 start-segment = 起始位置 panel-appearance = 外觀 @@ -279,27 +292,27 @@ panel-appearance = 外觀 .dark = 深色 panel-behavior-and-position = 行為和位置 .autohide = 自動隱藏面板 - .dock-autohide = 自動隱藏程式塢 + .dock-autohide = 自動隱藏 Dock .position = 螢幕上的位置 - .display = 顯示在螢幕上 + .display = 在顯示器上顯示 panel-style = 樣式 .anchor-gap = 面板與螢幕邊緣的間距 - .dock-anchor-gap = 程式塢與螢幕邊緣的間距 + .dock-anchor-gap = Dock 與螢幕邊緣的間距 .extend = 將面板延伸至螢幕邊緣 - .dock-extend = 將程式塢延伸至螢幕邊緣 + .dock-extend = 將 Dock 延伸至螢幕邊緣 .appearance = 外觀 .size = 尺寸 - .background-opacity = 背景透明度 + .background-opacity = 背景不透明度 panel-applets = 配置 - .dock-desc = 配置程式塢工具程式 - .desc = 配置工具程式面板 + .dock-desc = 配置 Dock 小程式 + .desc = 配置面板小程式 panel-missing = 面板設定遺失 .desc = 面板設定檔案因使用自訂設定而遺失,或已損毀。 .fix = 重設為預設值 ## Desktop: Dock -dock = 程式塢 +dock = Dock ## Desktop: Window management @@ -308,7 +321,7 @@ super-key = Super 鍵動作 .launcher = 開啟啟動器 .workspaces = 開啟工作區 .applications = 開啟應用程式 - .disable = 停用 + .none = 無 edge-gravity = 浮動視窗吸附至附近邊緣 window-controls = 視窗控制項 .maximize = 顯示最大化按鈕 @@ -347,16 +360,16 @@ color = 色彩 .profile = 色彩設定檔 .sidebar = 色彩設定檔 .temperature = 色溫 -display = 顯示螢幕 - .arrangement = 螢幕排列 - .arrangement-desc = 拖曳螢幕來更改排列方式 - .enable = 啟用顯示螢幕 - .external = { $size } { $output } 外接顯示螢幕 - .laptop = { $size } 筆電顯示螢幕 - .options = 顯示螢幕螢幕選項 - .refresh-rate = 螢幕更新頻率 +display = 顯示器 + .arrangement = 顯示器排列 + .arrangement-desc = 拖曳顯示器以重新排列 + .enable = 啟用顯示器 + .external = { $size } { $output } 的外接顯示器 + .laptop = { $size } 筆電顯示器 + .options = 顯示選項 + .refresh-rate = 更新率 .resolution = 解析度 - .scale = 縮放大小 + .scale = 縮放 .additional-scale-options = 其他縮放選項 mirroring = 投影 .id = 正在投影 { $id } @@ -380,7 +393,7 @@ orientation = 螢幕方向 .rotate-90 = 旋轉 90 度 .rotate-180 = 旋轉 180 度 .rotate-270 = 旋轉 270 度 -vrr = 可變刷新率 +vrr = 可變更新率 .enabled = 已啟用 .force = 總是 .auto = 自動 @@ -395,7 +408,7 @@ dialog = 對話框 ## Sound -sound = 音響 +sound = 音效 sound-output = 輸出 .volume = 輸出音量 .device = 輸出裝置 @@ -487,11 +500,27 @@ keyboard-sources = 輸入法 .view-layout = 檢視鍵盤布局 .remove = 移除 .add = 新增輸入法 -keyboard-special-char = 特殊字輸入 - .alternate = 進階按鍵 - .compose = 組合按鍵 - .compose-desc = 組合按鍵允許輸入多樣字元。要使用它,請按組合按鍵,再按字元依序。例如,按組合按鍵接著按 C 和 o 鍵,將輸入 ©;按組合按鍵接著按 a 和 ‘ 鍵,將輸入 á。 +keyboard-special-char = 特殊字元輸入 + .alternate = 替代字元鍵 + .compose = 組合鍵 + .compose-desc = 組合鍵可輸入多種字元。使用時,請先按下組合鍵,然後輸入一串字元。例如,先按下組合鍵,接著輸入 C 和 o 即可輸入 ©;而先按下組合鍵,接著輸入 a 和 ‘ 則可輸入 á。 .caps = 大寫鎖定鍵 + .ctrl = Ctrl 鍵 + .ctrl-right = 右側 Ctrl 鍵 + .swap-with-ctrl = 與 Ctrl 鍵交換 + .alt = Alt 鍵 + .alt-left = 左側 Alt 鍵 + .alt-right = 右側 Alt 鍵 + .super = Super 鍵 + .super-left = 左 Super 鍵 + .super-right = 右 Super 鍵 + .menu = 選單鍵 + .backspace = Backspace 鍵 + .escape = Esc 鍵 + .swap-with-escape = 與 Esc 鍵互換 + .print-screen = Print Screen 鍵 + .scroll-lock = 捲動鎖定鍵 + .none = 無 keyboard-typing-assist = 輸入 .repeat-rate = 重複速率 .repeat-delay = 重複延遲 @@ -509,7 +538,7 @@ show-extended-input-sources = 顯示延伸輸入來源 keyboard-shortcuts = 鍵盤快速鍵 .desc = 顯示與修改快速鍵 -add-another-keybinding = 添加另一個按鍵組合 +add-another-keybinding = 新增另一個鍵盤快速鍵 cancel = 取消 command = 指令 custom = 自訂 @@ -600,9 +629,9 @@ move-windows = 移動視窗 .send-to-next-workspace = 將視窗移至下一個工作區 system-shortcut = 系統 .app-library = 開啟應用程式庫 - .brightness-down = 降低螢幕亮度 - .brightness-up = 提高螢幕亮度 - .display-toggle = 切換內部顯示螢幕 + .brightness-down = 降低顯示器亮度 + .brightness-up = 提高顯示器亮度 + .display-toggle = 切換內部顯示器 .home-folder = 開啟家目錄 .keyboard-brightness-down = 降低鍵盤亮度 .keyboard-brightness-up = 提高鍵盤亮度 @@ -615,7 +644,7 @@ system-shortcut = 系統 .play-next = 下一首 .play-prev = 上一首 .poweroff = 關機 - .screenshot = 螢幕擷圖 + .screenshot = 擷取螢幕畫面 .suspend = 休眠 .terminal = 開啟終端機 .touchpad-toggle = 切換觸控板 @@ -685,7 +714,7 @@ time-format = 日期與時間格式 .twenty-four = 24 小時制 .show-seconds = 顯示秒數 .first = 每週第一天 - .show-date = 在時間工具程式中顯示日期 + .show-date = 在時間小程式中顯示日期 .friday = 星期五 .saturday = 星期六 .sunday = 星期日 @@ -797,9 +826,9 @@ full-name = 全名 invalid-username = 無效的使用者名稱 password-mismatch = 密碼與確認密碼必須相符 save = 儲存 -xdg-entry-dock-comment = 可選的應用程式和工具程式的工具欄 -xdg-entry-dock = 程式塢 -xdg-entry-displays-keywords = COSMIC;顯示器;熒幕; +xdg-entry-dock-comment = 可選應用程式和小程式的工具列 +xdg-entry-dock = Dock +xdg-entry-displays-keywords = COSMIC;顯示器;螢幕; xdg-entry-displays-comment = 管理顯示器設定 xdg-entry-displays = 顯示器 xdg-entry-desktop-keywords = COSMIC;桌面; @@ -824,21 +853,21 @@ xdg-entry-about-keywords = COSMIC;關於 xdg-entry-about-comment = 裝置名稱、硬體資訊、作業系統預設 xdg-entry-about = 關於 xdg-entry-keywords = COSMIC;設定; -xdg-entry-dock-keywords = COSMIC;程式塢;面板;工具程式 +xdg-entry-dock-keywords = COSMIC;Dock;面板;小程式 xdg-entry-region-language = 地區與語言 xdg-entry-notifications-keywords = COSMIC;通知;鎖定; xdg-entry-power = 電源與電池 -xdg-entry-panel-keywords = COSMIC;面板;工具程式 +xdg-entry-panel-keywords = COSMIC;面板;小程式 xdg-entry-panel = 面板 xdg-entry-notifications = 通知 xdg-entry-startup-apps = 開機啟動應用程式 xdg-entry-region-language-comment = 依據您所在的地區設定日期、時間和數字的格式 xdg-entry-notifications-comment = 勿擾模式、鎖定螢幕通知、及各個應用程式設定 -xdg-entry-sound-keywords = COSMIC;音響;音訊;提醒;Pipewire; +xdg-entry-sound-keywords = COSMIC;Sound;Audio;Alert;Pipewire;音效;音訊;提醒; xdg-entry-power-keywords = COSMIC;電源;電池 xdg-entry-region-language-keywords = COSMIC;地區;語言;日期;格式;時間;本地;本地化; xdg-entry-sound-comment = 裝置、提醒和應用程式的音訊設定 -xdg-entry-panel-comment = 主要系統列, 用於選單和工具程式 +xdg-entry-panel-comment = 用於選單和小程式的主要系統列 xdg-entry-sound = 音效 xdg-entry-power-comment = 電源模式和省電選項 xdg-entry-network-keywords = COSMIC;網路;無線;WiFi;VPN; @@ -853,7 +882,7 @@ xdg-entry-keyboard = 鍵盤 xdg-entry-input-keywords = COSMIC;輸入;鍵盤;滑鼠; xdg-entry-input-comment = 鍵盤與滑鼠設定 xdg-entry-input = 輸入裝置 -xdg-entry-desktop-comment = 桌布、外觀、面板、程式塢、視窗管理和工作區設定 +xdg-entry-desktop-comment = 桌布、外觀、面板、Dock、視窗管理和工作區設定 xdg-entry-default-apps-comment = 預設網頁瀏覽器、郵件用戶端、檔案管理器和其他應用程式 xdg-entry-touchpad = 觸控板 xdg-entry-wired = 有線連接 @@ -870,7 +899,7 @@ xdg-entry-system-keywords = COSMIC;系統;資訊;帳號;韌體; xdg-entry-wireless-keywords = COSMIC;WiFi;Wi-Fi;網路;連接; xdg-entry-wireless-comment = Wi-Fi 連接與連接設定檔案 xdg-entry-wallpaper = 背景圖片 -xdg-entry-users-comment = 身份驗證與使用者帳號 +xdg-entry-users-comment = 身分驗證與使用者帳號 xdg-entry-wallpaper-comment = 背景圖片、顏色及投影片選項 xdg-entry-wireless = Wi-Fi xdg-entry-workspaces-keywords = COSMIC;工作區;方向;總覽;螢幕; @@ -905,7 +934,7 @@ workspaces-overview = 工作區總覽 .none = 無 .launcher = 開啟啟動器 .applications = 開啟應用程式 -place-here = 在此放置工具程式 +place-here = 在此放置小程式 shadow-and-corners = 視窗陰影與角型 shadows-tiling = 平鋪視窗 .clip = 符合系統角型 diff --git a/page/Cargo.toml b/page/Cargo.toml index 4ca3abf..77e5954 100644 --- a/page/Cargo.toml +++ b/page/Cargo.toml @@ -5,7 +5,7 @@ edition = "2024" [dependencies] derive_setters = "0.1.9" -regex = "1.12.3" +regex = "1.13.1" slotmap = "1.1.1" cosmic = { workspace = true } downcast-rs = "2.0.2" diff --git a/pages/sound/Cargo.toml b/pages/sound/Cargo.toml index 29f6bb9..310b071 100644 --- a/pages/sound/Cargo.toml +++ b/pages/sound/Cargo.toml @@ -5,7 +5,7 @@ edition = "2024" rust-version.workspace = true [dependencies] -futures = "0.3.32" +futures = "0.3.33" intmap = "3.1.3" tokio = { workspace = true, features = ["time"] } tracing = "0.1.44" diff --git a/pages/sound/src/model.rs b/pages/sound/src/model.rs index 87c6509..c18ae6d 100644 --- a/pages/sound/src/model.rs +++ b/pages/sound/src/model.rs @@ -3,7 +3,9 @@ use std::sync::Arc; -use cosmic_settings_audio_client::{self as audio_client, Availability, ProfileInfo, RouteInfo}; +use cosmic_settings_audio_client::{ + self as audio_client, Availability, PlaybackInfo, ProfileInfo, RouteInfo, +}; use intmap::IntMap; pub type DeviceId = u32; @@ -18,6 +20,7 @@ pub struct Model { pub device_profiles_active: IntMap, pub device_routes: IntMap>, pub node_devices: IntMap>, + pub playback: Vec, pub sinks: Nodes, pub sources: Nodes, pub active_sink: ActiveNode, @@ -27,6 +30,43 @@ pub struct Model { pub text: Text, } +#[derive(Clone, Debug)] +pub struct Playback { + pub id: NodeId, + pub info: PlaybackInfo, + pub mute: bool, + pub volume: u32, + pub balance: Option, + /// Explicitly selected output. `None` means the playback follows the default sink. + pub sink_id: Option, +} + +impl Playback { + pub fn name(&self) -> &str { + [ + self.info.application_name.as_deref(), + self.info.application_id.as_deref(), + self.info.media_name.as_deref(), + Some(self.info.node_name.as_str()), + ] + .into_iter() + .flatten() + .find(|value| !value.is_empty()) + .unwrap_or_default() + } + + pub fn description(&self) -> Option<&str> { + self.info + .media_name + .as_deref() + .filter(|description| !description.is_empty() && *description != self.name()) + } + + pub fn selected_sink(&self, default_sink: Option) -> Option { + self.sink_id.or(default_sink) + } +} + #[derive(Debug, Default)] pub struct Text { pub hd_audio: String, @@ -106,7 +146,9 @@ impl Model { tracing::info!(target: "sound", ?event, "update"); match event { audio_client::Event::NodeMute(node_id, mute) => { - if let Some(pos) = self.sinks.id.iter().position(|id| node_id == *id) { + if let Some(playback) = self.playback.iter_mut().find(|item| item.id == node_id) { + playback.mute = mute; + } else if let Some(pos) = self.sinks.id.iter().position(|id| node_id == *id) { self.sinks.mute[pos] = mute; if self.sinks.active == Some(pos) { self.active_sink.mute = mute; @@ -120,7 +162,10 @@ impl Model { } audio_client::Event::NodeVolume(node_id, volume, balance) => { - if let Some(pos) = self.sinks.id.iter().position(|id| node_id == *id) { + if let Some(playback) = self.playback.iter_mut().find(|item| item.id == node_id) { + playback.volume = volume; + playback.balance = balance; + } else if let Some(pos) = self.sinks.id.iter().position(|id| node_id == *id) { self.sinks.volume[pos] = volume; self.sinks.balance[pos] = balance; if self.default_sink.as_ref().is_some_and(|&id| id == node_id) @@ -304,6 +349,33 @@ impl Model { } } + audio_client::Event::Playback(node_id, info) => { + if let Some(playback) = self.playback.iter_mut().find(|item| item.id == node_id) { + playback.info = info; + } else { + self.playback.push(Playback { + id: node_id, + info, + mute: false, + volume: 0, + balance: None, + sink_id: None, + }); + } + self.playback + .sort_by(|a, b| a.name().cmp(b.name()).then(a.id.cmp(&b.id))); + } + + audio_client::Event::PlaybackTarget(playback_id, sink_id) => { + if let Some(playback) = self + .playback + .iter_mut() + .find(|playback| playback.id == playback_id) + { + playback.sink_id = sink_id; + } + } + audio_client::Event::ActiveRoute(device_id, _index, route) => { self.update_device_names(device_id, &route); } @@ -338,6 +410,12 @@ impl Model { audio_client::Event::RemoveNode(node_id) => { self.node_devices.remove(node_id); + self.playback.retain(|item| item.id != node_id); + for playback in &mut self.playback { + if playback.sink_id == Some(node_id) { + playback.sink_id = None; + } + } if !self.sinks.remove(node_id) { self.sources.remove(node_id); diff --git a/pages/wallpapers/Cargo.toml b/pages/wallpapers/Cargo.toml index 3a67d87..7746a18 100644 --- a/pages/wallpapers/Cargo.toml +++ b/pages/wallpapers/Cargo.toml @@ -13,10 +13,10 @@ fast_image_resize = { version = "6", features = [ "image", ] } futures-lite = "2.6.1" -futures-util = "0.3.32" +futures-util = "0.3.33" image.workspace = true infer = "0.19.0" -jxl-oxide = { version = "0.12.5", features = ["image"] } +jxl-oxide = { version = "0.12.6", features = ["image"] } tokio = { workspace = true, features = ["sync"] } tracing = "0.1.44" walkdir = "=2.5.0" diff --git a/pages/wallpapers/src/lib.rs b/pages/wallpapers/src/lib.rs index a0b309b..aed1423 100644 --- a/pages/wallpapers/src/lib.rs +++ b/pages/wallpapers/src/lib.rs @@ -4,7 +4,7 @@ use fast_image_resize::SrcCropping; use futures_lite::Stream; use futures_util::StreamExt; use image::imageops::FilterType; -use image::{DynamicImage, ImageBuffer, Rgba, RgbaImage}; +use image::{DynamicImage, ImageBuffer, ImageDecoder, ImageResult, Limits, Rgba, RgbaImage}; use jxl_oxide::integration::JxlDecoder; use std::borrow::Cow; use std::collections::HashMap; @@ -134,7 +134,7 @@ pub async fn load_each_from_path( }) .buffered(4) .filter_map(|value| async { value.ok().flatten() }) - .take(100); + .take(500); Box::pin(future) } @@ -304,7 +304,7 @@ fn open_image(input_buffer: &mut Vec, path: &Path) -> Option { return None; }; - match image_decoder.decode() { + match decode(image_decoder) { Ok(image) => Some(image), Err(why) => { tracing::error!(?path, ?why, "image decode failed"); @@ -313,6 +313,24 @@ fn open_image(input_buffer: &mut Vec, path: &Path) -> Option { } } +fn decode( + mut reader: image::ImageReader>>, +) -> ImageResult { + let mut limits = Limits::default(); + reader.limits(limits.clone()); + + let mut decoder = reader.into_decoder()?; + let orientation = decoder.orientation()?; + + limits.reserve(decoder.total_bytes())?; + decoder.set_limits(limits)?; + + let mut image = DynamicImage::from_decoder(decoder)?; + image.apply_orientation(orientation); + + Ok(image) +} + // https://users.rust-lang.org/t/how-to-trim-image-to-circle-image-without-jaggy/70374/2 fn round(img: &mut image::ImageBuffer, Vec>, radius: [u32; 4]) { let (width, height) = img.dimensions(); @@ -434,11 +452,19 @@ fn border_radius( pub fn decode_jpegxl(path: &std::path::Path) -> eyre::Result { let file = File::open(path).map_err(|why| eyre!("failed to open jxl image file: {why}"))?; - let decoder = + let mut decoder = JxlDecoder::new(file).map_err(|why| eyre!("failed to read jxl image header: {why}"))?; - image::DynamicImage::from_decoder(decoder) - .map_err(|why| eyre!("failed to decode jxl image: {why}")) + let orientation = decoder + .orientation() + .map_err(|why| eyre!("failed to read jxl image orientation: {why}"))?; + + let mut image = image::DynamicImage::from_decoder(decoder) + .map_err(|why| eyre!("failed to decode jxl image: {why}"))?; + + image.apply_orientation(orientation); + + Ok(image) } /// Use `fast-image-resize` crate for faster thumbnail generation. diff --git a/subscriptions/a11y-manager/Cargo.toml b/subscriptions/a11y-manager/Cargo.toml index bfdf7c2..4a00d17 100644 --- a/subscriptions/a11y-manager/Cargo.toml +++ b/subscriptions/a11y-manager/Cargo.toml @@ -12,5 +12,5 @@ iced_futures = { git = "https://github.com/pop-os/libcosmic" } num-derive = "0.4.2" num-traits = "0.2.19" sctk.workspace = true -tokio = "1.49.0" +tokio = "1.53.1" tracing = "0.1.44" diff --git a/subscriptions/accessibility/Cargo.toml b/subscriptions/accessibility/Cargo.toml index 2a3b5e6..5e29785 100644 --- a/subscriptions/accessibility/Cargo.toml +++ b/subscriptions/accessibility/Cargo.toml @@ -8,8 +8,8 @@ publish = true [dependencies] cosmic-dbus-a11y = { git = "https://github.com/pop-os/dbus-settings-bindings" } -futures = "0.3.32" +futures = "0.3.33" iced_futures = { git = "https://github.com/pop-os/libcosmic" } -tokio = { version = "1.49.0", features = ["sync", "time"] } +tokio = { version = "1.53.1", features = ["sync", "time"] } tracing = "0.1.44" -zbus = "5.13" +zbus = "5.18" diff --git a/subscriptions/airplane-mode/Cargo.toml b/subscriptions/airplane-mode/Cargo.toml index 403f6fe..b4ef7ae 100644 --- a/subscriptions/airplane-mode/Cargo.toml +++ b/subscriptions/airplane-mode/Cargo.toml @@ -7,8 +7,8 @@ rust-version.workspace = true publish = true [dependencies] -futures = "0.3.32" +futures = "0.3.33" iced_futures = { git = "https://github.com/pop-os/libcosmic" } -log = "0.4.29" -rustix = "1.1.3" -tokio = "1.49.0" +log = "0.4.33" +rustix = "1.1.4" +tokio = "1.53.1" diff --git a/subscriptions/bluetooth/Cargo.toml b/subscriptions/bluetooth/Cargo.toml index 0fb5a0d..1b044d5 100644 --- a/subscriptions/bluetooth/Cargo.toml +++ b/subscriptions/bluetooth/Cargo.toml @@ -8,8 +8,8 @@ publish = true [dependencies] bluez-zbus = { git = "https://github.com/pop-os/dbus-settings-bindings" } -futures = "0.3.32" +futures = "0.3.33" iced_futures = { git = "https://github.com/pop-os/libcosmic" } -tokio = "1.49.0" +tokio = "1.53.1" tracing = "0.1.44" -zbus = "5.13.2" +zbus = "5.18.0" diff --git a/subscriptions/settings-daemon/Cargo.toml b/subscriptions/settings-daemon/Cargo.toml index aa67fbe..73d38b4 100644 --- a/subscriptions/settings-daemon/Cargo.toml +++ b/subscriptions/settings-daemon/Cargo.toml @@ -6,9 +6,9 @@ rust-version.workspace = true publish = true [dependencies] -futures = "0.3.32" +futures = "0.3.33" iced_futures = { git = "https://github.com/pop-os/libcosmic" } -log = "0.4.29" -tokio = "1.49.0" -tokio-stream = "0.1.18" -zbus = "5.13.2" +log = "0.4.33" +tokio = "1.53.1" +tokio-stream = "0.1.19" +zbus = "5.18.0" diff --git a/subscriptions/upower/Cargo.toml b/subscriptions/upower/Cargo.toml index 4121a10..4453dad 100644 --- a/subscriptions/upower/Cargo.toml +++ b/subscriptions/upower/Cargo.toml @@ -7,10 +7,10 @@ rust-version.workspace = true publish = true [dependencies] -futures = "0.3.32" +futures = "0.3.33" iced_futures = { git = "https://github.com/pop-os/libcosmic" } -log = "0.4.29" -tokio = "1.49.0" -tokio-stream = "0.1.18" +log = "0.4.33" +tokio = "1.53.1" +tokio-stream = "0.1.19" upower_dbus = { git = "https://github.com/pop-os/dbus-settings-bindings" } -zbus = "5.13.2" +zbus = "5.18.0"