diff --git a/.github/workflows/rust-checks.yml b/.github/workflows/rust-checks.yml index ebcdd80..b29c7d4 100644 --- a/.github/workflows/rust-checks.yml +++ b/.github/workflows/rust-checks.yml @@ -24,43 +24,3 @@ jobs: - name: Check formatting run: cargo fmt --all -- --check - - clippy: - name: Clippy - runs-on: ubuntu-latest - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Install system dependencies - run: | - sudo apt-get update - sudo apt-get install -y pkg-config libxkbcommon-dev libfontconfig1-dev libfreetype6-dev libglvnd-dev libinput-dev libvulkan-dev libwayland-dev libx11-dev libxcursor-dev libxi-dev libxrandr-dev libasound2-dev libdbus-1-dev - - - name: Install Rust - uses: dtolnay/rust-toolchain@stable - with: - components: clippy - - - name: Run Clippy - run: cargo clippy --all-targets --all-features -- -D warnings - - test: - name: Test - runs-on: ubuntu-latest - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Install system dependencies - run: | - sudo apt-get update - sudo apt-get install -y pkg-config libxkbcommon-dev libfontconfig1-dev libfreetype6-dev libglvnd-dev libinput-dev libvulkan-dev libwayland-dev libx11-dev libxcursor-dev libxi-dev libxrandr-dev libasound2-dev libdbus-1-dev - - - name: Install Rust - uses: dtolnay/rust-toolchain@stable - with: - components: clippy - - - name: Run Tests - run: cargo test --all-targets --all-features diff --git a/Cargo.lock b/Cargo.lock index 6248f7c..cd78954 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -114,19 +114,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" dependencies = [ "cfg-if", - "cipher 0.4.4", - "cpufeatures 0.2.17", -] - -[[package]] -name = "aes" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66bd29a732b644c0431c6140f370d097879203d79b80c94a6747ba0872adaef8" -dependencies = [ - "cipher 0.5.1", - "cpubits", - "cpufeatures 0.3.0", + "cipher", + "cpufeatures", ] [[package]] @@ -158,7 +147,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "46319972e74179d707445f64aaa2893bbf6a111de3a9af29b7eb382f8b39e282" dependencies = [ "base64", - "bitflags 2.11.1", + "bitflags 2.11.0", "home", "libc", "log", @@ -223,21 +212,23 @@ checksum = "3aa2999eb46af81abb65c2d30d446778d7e613b60bbf4e174a027e80f90a3c14" [[package]] name = "android-activity" -version = "0.6.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f2a1bb052857d5dd49572219344a7332b31b76405648eabac5bc68978251bcd" +checksum = "ef6978589202a00cd7e118380c448a08b6ed394c3a8df3a430d0898e3a42d046" dependencies = [ "android-properties", - "bitflags 2.11.1", + "bitflags 2.11.0", "cc", + "cesu8", "jni", + "jni-sys", "libc", "log", "ndk", "ndk-context", "ndk-sys", "num_enum", - "thiserror 2.0.18", + "thiserror 1.0.69", ] [[package]] @@ -255,6 +246,56 @@ dependencies = [ "libc", ] +[[package]] +name = "anstream" +version = "0.6.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is_terminal_polyfill", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "anstyle-parse" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" +dependencies = [ + "windows-sys 0.61.2", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" +dependencies = [ + "anstyle", + "once_cell_polyfill", + "windows-sys 0.61.2", +] + [[package]] name = "anyhow" version = "1.0.102" @@ -284,9 +325,9 @@ checksum = "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1" [[package]] name = "arc-swap" -version = "1.9.1" +version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a3a1fd6f75306b68087b831f025c712524bcb19aad54e557b1129cfa0a2b207" +checksum = "f9f3647c145568cec02c42054e07bdf9a5a698e15b466fb2341bfc393cd24aa5" dependencies = [ "rustversion", ] @@ -314,6 +355,12 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" +[[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" @@ -341,7 +388,7 @@ dependencies = [ "enumflags2", "futures-channel", "futures-util", - "rand 0.9.4", + "rand 0.9.2", "raw-window-handle", "serde", "serde_repr", @@ -359,7 +406,7 @@ dependencies = [ "enumflags2", "futures-channel", "futures-util", - "rand 0.9.4", + "rand 0.9.2", "serde", "serde_repr", "tokio", @@ -468,9 +515,9 @@ dependencies = [ [[package]] name = "async-signal" -version = "0.2.14" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52b5aaafa020cf5053a01f2a60e8ff5dccf550f0f77ec54a4e47285ac2bab485" +checksum = "43c070bbf59cd3570b6b2dd54cd772527c7c3620fce8be898406dd3ed6adc64c" dependencies = [ "async-io", "async-lock", @@ -507,12 +554,6 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" -[[package]] -name = "atomic_float" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "628d228f918ac3b82fe590352cc719d30664a0c13ca3a60266fe02c7132d480a" - [[package]] name = "atomicwrites" version = "0.4.2" @@ -614,9 +655,9 @@ dependencies = [ [[package]] name = "avif-serialize" -version = "0.8.9" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7178fe5f7d460b13895ebb9dcb28a3a6216d2df2574a0806cb51b555d297f38" +checksum = "375082f007bd67184fb9c0374614b29f9aaa604ec301635f72338bb65386a53d" dependencies = [ "arrayvec", ] @@ -665,20 +706,20 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.11.1" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4512299f36f043ab09a583e57bceb5a5aab7a73db1805848e8fef3c9e8c78b3" +checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af" dependencies = [ "serde_core", ] [[package]] name = "bitstream-io" -version = "4.10.0" +version = "4.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7eff00be299a18769011411c9def0d827e8f2d7bf0c3dbf53633147a8867fd1f" +checksum = "60d4bd9d1db2c6bdf285e223a7fa369d5ce98ec767dec949c6ca62863ce61757" dependencies = [ - "no_std_io2", + "core2", ] [[package]] @@ -696,16 +737,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "block-buffer" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdd35008169921d80bc60d3d0ab416eecb028c4cd653352907921d95084790be" -dependencies = [ - "hybrid-array", - "zeroize", -] - [[package]] name = "block-padding" version = "0.3.3" @@ -853,9 +884,9 @@ dependencies = [ [[package]] name = "calendrical_calculations" -version = "0.2.4" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5abbd6eeda6885048d357edc66748eea6e0268e3dd11f326fff5bd248d779c26" +checksum = "3a0b39595c6ee54a8d0900204ba4c401d0ab4eb45adaf07178e8d017541529e7" dependencies = [ "core_maths", "displaydoc", @@ -867,7 +898,7 @@ version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4dbf9978365bac10f54d1d4b04f7ce4427e51f71d61f2fe15e3fed5166474df7" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "polling", "rustix 1.1.4", "slab", @@ -892,14 +923,14 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6" dependencies = [ - "cipher 0.4.4", + "cipher", ] [[package]] name = "cc" -version = "1.2.62" +version = "1.2.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1dce859f0832a7d088c4f1119888ab94ef4b5d6795d1ce05afb7fe159d79f98" +checksum = "7a0dd1ca384932ff3641c8718a02769f1698e7563dc6974ffd03346116310423" dependencies = [ "find-msvc-tools", "jobserver", @@ -907,6 +938,12 @@ dependencies = [ "shlex", ] +[[package]] +name = "cesu8" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" + [[package]] name = "cfb" version = "0.7.3" @@ -939,6 +976,8 @@ dependencies = [ "iana-time-zone", "js-sys", "num-traits", + "pure-rust-locales", + "serde", "wasm-bindgen", "windows-link 0.2.1", ] @@ -949,18 +988,8 @@ version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" dependencies = [ - "crypto-common 0.1.7", - "inout 0.1.4", -] - -[[package]] -name = "cipher" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e34d8227fe1ba289043aeb13792056ff80fd6de1a9f49137a5f499de8e8c78ea" -dependencies = [ - "crypto-common 0.2.1", - "inout 0.2.2", + "crypto-common", + "inout", ] [[package]] @@ -981,6 +1010,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", @@ -990,6 +1020,7 @@ 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", @@ -997,10 +1028,13 @@ dependencies = [ ] [[package]] -name = "cmov" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f88a43d011fc4a6876cb7344703e297c71dda42494fee094d5f7c76bf13f746" +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" @@ -1049,6 +1083,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" +[[package]] +name = "colorchoice" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570" + [[package]] name = "combine" version = "4.6.7" @@ -1076,9 +1116,9 @@ dependencies = [ [[package]] name = "compio-buf" -version = "0.8.1" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a00d719dbd8c602ab0d25d219cbc6b517008858de7a8d6c51b4dc95aefff4dce" +checksum = "3e8777c3ad31ab42f8a3a4a1bd629b78f688371df9b0f528d94dfbdbe5c945c9" dependencies = [ "arrayvec", "bytes", @@ -1087,9 +1127,9 @@ dependencies = [ [[package]] name = "compio-driver" -version = "0.11.4" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74d42d98dc890ee4db00c1e68a723391711aab6d67085880d716b72830f7c715" +checksum = "ec8557d3804525f0e97594681f675929931782c9f8783a51c9f86da86b819150" dependencies = [ "cfg-if", "cfg_aliases", @@ -1199,17 +1239,11 @@ version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e57e3272f0190c3f1584272d613719ba5fc7df7f4942fe542e63d949cf3a649b" -[[package]] -name = "const-oid" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6ef517f0926dd24a1582492c791b6a4818a4d94e789a334894aa15b0d12f55c" - [[package]] name = "constant_time_eq" -version = "0.4.2" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b" +checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" [[package]] name = "core-foundation" @@ -1267,11 +1301,20 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "core-foundation 0.10.1", "libc", ] +[[package]] +name = "core2" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b49ba7ef1ad6107f8824dbe97de947cbaac53c44e7f9756a1fba0d37c1eec505" +dependencies = [ + "memchr", +] + [[package]] name = "core_affinity" version = "0.8.3" @@ -1294,10 +1337,24 @@ dependencies = [ [[package]] name = "cosmic-client-toolkit" -version = "0.2.0" +version = "0.1.0" +source = "git+https://github.com/pop-os/cosmic-protocols?rev=d0e95be#d0e95be25e423cfe523b11111a3666ed7aaf0dc4" dependencies = [ - "bitflags 2.11.1", - "cosmic-protocols", + "bitflags 2.11.0", + "cosmic-protocols 0.1.0", + "libc", + "smithay-client-toolkit", + "wayland-client", + "wayland-protocols", +] + +[[package]] +name = "cosmic-client-toolkit" +version = "0.2.0" +source = "git+https://github.com/pop-os/cosmic-protocols?rev=160b086#160b086abe03cd34a8a375d7fbe47b24308d1f38" +dependencies = [ + "bitflags 2.11.0", + "cosmic-protocols 0.2.0", "libc", "smithay-client-toolkit", "wayland-client", @@ -1307,6 +1364,7 @@ dependencies = [ [[package]] name = "cosmic-config" version = "1.0.0" +source = "git+https://github.com/pop-os/libcosmic.git#3da55e807440a99f6ed62edc2e7a84ca4be9b844" dependencies = [ "atomicwrites", "cosmic-config-derive", @@ -1316,7 +1374,7 @@ dependencies = [ "iced_futures", "known-folders", "notify", - "ron 0.12.1", + "ron 0.12.0", "serde", "tokio", "tracing", @@ -1327,6 +1385,7 @@ dependencies = [ [[package]] name = "cosmic-config-derive" version = "1.0.0" +source = "git+https://github.com/pop-os/libcosmic.git#3da55e807440a99f6ed62edc2e7a84ca4be9b844" dependencies = [ "quote", "syn", @@ -1334,33 +1393,32 @@ dependencies = [ [[package]] name = "cosmic-files" -version = "1.0.11" +version = "1.0.8" +source = "git+https://github.com/pop-os/cosmic-files.git#49d353d369f7cb242ab55ae94ab402873a66a473" dependencies = [ "anyhow", - "atomic_float", + "chrono", "compio", - "cosmic-client-toolkit", + "cosmic-client-toolkit 0.1.0", "dirs 6.0.0", + "env_logger", "filetime", "flate2", - "fork 0.7.0", + "fork 0.6.0", "glob", "i18n-embed", "i18n-embed-fl", "icu", "ignore", "image", - "jiff", - "jiff-icu", "jxl-oxide", "libc", - "libcosmic-yoda", + "libcosmic", "log", "md-5", "mime_guess", "notify-debouncer-full", "num_cpus", - "num_enum", "open", "ordermap", "paste", @@ -1369,16 +1427,13 @@ dependencies = [ "recently-used-xbel", "regex", "rust-embed", - "rustc-hash 2.1.2", + "rustc-hash 2.1.1", "serde", "shlex", "slotmap", "tar", "tempfile", - "thiserror 2.0.18", "tokio", - "tracing", - "tracing-subscriber", "trash", "url", "uzers", @@ -1392,7 +1447,7 @@ dependencies = [ [[package]] name = "cosmic-freedesktop-icons" version = "0.4.0" -source = "git+https://github.com/pop-os/freedesktop-icons#9c562fe3ecf03241a46a60c0078cd6ea10bd75ce" +source = "git+https://github.com/pop-os/freedesktop-icons#7a61a704f6d1ec41f71cbe766e3cc484858523fa" dependencies = [ "bstr", "btoi", @@ -1405,9 +1460,10 @@ dependencies = [ [[package]] name = "cosmic-protocols" -version = "0.2.0" +version = "0.1.0" +source = "git+https://github.com/pop-os/cosmic-protocols?rev=d0e95be#d0e95be25e423cfe523b11111a3666ed7aaf0dc4" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -1416,6 +1472,33 @@ dependencies = [ "wayland-server", ] +[[package]] +name = "cosmic-protocols" +version = "0.2.0" +source = "git+https://github.com/pop-os/cosmic-protocols?rev=160b086#160b086abe03cd34a8a375d7fbe47b24308d1f38" +dependencies = [ + "bitflags 2.11.0", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-protocols-wlr", + "wayland-scanner", + "wayland-server", +] + +[[package]] +name = "cosmic-settings-config" +version = "0.1.0" +source = "git+https://github.com/pop-os/cosmic-settings-daemon#e37160f14d1e7ee428f973cd2848b4e95f83dfe1" +dependencies = [ + "cosmic-config", + "ron 0.11.0", + "serde", + "serde_with", + "tracing", + "xkbcommon 0.9.0", +] + [[package]] name = "cosmic-settings-daemon" version = "0.1.0" @@ -1426,7 +1509,7 @@ dependencies = [ [[package]] name = "cosmic-term" -version = "1.0.13" +version = "1.0.8" dependencies = [ "alacritty_terminal", "clap_lex", @@ -1437,8 +1520,8 @@ dependencies = [ "i18n-embed", "i18n-embed-fl", "icu", - "indexmap", - "libcosmic-yoda", + "indexmap 2.13.0", + "libcosmic", "log", "open", "paste", @@ -1457,18 +1540,18 @@ dependencies = [ [[package]] name = "cosmic-text" -version = "0.19.0" -source = "git+https://forge.aditua.com/leyoda/cosmic-text.git?branch=local%2Fpr-503#63072bbe29a1657d82cd3deb5db45070404ec7a1" +version = "0.18.2" +source = "git+https://github.com/pop-os/cosmic-text.git#d5a972a2b63649fad11ea3a7e80f7dc4c592f01a" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "fontdb", "harfrust", "linebender_resource_handle", "log", "rangemap", - "rustc-hash 2.1.2", + "rustc-hash 2.1.1", "self_cell", - "skrifa", + "skrifa 0.40.0", "smol_str", "swash", "sys-locale", @@ -1476,12 +1559,12 @@ dependencies = [ "unicode-linebreak", "unicode-script", "unicode-segmentation", - "unicode-width", ] [[package]] name = "cosmic-theme" version = "1.0.0" +source = "git+https://github.com/pop-os/libcosmic.git#3da55e807440a99f6ed62edc2e7a84ca4be9b844" dependencies = [ "almost", "configparser", @@ -1489,18 +1572,12 @@ dependencies = [ "csscolorparser", "dirs 6.0.0", "palette", - "ron 0.12.1", + "ron 0.12.0", "serde", "serde_json", "thiserror 2.0.18", ] -[[package]] -name = "cpubits" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15b85f9c39137c3a891689859392b1bd49812121d0d61c9caf00d46ed5ce06ae" - [[package]] name = "cpufeatures" version = "0.2.17" @@ -1511,14 +1588,20 @@ dependencies = [ ] [[package]] -name = "cpufeatures" -version = "0.3.0" +name = "crc" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201" +checksum = "9710d3b3739c2e349eb44fe848ad0b7c8cb1e42bd87ee49371df2f7acaf3e675" dependencies = [ - "libc", + "crc-catalog", ] +[[package]] +name = "crc-catalog" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" + [[package]] name = "crc32fast" version = "1.5.0" @@ -1576,7 +1659,7 @@ dependencies = [ "cosmic-text", "etagere", "lru", - "rustc-hash 2.1.2", + "rustc-hash 2.1.1", "wgpu", ] @@ -1590,15 +1673,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "crypto-common" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77727bb15fa921304124b128af125e7e3b968275d1b108b379190264f4423710" -dependencies = [ - "hybrid-array", -] - [[package]] name = "css-color" version = "0.2.8" @@ -1618,13 +1692,10 @@ dependencies = [ ] [[package]] -name = "ctutils" -version = "0.4.2" +name = "ctor-lite" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d5515a3834141de9eafb9717ad39eea8247b5674e6066c404e8c4b365d2a29e" -dependencies = [ - "cmov", -] +checksum = "e162d0c2e2068eb736b71e5597eff0b9944e6b973cd9f37b6a288ab9bf20e300" [[package]] name = "cursor-icon" @@ -1638,8 +1709,18 @@ version = "0.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0" dependencies = [ - "darling_core", - "darling_macro", + "darling_core 0.21.3", + "darling_macro 0.21.3", +] + +[[package]] +name = "darling" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25ae13da2f202d56bd7f91c25fba009e7717a1e4a1cc98a76d844b65ae912e9d" +dependencies = [ + "darling_core 0.23.0", + "darling_macro 0.23.0", ] [[package]] @@ -1656,13 +1737,37 @@ dependencies = [ "syn", ] +[[package]] +name = "darling_core" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9865a50f7c335f53564bb694ef660825eb8610e0a53d3e11bf1b0d3df31e03b0" +dependencies = [ + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn", +] + [[package]] name = "darling_macro" version = "0.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" dependencies = [ - "darling_core", + "darling_core 0.21.3", + "quote", + "syn", +] + +[[package]] +name = "darling_macro" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d" +dependencies = [ + "darling_core 0.23.0", "quote", "syn", ] @@ -1675,9 +1780,9 @@ checksum = "be1e0bca6c3637f992fc1cc7cbc52a78c1ef6db076dbf1059c4323d6a2048376" [[package]] name = "deflate64" -version = "0.1.12" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac6b926516df9c60bfa16e107b21086399f8285a44ca9711344b9e553c5146e2" +checksum = "807800ff3288b621186fe0a8f3392c4652068257302709c24efd918c3dffcdc2" [[package]] name = "deranged" @@ -1686,6 +1791,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c" dependencies = [ "powerfmt", + "serde_core", ] [[package]] @@ -1694,7 +1800,7 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b7e6f6fa1f03c14ae082120b84b3c7fbd7b8588d924cf2d7c3daf9afd49df8b9" dependencies = [ - "darling", + "darling 0.21.3", "proc-macro2", "quote", "syn", @@ -1717,24 +1823,11 @@ version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ - "block-buffer 0.10.4", - "crypto-common 0.1.7", + "block-buffer", + "crypto-common", "subtle", ] -[[package]] -name = "digest" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1dd6dbb5841937940781866fa1281a1ff7bd3bf827091440879f9994983d5c2" -dependencies = [ - "block-buffer 0.12.0", - "const-oid", - "crypto-common 0.2.1", - "ctutils", - "zeroize", -] - [[package]] name = "dirs" version = "5.0.1" @@ -1804,7 +1897,7 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "block2 0.6.2", "libc", "objc2 0.6.4", @@ -1833,8 +1926,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.11.1", + "bitflags 2.11.0", "mime 0.1.0", "raw-window-handle", "smithay-client-toolkit", @@ -1859,7 +1953,52 @@ checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" [[package]] name = "dpi" version = "0.1.2" -source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#261cda54017f98a12dc55569c864430fe6770366" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#a610ac9c7a72b39ff102ed4d946291618dc725b6" + +[[package]] +name = "drm" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0f8a69e60d75ae7dab4ef26a59ca99f2a89d4c142089b537775ae0c198bdcde" +dependencies = [ + "bitflags 2.11.0", + "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 = "dyn-clone" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" [[package]] name = "either" @@ -1894,6 +2033,29 @@ dependencies = [ "syn", ] +[[package]] +name = "env_filter" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a1c3cc8e57274ec99de65301228b537f1e4eedc1b8e0f9411c6caac8ae7308f" +dependencies = [ + "log", + "regex", +] + +[[package]] +name = "env_logger" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2daee4ea451f429a58296525ddf28b45a3b64f1acf6587e2067437bb11e218d" +dependencies = [ + "anstream", + "anstyle", + "env_filter", + "jiff", + "log", +] + [[package]] name = "equator" version = "0.4.2" @@ -1948,9 +2110,9 @@ dependencies = [ [[package]] name = "euclid" -version = "0.22.14" +version = "0.22.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1a05365e3b1c6d1650318537c7460c6923f1abdd272ad6842baa2b509957a06" +checksum = "df61bf483e837f88d5c2291dcf55c67be7e676b3a51acc48db3a7b163b91ed63" dependencies = [ "num-traits", ] @@ -1999,15 +2161,29 @@ checksum = "dd2e7510819d6fbf51a5545c8f922716ecfb14df168a3242f7d33e0239efe6a1" [[package]] name = "fastrand" -version = "2.4.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] name = "fax" -version = "0.2.7" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "caf1079563223d5d59d83c85886a56e586cfd5c1a26292e971a0fa266531ac5a" +checksum = "f05de7d48f37cd6730705cbca900770cab77a89f413d23e100ad7fad7795a0ab" +dependencies = [ + "fax_derive", +] + +[[package]] +name = "fax_derive" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0aca10fb742cb43f9e7bb8467c91aa9bcb8e3ffbc6a6f7389bb93ffc920577d" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] [[package]] name = "fdeflate" @@ -2029,12 +2205,13 @@ dependencies = [ [[package]] name = "filetime" -version = "0.2.28" +version = "0.2.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d5b2eef6fafbf69f877e55509ce5b11a760690ac9700a2921be067aa6afaef6" +checksum = "f98844151eee8917efc50bd9e8318cb963ae8b297431495d3f758616ea5c57db" dependencies = [ "cfg-if", "libc", + "libredox", ] [[package]] @@ -2054,9 +2231,9 @@ checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" [[package]] name = "fixed_decimal" -version = "0.7.2" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79c3c892f121fff406e5dd6b28c1b30096b95111c30701a899d4f2b18da6d1bd" +checksum = "35eabf480f94d69182677e37571d3be065822acfafd12f2f085db44fbbcc8e57" dependencies = [ "displaydoc", "smallvec", @@ -2115,7 +2292,7 @@ dependencies = [ "fluent-syntax", "intl-memoizer", "intl_pluralrules", - "rustc-hash 2.1.2", + "rustc-hash 2.1.1", "self_cell", "smallvec", "unic-langid", @@ -2169,9 +2346,18 @@ checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" [[package]] name = "font-types" -version = "0.11.3" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b38ad915f6dadd993ced50848a8291a543bd41ca62bc10740d5e64e2ab4cfd7" +checksum = "39a654f404bbcbd48ea58c617c2993ee91d1cb63727a37bf2323a4edeed1b8c5" +dependencies = [ + "bytemuck", +] + +[[package]] +name = "font-types" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1e4d2d0cf79d38430cc9dc9aadec84774bff2e1ba30ae2bf6c16cfce9385a23" dependencies = [ "bytemuck", ] @@ -2237,9 +2423,9 @@ dependencies = [ [[package]] name = "fork" -version = "0.7.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bcc4b4161e53d499e41af904acb23950adf85682c772921ef3957cf1ecc98b3" +checksum = "29714eb48a54d35d6f107e38cc58003f2e26825f222119db8369d28b24b79f2a" dependencies = [ "libc", ] @@ -2253,13 +2439,28 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "freedesktop-desktop-entry" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28273c5c6b97a5f07724f6652f064c0c7f637f9aa5e7c09c83bc3bc4ad4ea245" +dependencies = [ + "bstr", + "gettext-rs", + "log", + "memchr", + "thiserror 2.0.18", + "unicase", + "xdg", +] + [[package]] name = "freedesktop_entry_parser" version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc6d3a3635983a889f065aa9ce760384713f23a9b4a04f696f86c39a5d7a6a5a" dependencies = [ - "indexmap", + "indexmap 2.13.0", "nom 8.0.0", ] @@ -2398,6 +2599,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" @@ -2416,9 +2627,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" dependencies = [ "cfg-if", + "js-sys", "libc", "r-efi 5.3.0", "wasip2", + "wasm-bindgen", ] [[package]] @@ -2428,12 +2641,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" dependencies = [ "cfg-if", - "js-sys", "libc", "r-efi 6.0.0", "wasip2", "wasip3", - "wasm-bindgen", +] + +[[package]] +name = "gettext-rs" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d5857dc1b7f0fee86961de833f434e29494d72af102ce5355738c0664222bdf" +dependencies = [ + "gettext-sys", + "locale_config", +] + +[[package]] +name = "gettext-sys" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ea859ab0dd7e70ff823032b3e077d03d39c965d68c6c10775add60e999d8ee9" +dependencies = [ + "cc", + "temp-dir", ] [[package]] @@ -2448,9 +2679,9 @@ dependencies = [ [[package]] name = "gif" -version = "0.14.2" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee8cfcc411d9adbbaba82fb72661cc1bcca13e8bba98b364e62b2dba8f960159" +checksum = "f5df2ba84018d80c213569363bdcd0c64e6933c67fe4c1d60ecf822971a3c35e" dependencies = [ "color_quant", "weezl", @@ -2519,7 +2750,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "gpu-alloc-types", ] @@ -2529,7 +2760,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", ] [[package]] @@ -2541,7 +2772,7 @@ dependencies = [ "log", "presser", "thiserror 1.0.69", - "windows 0.56.0", + "windows 0.58.0", ] [[package]] @@ -2550,7 +2781,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b89c83349105e3732062a895becfc71a8f921bb71ecbbdd8ff99263e3b53a0ca" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "gpu-descriptor-types", "hashbrown 0.15.5", ] @@ -2561,14 +2792,14 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdf242682df893b86f33a73828fb09ca4b2d3bb6cc95249707fc684d27484b91" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", ] [[package]] name = "grid" -version = "1.0.1" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b40ca9252762c466af32d0b1002e91e4e1bc5398f77455e55474deb466355ff5" +checksum = "f9e2d4c0a8296178d8802098410ca05d86b17a10bb5ab559b3fb404c1f948220" [[package]] name = "guillotiere" @@ -2598,13 +2829,19 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9da2e5ae821f6e96664977bf974d6d6a2d6682f9ccee23e62ec1d134246845f9" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "bytemuck", "core_maths", - "read-fonts", + "read-fonts 0.37.0", "smallvec", ] +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + [[package]] name = "hashbrown" version = "0.15.5" @@ -2623,12 +2860,6 @@ dependencies = [ "foldhash 0.2.0", ] -[[package]] -name = "hashbrown" -version = "0.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" - [[package]] name = "heck" version = "0.4.1" @@ -2660,7 +2891,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d37f101bf4c633f7ca2e4b5e136050314503dd198e78e325ea602c327c484ef0" dependencies = [ "arrayvec", - "rand 0.8.6", + "rand 0.8.5", "serde", ] @@ -2676,7 +2907,7 @@ version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" dependencies = [ - "hmac 0.12.1", + "hmac", ] [[package]] @@ -2685,16 +2916,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "digest 0.10.7", -] - -[[package]] -name = "hmac" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6303bc9732ae41b04cb554b844a762b4115a61bfaa81e3e83050991eeb56863f" -dependencies = [ - "digest 0.11.3", + "digest", ] [[package]] @@ -2706,15 +2928,6 @@ dependencies = [ "windows-sys 0.61.2", ] -[[package]] -name = "hybrid-array" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9155a582abd142abc056962c29e3ce5ff2ad5469f4246b537ed42c5deba857da" -dependencies = [ - "typenum", -] - [[package]] name = "i18n-config" version = "0.4.8" @@ -2809,6 +3022,7 @@ dependencies = [ [[package]] name = "iced" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic.git#3da55e807440a99f6ed62edc2e7a84ca4be9b844" dependencies = [ "dnd", "iced_accessibility", @@ -2829,6 +3043,7 @@ dependencies = [ [[package]] name = "iced_accessibility" version = "0.1.0" +source = "git+https://github.com/pop-os/libcosmic.git#3da55e807440a99f6ed62edc2e7a84ca4be9b844" dependencies = [ "accesskit", "accesskit_winit", @@ -2837,10 +3052,11 @@ dependencies = [ [[package]] name = "iced_core" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic.git#3da55e807440a99f6ed62edc2e7a84ca4be9b844" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "bytes", - "cosmic-client-toolkit", + "cosmic-client-toolkit 0.2.0", "dnd", "glam", "lilt", @@ -2849,7 +3065,7 @@ dependencies = [ "num-traits", "palette", "raw-window-handle", - "rustc-hash 2.1.2", + "rustc-hash 2.1.1", "serde", "smol_str", "thiserror 2.0.18", @@ -2860,6 +3076,7 @@ dependencies = [ [[package]] name = "iced_debug" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic.git#3da55e807440a99f6ed62edc2e7a84ca4be9b844" dependencies = [ "iced_core", "iced_futures", @@ -2869,11 +3086,12 @@ dependencies = [ [[package]] name = "iced_futures" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic.git#3da55e807440a99f6ed62edc2e7a84ca4be9b844" dependencies = [ "futures", "iced_core", "log", - "rustc-hash 2.1.2", + "rustc-hash 2.1.1", "tokio", "wasm-bindgen-futures", "wasmtimer", @@ -2882,8 +3100,9 @@ dependencies = [ [[package]] name = "iced_graphics" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic.git#3da55e807440a99f6ed62edc2e7a84ca4be9b844" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "bytemuck", "cosmic-text", "half", @@ -2894,7 +3113,7 @@ dependencies = [ "log", "lyon_path", "raw-window-handle", - "rustc-hash 2.1.2", + "rustc-hash 2.1.1", "thiserror 2.0.18", "unicode-segmentation", ] @@ -2902,6 +3121,7 @@ dependencies = [ [[package]] name = "iced_program" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic.git#3da55e807440a99f6ed62edc2e7a84ca4be9b844" dependencies = [ "iced_graphics", "iced_runtime", @@ -2910,6 +3130,7 @@ dependencies = [ [[package]] name = "iced_renderer" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic.git#3da55e807440a99f6ed62edc2e7a84ca4be9b844" dependencies = [ "iced_graphics", "iced_tiny_skia", @@ -2921,9 +3142,10 @@ dependencies = [ [[package]] name = "iced_runtime" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic.git#3da55e807440a99f6ed62edc2e7a84ca4be9b844" dependencies = [ "bytes", - "cosmic-client-toolkit", + "cosmic-client-toolkit 0.2.0", "dnd", "iced_core", "iced_futures", @@ -2935,6 +3157,7 @@ dependencies = [ [[package]] name = "iced_tiny_skia" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic.git#3da55e807440a99f6ed62edc2e7a84ca4be9b844" dependencies = [ "bytemuck", "cosmic-text", @@ -2943,7 +3166,7 @@ dependencies = [ "kurbo 0.10.4", "log", "resvg", - "rustc-hash 2.1.2", + "rustc-hash 2.1.1", "softbuffer", "tiny-skia", ] @@ -2951,10 +3174,12 @@ dependencies = [ [[package]] name = "iced_wgpu" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic.git#3da55e807440a99f6ed62edc2e7a84ca4be9b844" dependencies = [ - "bitflags 2.11.1", + "as-raw-xcb-connection", + "bitflags 2.11.0", "bytemuck", - "cosmic-client-toolkit", + "cosmic-client-toolkit 0.2.0", "cryoglyph", "futures", "glam", @@ -2965,28 +3190,31 @@ dependencies = [ "lyon", "raw-window-handle", "resvg", - "rustc-hash 2.1.2", + "rustc-hash 2.1.1", "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.git#3da55e807440a99f6ed62edc2e7a84ca4be9b844" dependencies = [ - "cosmic-client-toolkit", + "cosmic-client-toolkit 0.2.0", "dnd", "iced_renderer", "iced_runtime", "log", "num-traits", "ouroboros", - "rustc-hash 2.1.2", + "rustc-hash 2.1.1", "thiserror 2.0.18", "unicode-segmentation", "window_clipboard", @@ -2995,8 +3223,9 @@ dependencies = [ [[package]] name = "iced_winit" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic.git#3da55e807440a99f6ed62edc2e7a84ca4be9b844" dependencies = [ - "cosmic-client-toolkit", + "cosmic-client-toolkit 0.2.0", "cursor-icon", "dnd", "iced_debug", @@ -3006,7 +3235,7 @@ dependencies = [ "iced_runtime", "log", "raw-window-handle", - "rustc-hash 2.1.2", + "rustc-hash 2.1.1", "rustix 0.38.44", "thiserror 2.0.18", "wasm-bindgen-futures", @@ -3025,9 +3254,9 @@ dependencies = [ [[package]] name = "icu" -version = "2.2.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00380f83691e089bcfa4aeb03a2d96a910b1c9ea406d6f822fc19dfb8b58d1ec" +checksum = "67ab713dd86fa032cb5487f9ac3a85d47b5dcf4c7b8c7dd00210b3cadd6a6551" dependencies = [ "icu_calendar", "icu_casemap", @@ -3049,9 +3278,9 @@ dependencies = [ [[package]] name = "icu_calendar" -version = "2.2.1" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2b2acc6263f494f1df50685b53ff8e57869e47d5c6fe39c23d518ae9a4f3e45" +checksum = "d6f0e52e009b6b16ba9c0693578796f2dd4aaa59a7f8f920423706714a89ac4e" dependencies = [ "calendrical_calculations", "displaydoc", @@ -3067,15 +3296,15 @@ dependencies = [ [[package]] name = "icu_calendar_data" -version = "2.2.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "118577bcf3a0fa7c6ac0a7d6e951814da84ee56b9b1f68fb4d8d10b08cefaf4d" +checksum = "527f04223b17edfe0bd43baf14a0cb1b017830db65f3950dc00224860a9a446d" [[package]] name = "icu_casemap" -version = "2.2.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "070f98b5b82798fcb93654bf96ed9f40064fc44c86f51a09ea711092cd5cc5be" +checksum = "d4ca9983e8bf51223c2f89014fa4eaa9e9b336c47f3af0d000538f86f841fba1" dependencies = [ "icu_casemap_data", "icu_collections", @@ -3089,15 +3318,15 @@ dependencies = [ [[package]] name = "icu_casemap_data" -version = "2.2.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "846b0857ca091204be3c874bc93daaf89d4777e8d2d20b0d3ffe8f671d98014b" +checksum = "98d4663d0f99b301033a19e0acf94e9d2fa4b107638580165e5a6ccc49ad1450" [[package]] name = "icu_collator" -version = "2.2.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b521b92a2666061ddda902769d8a4cf730b5c9529a845cc1b69770b12a6c9a71" +checksum = "32eed11a5572f1088b63fa21dc2e70d4a865e5739fc2d10abc05be93bae97019" dependencies = [ "icu_collator_data", "icu_collections", @@ -3114,20 +3343,19 @@ dependencies = [ [[package]] name = "icu_collator_data" -version = "2.2.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "038ed8e5817f2059c2f3efb0945ba78d060d3d25e8f1a1bea5139f821a21a2f0" +checksum = "5ab06f0e83a613efddba3e4913e00e43ed4001fae651cb7d40fc7e66b83b6fb9" [[package]] name = "icu_collections" -version = "2.2.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2984d1cd16c883d7935b9e07e44071dca8d917fd52ecc02c04d5fa0b5a3f191c" +checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" dependencies = [ "displaydoc", "potential_utf", "serde", - "utf8_iter", "yoke", "zerofrom", "zerovec", @@ -3135,9 +3363,9 @@ dependencies = [ [[package]] name = "icu_datetime" -version = "2.2.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "989d56ea5bbc43ae2b4e0388874b002884eaf4ed3a76c84a6c8c5ad575e04d72" +checksum = "1b9d49f41ded8e63761b6b4c3120dfdc289415a1ed10107db6198eb311057ca5" dependencies = [ "displaydoc", "fixed_decimal", @@ -3158,23 +3386,20 @@ dependencies = [ [[package]] name = "icu_datetime_data" -version = "2.2.0" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40d3cc1b690d9703202bc319692ac8a1f3a6390686f0930ff40542450fa34f0b" +checksum = "46597233625417b7c8052a63d916e4fdc73df21614ac0b679492a5d6e3b01aeb" [[package]] name = "icu_decimal" -version = "2.2.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "288247df2e32aa776ac54fdd64de552149ac43cb840f2761811f0e8d09719dd4" +checksum = "a38c52231bc348f9b982c1868a2af3195199623007ba2c7650f432038f5b3e8e" dependencies = [ - "displaydoc", "fixed_decimal", "icu_decimal_data", "icu_locale", "icu_locale_core", - "icu_pattern", - "icu_plurals", "icu_provider", "serde", "writeable", @@ -3183,15 +3408,15 @@ dependencies = [ [[package]] name = "icu_decimal_data" -version = "2.2.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f14a5ca9e8af29eef62064f269078424283d90dbaffeac5225addf62aaabc22" +checksum = "2905b4044eab2dd848fe84199f9195567b63ab3a93094711501363f63546fef7" [[package]] name = "icu_experimental" -version = "0.5.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a881116e620fd635f564fd9cb9bc36c256b9da2221df8b3f55643d8ef32140f" +checksum = "f4ffa4d60b9cb8b024082afaf9e94d853184e483ec69322c74dc437bf8a882a5" dependencies = [ "displaydoc", "either", @@ -3222,15 +3447,15 @@ dependencies = [ [[package]] name = "icu_experimental_data" -version = "0.5.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f72090d4f08a2bc94565cb02de6d5b87939424e462d9927d73a34f6f8e5d1232" +checksum = "a0bce39e12480e91c7ddb748218050c459e241f491d130ea6ee92c3e5cd254f7" [[package]] name = "icu_list" -version = "2.2.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aeeaf517689324395bed4767f7c65504f5455942ed4c14ee54c2087ca00b816e" +checksum = "d3a0b7b126e2fc42777d3c348611553d540bd3683caa39b387c5dd1036bb21a8" dependencies = [ "icu_list_data", "icu_locale", @@ -3243,15 +3468,15 @@ dependencies = [ [[package]] name = "icu_list_data" -version = "2.2.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed62dbf114db9a4163481ed071509c4cd52cbcef9cb85979eba08a95549d73f3" +checksum = "51044c242fe2a882cc0a464314bbdb9f441556a1cb238fb527fc47355ec2827b" [[package]] name = "icu_locale" -version = "2.2.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5a396343c7208121dc86e35623d3dfe19814a7613cfd14964994cdc9c9a2e26" +checksum = "532b11722e350ab6bf916ba6eb0efe3ee54b932666afec989465f9243fe6dd60" dependencies = [ "icu_collections", "icu_locale_core", @@ -3264,9 +3489,9 @@ dependencies = [ [[package]] name = "icu_locale_core" -version = "2.2.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92219b62b3e2b4d88ac5119f8904c10f8f61bf7e95b640d25ba3075e6cac2c29" +checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" dependencies = [ "displaydoc", "litemap", @@ -3278,15 +3503,15 @@ dependencies = [ [[package]] name = "icu_locale_data" -version = "2.2.0" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5fdcc9ac77c6d74ff5cf6e65ef3181d6af32003b16fce3a77fb451d2f695993" +checksum = "1c5f1d16b4c3a2642d3a719f18f6b06070ab0aef246a6418130c955ae08aa831" [[package]] name = "icu_normalizer" -version = "2.2.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c56e5ee99d6e3d33bd91c5d85458b6005a22140021cc324cea84dd0e72cff3b4" +checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" dependencies = [ "icu_collections", "icu_normalizer_data", @@ -3301,15 +3526,15 @@ dependencies = [ [[package]] name = "icu_normalizer_data" -version = "2.2.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da3be0ae77ea334f4da67c12f149704f19f81d1adf7c51cf482943e84a2bad38" +checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" [[package]] name = "icu_pattern" -version = "0.4.2" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c4c568054ffe735398a9f4c55aec37ad7c768844553cc0978f09cc9b933a1fb" +checksum = "7a7ff8c0ff6f61cdce299dcb54f557b0a251adbc78f6f0c35a21332c452b4a1b" dependencies = [ "displaydoc", "either", @@ -3321,9 +3546,9 @@ dependencies = [ [[package]] name = "icu_plurals" -version = "2.2.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a50023f1d49ad5c4333380328a0d4a19e4b9d6d842ec06639affd5ba47c8103" +checksum = "4f9cfe49f5b1d1163cc58db451562339916a9ca5cbcaae83924d41a0bf839474" dependencies = [ "fixed_decimal", "icu_locale", @@ -3334,15 +3559,15 @@ dependencies = [ [[package]] name = "icu_plurals_data" -version = "2.2.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8485497155dc865f901decb93ecc20d3e467df67bfeceb91e3ba34e2b11e8e1d" +checksum = "f018a98dccf7f0eb02ba06ac0ff67d102d8ded80734724305e924de304e12ff0" [[package]] name = "icu_properties" -version = "2.2.0" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bee3b67d0ea5c2cca5003417989af8996f8604e34fb9ddf96208a033901e70de" +checksum = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec" dependencies = [ "icu_collections", "icu_locale_core", @@ -3355,15 +3580,15 @@ dependencies = [ [[package]] name = "icu_properties_data" -version = "2.2.0" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e2bbb201e0c04f7b4b3e14382af113e17ba4f63e2c9d2ee626b720cbce54a14" +checksum = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af" [[package]] name = "icu_provider" -version = "2.2.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "139c4cf31c8b5f33d7e199446eff9c1e02decfc2f0eec2c8d71f65befa45b421" +checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" dependencies = [ "displaydoc", "icu_locale_core", @@ -3378,9 +3603,9 @@ dependencies = [ [[package]] name = "icu_segmenter" -version = "2.2.0" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c0794db0b1a86193ac9c48768d0e6c52c54448e0870ad87907d456ee0dac964" +checksum = "a807a7488f3f758629ae86d99d9d30dce24da2fb2945d74c80a4f4a62c71db73" dependencies = [ "core_maths", "icu_collections", @@ -3394,15 +3619,15 @@ dependencies = [ [[package]] name = "icu_segmenter_data" -version = "2.2.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4a2c462a4d927d512f5f882a033ddd62f33a05bb9f230d98f736ac3dc85938f" +checksum = "6ebbb7321d9e21d25f5660366cb6c08201d0175898a3a6f7a41ee9685af21c80" [[package]] name = "icu_time" -version = "2.2.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec3af0c141da0a61d4f6970cd1d5f4b388b17ea22f8124f8f6049d3d5147586a" +checksum = "8242b00da3b3b6678f731437a11c8833a43c821ae081eca60ba1b7579d45b6d8" dependencies = [ "calendrical_calculations", "displaydoc", @@ -3418,9 +3643,9 @@ dependencies = [ [[package]] name = "icu_time_data" -version = "2.2.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f2f8aeca682d874a5247084aa4fb7d1cef9ba45d889c21209a8818dcaaa0ec9" +checksum = "3e10b0e5e87a2c84bd5fa407705732052edebe69291d347d0c3033785470edbf" [[package]] name = "id-arena" @@ -3447,9 +3672,9 @@ dependencies = [ [[package]] name = "idna_adapter" -version = "1.2.2" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb68373c0d6620ef8105e855e7745e18b0d00d3bdb07fb532e434244cdb9a714" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" dependencies = [ "icu_normalizer", "icu_properties", @@ -3481,7 +3706,7 @@ dependencies = [ "byteorder-lite", "color_quant", "exr", - "gif 0.14.2", + "gif 0.14.1", "image-webp", "moxcms", "num-traits", @@ -3492,7 +3717,7 @@ dependencies = [ "rgb", "tiff", "zune-core 0.5.1", - "zune-jpeg 0.5.15", + "zune-jpeg 0.5.13", ] [[package]] @@ -3513,18 +3738,29 @@ checksum = "edcd27d72f2f071c64249075f42e205ff93c9a4c5f6c6da53e79ed9f9832c285" [[package]] name = "imgref" -version = "1.12.1" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40fac9d56ed6437b198fddba683305e8e2d651aa42647f00f5ae542e7f5c94a2" +checksum = "e7c5cedc30da3a610cac6b4ba17597bdf7152cf974e8aab3afb3d54455e371c8" [[package]] name = "indexmap" -version = "2.14.0" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", + "serde", +] + +[[package]] +name = "indexmap" +version = "2.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" dependencies = [ "equivalent", - "hashbrown 0.17.1", + "hashbrown 0.16.1", "serde", "serde_core", ] @@ -3544,7 +3780,7 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd5b3eaf1a28b758ac0faa5a4254e8ab2705605496f1b1f3fbbc3988ad73d199" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "inotify-sys", "libc", ] @@ -3568,15 +3804,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "inout" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4250ce6452e92010fdf7268ccc5d14faa80bb12fc741938534c58f16804e03c7" -dependencies = [ - "hybrid-array", -] - [[package]] name = "interpolate_name" version = "0.2.4" @@ -3626,6 +3853,12 @@ dependencies = [ "once_cell", ] +[[package]] +name = "is_terminal_polyfill" +version = "1.70.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" + [[package]] name = "itertools" version = "0.14.0" @@ -3637,21 +3870,21 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.18" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" +checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" [[package]] name = "ixdtf" -version = "0.6.5" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ceaf4c6c48465bead8cb6a0b7c4ee0c86ecbb31239032b9c66ab9a08d2f3ee1" +checksum = "84de9d95a6d2547d9b77ee3f25fa0ee32e3c3a6484d47a55adebc0439c077992" [[package]] name = "jiff" -version = "0.2.24" +version = "0.2.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f00b5dbd620d61dfdcb6007c9c1f6054ebd75319f163d886a9055cec1155073d" +checksum = "1a3546dc96b6d42c5f24902af9e2538e82e39ad350b0c766eb3fbf2d8f3d8359" dependencies = [ "jiff-static", "jiff-tzdb-platform", @@ -3662,22 +3895,11 @@ dependencies = [ "windows-sys 0.61.2", ] -[[package]] -name = "jiff-icu" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e67c2beaae8b10a82d849b9aabb698a43a682f32b17bcdc035d5ecadb44d646" -dependencies = [ - "icu_calendar", - "icu_time", - "jiff", -] - [[package]] name = "jiff-static" -version = "0.2.24" +version = "0.2.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e000de030ff8022ea1da3f466fbb0f3a809f5e51ed31f6dd931c35181ad8e6d7" +checksum = "2a8c8b344124222efd714b73bb41f8b5120b27a7cc1c75593a6ff768d9d05aa4" dependencies = [ "proc-macro2", "quote", @@ -3701,61 +3923,25 @@ dependencies = [ [[package]] name = "jni" -version = "0.22.4" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5efd9a482cf3a427f00d6b35f14332adc7902ce91efb778580e180ff90fa3498" +checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" dependencies = [ + "cesu8", "cfg-if", "combine", - "jni-macros", - "jni-sys 0.4.1", + "jni-sys", "log", - "simd_cesu8", - "thiserror 2.0.18", + "thiserror 1.0.69", "walkdir", - "windows-link 0.2.1", -] - -[[package]] -name = "jni-macros" -version = "0.22.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a00109accc170f0bdb141fed3e393c565b6f5e072365c3bd58f5b062591560a3" -dependencies = [ - "proc-macro2", - "quote", - "rustc_version", - "simd_cesu8", - "syn", + "windows-sys 0.45.0", ] [[package]] name = "jni-sys" -version = "0.3.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41a652e1f9b6e0275df1f15b32661cf0d4b78d4d87ddec5e0c3c20f097433258" -dependencies = [ - "jni-sys 0.4.1", -] - -[[package]] -name = "jni-sys" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6377a88cb3910bee9b0fa88d4f42e1d2da8e79915598f65fb0c7ee14c878af2" -dependencies = [ - "jni-sys-macros", -] - -[[package]] -name = "jni-sys-macros" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38c0b942f458fe50cdac086d2f946512305e5631e720728f2a61aabcd47a6264" -dependencies = [ - "quote", - "syn", -] +checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" [[package]] name = "jobserver" @@ -3769,12 +3955,10 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.98" +version = "0.3.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67df7112613f8bfd9150013a0314e196f4800d3201ae742489d999db2f979f08" +checksum = "b49715b7073f385ba4bc528e5747d02e66cb39c6146efb66b781f131f0fb399c" dependencies = [ - "cfg-if", - "futures-util", "once_cell", "wasm-bindgen", ] @@ -3974,7 +4158,7 @@ version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fbe853b403ae61a04233030ae8a79d94975281ed9770a1f9e246732b534b28d" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "serde", ] @@ -4016,11 +4200,11 @@ dependencies = [ [[package]] name = "kqueue-sys" -version = "1.1.1" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "285efcf12ef41bec907b3000d5ffaeb54191d4d9d83c0d6157e6cbc2db255e64" +checksum = "ed9625ffda8729b85e45cf04090035ac368927b8cebc34898e7c120f52e4838b" dependencies = [ - "bitflags 2.11.1", + "bitflags 1.3.2", "libc", ] @@ -4065,31 +4249,34 @@ checksum = "7a79a3332a6609480d7d0c9eab957bca6b455b91bb84e66d19f5ff66294b85b8" [[package]] name = "libbz2-rs-sys" -version = "0.2.4" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8fc329e1457d97a9d58a4e2ca49e3be572431a7e096008efc2e3a3c19d428f4" +checksum = "2c4a545a15244c7d945065b5d392b2d2d7f21526fba56ce51467b06ed445e8f7" [[package]] name = "libc" -version = "0.2.186" +version = "0.2.183" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66" +checksum = "b5b646652bf6661599e1da8901b3b9522896f01e736bad5f723fe7a3a27f899d" [[package]] -name = "libcosmic-yoda" -version = "0.1.0-yoda.2" +name = "libcosmic" +version = "1.0.0" +source = "git+https://github.com/pop-os/libcosmic.git#3da55e807440a99f6ed62edc2e7a84ca4be9b844" dependencies = [ "apply", "ashpd 0.12.3", "auto_enums", - "cosmic-client-toolkit", + "cosmic-client-toolkit 0.2.0", "cosmic-config", "cosmic-freedesktop-icons", + "cosmic-settings-config", "cosmic-settings-daemon", "cosmic-theme", "css-color", "derive_setters", "float-cmp 0.10.0", + "freedesktop-desktop-entry", "futures", "i18n-embed", "i18n-embed-fl", @@ -4104,12 +4291,16 @@ dependencies = [ "iced_winit", "image", "jiff", + "libc", "log", + "mime 0.3.17", "palette", "phf 0.13.1", "rfd", "rust-embed", + "rustix 1.1.4", "serde", + "shlex", "slotmap", "taffy", "thiserror 2.0.18", @@ -4148,14 +4339,14 @@ checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" [[package]] name = "libredox" -version = "0.1.16" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e02f3bb43d335493c96bf3fd3a321600bf6bd07ed34bc64118e9293bdffea46c" +checksum = "1744e39d1d6a9948f4f388969627434e31128196de472883b39f148769bfe30a" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "libc", "plain", - "redox_syscall 0.7.5", + "redox_syscall 0.7.3", ] [[package]] @@ -4179,6 +4370,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" @@ -4187,9 +4384,9 @@ checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" [[package]] name = "litemap" -version = "0.8.2" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92daf443525c4cce67b150400bc2316076100ce0b3686209eb8cf3c31612e6f0" +checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" [[package]] name = "litrs" @@ -4197,6 +4394,19 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092" +[[package]] +name = "locale_config" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d2c35b16f4483f6c26f0e4e9550717a2f6575bcd6f12a53ff0c490a94a6934" +dependencies = [ + "lazy_static", + "objc", + "objc-foundation", + "regex", + "winapi", +] + [[package]] name = "lock_api" version = "0.4.14" @@ -4237,9 +4447,9 @@ dependencies = [ [[package]] name = "lru" -version = "0.16.4" +version = "0.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f66e8d5d03f609abc3a39e6f08e4164ebf1447a732906d39eb9b99b7919ef39" +checksum = "a1dc47f592c06f33f8e3aea9591776ec7c9f9e4124778ff8a3c3b87159f7e593" [[package]] name = "lyon" @@ -4253,9 +4463,9 @@ dependencies = [ [[package]] name = "lyon_algorithms" -version = "1.0.20" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8575c0d003ae459399623c4def180c63b77f343b1a7fee64f249b349e7699a31" +checksum = "9815fac08e6fd96733a11dce4f9d15a3f338e96a2e2311ee21e1b738efc2bc0f" dependencies = [ "lyon_path", "num-traits", @@ -4284,9 +4494,9 @@ dependencies = [ [[package]] name = "lyon_tessellation" -version = "1.0.20" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e43b7e44161571868f5c931d12583592c223c5583eef86b08aa02b7048a3552" +checksum = "05a35a7dd71b845ff317ce1834c4185506b79790294bde397df8d5c23031e357" dependencies = [ "float_next_after", "lyon_path", @@ -4295,10 +4505,11 @@ dependencies = [ [[package]] name = "lzma-rust2" -version = "0.16.2" +version = "0.15.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47bb1e988e6fb779cf720ad431242d3f03167c1b3f2b1aae7f1a94b2495b36ae" +checksum = "1670343e58806300d87950e3401e820b519b9384281bbabfb15e3636689ffd69" dependencies = [ + "crc", "sha2", ] @@ -4337,7 +4548,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" dependencies = [ "cfg-if", - "digest 0.10.7", + "digest", ] [[package]] @@ -4379,7 +4590,7 @@ version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "00c15a6f673ff72ddcc22394663290f870fb224c1bfce55734a75c414150e605" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "block", "core-graphics-types 0.2.0", "foreign-types", @@ -4391,6 +4602,7 @@ dependencies = [ [[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", ] @@ -4429,9 +4641,9 @@ dependencies = [ [[package]] name = "mio" -version = "1.2.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50b7e5b27aa02a74bac8c3f23f448f8d87ff11f92d3aac1a6ed369ee08cc56c1" +checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc" dependencies = [ "libc", "log", @@ -4472,14 +4684,14 @@ checksum = "066cf25f0e8b11ee0df221219010f213ad429855f57c494f995590c861a9a7d8" dependencies = [ "arrayvec", "bit-set", - "bitflags 2.11.1", + "bitflags 2.11.0", "cfg-if", "cfg_aliases", "codespan-reporting", "half", "hashbrown 0.16.1", "hexf-parse", - "indexmap", + "indexmap 2.13.0", "libm", "log", "num-traits", @@ -4496,8 +4708,8 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" dependencies = [ - "bitflags 2.11.1", - "jni-sys 0.3.1", + "bitflags 2.11.0", + "jni-sys", "log", "ndk-sys", "num_enum", @@ -4517,7 +4729,7 @@ version = "0.6.0+11769913" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873" dependencies = [ - "jni-sys 0.3.1", + "jni-sys", ] [[package]] @@ -4526,15 +4738,6 @@ version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" -[[package]] -name = "no_std_io2" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "418abd1b6d34fbf6cae440dc874771b0525a604428704c76e48b29a5e67b8003" -dependencies = [ - "memchr", -] - [[package]] name = "nom" version = "7.1.3" @@ -4566,7 +4769,7 @@ version = "8.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4d3d07927151ff8575b7087f245456e549fea62edf0ec4e565a5ee50c8402bc3" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "fsevent-sys", "inotify", "kqueue", @@ -4597,7 +4800,7 @@ version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42b8cfee0e339a0337359f3c88165702ac6e600dc01c0cc9579a92d62b08477a" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", ] [[package]] @@ -4644,9 +4847,9 @@ dependencies = [ [[package]] name = "num-conv" -version = "0.2.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6673768db2d862beb9b39a78fdcb1a69439615d5794a1be50caa9bc92c81967" +checksum = "cf97ec579c3c42f953ef76dbf8d55ac91fb219dde70e49aa4a6b7d74e9919050" [[package]] name = "num-derive" @@ -4783,7 +4986,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "block2 0.5.1", "libc", "objc2 0.5.2", @@ -4799,7 +5002,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d49e936b501e5c5bf01fda3a9452ff86dc3ea98ad5f283e1455153142d97518c" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "block2 0.6.2", "objc2 0.6.4", "objc2-core-foundation", @@ -4812,7 +5015,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "block2 0.5.1", "objc2 0.5.2", "objc2-foundation 0.2.2", @@ -4824,7 +5027,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "block2 0.6.2", "dispatch2", "objc2 0.6.4", @@ -4836,7 +5039,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e022c9d066895efa1345f8e33e584b9f958da2fd4cd116792e15e07e4720a807" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "libc", "objc2-core-foundation", ] @@ -4859,7 +5062,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d425caf1df73233f29fd8a5c3e5edbc30d2d4307870f802d18f00d83dc5141a6" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "objc2-core-foundation", "objc2-core-graphics", ] @@ -4876,7 +5079,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "block2 0.5.1", "libc", "objc2 0.5.2", @@ -4888,7 +5091,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "block2 0.6.2", "objc2 0.6.4", "objc2-core-foundation", @@ -4900,7 +5103,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "block2 0.5.1", "objc2 0.5.2", "objc2-foundation 0.2.2", @@ -4912,7 +5115,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "block2 0.5.1", "objc2 0.5.2", "objc2-foundation 0.2.2", @@ -4925,7 +5128,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d87d638e33c06f577498cbcc50491496a3ed4246998a7fbba7ccb98b1e7eab22" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "objc2 0.6.4", "objc2-core-foundation", "objc2-foundation 0.3.2", @@ -4947,10 +5150,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" [[package]] -name = "open" -version = "5.3.5" +name = "once_cell_polyfill" +version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fbaa89d2ddc8473c78a3adf69eea8cffa28c483b8e02a971ef31527cd0fc92c" +checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" + +[[package]] +name = "open" +version = "5.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43bb73a7fa3799b198970490a51174027ba0d4ec504b03cd08caf513d40024bc" dependencies = [ "is-wsl", "libc", @@ -4965,9 +5174,9 @@ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" [[package]] name = "orbclient" -version = "0.3.54" +version = "0.3.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a570f6bca41d29acb2139229a7c873ec99bc9a313bd10804081d89bfac8ff329" +checksum = "59aed3b33578edcfa1bc96a321d590d31832b6ad55a26f0313362ce687e9abd6" dependencies = [ "libc", "libredox", @@ -4975,9 +5184,9 @@ dependencies = [ [[package]] name = "ordered-float" -version = "5.3.0" +version = "5.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7d950ca161dc355eaf28f82b11345ed76c6e1f6eb1f4f4479e0323b9e2fbd0e" +checksum = "7f4779c6901a562440c3786d08192c6fbda7c1c2060edd10006b05ee35d10f2d" dependencies = [ "num-traits", ] @@ -4994,11 +5203,11 @@ dependencies = [ [[package]] name = "ordermap" -version = "1.2.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f7476a5b122ff1fce7208e7ee9dccd0a516e835f5b8b19b8f3c98a34cf757c1" +checksum = "cfa78c92071bbd3628c22b1a964f7e0eb201dc1456555db072beb1662ecd6715" dependencies = [ - "indexmap", + "indexmap 2.13.0", "serde", "serde_core", ] @@ -5120,12 +5329,12 @@ checksum = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3" [[package]] name = "pbkdf2" -version = "0.13.0" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "112d82ceb8c5bf524d9af484d4e4970c9fd5a0cc15ba14ad93dccd28873b0629" +checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" dependencies = [ - "digest 0.11.3", - "hmac 0.13.0", + "digest", + "hmac", ] [[package]] @@ -5162,7 +5371,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" dependencies = [ "phf_shared 0.11.3", - "rand 0.8.6", + "rand 0.8.5", ] [[package]] @@ -5229,18 +5438,18 @@ checksum = "5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315" [[package]] name = "pin-project" -version = "1.1.12" +version = "1.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbf0d9e68100b3a7989b4901972f265cd542e560a3a8a724e1e20322f4d06ce9" +checksum = "f1749c7ed4bcaf4c3d0a3efc28538844fb29bcdd7d2b67b2be7e20ba861ff517" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.12" +version = "1.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a990e22f43e84855daf260dded30524ef4a9021cc7541c26540500a50b624389" +checksum = "d9b20ed30f105399776b9c883e68e536ef602a16ae6f596d2c473591d6ad64c6" dependencies = [ "proc-macro2", "quote", @@ -5272,9 +5481,9 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.33" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19f132c84eca552bf34cab8ec81f1c1dcc229b811638f9d283dceabe58c5569e" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" [[package]] name = "plain" @@ -5301,7 +5510,7 @@ version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60769b8b31b2a9f263dae2776c37b1b28ae246943cf719eb6946a1db05128a61" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "crc32fast", "fdeflate", "flate2", @@ -5336,18 +5545,18 @@ checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" [[package]] name = "portable-atomic-util" -version = "0.2.7" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2a106d1259c23fac8e543272398ae0e3c0b8d33c88ed73d0cc71b0f1d902618" +checksum = "091397be61a01d4be58e7841595bd4bfedb15f1cd54977d79b8271e94ed799a3" dependencies = [ "portable-atomic", ] [[package]] name = "potential_utf" -version = "0.1.5" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0103b1cef7ec0cf76490e969665504990193874ea05c85ff9bab8b911d0a0564" +checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" dependencies = [ "serde_core", "writeable", @@ -5450,7 +5659,7 @@ version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25485360a54d6861439d60facef26de713b1e126bf015ec8f98239467a2b82f7" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "chrono", "flate2", "procfs-core", @@ -5463,35 +5672,41 @@ version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6401bf7b6af22f78b563665d15a22e9aef27775b79b149a66ca022468a4e405" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "chrono", "hex", ] [[package]] name = "profiling" -version = "1.0.18" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d595e54a326bc53c1c197b32d295e14b169e3cfeaa8dc82b529f947fba6bcf5" +checksum = "3eb8486b569e12e2c32ad3e204dbaba5e4b5b216e9367044f25f1dba42341773" dependencies = [ "profiling-procmacros", ] [[package]] name = "profiling-procmacros" -version = "1.0.18" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4488a4a36b9a4ba6b9334a32a39971f77c1436ec82c38707bce707699cc3bbcb" +checksum = "52717f9a02b6965224f95ca2a81e2e0c5c43baacd28ca057577988930b6c3d5b" dependencies = [ "quote", "syn", ] [[package]] -name = "pxfm" -version = "0.1.29" +name = "pure-rust-locales" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0c5ccf5294c6ccd63a74f1565028353830a9c2f5eb0c682c355c471726a6e3f" +checksum = "869675ad2d7541aea90c6d88c81f46a7f4ea9af8cd0395d38f11a95126998a0d" + +[[package]] +name = "pxfm" +version = "0.1.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5a041e753da8b807c9255f28de81879c78c876392ff2469cde94799b2896b9d" [[package]] name = "qoi" @@ -5520,14 +5735,23 @@ dependencies = [ [[package]] name = "quick-xml" -version = "0.39.4" +version = "0.38.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdcc8dd4e2f670d309a5f0e83fe36dfdc05af317008fea29144da1a2ac858e5e" +checksum = "b66c2058c55a409d601666cffe35f04333cf1013010882cec174a7467cd4e21c" dependencies = [ "memchr", "serde", ] +[[package]] +name = "quick-xml" +version = "0.39.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "958f21e8e7ceb5a1aa7fa87fab28e7c75976e0bfe7e23ff069e0a260f894067d" +dependencies = [ + "memchr", +] + [[package]] name = "quote" version = "1.0.45" @@ -5551,9 +5775,9 @@ checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" [[package]] name = "rand" -version = "0.8.6" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ca0ecfa931c29007047d1bc58e623ab12e5590e8c7cc53200d5202b69266d8a" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", "rand_chacha 0.3.1", @@ -5562,9 +5786,9 @@ dependencies = [ [[package]] name = "rand" -version = "0.9.4" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76ea" +checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" dependencies = [ "rand_chacha 0.9.0", "rand_core 0.9.5", @@ -5647,7 +5871,7 @@ dependencies = [ "num-traits", "paste", "profiling", - "rand 0.9.4", + "rand 0.9.2", "rand_chacha 0.9.0", "simd_helpers", "thiserror 2.0.18", @@ -5678,9 +5902,9 @@ checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" [[package]] name = "rayon" -version = "1.12.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb39b166781f92d482534ef4b4b1b2568f42613b53e5b6c160e24cfbfa30926d" +checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" dependencies = [ "either", "rayon-core", @@ -5696,6 +5920,16 @@ dependencies = [ "crossbeam-utils", ] +[[package]] +name = "read-fonts" +version = "0.35.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6717cf23b488adf64b9d711329542ba34de147df262370221940dfabc2c91358" +dependencies = [ + "bytemuck", + "font-types 0.10.1", +] + [[package]] name = "read-fonts" version = "0.37.0" @@ -5704,7 +5938,7 @@ checksum = "7b634fabf032fab15307ffd272149b622260f55974d9fad689292a5d33df02e5" dependencies = [ "bytemuck", "core_maths", - "font-types", + "font-types 0.11.0", ] [[package]] @@ -5729,16 +5963,16 @@ version = "0.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", ] [[package]] name = "redox_syscall" -version = "0.7.5" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4666a1a60d8412eab19d94f6d13dcc9cea0a5ef4fdf6a5db306537413c661b1b" +checksum = "6ce70a74e890531977d37e532c34d45e9055d2409ed08ddba14529471ed0be16" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", ] [[package]] @@ -5763,6 +5997,26 @@ dependencies = [ "thiserror 2.0.18", ] +[[package]] +name = "ref-cast" +version = "1.0.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f354300ae66f76f1c85c5f84693f0ce81d747e2c3f21a45fef496d89c960bf7d" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "regex" version = "1.12.3" @@ -5855,7 +6109,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "db09040cc89e461f1a265139777a2bde7f8d8c67c4936f700c63ce3e2904d468" dependencies = [ "base64", - "bitflags 2.11.1", + "bitflags 2.11.0", "serde", "serde_derive", "unicode-ident", @@ -5863,11 +6117,11 @@ dependencies = [ [[package]] name = "ron" -version = "0.12.1" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4147b952f3f819eca0e99527022f7d6a8d05f111aeb0a62960c74eb283bec8fc" +checksum = "fd490c5b18261893f14449cbd28cb9c0b637aebf161cd77900bfdedaff21ec32" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "once_cell", "serde", "serde_derive", @@ -5923,18 +6177,9 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] name = "rustc-hash" -version = "2.1.2" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe" - -[[package]] -name = "rustc_version" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" -dependencies = [ - "semver", -] +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" [[package]] name = "rustix" @@ -5942,7 +6187,7 @@ version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "errno", "libc", "linux-raw-sys 0.4.15", @@ -5955,7 +6200,7 @@ version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "errno", "libc", "linux-raw-sys 0.12.1", @@ -5985,7 +6230,7 @@ version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fd3c7c96f8a08ee34eff8857b11b49b07d71d1c3f4e88f8a88d4c9e9f90b1702" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "bytemuck", "core_maths", "log", @@ -6006,6 +6251,30 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "schemars" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd191f9397d57d581cddd31014772520aa448f65ef991055d7f61582c65165f" +dependencies = [ + "dyn-clone", + "ref-cast", + "serde", + "serde_json", +] + +[[package]] +name = "schemars" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2b42f36aa1cd011945615b92222f6bf73c599a102a300334cd7f8dbeec726cc" +dependencies = [ + "dyn-clone", + "ref-cast", + "serde", + "serde_json", +] + [[package]] name = "scoped-tls" version = "1.0.1" @@ -6037,7 +6306,7 @@ version = "5.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9a62d7f86047af0077255a29494136b9aaaf697c76ff70b8e49cded4e2623c14" dependencies = [ - "aes 0.8.4", + "aes", "cbc", "futures-util", "generic-array", @@ -6067,9 +6336,9 @@ checksum = "b12e76d157a900eb52e81bc6e9f3069344290341720e9178cde2407113ac8d89" [[package]] name = "semver" -version = "1.0.28" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd" +checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" [[package]] name = "serde" @@ -6107,7 +6376,7 @@ version = "1.0.149" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" dependencies = [ - "indexmap", + "indexmap 2.13.0", "itoa", "memchr", "serde", @@ -6127,14 +6396,45 @@ dependencies = [ ] [[package]] -name = "sha1" -version = "0.11.0" +name = "serde_with" +version = "3.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aacc4cc499359472b4abe1bf11d0b12e688af9a805fa5e3016f9a386dc2d0214" +checksum = "dd5414fad8e6907dbdd5bc441a50ae8d6e26151a03b1de04d89a5576de61d01f" +dependencies = [ + "base64", + "chrono", + "hex", + "indexmap 1.9.3", + "indexmap 2.13.0", + "schemars 0.9.0", + "schemars 1.2.1", + "serde_core", + "serde_json", + "serde_with_macros", + "time", +] + +[[package]] +name = "serde_with_macros" +version = "3.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3db8978e608f1fe7357e211969fd9abdcae80bac1ba7a3369bb7eb6b404eb65" +dependencies = [ + "darling 0.23.0", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ "cfg-if", - "cpufeatures 0.3.0", - "digest 0.11.3", + "cpufeatures", + "digest", ] [[package]] @@ -6144,8 +6444,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ "cfg-if", - "cpufeatures 0.2.17", - "digest 0.10.7", + "cpufeatures", + "digest", ] [[package]] @@ -6185,19 +6485,9 @@ dependencies = [ [[package]] name = "simd-adler32" -version = "0.3.9" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "703d5c7ef118737c72f1af64ad2f6f8c5e1921f818cdcb97b8fe6fc69bf66214" - -[[package]] -name = "simd_cesu8" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94f90157bb87cddf702797c5dadfa0be7d266cdf49e22da2fcaa32eff75b2c33" -dependencies = [ - "rustc_version", - "simdutf8", -] +checksum = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2" [[package]] name = "simd_helpers" @@ -6208,12 +6498,6 @@ dependencies = [ "quote", ] -[[package]] -name = "simdutf8" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" - [[package]] name = "simplecss" version = "0.2.2" @@ -6225,9 +6509,19 @@ dependencies = [ [[package]] name = "siphasher" -version = "1.0.3" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ee5873ec9cce0195efcb7a4e9507a04cd49aec9c83d0389df45b1ef7ba2e649" +checksum = "b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e" + +[[package]] +name = "skrifa" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c31071dedf532758ecf3fed987cdb4bd9509f900e026ab684b4ecb81ea49841" +dependencies = [ + "bytemuck", + "read-fonts 0.35.0", +] [[package]] name = "skrifa" @@ -6236,7 +6530,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7fbdfe3d2475fbd7ddd1f3e5cf8288a30eb3e5f95832829570cd88115a7434ac" dependencies = [ "bytemuck", - "read-fonts", + "read-fonts 0.37.0", ] [[package]] @@ -6266,7 +6560,7 @@ version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0512da38f5e2b31201a93524adb8d3136276fa4fe4aafab4e1f727a82b534cc0" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "bytemuck", "calloop", "calloop-wayland-source", @@ -6324,12 +6618,14 @@ dependencies = [ [[package]] name = "softbuffer" version = "0.4.1" -source = "git+https://github.com/pop-os/softbuffer?tag=cosmic-4.0#c2b2c19ddb38ff17495643699f97cb1f2064a1be" +source = "git+https://github.com/pop-os/softbuffer?tag=cosmic-4.0#a3f77e251e7422803f693df6e3fc313c010c4dcb" dependencies = [ + "as-raw-xcb-connection", "bytemuck", "cfg_aliases", "cocoa", "core-graphics", + "drm", "fastrand", "foreign-types", "js-sys", @@ -6339,12 +6635,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]] @@ -6362,7 +6660,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.11.1", + "bitflags 2.11.0", ] [[package]] @@ -6416,11 +6714,11 @@ dependencies = [ [[package]] name = "swash" -version = "0.2.7" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "842f3cd369c2ba38966204f983eaa5e54a8e84a7d7159ed36ade2b6c335aae64" +checksum = "47846491253e976bdd07d0f9cc24b7daf24720d11309302ccbbc6e6b6e53550a" dependencies = [ - "skrifa", + "skrifa 0.37.0", "yazi", "zeno", ] @@ -6438,9 +6736,9 @@ dependencies = [ [[package]] name = "synchrony" -version = "0.1.8" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "416090a4d8f6358526df5f9f65dfe28750b8b7bfd1fd8a5620f483fc4a75722c" +checksum = "e6d5f5d3091c2d998f6ab4c8b495c0d232ad0aecbc1fa9ac52c247a79d497e16" dependencies = [ "futures-util", "loom", @@ -6480,15 +6778,21 @@ dependencies = [ [[package]] name = "tar" -version = "0.4.45" +version = "0.4.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22692a6476a21fa75fdfc11d452fda482af402c008cdbaf3476414e122040973" +checksum = "1d863878d212c87a19c1a610eb53bb01fe12951c0501cf5a0d65f724914a667a" dependencies = [ "filetime", "libc", "xattr", ] +[[package]] +name = "temp-dir" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83176759e9416cf81ee66cb6508dbfe9c96f20b8b56265a39917551c23c70964" + [[package]] name = "tempfile" version = "3.27.0" @@ -6577,7 +6881,7 @@ dependencies = [ "half", "quick-error", "weezl", - "zune-jpeg 0.5.15", + "zune-jpeg 0.5.13", ] [[package]] @@ -6587,11 +6891,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c" dependencies = [ "deranged", + "itoa", "js-sys", "num-conv", "powerfmt", "serde_core", "time-core", + "time-macros", ] [[package]] @@ -6600,6 +6906,16 @@ version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca" +[[package]] +name = "time-macros" +version = "0.2.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215" +dependencies = [ + "num-conv", + "time-core", +] + [[package]] name = "tiny-skia" version = "0.11.4" @@ -6627,10 +6943,23 @@ dependencies = [ ] [[package]] -name = "tinystr" -version = "0.8.3" +name = "tiny-xlib" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8323304221c2a851516f22236c5722a72eaa19749016521d6dff0824447d96d" +checksum = "0324504befd01cab6e0c994f34b2ffa257849ee019d3fb3b64fb2c858887d89e" +dependencies = [ + "as-raw-xcb-connection", + "ctor-lite", + "libloading", + "pkg-config", + "tracing", +] + +[[package]] +name = "tinystr" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" dependencies = [ "displaydoc", "serde_core", @@ -6654,9 +6983,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.52.3" +version = "1.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fc7f01b389ac15039e4dc9531aa973a135d7a4135281b12d7c1bc79fd57fffe" +checksum = "27ad5e34374e03cfffefc301becb44e9dc3c17584f414349ebe29ed26661822d" dependencies = [ "bytes", "libc", @@ -6671,9 +7000,9 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.7.0" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "385a6cb71ab9ab790c5fe8d67f1645e6c450a7ce006a33de03daa956cf70a496" +checksum = "5c55a2eff8b69ce66c84f85e1da1c233edc36ceb85a2058d11b0d6a3c7e7569c" dependencies = [ "proc-macro2", "quote", @@ -6702,32 +7031,32 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "1.1.1+spec-1.1.0" +version = "1.0.1+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3165f65f62e28e0115a00b2ebdd37eb6f3b641855f9d636d3cd4103767159ad7" +checksum = "9b320e741db58cac564e26c607d3cc1fdc4a88fd36c879568c07856ed83ff3e9" dependencies = [ "serde_core", ] [[package]] name = "toml_edit" -version = "0.25.11+spec-1.1.0" +version = "0.25.5+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b59c4d22ed448339746c59b905d24568fcbb3ab65a500494f7b8c3e97739f2b" +checksum = "8ca1a40644a28bce036923f6a431df0b34236949d111cc07cb6dca830c9ef2e1" dependencies = [ - "indexmap", + "indexmap 2.13.0", "toml_datetime", "toml_parser", - "winnow", + "winnow 1.0.0", ] [[package]] name = "toml_parser" -version = "1.1.2+spec-1.1.0" +version = "1.0.10+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2abe9b86193656635d2411dc43050282ca48aa31c2451210f4202550afb7526" +checksum = "7df25b4befd31c4816df190124375d5a20c6b6921e2cad937316de3fccd63420" dependencies = [ - "winnow", + "winnow 1.0.0", ] [[package]] @@ -6824,7 +7153,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb30dbbd9036155e74adad6812e9898d03ec374946234fbcebd5dfc7b9187b90" dependencies = [ - "rustc-hash 2.1.2", + "rustc-hash 2.1.1", ] [[package]] @@ -6841,9 +7170,9 @@ checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" [[package]] name = "typenum" -version = "1.20.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40ce102ab67701b8526c123c1bab5cbe42d7040ccfd0f64af1a385808d2f43de" +checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" [[package]] name = "uds_windows" @@ -6934,9 +7263,9 @@ checksum = "383ad40bb927465ec0ce7720e033cb4ca06912855fc35db31b5755d0de75b1ee" [[package]] name = "unicode-segmentation" -version = "1.13.2" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9629274872b2bfaf8d66f5f15725007f635594914870f65218920345aa11aa8c" +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" [[package]] name = "unicode-vo" @@ -7015,10 +7344,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" [[package]] -name = "uuid" -version = "1.23.1" +name = "utf8parse" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddd74a9687298c6858e9b88ec8935ec45d22e8fd5e6394fa1bd4e99a87789c76" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" + +[[package]] +name = "uuid" +version = "1.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a68d3c8f01c0cfa54a75291d83601161799e4a89a39e0929f4b0354d88757a37" dependencies = [ "js-sys", "serde_core", @@ -7065,7 +7400,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a5924018406ce0063cd67f8e008104968b74b563ee1b85dde3ed1f7cb87d3dbd" dependencies = [ "arrayvec", - "bitflags 2.11.1", + "bitflags 2.11.0", "cursor-icon", "log", "memchr", @@ -7090,11 +7425,11 @@ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] name = "wasip2" -version = "1.0.3+wasi-0.2.9" +version = "1.0.2+wasi-0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20064672db26d7cdc89c7798c48a0fdfac8213434a1186e5ef29fd560ae223d6" +checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" dependencies = [ - "wit-bindgen 0.57.1", + "wit-bindgen", ] [[package]] @@ -7103,14 +7438,14 @@ version = "0.4.0+wasi-0.3.0-rc-2026-01-06" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" dependencies = [ - "wit-bindgen 0.51.0", + "wit-bindgen", ] [[package]] name = "wasm-bindgen" -version = "0.2.121" +version = "0.2.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49ace1d07c165b0864824eee619580c4689389afa9dc9ed3a4c75040d82e6790" +checksum = "6532f9a5c1ece3798cb1c2cfdba640b9b3ba884f5db45973a6f442510a87d38e" dependencies = [ "cfg-if", "once_cell", @@ -7121,19 +7456,23 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.71" +version = "0.4.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96492d0d3ffba25305a7dc88720d250b1401d7edca02cc3bcd50633b424673b8" +checksum = "e9c5522b3a28661442748e09d40924dfb9ca614b21c00d3fd135720e48b67db8" dependencies = [ + "cfg-if", + "futures-util", "js-sys", + "once_cell", "wasm-bindgen", + "web-sys", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.121" +version = "0.2.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e68e6f4afd367a562002c05637acb8578ff2dea1943df76afb9e83d177c8578" +checksum = "18a2d50fcf105fb33bb15f00e7a77b772945a2ee45dcf454961fd843e74c18e6" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -7141,9 +7480,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.121" +version = "0.2.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d95a9ec35c64b2a7cb35d3fead40c4238d0940c86d107136999567a4703259f2" +checksum = "03ce4caeaac547cdf713d280eda22a730824dd11e6b8c3ca9e42247b25c631e3" dependencies = [ "bumpalo", "proc-macro2", @@ -7154,9 +7493,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.121" +version = "0.2.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4e0100b01e9f0d03189a92b96772a1fb998639d981193d7dbab487302513441" +checksum = "75a326b8c223ee17883a4251907455a2431acc2791c98c26279376490c378c16" dependencies = [ "unicode-ident", ] @@ -7178,7 +7517,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" dependencies = [ "anyhow", - "indexmap", + "indexmap 2.13.0", "wasm-encoder", "wasmparser", ] @@ -7189,9 +7528,9 @@ version = "0.244.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "hashbrown 0.15.5", - "indexmap", + "indexmap 2.13.0", "semver", ] @@ -7211,9 +7550,9 @@ dependencies = [ [[package]] name = "wayland-backend" -version = "0.3.15" +version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2857dd20b54e916ec7253b3d6b4d5c4d7d4ca2c33c2e11c6c76a99bd8744755d" +checksum = "aa75f400b7f719bcd68b3f47cd939ba654cedeef690f486db71331eec4c6a406" dependencies = [ "cc", "downcast-rs", @@ -7225,11 +7564,11 @@ dependencies = [ [[package]] name = "wayland-client" -version = "0.31.14" +version = "0.31.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645c7c96bb74690c3189b5c9cb4ca1627062bb23693a4fad9d8c3de958260144" +checksum = "ab51d9f7c071abeee76007e2b742499e535148035bb835f97aaed1338cf516c3" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "rustix 1.1.4", "wayland-backend", "wayland-scanner", @@ -7241,16 +7580,16 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "cursor-icon", "wayland-backend", ] [[package]] name = "wayland-cursor" -version = "0.31.14" +version = "0.31.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a52d18780be9b1314328a3de5f930b73d2200112e3849ca6cb11822793fb34d" +checksum = "4b3298683470fbdc6ca40151dfc48c8f2fd4c41a26e13042f801f85002384091" dependencies = [ "rustix 1.1.4", "wayland-client", @@ -7259,11 +7598,11 @@ dependencies = [ [[package]] name = "wayland-protocols" -version = "0.32.12" +version = "0.32.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "563a85523cade2429938e790815fd7319062103b9f4a2dc806e9b53b95982d8f" +checksum = "b23b5df31ceff1328f06ac607591d5ba360cf58f90c8fad4ac8d3a55a3c4aec7" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "wayland-backend", "wayland-client", "wayland-scanner", @@ -7276,7 +7615,7 @@ version = "20250721.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "40a1f863128dcaaec790d7b4b396cc9b9a7a079e878e18c47e6c2d2c5a8dcbb1" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -7285,11 +7624,11 @@ dependencies = [ [[package]] name = "wayland-protocols-misc" -version = "0.3.12" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e9567599ef23e09b8dad6e429e5738d4509dfc46b3b21f32841a304d16b29c8" +checksum = "429b99200febaf95d4f4e46deff6fe4382bcff3280ee16a41cf887b3c3364984" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -7298,11 +7637,11 @@ dependencies = [ [[package]] name = "wayland-protocols-plasma" -version = "0.3.12" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b6d8cf1eb2c1c31ed1f5643c88a6e53538129d4af80030c8cabd1f9fa884d91" +checksum = "d392fc283a87774afc9beefcd6f931582bb97fe0e6ced0b306a62cb1d026527c" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -7311,11 +7650,11 @@ dependencies = [ [[package]] name = "wayland-protocols-wlr" -version = "0.3.12" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb04e52f7836d7c7976c78ca0250d61e33873c34156a2a1fc9474828ec268234" +checksum = "78248e4cc0eff8163370ba5c158630dcae1f3497a586b826eca2ef5f348d6235" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -7325,22 +7664,22 @@ dependencies = [ [[package]] name = "wayland-scanner" -version = "0.31.10" +version = "0.31.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c324a910fd86ebdc364a3e61ec1f11737d3b1d6c273c0239ee8ff4bc0d24b4a" +checksum = "c86287151a309799b821ca709b7345a048a2956af05957c89cb824ab919fa4e3" dependencies = [ "proc-macro2", - "quick-xml 0.39.4", + "quick-xml 0.39.2", "quote", ] [[package]] name = "wayland-server" -version = "0.31.13" +version = "0.31.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc1846eb04c49182e04f4a099e2a830a2b745610bbc1d61246e206f29c7000a0" +checksum = "63736a4a73e781cf6a736aa32c5d6773c3eb5389197562742a8c611b49b5e359" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "downcast-rs", "rustix 1.1.4", "wayland-backend", @@ -7349,9 +7688,9 @@ dependencies = [ [[package]] name = "wayland-sys" -version = "0.31.11" +version = "0.31.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8eab23fefc9e41f8e841df4a9c707e8a8c4ed26e944ef69297184de2785e3be" +checksum = "374f6b70e8e0d6bf9461a32988fd553b59ff630964924dad6e4a4eb6bd538d17" dependencies = [ "dlib", "log", @@ -7361,9 +7700,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.98" +version = "0.3.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b572dff8bcf38bad0fa19729c89bb5748b2b9b1d8be70cf90df697e3a8f32aa" +checksum = "854ba17bb104abfb26ba36da9729addc7ce7f06f5c0f90f3c391f8461cca21f9" dependencies = [ "js-sys", "wasm-bindgen", @@ -7392,7 +7731,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfe68bac7cde125de7a731c3400723cadaaf1703795ad3f4805f187459cd7a77" dependencies = [ "arrayvec", - "bitflags 2.11.1", + "bitflags 2.11.0", "cfg-if", "cfg_aliases", "document-features", @@ -7423,12 +7762,12 @@ dependencies = [ "arrayvec", "bit-set", "bit-vec", - "bitflags 2.11.1", + "bitflags 2.11.0", "bytemuck", "cfg_aliases", "document-features", "hashbrown 0.16.1", - "indexmap", + "indexmap 2.13.0", "log", "naga", "once_cell", @@ -7483,7 +7822,7 @@ dependencies = [ "arrayvec", "ash", "bit-set", - "bitflags 2.11.1", + "bitflags 2.11.0", "block", "bytemuck", "cfg-if", @@ -7528,7 +7867,7 @@ version = "27.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "afdcf84c395990db737f2dd91628706cb31e86d72e53482320d368e52b5da5eb" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "bytemuck", "js-sys", "log", @@ -7576,10 +7915,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", @@ -7842,6 +8183,15 @@ dependencies = [ "windows-link 0.2.1", ] +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets 0.42.2", +] + [[package]] name = "windows-sys" version = "0.48.0" @@ -7887,6 +8237,21 @@ dependencies = [ "windows-link 0.2.1", ] +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + [[package]] name = "windows-targets" version = "0.48.5" @@ -7944,6 +8309,12 @@ dependencies = [ "windows-link 0.1.3", ] +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + [[package]] name = "windows_aarch64_gnullvm" version = "0.48.5" @@ -7962,6 +8333,12 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + [[package]] name = "windows_aarch64_msvc" version = "0.48.5" @@ -7980,6 +8357,12 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + [[package]] name = "windows_i686_gnu" version = "0.48.5" @@ -8010,6 +8393,12 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + [[package]] name = "windows_i686_msvc" version = "0.48.5" @@ -8028,6 +8417,12 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + [[package]] name = "windows_x86_64_gnu" version = "0.48.5" @@ -8046,6 +8441,12 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + [[package]] name = "windows_x86_64_gnullvm" version = "0.48.5" @@ -8064,6 +8465,12 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + [[package]] name = "windows_x86_64_msvc" version = "0.48.5" @@ -8085,9 +8492,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#261cda54017f98a12dc55569c864430fe6770366" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#a610ac9c7a72b39ff102ed4d946291618dc725b6" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "cfg_aliases", "cursor-icon", "dpi", @@ -8105,15 +8512,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#261cda54017f98a12dc55569c864430fe6770366" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#a610ac9c7a72b39ff102ed4d946291618dc725b6" dependencies = [ "android-activity", - "bitflags 2.11.1", + "bitflags 2.11.0", "dpi", "ndk", "raw-window-handle", @@ -8125,9 +8533,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#261cda54017f98a12dc55569c864430fe6770366" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#a610ac9c7a72b39ff102ed4d946291618dc725b6" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "block2 0.6.2", "dispatch2", "dpi", @@ -8147,7 +8555,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#261cda54017f98a12dc55569c864430fe6770366" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#a610ac9c7a72b39ff102ed4d946291618dc725b6" dependencies = [ "memmap2 0.9.10", "objc2 0.6.4", @@ -8155,15 +8563,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#261cda54017f98a12dc55569c864430fe6770366" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#a610ac9c7a72b39ff102ed4d946291618dc725b6" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "cursor-icon", "dpi", "keyboard-types", @@ -8175,14 +8584,14 @@ dependencies = [ [[package]] name = "winit-orbital" version = "0.31.0-beta.2" -source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#261cda54017f98a12dc55569c864430fe6770366" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#a610ac9c7a72b39ff102ed4d946291618dc725b6" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "dpi", "libredox", "orbclient", "raw-window-handle", - "redox_syscall 0.7.5", + "redox_syscall 0.7.3", "smol_str", "tracing", "winit-core", @@ -8191,9 +8600,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#261cda54017f98a12dc55569c864430fe6770366" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#a610ac9c7a72b39ff102ed4d946291618dc725b6" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "block2 0.6.2", "dispatch2", "dpi", @@ -8211,10 +8620,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#261cda54017f98a12dc55569c864430fe6770366" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#a610ac9c7a72b39ff102ed4d946291618dc725b6" dependencies = [ "ahash", - "bitflags 2.11.1", + "bitflags 2.11.0", "calloop", "cursor-icon", "dpi", @@ -8237,10 +8646,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#261cda54017f98a12dc55569c864430fe6770366" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#a610ac9c7a72b39ff102ed4d946291618dc725b6" dependencies = [ "atomic-waker", - "bitflags 2.11.1", + "bitflags 2.11.0", "concurrent-queue", "cursor-icon", "dpi", @@ -8259,9 +8668,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#261cda54017f98a12dc55569c864430fe6770366" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#a610ac9c7a72b39ff102ed4d946291618dc725b6" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "cursor-icon", "dpi", "raw-window-handle", @@ -8272,11 +8681,43 @@ 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#a610ac9c7a72b39ff102ed4d946291618dc725b6" +dependencies = [ + "bitflags 2.11.0", + "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 = "1.0.2" +version = "0.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ee1708bef14716a11bae175f579062d4554d95be2c6829f518df847b7b3fdd0" +checksum = "df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945" +dependencies = [ + "memchr", +] + +[[package]] +name = "winnow" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a90e88e4667264a994d34e6d1ab2d26d398dcdca8b7f52bec8668957517fc7d8" dependencies = [ "memchr", ] @@ -8290,12 +8731,6 @@ dependencies = [ "wit-bindgen-rust-macro", ] -[[package]] -name = "wit-bindgen" -version = "0.57.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e" - [[package]] name = "wit-bindgen-core" version = "0.51.0" @@ -8315,7 +8750,7 @@ checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" dependencies = [ "anyhow", "heck 0.5.0", - "indexmap", + "indexmap 2.13.0", "prettyplease", "syn", "wasm-metadata", @@ -8345,8 +8780,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" dependencies = [ "anyhow", - "bitflags 2.11.1", - "indexmap", + "bitflags 2.11.0", + "indexmap 2.13.0", "log", "serde", "serde_derive", @@ -8365,7 +8800,7 @@ checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" dependencies = [ "anyhow", "id-arena", - "indexmap", + "indexmap 2.13.0", "log", "semver", "serde", @@ -8383,13 +8818,46 @@ checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" [[package]] name = "writeable" -version = "0.6.3" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ffae5123b2d3fc086436f8834ae3ab053a283cfac8fe0a0b8eaae044768a4c4" +checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" 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 = "xattr" version = "1.6.1" @@ -8458,13 +8926,24 @@ dependencies = [ "xkeysym", ] +[[package]] +name = "xkbcommon" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7a974f48060a14e95705c01f24ad9c3345022f4d97441b8a36beb7ed5c4a02d" +dependencies = [ + "libc", + "memmap2 0.9.10", + "xkeysym", +] + [[package]] name = "xkbcommon-dl" version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "dlib", "log", "once_cell", @@ -8482,9 +8961,9 @@ dependencies = [ [[package]] name = "xml" -version = "1.3.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "636f85e5ca6488e96401b61eb7de54f4e44755c988af0f52cf90230c312a1a89" +checksum = "b8aa498d22c9bbaf482329839bc5620c46be275a19a812e9a22a2b07529a642a" [[package]] name = "xml-rs" @@ -8527,9 +9006,9 @@ checksum = "e01738255b5a16e78bbb83e7fbba0a1e7dd506905cfc53f4622d89015a03fbb5" [[package]] name = "yoke" -version = "0.8.2" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abe8c5fda708d9ca3df187cae8bfb9ceda00dd96231bed36e445a1a48e66f9ca" +checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" dependencies = [ "stable_deref_trait", "yoke-derive", @@ -8538,9 +9017,9 @@ dependencies = [ [[package]] name = "yoke-derive" -version = "0.8.2" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858e" +checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" dependencies = [ "proc-macro2", "quote", @@ -8550,9 +9029,9 @@ dependencies = [ [[package]] name = "zbus" -version = "5.15.0" +version = "5.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3bcbf15c8708d7fc1be0c993622e0a5cbd5e8b52bfa40afa4c3e0cd8d724ac1" +checksum = "ca82f95dbd3943a40a53cfded6c2d0a2ca26192011846a1810c4256ef92c60bc" dependencies = [ "async-broadcast", "async-executor", @@ -8578,7 +9057,7 @@ dependencies = [ "uds_windows", "uuid", "windows-sys 0.61.2", - "winnow", + "winnow 0.7.15", "zbus_macros", "zbus_names", "zvariant", @@ -8610,9 +9089,9 @@ dependencies = [ [[package]] name = "zbus_macros" -version = "5.15.0" +version = "5.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51fa5406ad9175a8c825a931f8cf347116b531b3634fcb0b627c290f1f2516ff" +checksum = "897e79616e84aac4b2c46e9132a4f63b93105d54fe8c0e8f6bffc21fa8d49222" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -8625,22 +9104,22 @@ dependencies = [ [[package]] name = "zbus_names" -version = "4.3.2" +version = "4.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7074f3e50b894eac91750142016d30d0a89be8e67dbfd9704fb875825760e52d" +checksum = "ffd8af6d5b78619bab301ff3c560a5bd22426150253db278f164d6cf3b72c50f" dependencies = [ "serde", - "winnow", + "winnow 0.7.15", "zvariant", ] [[package]] name = "zbus_xml" -version = "5.1.1" +version = "5.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8067892e940ed1727dea64690378601603b31d62dfde019a5335fbb7c0e0ed9" +checksum = "441a0064125265655bccc3a6af6bef56814d9277ac83fce48b1cd7e160b80eac" dependencies = [ - "quick-xml 0.39.4", + "quick-xml 0.38.4", "serde", "zbus_names", "zvariant", @@ -8654,18 +9133,18 @@ checksum = "6df3dc4292935e51816d896edcd52aa30bc297907c26167fec31e2b0c6a32524" [[package]] name = "zerocopy" -version = "0.8.48" +version = "0.8.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eed437bf9d6692032087e337407a86f04cd8d6a16a37199ed57949d415bd68e9" +checksum = "f2578b716f8a7a858b7f02d5bd870c14bf4ddbbcf3a4c05414ba6503640505e3" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.48" +version = "0.8.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70e3cd084b1788766f53af483dd21f93881ff30d7320490ec3ef7526d203bad4" +checksum = "7e6cc098ea4d3bd6246687de65af3f920c430e236bee1e3bf2e441463f08a02f" dependencies = [ "proc-macro2", "quote", @@ -8674,18 +9153,18 @@ dependencies = [ [[package]] name = "zerofrom" -version = "0.1.8" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ec05a11813ea801ff6d75110ad09cd0824ddba17dfe17128ea0d5f68e6c5272" +checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" dependencies = [ "zerofrom-derive", ] [[package]] name = "zerofrom-derive" -version = "0.1.7" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11532158c46691caf0f2593ea8358fed6bbf68a0315e80aae9bd41fbade684a1" +checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", @@ -8698,24 +9177,37 @@ name = "zeroize" version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" +dependencies = [ + "zeroize_derive", +] + +[[package]] +name = "zeroize_derive" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85a5b4158499876c763cb03bc4e49185d3cccbabb15b33c627f7884f43db852e" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] [[package]] name = "zerotrie" -version = "0.2.4" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f9152d31db0792fa83f70fb2f83148effb5c1f5b8c7686c3459e361d9bc20bf" +checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" dependencies = [ "displaydoc", "yoke", "zerofrom", - "zerovec", ] [[package]] name = "zerovec" -version = "0.11.6" +version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90f911cbc359ab6af17377d242225f4d75119aec87ea711a880987b18cd7b239" +checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" dependencies = [ "serde", "yoke", @@ -8725,9 +9217,9 @@ dependencies = [ [[package]] name = "zerovec-derive" -version = "0.11.3" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "625dc425cab0dca6dc3c3319506e6593dcb08a9f387ea3b284dbd52a92c40555" +checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" dependencies = [ "proc-macro2", "quote", @@ -8736,19 +9228,20 @@ dependencies = [ [[package]] name = "zip" -version = "8.6.0" +version = "7.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d04a6b5381502aa6087c94c669499eb1602eb9c5e8198e534de571f7154809b" +checksum = "c42e33efc22a0650c311c2ef19115ce232583abbe80850bc8b66509ebef02de0" dependencies = [ - "aes 0.9.0", + "aes", "bzip2", "constant_time_eq", "crc32fast", "deflate64", "flate2", - "getrandom 0.4.2", - "hmac 0.13.0", - "indexmap", + "generic-array", + "getrandom 0.3.4", + "hmac", + "indexmap 2.13.0", "lzma-rust2", "memchr", "pbkdf2", @@ -8845,33 +9338,33 @@ dependencies = [ [[package]] name = "zune-jpeg" -version = "0.5.15" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27bc9d5b815bc103f142aa054f561d9187d191692ec7c2d1e2b4737f8dbd7296" +checksum = "ec5f41c76397b7da451efd19915684f727d7e1d516384ca6bd0ec43ec94de23c" dependencies = [ "zune-core 0.5.1", ] [[package]] name = "zvariant" -version = "5.11.0" +version = "5.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c1567a6ec68df868cbbfde844cfc6d81649fe5109a62b116b19fabd53e618ee" +checksum = "5708299b21903bbe348e94729f22c49c55d04720a004aa350f1f9c122fd2540b" dependencies = [ "endi", "enumflags2", "serde", "url", - "winnow", + "winnow 0.7.15", "zvariant_derive", "zvariant_utils", ] [[package]] name = "zvariant_derive" -version = "5.11.0" +version = "5.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7d5b780599bbde114e39d9a0799577fad1ced5105d38515745f7b3099d8ceda" +checksum = "5b59b012ebe9c46656f9cc08d8da8b4c726510aef12559da3e5f1bf72780752c" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -8882,13 +9375,13 @@ dependencies = [ [[package]] name = "zvariant_utils" -version = "3.3.1" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d464f5733ffa07a3164d656f18533caace9d0638596721355d73256a410d691" +checksum = "f75c23a64ef8f40f13a6989991e643554d9bef1d682a281160cf0c1bc389c5e9" dependencies = [ "proc-macro2", "quote", "serde", "syn", - "winnow", + "winnow 0.7.15", ] diff --git a/Cargo.toml b/Cargo.toml index 24a332a..961a06c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cosmic-term" -version = "1.0.13" +version = "1.0.8" authors = ["Jeremy Soller "] edition = "2024" license = "GPL-3.0-only" @@ -36,20 +36,18 @@ thiserror = { version = "2.0", optional = true } secstr = { version = "0.5", optional = true } [dependencies.cosmic-files] -path = "../cosmic-files" +git = "https://github.com/pop-os/cosmic-files.git" default-features = false [dependencies.cosmic-text] -git = "https://forge.aditua.com/leyoda/cosmic-text.git" -branch = "local/pr-503" +git = "https://github.com/pop-os/cosmic-text.git" features = ["monospace_fallback", "shape-run-cache"] -[dependencies.cosmic] -package = "libcosmic-yoda" -path = "../libcosmic" +[dependencies.libcosmic] +git = "https://github.com/pop-os/libcosmic.git" default-features = false #TODO: a11y feature crashes file chooser dialog -features = ["about", "autosize", "multi-window", "tokio", "winit", "surface-message"] +features = ["about", "multi-window", "tokio", "winit", "surface-message"] [target.'cfg(unix)'.dependencies] fork = "0.4" @@ -59,9 +57,9 @@ xdgen = "0.1" [features] default = ["dbus-config", "wgpu", "wayland", "password_manager"] -dbus-config = ["cosmic/dbus-config"] -wgpu = ["cosmic/wgpu", "cosmic-files/wgpu"] -wayland = ["cosmic/wayland", "cosmic-files/wayland"] +dbus-config = ["libcosmic/dbus-config"] +wgpu = ["libcosmic/wgpu", "cosmic-files/wgpu"] +wayland = ["libcosmic/wayland", "cosmic-files/wayland"] password_manager = ["secret-service", "thiserror", "secstr"] [profile.release-with-debug] @@ -69,29 +67,7 @@ inherits = "release" debug = true -[patch.'https://github.com/pop-os/libcosmic'] -cosmic-config = { path = "../libcosmic/cosmic-config" } -cosmic-theme = { path = "../libcosmic/cosmic-theme" } -iced = { path = "../libcosmic/iced" } -iced_accessibility = { path = "../libcosmic/iced/accessibility" } -iced_core = { path = "../libcosmic/iced/core" } -iced_futures = { path = "../libcosmic/iced/futures" } -iced_graphics = { path = "../libcosmic/iced/graphics" } -iced_renderer = { path = "../libcosmic/iced/renderer" } -iced_runtime = { path = "../libcosmic/iced/runtime" } -iced_tiny_skia = { path = "../libcosmic/iced/tiny_skia" } -iced_wgpu = { path = "../libcosmic/iced/wgpu" } -iced_widget = { path = "../libcosmic/iced/widget" } -iced_winit = { path = "../libcosmic/iced/winit" } - -[patch.'https://github.com/pop-os/cosmic-protocols'] -cosmic-protocols = { path = "../cosmic-protocols" } -cosmic-client-toolkit = { path = "../cosmic-protocols/client-toolkit" } - -[patch.'https://github.com/pop-os/cosmic-text.git'] -cosmic-text = { git = "https://forge.aditua.com/leyoda/cosmic-text.git", branch = "local/pr-503" } - -[patch.'https://forge.aditua.com/leyoda/window_clipboard.git'] -window_clipboard = { path = "../window_clipboard" } -dnd = { path = "../window_clipboard/dnd" } -mime = { path = "../window_clipboard/mime" } +#[patch.'https://github.com/pop-os/libcosmic'] +#libcosmic = { path = "../libcosmic" } +#cosmic-config = { path = "../libcosmic/cosmic-config" } +#cosmic-theme = { path = "../libcosmic/cosmic-theme" } diff --git a/debian/changelog b/debian/changelog index f8a7183..0171432 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,27 +1,3 @@ -cosmic-term (1.0.13) noble; urgency=medium - - * Epoch 1.0.13 version update - - -- Jeremy Soller Tue, 12 May 2026 09:39:57 -0600 - -cosmic-term (1.0.12) noble; urgency=medium - - * Epoch 1.0.12 version update - - -- Jeremy Soller Tue, 05 May 2026 10:25:04 -0600 - -cosmic-term (1.0.11) noble; urgency=medium - - * Epoch 1.0.11 version update - - -- Jeremy Soller Tue, 14 Apr 2026 11:11:05 -0600 - -cosmic-term (1.0.9) noble; urgency=medium - - * Epoch 1.0.9 version update - - -- Jeremy Soller Mon, 06 Apr 2026 15:10:35 -0600 - cosmic-term (1.0.8) noble; urgency=medium * Epoch 1.0.8 version update diff --git a/i18n/ar/cosmic_term.ftl b/i18n/ar/cosmic_term.ftl index f7284d6..b01fbd0 100644 --- a/i18n/ar/cosmic_term.ftl +++ b/i18n/ar/cosmic_term.ftl @@ -30,7 +30,7 @@ tab-title-description = تجاوز عنوان اللسان المبدئي add-profile = أضف ملف تعريف new-profile = ملف تعريف جديد make-default = اجعله المبدئي -working-directory = المجلَّد الحالي +working-directory = مجلد العمل hold = التعليق remain-open = البقاء مفتوحًا بعد خروج العملية الفرعية. @@ -138,12 +138,10 @@ shortcut-group-clipboard = الحافظة shortcut-group-other = أخرى shortcut-group-tabs = ألسنة shortcut-group-window = نافذة -shortcut-group-zoom = تكبير +shortcut-group-zoom = كبِّر shortcut-replace-body = عُيِّن { $binding } بالفعل لـ { $existing }. أتريد استبداله بـ { $new_action }؟ shortcut-replace-title = استبدل الاختصار؟ tab-activate = نشّط لسان { $number } toggle-fullscreen = بدّل ملء الشاشة type-to-search = اكتب للبحث... copy-link = انسخ الرابط -tab-new-inherit-working-directory = الألسنة الجديدة تستخدم المجلد الحالي -tab-new-inherit-working-directory-description = افتح ألسنة جديدة في مجلد العمل الخاص باللسان النشط diff --git a/i18n/ca/cosmic_term.ftl b/i18n/ca/cosmic_term.ftl index 2b32132..e69de29 100644 --- a/i18n/ca/cosmic_term.ftl +++ b/i18n/ca/cosmic_term.ftl @@ -1,3 +0,0 @@ -cancel = Cancel·lar -settings = Configuració -quit = Surt diff --git a/i18n/cs/cosmic_term.ftl b/i18n/cs/cosmic_term.ftl index dcedece..6e5784f 100644 --- a/i18n/cs/cosmic_term.ftl +++ b/i18n/cs/cosmic_term.ftl @@ -41,7 +41,7 @@ default-font-stretch = Šířka písma default-font-weight = Normální tloušťka písma default-dim-font-weight = Tenká tloušťka písma default-bold-font-weight = Tučná tloušťka písma -use-bright-bold = Světlejší tučný text +use-bright-bold = Zvýraznit tučný text splits = Rozdělení focus-follow-mouse = Zaměření psaní sleduje myš advanced = Pokročilé @@ -86,7 +86,7 @@ disable = Zakázat keyboard-shortcuts = Klávesové zkratky menu-keyboard-shortcuts = Klávesové zkratky... no-shortcuts = Žádné zkratky -password-manager = Správce hesel +password-manager = Manažer hesel replace = Nahradit reset-to-default = Obnovit výchozí shortcut-group-clipboard = Schránka @@ -107,5 +107,3 @@ shortcut-replace-body = { $binding } je již přiřazena k „{ $existing }“. shortcut-capture-hint = Stiskněte kombinaci kláves paste-primary = Vložit primární copy-link = Kopírovat odkaz -tab-new-inherit-working-directory = Nové karty používají aktuální adresář -tab-new-inherit-working-directory-description = Otevírat nové karty v pracovním adresáři aktivní karty diff --git a/i18n/de/cosmic_term.ftl b/i18n/de/cosmic_term.ftl index 381a685..5d7555b 100644 --- a/i18n/de/cosmic_term.ftl +++ b/i18n/de/cosmic_term.ftl @@ -28,7 +28,7 @@ new-profile = Neues Profil make-default = Als Standard festlegen working-directory = Arbeitsverzeichnis hold = Halten -remain-open = Nach Beendigung des untergeordneten Prozesses geöffnet lassen. +remain-open = Nach Beendigung des Kindprozesses offen bleiben. ## Einstellungen @@ -38,7 +38,7 @@ settings = Einstellungen appearance = Aussehen theme = Thema -match-desktop = An Desktop anpassen +match-desktop = An System anpassen dark = Dunkel light = Hell syntax-dark = Dunkles Farbschema @@ -67,7 +67,7 @@ focus-follow-mouse = Tippfokus folgt Maus advanced = Erweitert show-headerbar = Kopfzeile anzeigen -show-header-description = Kopfzeile über das Rechtsklick-Menü aufzeigen +show-header-description = Kopfzeile über das Rechtsklickmenü einblenden. # Suchen find-placeholder = Suchen... find-previous = Vorherigen suchen @@ -141,11 +141,3 @@ type-to-search = Zum Suchen tippen... close-window = Fenster schließen copy-or-sigint = Kopieren oder SIGINT toggle-fullscreen = Vollbild umschalten -shortcut-group-zoom = Zoom -comment = Terminalemulator für den COSMIC Desktop -paste-primary = Primär einfügen -add-another-keybinding = Weitere Tastenbelegung hinzufügen -shortcut-replace-body = { $binding } ist bereits { $existing } zugeordnet. Durch { $new_action } ersetzen? -keywords = Befehl;Shell;Terminal;CLI; -tab-new-inherit-working-directory = Neue Tabs verwenden das aktuelle Verzeichnis -tab-new-inherit-working-directory-description = Neue Tabs im Arbeitsverzeichnis des aktiven Tabs öffnen diff --git a/i18n/el/cosmic_term.ftl b/i18n/el/cosmic_term.ftl index 99f844a..dffa8dd 100644 --- a/i18n/el/cosmic_term.ftl +++ b/i18n/el/cosmic_term.ftl @@ -1,5 +1,5 @@ -cosmic-terminal = Τερματικό COSMIC -new-terminal = Νέο τερματικό +cosmic-terminal = Τερματικός COSMIC +new-terminal = Νέος Τερματικός # Context Pages @@ -14,7 +14,7 @@ rename = Μετονομασία export = Εξαγωγή delete = Διαγραφή import = Εισαγωγή -import-errors = Σφάλματα εισαγωγής +import-errors = Προβλήματα Εισαγωγής ## Profiles @@ -22,16 +22,16 @@ profiles = Προφίλ name = Όνομα command-line = Γραμμή εντολών tab-title = Τίτλος καρτέλας -tab-title-description = Παράκαμψη του προεπιλεγμένου τίτλου καρτέλας +tab-title-description = Μετονομασία του προεπιλεγμένου τίτλου καρτέλας add-profile = Προσθήκη προφίλ new-profile = Νέο προφίλ -make-default = Ορισμός ως προεπιλογή -working-directory = Κατάλογος εργασίας +make-default = Κάντο προεπιλογή +working-directory = Τρέχων κατάλογος ## alt: Παύση -hold = Διατήρηση -remain-open = Παραμένει ανοικτό μετά την έξοδο από τη θυγατρική διεργασία. +hold = Κράτηση +remain-open = Παραμένει ανοιχτό μετά την έξοδο της θυγατρικής διεργασίας ## Settings @@ -41,13 +41,13 @@ settings = Ρυθμίσεις appearance = Εμφάνιση theme = Θέμα -match-desktop = Συμφωνία με την επιφάνεια εργασίας -dark = Σκουρόχρωμο -light = Ανοιχτόχρωμο -syntax-dark = Σκουρόχρωμος χρωματικός συνδυασμός -syntax-light = Ανοιχτόχρωμος χρωματικός συνδυασμός -default-zoom-step = Βήματα ζουμ -opacity = Αδιαφάνεια φόντου +match-desktop = Αυτόματο +dark = Σκοτεινό +light = Φωτεινό +syntax-dark = Σκοτεινός χρωματικός συνδυασμός +syntax-light = Φωτεινός χρωματικός συνδυασμός +default-zoom-step = Βήματα μεγέθυνσης +opacity = Αδιαφάνια υπόβαθρου ### Font @@ -56,21 +56,21 @@ advanced-font-settings = Προηγμένες ρυθμίσεις γραμματ default-font = Γραμματοσειρά default-font-size = Μέγεθος γραμματοσειράς default-font-stretch = Τέντωμα γραμματοσειράς -default-font-weight = Πάχος κανονικής γραμματοσειράς -default-dim-font-weight = Πάχος θαμπής γραμματοσειράς -default-bold-font-weight = Πάχος έντονης γραμματοσειράς -use-bright-bold = Να εμφανίζεται πιο φωτεινό το κείμενο με έντονη γραφή +default-font-weight = Βάρος κανονικής γραμματοσειράς +default-dim-font-weight = Βάρος θαμπής γραμματοσειράς +default-bold-font-weight = Βάρος έντονης γραμματοσειράς +use-bright-bold = Κάνε το έντονο κείμενο πιο φωτεινό ### Splits -splits = Διαχωρισμοί -focus-follow-mouse = Να ακολουθεί η εστίαση πληκτρολόγησης το ποντίκι +splits = Διαχωρισμός +focus-follow-mouse = H πληκτρολόγηση να ακολουθεί το ποντίκι ### Advanced -advanced = Σύνθετες επιλογές +advanced = Προχωρημένα show-headerbar = Εμφάνιση κεφαλίδας -show-header-description = Εμφάνιση της κεφαλίδας από το μενού δεξιού κλικ +show-header-description = Εμφανήστε την κεφαλίδα από το μενού δεξιού κλικ. # Find find-placeholder = Εύρεση... find-previous = Εύρεση προηγούμενου @@ -82,12 +82,12 @@ find-next = Εύρεση επόμενου ## File file = Αρχείο -new-tab = Νέα καρτέλα +new-tab = Νέα ταμπέλα new-window = Νέο παράθυρο profile = Προφίλ -menu-profiles = Προφίλ... +menu-profiles = Περισσότερα Προφίλ... close-tab = Κλείσιμο καρτέλας -quit = Έξοδος +quit = Τερματισμός ## Edit @@ -99,56 +99,19 @@ find = Εύρεση ## View -view = Προβολή -zoom-in = Μεγαλύτερο κείμενο -zoom-reset = Προεπιλεγμένο μέγεθος κειμένου -zoom-out = Μικρότερο κείμενο -next-tab = Επόμενη καρτέλα -previous-tab = Προηγούμενη καρτέλα +view = Εμφάνιση +zoom-in = Μεγέθυνση κείμενου +zoom-reset = Επαναφορά κειμένου +zoom-out = Σμίκρυνση κείμενου +next-tab = Επόμενη ταμπέλα +previous-tab = Προηγούμενη ταμπέλα split-horizontal = Οριζόντιος διαχωρισμός split-vertical = Κάθετος διαχωρισμός -pane-toggle-maximize = Εναλλαγή μεγιστοποίησης +pane-toggle-maximize = Εναλλαγή μεγέθυνσης menu-color-schemes = Χρωματικοί συνδυασμοί... menu-settings = Ρυθμίσεις... -menu-about = Σχετικά με το Τερματικό COSMIC... +menu-about = Σχετικά με τον τερματικό COSMIC... repository = Αποθετήριο support = Υποστήριξη cancel = Ακύρωση -menu-keyboard-shortcuts = Συντομεύσεις πληκτρολογίου... -replace = Αντικατάσταση -passwords-title = Κωδικοί πρόσβασης -password-input = Κωδικός πρόσβασης -password-input-description = Περιγραφή -add-password = Προσθήκη κωδικού πρόσβασης -menu-password-manager = Κωδικοί πρόσβασης... -clear-scrollback = Απαλοιφή ιστορικού κύλισης -open-link = Άνοιγμα συνδέσμου -comment = Εξομοιωτής τερματικού για το περιβάλλον επιφάνειας εργασίας COSMIC -keyboard-shortcuts = Συντομεύσεις πληκτρολογίου -keywords = Εντολή;Κέλυφος;Τερματικό;Command;Shell;Terminal;CLI; -close-window = Κλείσιμο παραθύρου -disable = Απενεργοποίηση -shortcut-group-clipboard = Πρόχειρο -shortcut-group-tabs = Καρτέλες -shortcut-group-window = Παράθυρο -copy-link = Αντιγραφή συνδέσμου -type-to-search = Πληκτρολογήστε για αναζήτηση... -password-manager = Διαχείριση κωδικών πρόσβασης -shortcut-replace-title = Αντικατάσταση συντόμευσης; -tab-activate = Ενεργοποίηση καρτέλας { $number } -reset-to-default = Επαναφορά προεπιλογών -shortcut-capture-hint = Πατήστε τον συνδυασμό πλήκτρων -toggle-fullscreen = Εναλλαγή πλήρους οθόνης -add-another-keybinding = Προσθήκη άλλου συνδυασμού πλήκτρων -copy-or-sigint = Αντιγραφή ή SIGINT -focus-pane-down = Εστίαση στην κάτω περιοχή -focus-pane-left = Εστίαση στην αριστερή περιοχή -focus-pane-right = Εστίαση στη δεξιά περιοχή -focus-pane-up = Εστίαση στην πάνω περιοχή -no-shortcuts = Δεν υπάρχουν συντομεύσεις -paste-primary = Πρωτεύουσα επικόλληση -shortcut-group-other = Άλλες -shortcut-group-zoom = Ζουμ -shortcut-replace-body = Ο συνδυασμός { $binding } έχει ήδη αντιστοιχιστεί στην ενέργεια «{ $existing }». Θέλετε να αντικατασταθεί με την ενέργεια «{ $new_action }»; -tab-new-inherit-working-directory = Οι νέες καρτέλες χρησιμοποιούν τον τρέχοντα κατάλογο -tab-new-inherit-working-directory-description = Άνοιγμα νέων καρτελών στον τρέχοντα κατάλογο της ενεργής καρτέλας +menu-keyboard-shortcuts = Συντομεύσεις πλήκτρων... diff --git a/i18n/en/cosmic_term.ftl b/i18n/en/cosmic_term.ftl index e7d5718..659021d 100644 --- a/i18n/en/cosmic_term.ftl +++ b/i18n/en/cosmic_term.ftl @@ -63,14 +63,11 @@ focus-follow-mouse = Typing focus follows mouse advanced = Advanced show-headerbar = Show header show-header-description = Reveal the header from the right-click menu -tab-new-inherit-working-directory = New tabs use current directory -tab-new-inherit-working-directory-description = Open new tabs in the active tab's working directory ### Keyboard shortcuts add-another-keybinding = Add another keybinding cancel = Cancel close-window = Close window -confirm = Confirm copy-or-sigint = Copy or SIGINT disable = Disable focus-pane-down = Focus pane down @@ -84,7 +81,6 @@ password-manager = Password manager paste-primary = Paste primary replace = Replace reset-to-default = Reset to default -reset = Reset shortcut-capture-hint = Press the key combination shortcut-group-clipboard = Clipboard shortcut-group-other = Other @@ -94,9 +90,6 @@ shortcut-group-zoom = Zoom shortcut-replace-body = { $binding } is already assigned to { $existing }. Replace it with { $new_action }? shortcut-replace-title = Replace shortcut? tab-activate = Activate tab { $number } -rename-tab = Rename tab -tab-name-placeholder = Tab name -tab-rename-title = Rename tab toggle-fullscreen = Toggle fullscreen type-to-search = Type to search... diff --git a/i18n/es-419/cosmic_term.ftl b/i18n/es-419/cosmic_term.ftl index e4bdab1..d46447b 100644 --- a/i18n/es-419/cosmic_term.ftl +++ b/i18n/es-419/cosmic_term.ftl @@ -68,8 +68,6 @@ focus-follow-mouse = El enfoque de escritura sigue al mouse advanced = Avanzado show-headerbar = Mostrar encabezado show-header-description = Mostrar el encabezado desde el menú contextual. -tab-new-inherit-working-directory = Las pestañas nuevas usan el directorio actual -tab-new-inherit-working-directory-description = Abrir pestañas nuevas en el directorio de trabajo de la pestaña activa # Find find-placeholder = Buscar... find-previous = Buscar anterior diff --git a/i18n/es-ES/cosmic_term.ftl b/i18n/es-ES/cosmic_term.ftl index 202761f..e0ad38b 100644 --- a/i18n/es-ES/cosmic_term.ftl +++ b/i18n/es-ES/cosmic_term.ftl @@ -70,8 +70,6 @@ focus-follow-mouse = Enfoque del tecleo sigue el ratón advanced = Avanzado show-headerbar = Mostrar encabezado show-header-description = Mostrar encabezado desde el menú del clic secundario. -tab-new-inherit-working-directory = Las pestañas nuevas usan el directorio actual -tab-new-inherit-working-directory-description = Abrir pestañas nuevas en el directorio de trabajo de la pestaña activa # Find find-placeholder = Buscar... find-previous = Buscar previo diff --git a/i18n/eu/cosmic_term.ftl b/i18n/eu/cosmic_term.ftl deleted file mode 100644 index e69de29..0000000 diff --git a/i18n/fi/cosmic_term.ftl b/i18n/fi/cosmic_term.ftl index 9eda973..f7e985e 100644 --- a/i18n/fi/cosmic_term.ftl +++ b/i18n/fi/cosmic_term.ftl @@ -14,7 +14,7 @@ rename = Nimeä uudelleen export = Vie delete = Poista import = Tuo -import-errors = Tuotaessa tapahtuneet virheet +import-errors = Tuo virheet ## Profiles @@ -26,9 +26,9 @@ tab-title-description = Ylikirjoita välilehden oletusotsikko add-profile = Lisää profiili new-profile = Uusi profiili make-default = Aseta oletukseksi -working-directory = Työhakemisto +working-directory = Työkansio hold = Pidä -remain-open = Pysy avoinna lapsiprosessin sulkeutumisen jälkeen. +remain-open = Pysy auki lapsiprosessin sulkeutumisen jälkeen. ## Settings @@ -38,13 +38,13 @@ settings = Asetukset appearance = Ulkoasu theme = Teema -match-desktop = Sovita työpöytään +match-desktop = Sovita työpöydän kanssa dark = Tumma light = Vaalea syntax-dark = Tumma väriteema syntax-light = Vaalea väriteema -default-zoom-step = Zoomauksen askeleet -opacity = Taustan peittävyys +default-zoom-step = Zoomausaskeleet +opacity = Taustan läpinäkyvyys ### Font @@ -52,11 +52,11 @@ font = Fontti advanced-font-settings = Fontin lisäasetukset default-font = Fontti default-font-size = Fontin koko -default-font-stretch = Fontin venyvyys -default-font-weight = Fontin normaalipaino -default-dim-font-weight = Himmennetyn fontin paino -default-bold-font-weight = Lihavoidun fontin paino -use-bright-bold = Näytä lihavoitu teksti kirkkaampana +default-font-stretch = Kirjasimen venyvyys +default-font-weight = Oletuskirjasimen paino +default-dim-font-weight = Kirjasimen painon himmennys +default-bold-font-weight = Paksun kirjasimen paino +use-bright-bold = Näytä paksu kirjasin kirkkaana ### Splits @@ -67,7 +67,7 @@ focus-follow-mouse = Kirjoituksen kohdistus seuraa hiirtä advanced = Lisäasetukset show-headerbar = Näytä otsake -show-header-description = Paljasta otsake hiiren oikean painikkeen valikosta +show-header-description = Paljasta otsake hiiren oikean painikkeen valikosta. # Find @@ -107,7 +107,7 @@ next-tab = Seuraava välilehti previous-tab = Edellinen välilehti split-horizontal = Halkaise näkymä vaakasuunnassa split-vertical = Halkaise näkymä pystysuunnassa -pane-toggle-maximize = Suurennus päällä tai pois +pane-toggle-maximize = Maksimointi päälle tai pois päältä menu-color-schemes = Väriteemat… menu-settings = Asetukset… menu-about = Tietoa COSMICin päätteestä… @@ -134,20 +134,3 @@ menu-keyboard-shortcuts = Pikanäppäimet… tab-activate = Aktivoi välilehti { $number } type-to-search = Etsi kirjoittamalla… password-manager = Salasanahallinta -reset-to-default = Palauta oletukseksi -menu-password-manager = Salasanat… -add-another-keybinding = Lisää toinen näppäinsidos -focus-pane-down = Kohdista alempaan ruutuun -focus-pane-left = Kohdista vasemmanpuoleiseen ruutuun -focus-pane-right = Kohdista oikeanpuoleiseen ruutuun -focus-pane-up = Kohdista ylempään ruutuun -paste-primary = Liitä ensisijainen -shortcut-capture-hint = Paina näppäinyhdistelmää -shortcut-replace-body = { $binding } on jo kytketty toimintoon { $existing }. Korvataanko se toiminnolla { $new_action }? -shortcut-replace-title = Korvataanko pikanäppäin? -copy-or-sigint = Kopioi tai SIGINT -shortcut-group-zoom = Lähennä -toggle-fullscreen = Koko näyttö päällä tai pois -shortcut-group-other = Muut -tab-new-inherit-working-directory = Uudet välilehdet käyttävät nykyistä hakemistoa -tab-new-inherit-working-directory-description = Avaa uudet välilehdet aktiivisen välilehden työskentelyhakemistossa diff --git a/i18n/fr/cosmic_term.ftl b/i18n/fr/cosmic_term.ftl index 8a80609..e54c823 100644 --- a/i18n/fr/cosmic_term.ftl +++ b/i18n/fr/cosmic_term.ftl @@ -121,7 +121,6 @@ copy-link = Copier le lien add-another-keybinding = Ajouter un autre raccourci clavier cancel = Annuler close-window = Fermer la fenêtre -confirm = Confirmer copy-or-sigint = Copier ou SIGINT disable = Désactiver keyboard-shortcuts = Raccourcis clavier @@ -145,12 +144,6 @@ focus-pane-left = Passer au panneau de gauche focus-pane-right = Passer au panneau de droite focus-pane-up = Passer au panneau du dessus reset-to-default = Rétablir les paramètres par défaut -reset = Réinitialiser toggle-fullscreen = Basculer en plein écran -rename-tab = Renommer l'onglet -tab-name-placeholder = Nom de l'onglet -tab-rename-title = Renommer l'onglet comment = Émulateur de terminal pour le bureau COSMIC keywords = Commande;Shell;Terminal;CLI; -tab-new-inherit-working-directory = Les nouveaux onglets utilisent le répertoire actuel -tab-new-inherit-working-directory-description = Ouvrir les nouveaux onglets dans le répertoire de travail de l'onglet actif diff --git a/i18n/hu/cosmic_term.ftl b/i18n/hu/cosmic_term.ftl index 97c289e..dcc4dc4 100644 --- a/i18n/hu/cosmic_term.ftl +++ b/i18n/hu/cosmic_term.ftl @@ -58,7 +58,7 @@ default-font = Betűtípus default-font-size = Betűméret default-font-stretch = Betűszélesség default-font-weight = Normál betűsúly -default-dim-font-weight = Vékony betűsúly +default-dim-font-weight = Halvány betűsúly default-bold-font-weight = Félkövér betűsúly use-bright-bold = Félkövér szöveg világosítása @@ -147,5 +147,3 @@ tab-activate = { $number }. lap aktiválása toggle-fullscreen = Teljes képernyő váltása type-to-search = Gépelj a kereséshez… copy-link = Hivatkozás másolása -tab-new-inherit-working-directory = Az új lapok az aktuális könyvtárat használják -tab-new-inherit-working-directory-description = Az új lapok az aktív lap munkakönyvtárában nyílnak meg diff --git a/i18n/id/cosmic_term.ftl b/i18n/id/cosmic_term.ftl index cea54ef..fdac4c4 100644 --- a/i18n/id/cosmic_term.ftl +++ b/i18n/id/cosmic_term.ftl @@ -107,5 +107,3 @@ focus-pane-up = Fokuskan panel ke atas comment = Emulator terminal untuk desktop COSMIC keywords = Perintah;Shell;Terminal;CLI; copy-link = Salin Tautan -tab-new-inherit-working-directory = Tab baru menggunakan direktori saat ini -tab-new-inherit-working-directory-description = Buka tab baru di direktori pekerjaan tab aktif diff --git a/i18n/it/cosmic_term.ftl b/i18n/it/cosmic_term.ftl index 59dac84..ba59cf0 100644 --- a/i18n/it/cosmic_term.ftl +++ b/i18n/it/cosmic_term.ftl @@ -70,8 +70,6 @@ focus-follow-mouse = Il focus di scrittura segue il mouse advanced = Avanzate show-headerbar = Mostra intestazione show-header-description = Mostra intestazione dal menu click destro. -tab-new-inherit-working-directory = Le nuove schede usano la cartella corrente -tab-new-inherit-working-directory-description = Apri nuove schede nella directory di lavoro della scheda attiva # Find find-placeholder = Trova... find-previous = Trova precedente diff --git a/i18n/kab/cosmic_term.ftl b/i18n/kab/cosmic_term.ftl index 1761fee..e69de29 100644 --- a/i18n/kab/cosmic_term.ftl +++ b/i18n/kab/cosmic_term.ftl @@ -1,107 +0,0 @@ -cancel = Sefsex -name = Isem -delete = kkes -rename = Snifel isem -quit = Tuffɣa -support = Tallalt -repository = Asarsay -settings = Iɣewwaṛen -appearance = Timeẓri -theme = Asentel -dark = Aɣmayan -light = Aceɛlal -paste = Senteḍ -select-all = Fren akk -view = Wali -menu-settings = Iɣewwaṛen… -match-desktop = Amṣada d tnarit -file = Afaylu -new-window = Asfaylu amaynut -edit = Ẓreg -copy = Nɣel -default-zoom-step = Isurifen n usemɣer -find = Af-d -find-placeholder = Af-d… -find-previous = Af-d uzwir -find-next = Af-d uḍfir -replace = Semselsi -keyboard-shortcuts = Inegzumen n unasiw -menu-keyboard-shortcuts = Inegzumen n unasiw… -new-tab = Iccer amaynut -close-tab = Mdel iccer -import = Kter -export = Sifeḍ -reset-to-default = Ales awennez ɣer umezwer -type-to-search = Aru iwakken ad tnadiḍ… -add-another-keybinding = Rnu yiwen n unegzum n unasiw nniḍen -font = Tasefsit -default-font = Tasefsit -password-input = Awal uffir -password-input-description = Aglam -close-window = Mdel asfaylu -copy-or-sigint = Nɣel neɣ SIGINT -disable = Kkes armad -no-shortcuts = Ulac inegzumen -password-manager = Amsefrak n wawal n uɛeddi -shortcut-group-other = Ayen nniḍen -shortcut-group-tabs = Iccaren -shortcut-group-window = Asfaylu -shortcut-replace-title = Semselsi anegzum? -toggle-fullscreen = Qluqel ɣer ugdil aččuran -shortcut-group-clipboard = Tacfawit -shortcut-group-zoom = Asimɣeṛ -show-header-description = Err-d inixef seg wumuɣ n usiti ayeffus -new-terminal = Ixf amaynut -color-schemes = Azenziɣ n yiniten -import-errors = Kter tuccḍiwin -profiles = imaɣnuten -command-line = Izirig n tladna -tab-title = Azwel n yiccer -tab-title-description = Snifel azwel n yiccer amezwer -add-profile = Rnu amaɣnu -new-profile = Amaɣnu amaynut -make-default = Err-it d amezwer -working-directory = Akaram n umahil -hold = Ṭṭef -syntax-dark = Azenziɣ n yini aɣmayan -syntax-light = Azenziɣ n yini aceɛlal -opacity = Tiḍullest n ugilal -advanced-font-settings = Iɣewwaṛen inaẓiyen n tsefsit -default-font-size = Tiddi n tsefsit -default-font-stretch = Ajbad n tsefsit -default-font-weight = Taẓeyt n tsefsit tamagnut -default-dim-font-weight = Taẓeyt n tsefsit tafessast -default-bold-font-weight = Taẓeyt n tsefsit n tira tazurant -use-bright-bold = Err aḍris azuran yettfeǧǧiǧ -show-headerbar = Sken inixef -profile = Amaɣnu -menu-profiles = imaɣnuten… -remain-open = Qqim teldiḍ deffir n tuffɣa n ukala aqrur. -focus-follow-mouse = Asaḍas n tira yettḍafar taɣerdayt -advanced = Leqqayen -clear-scrollback = Sfeḍ adrurem ɣer deffir -open-link = Ldi aseɣwen -zoom-in = Aḍris ahrawan -zoom-reset = Tiddi n uḍris amezwer -zoom-out = Aḍris wezzilen ugar -next-tab = Iccer uḍfir -previous-tab = Iccer uzwir -split-horizontal = Ẓun s wudem aglawan -split-vertical = Ẓun s wudem ubdid -pane-toggle-maximize = Qluqel asemɣer -menu-about = Ɣef ixf COSMIC… -menu-password-manager = Awalen uffiren... -passwords-title = Awalen uffiren -add-password = Rnu awal uffir -splits = Tiẓunin -menu-color-schemes = Azenziɣ n yini... -comment = Amtellal n yixef i tnarit COSMIC -keywords = Taladna; Ajeɣlal; Ixf; CLI; -focus-pane-down = Err asaḍas ɣer ugalis ukessar -focus-pane-left = Err asaḍas ɣer ugalis uzelmaḍ -focus-pane-right = Err asaḍas ɣer ugalis uyeffus -focus-pane-up = Err asaḍas ɣer ugalis uksawen -paste-primary = Senṭeḍ agejdan -shortcut-capture-hint = Sit ɣef usuddes n tqeffalin -tab-activate = Sermed iccer { $number } -copy-link = Nɣel aseɣwen diff --git a/i18n/kk/cosmic_term.ftl b/i18n/kk/cosmic_term.ftl index 9f4f34d..d32b207 100644 --- a/i18n/kk/cosmic_term.ftl +++ b/i18n/kk/cosmic_term.ftl @@ -107,5 +107,3 @@ type-to-search = Іздеу үшін теріңіз... comment = COSMIC жұмыс үстелі үшін терминал эмуляторы keywords = Command;Shell;Terminal;CLI;Команда;Қоршам;Терминал; copy-link = Сілтемені көшіру -tab-new-inherit-working-directory = Жаңа беттерде ағымдағы буманы қолдану -tab-new-inherit-working-directory-description = Жаңа беттерді белсенді беттің жұмыс бумасында ашу diff --git a/i18n/ko/cosmic_term.ftl b/i18n/ko/cosmic_term.ftl index ee46bf2..45f7b6e 100644 --- a/i18n/ko/cosmic_term.ftl +++ b/i18n/ko/cosmic_term.ftl @@ -51,7 +51,7 @@ default-dim-font-weight = 희미한 글꼴 굵기 advanced = 고급 use-bright-bold = 굵은 텍스트를 더 밝게 표시 default-bold-font-weight = 굵은 글꼴 굵기 -show-header-description = 우클릭 메뉴를 통해 헤더를 나타냅니다 +show-header-description = 오른쪽 클릭 메뉴를 통해 헤더를 나타냅니다. password-input-description = 설명 default-font = 글꼴 paste = 붙여넣기 @@ -78,23 +78,3 @@ find = 찾기 profile = 프로필 new-tab = 새 탭 comment = COSMIC 데스크톱용 터미널 에뮬레이터 -menu-keyboard-shortcuts = 단축키... -keywords = 명령어;셸;터미널;CLI; -cancel = 취소 -close-window = 창 닫기 -disable = 비활성화 -keyboard-shortcuts = 단축키 -password-manager = 암호 관리자 -replace = 대체 -shortcut-group-clipboard = 클립보드 -shortcut-group-tabs = 탭 -shortcut-group-window = 창 -shortcut-replace-title = 단축키를 대체할까요? -tab-activate = 활성 탭 { $number } -toggle-fullscreen = 전체 화면 전환 -type-to-search = 입력하여 검색… -copy-link = 링크 복사 -no-shortcuts = 단축키 없음 -reset-to-default = 기본값으로 되돌리기 -shortcut-group-other = 기타 -shortcut-group-zoom = 확대 diff --git a/i18n/lo/cosmic_term.ftl b/i18n/lo/cosmic_term.ftl deleted file mode 100644 index e69de29..0000000 diff --git a/i18n/lt/cosmic_term.ftl b/i18n/lt/cosmic_term.ftl index 9da3c22..13dd379 100644 --- a/i18n/lt/cosmic_term.ftl +++ b/i18n/lt/cosmic_term.ftl @@ -19,11 +19,11 @@ make-default = Padaryti numatytu working-directory = Darbinis katalogas hold = Laikyti remain-open = Palikti atidarytą išsijungus vaikiniam procesui. -settings = Nuostatos +settings = Nustatymai appearance = Išvaizda theme = Stilius match-desktop = Pagal darbalaukio temą -default-zoom-step = Artinimo žingsniai +default-zoom-step = Priartinimo žingsniai opacity = Fono skaidrumas font = Šriftas advanced-font-settings = Išplėstiniai šrifto nustatymai @@ -38,9 +38,9 @@ focus-follow-mouse = Teksto laukelio aktyvavimas sekant žymeklį advanced = Išplėstiniai show-headerbar = Rodyti antraštę show-header-description = Rodyti antraštę kontekstiname meniu atidaromu dešiniu klavišu -find-placeholder = Rasti... -find-previous = Ieškoti ankstesnio -find-next = Ieškoti tolesnio +find-placeholder = Surasti... +find-previous = Atgalinis ieškojimas +find-next = Ieškoti sekančio file = Failas new-tab = Naujas skirtukas new-window = Naujas langas @@ -50,9 +50,9 @@ close-tab = Uždaryti skirtuką quit = Išeiti edit = Redaguoti copy = Kopijuoti -paste = Įdėti -select-all = Žymėti viską -find = Rasti +paste = Įklijuoti +select-all = Pažymėti viską +find = Surasti clear-scrollback = Išvalyti scrollback open-link = Atidaryti Nuorodą view = Rodymas @@ -65,7 +65,7 @@ split-horizontal = Skaidyti horizontaliai split-vertical = Skaidyti vertikaliai pane-toggle-maximize = Perjungti maksimalų padidinimą menu-color-schemes = Spalvų schemos... -menu-settings = Nuostatos... +menu-settings = Nustatymai... menu-about = Apie COSMIC Terminal... menu-password-manager = Slaptažodžiai... passwords-title = Slaptažodžiai @@ -82,12 +82,12 @@ cancel = Atšaukti close-window = Uždaryti langą copy-or-sigint = Kopijuoti arba SIGINT disable = Išjungti -keyboard-shortcuts = Spartieji klavišai -menu-keyboard-shortcuts = Spartieji klavišai... +keyboard-shortcuts = Klaviatūros greitieji klavišai +menu-keyboard-shortcuts = Klaviatūros greitieji klavišai... no-shortcuts = Nėra nustatytų klaviatūros derinių password-manager = Slaptažodžių tvarkyklė paste-primary = Įklijuotiį pirminį -replace = Keisti +replace = Pakeisti reset-to-default = Nustatyti į numatytąjį shortcut-capture-hint = Nuspauskite klavišų derinį shortcut-group-clipboard = Iškarpinė @@ -101,4 +101,3 @@ tab-activate = Aktyvuoti skirtuką { $number } toggle-fullscreen = Įjungti/išjungti viso ekrano režimą type-to-search = Norint ieškoti, pradėkite rašyti… copy-link = Kopijuoti Nuorodą -syntax-dark = Tamsi spalvų paletė diff --git a/i18n/nb-NO/cosmic_term.ftl b/i18n/nb-NO/cosmic_term.ftl index cd98862..e214d03 100644 --- a/i18n/nb-NO/cosmic_term.ftl +++ b/i18n/nb-NO/cosmic_term.ftl @@ -71,4 +71,3 @@ syntax-light = Fargeskjema lyst default-zoom-step = Zoom steg focus-follow-mouse = Skrivefokus følger musen hold = Hold -cancel = Avbryt diff --git a/i18n/pl/cosmic_term.ftl b/i18n/pl/cosmic_term.ftl index 69111bb..341a792 100644 --- a/i18n/pl/cosmic_term.ftl +++ b/i18n/pl/cosmic_term.ftl @@ -147,5 +147,3 @@ focus-pane-left = Aktywuj lewy panel focus-pane-right = Aktywuj prawy panel focus-pane-up = Aktywuj panel wyżej copy-link = Skopiuj Odnośnik -tab-new-inherit-working-directory = Nowe karty użyją obecnego katalogu -tab-new-inherit-working-directory-description = Otwieraj nowe karty w katalogu roboczym aktywnej karty diff --git a/i18n/pt-BR/cosmic_term.ftl b/i18n/pt-BR/cosmic_term.ftl index 3307289..23a7ccd 100644 --- a/i18n/pt-BR/cosmic_term.ftl +++ b/i18n/pt-BR/cosmic_term.ftl @@ -113,10 +113,10 @@ pane-toggle-maximize = Alternar maximização menu-color-schemes = Esquemas de cores... menu-settings = Configurações... menu-about = Sobre o Terminal... -open-link = Abrir link +open-link = Abrir Link menu-password-manager = Senhas... passwords-title = Senhas -add-password = Adicionar senha +add-password = Adicionar Senha password-input = Senha password-input-description = Descrição add-another-keybinding = Adicionar outra combinação de teclas @@ -124,15 +124,15 @@ cancel = Cancelar close-window = Fechar janela copy-or-sigint = Copiar ou SIGINT disable = Desabilitar -focus-pane-down = Focar o quadro abaixo -focus-pane-left = Focar o quadro à esquerda -focus-pane-right = Focar o quadro à direita -focus-pane-up = Focar o quadro acima +focus-pane-down = Focar painel abaixo +focus-pane-left = Focar painel à esquerda +focus-pane-right = Focar painel à direita +focus-pane-up = Focar painel acima keyboard-shortcuts = Atalhos de teclado menu-keyboard-shortcuts = Atalhos de teclado... no-shortcuts = Sem atalhos password-manager = Gerenciador de senhas -paste-primary = Colar primário +paste-primary = Colar replace = Substituir reset-to-default = Restaurar padrão shortcut-capture-hint = Pressione a combinação de teclas @@ -146,6 +146,4 @@ shortcut-replace-title = Substituir atalho? tab-activate = Ativar aba { $number } toggle-fullscreen = Alternar para tela cheia type-to-search = Digite para pesquisar... -copy-link = Copiar link -tab-new-inherit-working-directory = Novas abas usam o diretório atual -tab-new-inherit-working-directory-description = Abrir novas abas no diretório de trabalho da aba ativa +copy-link = Copiar Link diff --git a/i18n/ru/cosmic_term.ftl b/i18n/ru/cosmic_term.ftl index 7226000..81d0643 100644 --- a/i18n/ru/cosmic_term.ftl +++ b/i18n/ru/cosmic_term.ftl @@ -141,5 +141,3 @@ tab-activate = Активировать вкладку { $number } toggle-fullscreen = Вкл./выкл. полноэкранный режим type-to-search = Введите для поиска... copy-link = Копировать ссылку -tab-new-inherit-working-directory = В новых вкладках исп. текущий каталог -tab-new-inherit-working-directory-description = Открывать новые вкладки в рабочем каталоге активной вкладки diff --git a/i18n/sr/cosmic_term.ftl b/i18n/sr/cosmic_term.ftl index 8afbb4c..e69de29 100644 --- a/i18n/sr/cosmic_term.ftl +++ b/i18n/sr/cosmic_term.ftl @@ -1,111 +0,0 @@ -quit = Изађи -cancel = Откажи -import = Увези -export = Извези -appearance = Изглед -light = Светла -dark = Тамна -settings = Подешавања -reset-to-default = Врати на подразумевано -type-to-search = Куцајте за претрагу... -add-another-keybinding = Додај још једну комбинацију тастера -replace = Замени -syntax-light = Светла шема боја -default-font-weight = Нормална тежина фонта -add-profile = Додај профил -find-next = Нађи следеће -splits = Подељено -import-errors = Грешке при увозу -zoom-in = Већи текст -select-all = Означи све -previous-tab = Претходни језичак -show-headerbar = Прикажи заглавље -new-window = Нови прозор -zoom-out = Мањи текст -split-vertical = Усправна подела -syntax-dark = Тамна шема боја -menu-profiles = Профили... -new-terminal = Нови терминал -tab-title-description = Замените подразумевани наслов језичка -menu-about = О програму Космик Терминал... -remain-open = Остани отворен након што се дечији процес заврши. -menu-color-schemes = Шеме боја... -working-directory = Радни директоријум -profiles = Профили -opacity = Непровидност позадине -tab-title = Наслов језичка -zoom-reset = Подразумевана величина текста -rename = Преименуј -passwords-title = Лозинке -edit = Уреди -copy = Умножи -pane-toggle-maximize = Окини увећање -theme = Тема -password-input = Лозинка -close-tab = Затвори језичак -color-schemes = Шеме боја -name = Назив -default-dim-font-weight = Пригушена тежина фонта -advanced = Напредно -delete = Обриши -repository = Ризница -use-bright-bold = Учини подебљани текст светлијим -support = Подршка -default-bold-font-weight = Тежина подебљаног фонта -password-input-description = Опис -default-font = Фонт -paste = Залепи -menu-settings = Подешавања... -add-password = Додај лозинку -command-line = Линија наредби -view = Преглед -default-font-stretch = Развлачење писма -hold = Задржи -menu-password-manager = Лозинке... -match-desktop = Прати радну површину -find-previous = Нађи претходно -default-font-size = Величина фонта -cosmic-terminal = Космик терминал -split-horizontal = Водоравна подела -find-placeholder = Пронађи... -focus-follow-mouse = Фокус куцања прати миша -advanced-font-settings = Напредна подешавања фонта -font = Фонт -next-tab = Следећи језичак -default-zoom-step = Кораци увећања -clear-scrollback = Очисти историју помицања -open-link = Отвори везу -file = Датотека -make-default = Постави као подразумеван -new-profile = Нови профил -find = Пронађи -profile = Профил -new-tab = Нови језичак -keyboard-shortcuts = Пречице тастатуре -menu-keyboard-shortcuts = Пречице на тастатури... -comment = Емулатор терминала за Космик радну површину -keywords = Command;Shell;Terminal;CLI;Наредба;Шкољка;Терминал;CLI;naredba;školjka;terminal;cli; -show-header-description = Прикажи заглавље из менија са десним кликом -close-window = Затвори прозор -copy-or-sigint = Копирај или SIGINT -disable = Онемогући -focus-pane-down = Усредсреди површ испод -focus-pane-left = Усредсреди површ лево -focus-pane-right = Усредсреди површ десно -focus-pane-up = Усредсреди површ изнад -no-shortcuts = Нема пречица -password-manager = Управник лозинки -paste-primary = Убаци примарно -shortcut-capture-hint = Притисните комбинацију тастера -shortcut-group-clipboard = Остава -shortcut-group-other = Друго -shortcut-group-tabs = Језичци -shortcut-group-window = Прозор -shortcut-group-zoom = Увећање -shortcut-replace-body = { $binding } је већ додељена за { $existing }. Заменити је са { $new_action }? -shortcut-replace-title = Заменити пречицу? -tab-activate = Активирај језичак { $number } -toggle-fullscreen = Цео екран -copy-link = Копирај везу -tab-new-inherit-working-directory = Нови језичци користе тренутни директоријум -tab-new-inherit-working-directory-description = Отвара нове језичке у радном директоријуму активног језичка diff --git a/i18n/sv-SE/cosmic_term.ftl b/i18n/sv-SE/cosmic_term.ftl index 489c19f..2e4c56c 100644 --- a/i18n/sv-SE/cosmic_term.ftl +++ b/i18n/sv-SE/cosmic_term.ftl @@ -151,5 +151,3 @@ shortcut-group-other = Andra shortcut-group-tabs = Flikar shortcut-group-zoom = Zooma copy-link = Kopiera länk -tab-new-inherit-working-directory-description = Öppna nya flikar i den aktiva flikens arbetskatalog -tab-new-inherit-working-directory = Nya flikar använder aktuell katalog diff --git a/i18n/uk/cosmic_term.ftl b/i18n/uk/cosmic_term.ftl index c282eca..9e872f2 100644 --- a/i18n/uk/cosmic_term.ftl +++ b/i18n/uk/cosmic_term.ftl @@ -147,5 +147,3 @@ focus-pane-up = Фокус на верхню панель comment = Емулятор терміналу для середовища COSMIC keywords = Команда;Оболонка;Термінал;Інтерфейс;CLI; copy-link = Копіювати ланку -tab-new-inherit-working-directory = У нових вкладках використовується поточний каталог -tab-new-inherit-working-directory-description = Відкривати нові вкладки в робочому каталозі активної вкладки diff --git a/i18n/zh-CN/cosmic_term.ftl b/i18n/zh-CN/cosmic_term.ftl index 3542be5..d02065f 100644 --- a/i18n/zh-CN/cosmic_term.ftl +++ b/i18n/zh-CN/cosmic_term.ftl @@ -69,7 +69,7 @@ advanced = 高级 show-headerbar = 显示标题栏 show-header-description = 右键菜单提供显示标题栏选项 # Find -find-placeholder = 查找… +find-placeholder = 查找... find-previous = 查找上一个 find-next = 查找下一个 @@ -82,7 +82,7 @@ file = 文件 new-tab = 新建标签 new-window = 新建窗口 profile = 配置 -menu-profiles = 配置文件… +menu-profiles = 配置文件... close-tab = 关闭标签 quit = 退出 @@ -106,9 +106,9 @@ previous-tab = 上一个标签 split-horizontal = 水平分割 split-vertical = 垂直分割 pane-toggle-maximize = 切换最大化 -menu-color-schemes = 配色方案… -menu-settings = 设置… -menu-about = 关于 COSMIC 终端… +menu-color-schemes = 配色方案... +menu-settings = 设置... +menu-about = 关于 COSMIC 终端... repository = 仓库 support = 支持 open-link = 打开链接 @@ -132,7 +132,7 @@ shortcut-group-clipboard = 剪切板 shortcut-group-other = 其他 shortcut-group-tabs = 标签 shortcut-group-zoom = 缩放 -type-to-search = 输入即可搜索… +type-to-search = 输入即可搜索... copy-or-sigint = 复制或 SIGINT focus-pane-down = 聚焦下方窗格 focus-pane-left = 聚焦左侧窗格 @@ -147,5 +147,3 @@ toggle-fullscreen = 切换全屏 comment = COSMIC 桌面的终端模拟器 keywords = 指令;外壳;终端;命令行界面; copy-link = 复制链接 -tab-new-inherit-working-directory = 新标签使用当前目录 -tab-new-inherit-working-directory-description = 在活动标签的工作目录中打开新标签 diff --git a/i18n/zh-TW/cosmic_term.ftl b/i18n/zh-TW/cosmic_term.ftl index 59cc0bf..d9a3caf 100644 --- a/i18n/zh-TW/cosmic_term.ftl +++ b/i18n/zh-TW/cosmic_term.ftl @@ -1,5 +1,5 @@ cosmic-terminal = COSMIC 終端機 -new-terminal = 新建終端機 +new-terminal = 新增 終端機 # Context Pages @@ -9,7 +9,7 @@ new-terminal = 新建終端機 ## Color schemes -color-schemes = 配色方案 +color-schemes = 主題 rename = 重命名 export = 匯出 delete = 刪除 @@ -38,36 +38,36 @@ settings = 設定 appearance = 外觀 theme = 主題 -match-desktop = 符合桌面 -dark = 深色 -light = 淺色 +match-desktop = 配合桌面 +dark = 暗色 +light = 亮色 syntax-dark = 暗色調 syntax-light = 亮色調 default-zoom-step = 縮放步進 -opacity = 背景不透明度 +opacity = 背景透明度 ### Font -font = 字型 -advanced-font-settings = 進階字型設定 -default-font = 字型 -default-font-size = 字型大小 -default-font-stretch = 字型伸展 -default-font-weight = 正常字型粗細 -default-dim-font-weight = 黯淡字型粗細 -default-bold-font-weight = 粗體字型粗細 -use-bright-bold = 使粗體文字更亮 +font = 字體 +advanced-font-settings = 進階字體設定 +default-font = 字體 +default-font-size = 字體大小 +default-font-stretch = 字體延伸 +default-font-weight = 字體粗細 +default-dim-font-weight = 淡色字體粗細 +default-bold-font-weight = 粗字體粗細 +use-bright-bold = 使粗體字更亮 ### Splits -splits = 分割 -focus-follow-mouse = 輸入焦點追隨滑鼠 +splits = 終端介面分割 +focus-follow-mouse = 滑鼠點擊選擇輸入窗口 ### Advanced advanced = 進階 show-headerbar = 顯示標題列 -show-header-description = 右鍵選單提供標題列選項 +show-header-description = 右鍵選單提供標題列選項。 # Find find-placeholder = 尋找... find-previous = 上一個 @@ -79,12 +79,12 @@ find-next = 下一個 ## File file = 檔案 -new-tab = 新建分頁 -new-window = 新建視窗 -profile = 設定檔案 -menu-profiles = 設定檔案... +new-tab = 新增分頁 +new-window = 新增視窗 +profile = 設定檔 +menu-profiles = 設定檔... close-tab = 關閉分頁 -quit = 退出 +quit = 結束 ## Edit @@ -97,55 +97,14 @@ find = 尋找 ## View view = 檢視 -zoom-in = 較大文字 -zoom-reset = 預設文字大小 -zoom-out = 較小文字 +zoom-in = 放大文字 +zoom-reset = 重設文字大小 +zoom-out = 縮小文字 next-tab = 下個分頁 previous-tab = 上個分頁 split-horizontal = 水平分割 split-vertical = 垂直分割 pane-toggle-maximize = 切換最大化 -menu-color-schemes = 配色方案... +menu-color-schemes = 主題... menu-settings = 設定... -menu-about = 關於 COSMIC 終端機… -cancel = 取消 -repository = 軟體庫源 -support = 支援 -keyboard-shortcuts = 鍵盤快速鍵 -keywords = 指令;殼層;終端;指令行介面CLI; -add-another-keybinding = 添加另一個按鍵組合 -close-window = 關閉視窗 -copy-or-sigint = 複製或 SIGINT -disable = 停用 -menu-keyboard-shortcuts = 鍵盤快速鍵... -no-shortcuts = 無快速鍵 -password-manager = 密碼管理器 -paste-primary = 貼上主要 -replace = 取代 -reset-to-default = 重新設定至預設 -shortcut-capture-hint = 按下組合鍵 -shortcut-group-clipboard = 剪貼簿 -shortcut-group-other = 其它 -shortcut-group-tabs = 分頁 -shortcut-group-window = 視窗 -shortcut-group-zoom = 縮放 -focus-pane-down = 聚焦下方窗格 -focus-pane-left = 聚焦左側窗格 -focus-pane-right = 聚焦右側窗格 -focus-pane-up = 聚焦上方窗格 -open-link = 開啟連結 -menu-password-manager = 密碼… -passwords-title = 密碼 -add-password = 添增密碼 -password-input = 密碼 -password-input-description = 描述 -shortcut-replace-title = 取代快速鍵? -tab-activate = 啟用分頁 { $number } -toggle-fullscreen = 切換全螢幕 -type-to-search = 輸入進行搜尋... -copy-link = 複製連結 -shortcut-replace-body = { $binding } 已經分配至 { $existing }。 要取代它為 { $new_action }? -clear-scrollback = 清除捲動回朔 -comment = COSMIC 桌面終端機模擬器 -tab-new-inherit-working-directory = 新分頁使用目前目錄 -tab-new-inherit-working-directory-description = 在作用中分頁的工作目錄開啟新分頁 +menu-about = 關於 COSMIC 終端機... diff --git a/src/config.rs b/src/config.rs index 49eb079..39e6568 100644 --- a/src/config.rs +++ b/src/config.rs @@ -235,8 +235,6 @@ pub struct Config { pub syntax_theme_dark: String, pub syntax_theme_light: String, pub focus_follow_mouse: bool, - #[serde(default)] - pub tab_new_inherit_working_directory: bool, pub default_profile: Option, #[serde(default)] pub shortcuts_custom: Shortcuts, @@ -251,7 +249,6 @@ impl Default for Config { color_schemes_light: BTreeMap::new(), dim_font_weight: Weight::NORMAL.0, focus_follow_mouse: false, - tab_new_inherit_working_directory: false, font_name: "Noto Sans Mono".to_string(), font_size: 14, font_size_zoom_step_mul_100: 100, diff --git a/src/main.rs b/src/main.rs index 0cf5222..0db17f2 100644 --- a/src/main.rs +++ b/src/main.rs @@ -3,7 +3,7 @@ use alacritty_terminal::{event::Event as TermEvent, term, term::color::Colors as TermColors, tty}; use cosmic::iced::clipboard::dnd::DndAction; -use cosmic::iced::core::keyboard::key::Named; +use cosmic::iced_core::keyboard::key::Named; use cosmic::widget::menu::action::MenuAction; use cosmic::widget::menu::key_bind::KeyBind; use cosmic::widget::pane_grid::Pane; @@ -177,7 +177,11 @@ fn main() -> Result<(), Box> { let shortcuts_config = shortcuts::ShortcutsConfig::new(config.shortcuts_custom.clone()); - let shell = shell_program_opt.map(|shell_program| tty::Shell::new(shell_program, shell_args)); + let shell = if let Some(shell_program) = shell_program_opt { + Some(tty::Shell::new(shell_program, shell_args)) + } else { + None + }; let startup_options = Some(tty::Options { shell, working_directory, @@ -277,7 +281,6 @@ pub enum Action { TabNewNoProfile, TabNext, TabPrev, - TabRename, ToggleFullscreen, WindowClose, WindowNew, @@ -331,7 +334,6 @@ impl Action { Self::TabNewNoProfile => Message::TabNewNoProfile, Self::TabNext => Message::TabNext, Self::TabPrev => Message::TabPrev, - Self::TabRename => Message::TabRenameOpen(entity_opt), Self::ToggleFullscreen => Message::ToggleFullscreen, Self::WindowClose => Message::WindowClose, Self::WindowNew => Message::WindowNew, @@ -365,7 +367,7 @@ pub enum Message { ColorSchemeRename(ColorSchemeKind, ColorSchemeId, String), ColorSchemeRenameSubmit, ColorSchemeTabActivate(widget::segmented_button::Entity), - Config(Box), + Config(Config), Copy(Option), CopyOrSigint(Option), CopyPrimary(Option), @@ -377,7 +379,7 @@ pub enum Message { DefaultFontStretch(usize), DefaultFontWeight(usize), DefaultZoomStep(usize), - DialogMessage(Box), // DialogMessage is huge, so we use a box to make the size of this enum smaller on the stack + DialogMessage(DialogMessage), Drop(Option<(pane_grid::Pane, segmented_button::Entity, DndDrop)>), Find(bool), FindNext, @@ -429,7 +431,6 @@ pub enum Message { ShowHeaderBar(bool), SyntaxTheme(ColorSchemeKind, usize), SystemThemeChange, - TabNewInheritWorkingDirectory(bool), TabActivate(segmented_button::Entity), TabActivateJump(usize), TabClose(Option), @@ -439,12 +440,6 @@ pub enum Message { TabNewNoProfile, TabNext, TabPrev, - TabRenameOpenForPane(pane_grid::Pane, segmented_button::Entity), - TabRenameOpen(Option), - TabRenameInput(String), - TabRenameCommit, - TabRenameCancel, - TabRenameResetToDefault, TermEvent(pane_grid::Pane, segmented_button::Entity, TermEvent), TermEventTx(mpsc::UnboundedSender<(pane_grid::Pane, segmented_button::Entity, TermEvent)>), ToggleFullscreen, @@ -458,7 +453,6 @@ pub enum Message { ZoomIn, ZoomOut, ZoomReset, - ContextMenuPopupClosed(window::Id), } #[derive(Clone, Copy, Debug, Eq, PartialEq)] @@ -518,8 +512,6 @@ pub struct App { color_scheme_expanded: Option<(ColorSchemeKind, Option)>, color_scheme_renaming: Option<(ColorSchemeKind, ColorSchemeId, String)>, color_scheme_rename_id: widget::Id, - rename_tab: Option<(segmented_button::Entity, String)>, - rename_tab_id: widget::Id, color_scheme_tab_model: widget::segmented_button::SingleSelectModel, profile_expanded: Option, show_advanced_font_settings: bool, @@ -531,14 +523,6 @@ pub struct App { shortcut_search_regex: Option, shortcut_search_value: String, modifiers: Modifiers, - context_menu_popup: Option<( - window::Id, - pane_grid::Pane, - segmented_button::Entity, - Option, - widget::Id, - cosmic::iced::Point, - )>, #[cfg(feature = "password_manager")] password_mgr: password_manager::PasswordManager, } @@ -561,19 +545,21 @@ impl App { .config .color_schemes(color_scheme_kind) .get(&color_scheme_id) - && self + { + if self .themes .insert( (color_scheme_name.clone(), color_scheme_kind), color_scheme.into(), ) .is_some() - { - log::warn!( - "custom {:?} color scheme {:?} replaces builtin one", - color_scheme_kind, - color_scheme_name - ); + { + log::warn!( + "custom {:?} color scheme {:?} replaces builtin one", + color_scheme_kind, + color_scheme_name + ); + } } } } @@ -607,18 +593,6 @@ impl App { } } - fn reset_active_pane_zoom(&mut self) { - if let Some(tab_model) = self.pane_model.active() { - for entity in tab_model.iter() { - if tab_model.is_active(entity) - && let Some(terminal) = tab_model.data::>(entity) - { - terminal.lock().unwrap().set_zoom_adj(0); - } - } - } - } - fn save_shortcuts_custom(&mut self) { self.config.shortcuts_custom = self.shortcuts_config.custom.clone(); match &self.config_handler { @@ -716,21 +690,21 @@ impl App { // but only for the active pane/tab if let Some(tab_model) = self.pane_model.active() { for entity in tab_model.iter() { - if tab_model.is_active(entity) - && let Some(terminal) = tab_model.data::>(entity) - { - let mut terminal = terminal.lock().unwrap(); - let current_zoom_adj = terminal.zoom_adj(); - match zoom_message { - Message::ZoomIn => { - terminal.set_zoom_adj(current_zoom_adj.saturating_add(1)) + if tab_model.is_active(entity) { + if let Some(terminal) = tab_model.data::>(entity) { + let mut terminal = terminal.lock().unwrap(); + let current_zoom_adj = terminal.zoom_adj(); + match zoom_message { + Message::ZoomIn => { + terminal.set_zoom_adj(current_zoom_adj.saturating_add(1)) + } + Message::ZoomOut => { + terminal.set_zoom_adj(current_zoom_adj.saturating_sub(1)) + } + _ => {} } - Message::ZoomOut => { - terminal.set_zoom_adj(current_zoom_adj.saturating_sub(1)) - } - _ => {} + terminal.set_config(&self.config, &self.themes); } - terminal.set_config(&self.config, &self.themes); } } } @@ -739,16 +713,16 @@ impl App { fn save_color_schemes(&mut self, color_scheme_kind: ColorSchemeKind) -> Task { // Optimized for just saving color_schemes - if let Some(ref config_handler) = self.config_handler - && let Err(err) = config_handler.set( + if let Some(ref config_handler) = self.config_handler { + if let Err(err) = config_handler.set( match color_scheme_kind { ColorSchemeKind::Dark => "color_schemes_dark", ColorSchemeKind::Light => "color_schemes_light", }, self.config.color_schemes(color_scheme_kind), - ) - { - log::error!("failed to save config: {}", err); + ) { + log::error!("failed to save config: {}", err); + } } self.update_color_schemes(); Task::none() @@ -768,21 +742,19 @@ impl App { } fn update_focus(&self) -> Task { - if self.rename_tab.is_some() { - widget::text_input::focus(self.rename_tab_id.clone()) - } else if self.find { + if self.find { widget::text_input::focus(self.find_search_id.clone()) } else if self.core.window.show_context { - // Right now we only care about the KeyboardShortcuts context page, so we use a simple if. - // In the future if we are to care about other conext pages, we could switch this to a match - // statement instead to be cleaner. - if self.context_page == ContextPage::KeyboardShortcuts - && self.shortcut_search_focus.get() - { - self.shortcut_search_focus.set(false); - return widget::text_input::focus(self.shortcut_search_id.clone()); + match self.context_page { + ContextPage::KeyboardShortcuts => { + if self.shortcut_search_focus.get() { + self.shortcut_search_focus.set(false); + return widget::text_input::focus(self.shortcut_search_id.clone()); + } + } + // TODO focus for other context pages? + _ => {} } - Task::none() } else if let Some(terminal_id) = self.terminal_ids.get(&self.pane_model.focused()).cloned() { @@ -1045,10 +1017,10 @@ impl App { let mut found_actions = false; for action in group.actions { let action_label = shortcuts::action_label(action); - if let Some(regex) = &self.shortcut_search_regex - && regex.find(&action_label).is_none() - { - continue; + if let Some(regex) = &self.shortcut_search_regex { + if regex.find(&action_label).is_none() { + continue; + } } found_actions = true; @@ -1511,21 +1483,11 @@ impl App { .toggler(self.config.focus_follow_mouse, Message::FocusFollowMouse), ); - let advanced_section = widget::settings::section() - .title(fl!("advanced")) - .add( - widget::settings::item::builder(fl!("show-headerbar")) - .description(fl!("show-header-description")) - .toggler(self.config.show_headerbar, Message::ShowHeaderBar), - ) - .add( - widget::settings::item::builder(fl!("tab-new-inherit-working-directory")) - .description(fl!("tab-new-inherit-working-directory-description")) - .toggler( - self.config.tab_new_inherit_working_directory, - Message::TabNewInheritWorkingDirectory, - ), - ); + let advanced_section = widget::settings::section().title(fl!("advanced")).add( + widget::settings::item::builder(fl!("show-headerbar")) + .description(fl!("show-header-description")) + .toggler(self.config.show_headerbar, Message::ShowHeaderBar), + ); widget::settings::view_column(vec![ appearance_section.into(), @@ -1539,23 +1501,11 @@ impl App { self.config.default_profile } - fn active_terminal_working_directory(&self) -> Option { - let tab_model = self.pane_model.active()?; - let entity = tab_model.active(); - let terminal = tab_model.data::>(entity)?; - let terminal = terminal.lock().unwrap(); - terminal.working_directory() - } - fn create_and_focus_new_terminal( &mut self, pane: pane_grid::Pane, profile_id_opt: Option, - inherit_working_directory: bool, ) -> Task { - let inherited_working_directory = inherit_working_directory - .then(|| self.active_terminal_working_directory()) - .flatten(); self.pane_model.set_focus(pane); match &self.term_event_tx_opt { Some(term_event_tx) => { @@ -1584,21 +1534,20 @@ impl App { self.startup_options.take().unwrap_or_default(); let options = tty::Options { shell: startup_options.shell.or_else(|| { - if let Some(mut args) = shlex::split(&profile.command) - && !args.is_empty() - { - let command = args.remove(0); - return Some(tty::Shell::new(command, args)); + if let Some(mut args) = shlex::split(&profile.command) { + if !args.is_empty() { + let command = args.remove(0); + return Some(tty::Shell::new(command, args)); + } } - None + return None; }), - working_directory: startup_options - .working_directory - .or_else(|| inherited_working_directory.clone()) - .or_else(|| { + working_directory: startup_options.working_directory.or_else( + || { (!profile.working_directory.is_empty()) .then(|| profile.working_directory.clone().into()) - }), + }, + ), drain_on_exit: startup_options.drain_on_exit || profile.drain_on_exit, ..startup_options @@ -1610,11 +1559,7 @@ impl App { }; (options, tab_title_override) } else { - let mut options = self.startup_options.take().unwrap_or_default(); - if options.working_directory.is_none() { - options.working_directory = inherited_working_directory.clone(); - } - (options, None) + (self.startup_options.take().unwrap_or_default(), None) }; let entity = tab_model @@ -1884,8 +1829,6 @@ impl Application for App { color_scheme_expanded: None, color_scheme_renaming: None, color_scheme_rename_id: widget::Id::unique(), - rename_tab: None, - rename_tab_id: widget::Id::unique(), color_scheme_tab_model: widget::segmented_button::Model::default(), profile_expanded: None, show_advanced_font_settings: false, @@ -1897,7 +1840,6 @@ impl Application for App { shortcut_search_regex: None, shortcut_search_value: String::new(), modifiers: Modifiers::empty(), - context_menu_popup: None, #[cfg(feature = "password_manager")] password_mgr: Default::default(), }; @@ -2004,23 +1946,24 @@ impl Application for App { .get(&color_scheme_id) .map(|color_scheme| color_scheme.name.clone()), None => Some(format!("COSMIC {:?}", color_scheme_kind)), - } && self.dialog_opt.is_none() - { - let (dialog, command) = Dialog::new( - DialogSettings::new().kind(DialogKind::SaveFile { - filename: format!("{}.ron", color_scheme_name), - }), - |msg| Message::DialogMessage(Box::new(msg)), - move |result| { - Message::ColorSchemeExportResult( - color_scheme_kind, - color_scheme_id_opt, - result, - ) - }, - ); - self.dialog_opt = Some(dialog); - return command; + } { + if self.dialog_opt.is_none() { + let (dialog, command) = Dialog::new( + DialogSettings::new().kind(DialogKind::SaveFile { + filename: format!("{}.ron", color_scheme_name), + }), + Message::DialogMessage, + move |result| { + Message::ColorSchemeExportResult( + color_scheme_kind, + color_scheme_id_opt, + result, + ) + }, + ); + self.dialog_opt = Some(dialog); + return command; + } } } Message::ColorSchemeExportResult(color_scheme_kind, color_scheme_id_opt, result) => { @@ -2108,7 +2051,7 @@ impl Application for App { self.color_scheme_errors.clear(); let (dialog, command) = Dialog::new( DialogSettings::new().kind(DialogKind::OpenMultipleFiles), - |msg| Message::DialogMessage(Box::new(msg)), + Message::DialogMessage, move |result| Message::ColorSchemeImportResult(color_scheme_kind, result), ); self.dialog_opt = Some(dialog); @@ -2162,13 +2105,15 @@ impl Application for App { Message::ColorSchemeRenameSubmit => { if let Some((color_scheme_kind, color_scheme_id, color_scheme_name)) = self.color_scheme_renaming.take() - && let Some(color_scheme) = self + { + if let Some(color_scheme) = self .config .color_schemes_mut(color_scheme_kind) .get_mut(&color_scheme_id) - { - color_scheme.name = color_scheme_name; - return self.save_color_schemes(color_scheme_kind); + { + color_scheme.name = color_scheme_name; + return self.save_color_schemes(color_scheme_kind); + } } } Message::ColorSchemeTabActivate(entity) => { @@ -2182,11 +2127,11 @@ impl Application for App { } } Message::Config(config) => { - if *config != self.config { + if config != self.config { let shortcuts_changed = config.shortcuts_custom != self.config.shortcuts_custom; log::info!("update config"); //TODO: update syntax theme by clearing tabs, only if needed - self.config = *config; + self.config = config; if shortcuts_changed { self.shortcuts_config = shortcuts::ShortcutsConfig::new(self.config.shortcuts_custom.clone()); @@ -2350,8 +2295,7 @@ impl Application for App { }, Message::DialogMessage(dialog_message) => { if let Some(dialog) = &mut self.dialog_opt { - // DialogMessage is boxed, so we need to dereference it before updating - return dialog.update(*dialog_message); + return dialog.update(dialog_message); } } Message::Drop(Some((pane, entity, data))) => { @@ -2390,13 +2334,13 @@ impl Application for App { return self.update_focus(); } Message::FindNext => { - if !self.find_search_value.is_empty() - && let Some(tab_model) = self.pane_model.active() - { - let entity = tab_model.active(); - if let Some(terminal) = tab_model.data::>(entity) { - let mut terminal = terminal.lock().unwrap(); - terminal.search(&self.find_search_value, true); + if !self.find_search_value.is_empty() { + if let Some(tab_model) = self.pane_model.active() { + let entity = tab_model.active(); + if let Some(terminal) = tab_model.data::>(entity) { + let mut terminal = terminal.lock().unwrap(); + terminal.search(&self.find_search_value, true); + } } } @@ -2404,13 +2348,13 @@ impl Application for App { return self.update_focus(); } Message::FindPrevious => { - if !self.find_search_value.is_empty() - && let Some(tab_model) = self.pane_model.active() - { - let entity = tab_model.active(); - if let Some(terminal) = tab_model.data::>(entity) { - let mut terminal = terminal.lock().unwrap(); - terminal.search(&self.find_search_value, false); + if !self.find_search_value.is_empty() { + if let Some(tab_model) = self.pane_model.active() { + let entity = tab_model.active(); + if let Some(terminal) = tab_model.data::>(entity) { + let mut terminal = terminal.lock().unwrap(); + terminal.search(&self.find_search_value, false); + } } } @@ -2487,6 +2431,7 @@ impl Application for App { if let Some(tab_model) = self.pane_model.active() { let entity = tab_model.active(); if let Some(terminal) = tab_model.data::>(entity) { + // Update context menu position let mut terminal = terminal.lock().unwrap(); if let Some(url) = terminal.context_menu.as_ref().and_then(|m| m.link.as_ref()) @@ -2505,12 +2450,14 @@ impl Application for App { if let Some(tab_model) = self.pane_model.active() { let entity = tab_model.active(); if let Some(terminal) = tab_model.data::>(entity) { + // Update context menu position let mut terminal = terminal.lock().unwrap(); if let Some(url) = terminal.context_menu.as_ref().and_then(|m| m.link.as_ref()) - && let Err(err) = open::that_detached(url) { - log::warn!("failed to open {:?}: {}", url, err); + if let Err(err) = open::that_detached(url) { + log::warn!("failed to open {:?}: {}", url, err); + } } terminal.context_menu = None; terminal.active_regex_match = None; @@ -2594,7 +2541,7 @@ impl Application for App { if let Some((pane, _)) = result { self.terminal_ids.insert(pane, widget::Id::unique()); let command = - self.create_and_focus_new_terminal(pane, self.get_default_profile(), false); + self.create_and_focus_new_terminal(pane, self.get_default_profile()); self.pane_model.panes_created += 1; return command; } @@ -2706,11 +2653,8 @@ impl Application for App { return self.save_profiles(); } Message::ProfileOpen(profile_id) => { - return self.create_and_focus_new_terminal( - self.pane_model.focused(), - Some(profile_id), - false, - ); + return self + .create_and_focus_new_terminal(self.pane_model.focused(), Some(profile_id)); } Message::ProfileRemove(profile_id) => { // Reset matching terminals to default profile @@ -2776,12 +2720,6 @@ impl Application for App { return self.update_config(); } } - Message::TabNewInheritWorkingDirectory(tab_new_inherit_working_directory) => { - config_set!( - tab_new_inherit_working_directory, - tab_new_inherit_working_directory - ); - } Message::UseBrightBold(use_bright_bold) => { if use_bright_bold != self.config.use_bright_bold { config_set!(use_bright_bold, use_bright_bold); @@ -2872,138 +2810,63 @@ impl Application for App { return self.update_title(None); } Message::TabContextAction(entity, action) => { - // Close context menu popup - let mut tasks = Vec::new(); - if let Some((_popup_id, _, _, _, _, _)) = self.context_menu_popup.take() { - #[cfg(feature = "wayland")] - if is_wayland() { - tasks.push(cosmic::task::message(Message::Surface( - cosmic::surface::action::destroy_popup(_popup_id), - ))); - } - } - // Close terminal context menu state - if let Some(tab_model) = self.pane_model.active() - && let Some(terminal) = tab_model.data::>(entity) - { - let mut terminal = terminal.lock().unwrap(); - //Some actions need the menu_state, - //so only clear the position for them. - match action { - Action::LaunchUrlByMenu | Action::CopyUrlByMenu => { - if let Some(context_menu) = terminal.context_menu.as_mut() { - context_menu.position = None; + if let Some(tab_model) = self.pane_model.active() { + if let Some(terminal) = tab_model.data::>(entity) { + // Close context menu + { + let mut terminal = terminal.lock().unwrap(); + //Some actions need the menu_state, + //so only clear the position for them. + match action { + Action::LaunchUrlByMenu | Action::CopyUrlByMenu => { + if let Some(context_menu) = terminal.context_menu.as_mut() { + context_menu.position = None; + } + } + _ => { + terminal.context_menu = None; + } } } - _ => { - terminal.context_menu = None; - } + // Run action's message + return self.update(action.message(Some(entity))); } } - tasks.push(self.update(action.message(Some(entity)))); - return cosmic::Task::batch(tasks); } Message::TabContextMenu(pane, menu_state) => { - #[allow(unused_mut)] - let mut tasks = Vec::new(); - - // Close existing context menu popup if any - if let Some((_popup_id, _, _, _, _, _)) = self.context_menu_popup.take() { - #[cfg(feature = "wayland")] - if is_wayland() { - tasks.push(cosmic::task::message(Message::Surface( - cosmic::surface::action::destroy_popup(_popup_id), - ))); + // Close any existing context menues + let panes: Vec<_> = self.pane_model.panes.iter().collect(); + for (_pane, tab_model) in panes { + let entity = tab_model.active(); + if let Some(terminal) = tab_model.data::>(entity) { + let mut terminal = terminal.lock().unwrap(); + terminal.context_menu = None; } } - // Clear all terminal context_menu state - for (_, tab_model) in self.pane_model.panes.iter() { - for entity in tab_model.iter() { - if let Some(terminal) = tab_model.data::>(entity) { - let mut terminal = terminal.lock().unwrap(); - terminal.context_menu = None; - } + // Show the context menu on the correct pane / terminal + if let Some(tab_model) = self.pane_model.panes.get(pane) { + let entity = tab_model.active(); + if let Some(terminal) = tab_model.data::>(entity) { + // Update context menu position + let mut terminal = terminal.lock().unwrap(); + terminal.context_menu = menu_state; } } - if let Some(menu_state) = menu_state { - if let Some(_position) = menu_state.position { - let local_position = menu_state.local_position.unwrap_or(_position); - if let Some(tab_model) = self.pane_model.panes.get(pane) { - let entity = tab_model.active(); - let link = menu_state.link.clone(); - let popup_id = window::Id::unique(); - - if let Some(terminal) = tab_model.data::>(entity) { - let mut terminal = terminal.lock().unwrap(); - terminal.context_menu = Some(menu_state); - } - - self.context_menu_popup = Some(( - popup_id, - pane, - entity, - link, - widget::Id::unique(), - local_position, - )); - - #[cfg(feature = "wayland")] - if is_wayland() { - let main_window = self.core.main_window_id().unwrap(); - let pos_x = _position.x as i32; - let pos_y = _position.y as i32; - - tasks.push(cosmic::task::message(Message::Surface( - cosmic::surface::action::app_popup(move |_app: &mut Self| { - use cosmic::cctk::wayland_protocols::xdg::shell::client::xdg_positioner::{Anchor, Gravity}; - use cosmic::iced::runtime::platform_specific::wayland::popup::{SctkPopupSettings, SctkPositioner}; - - SctkPopupSettings { - parent: main_window, - id: popup_id, - positioner: SctkPositioner { - size: None, - anchor_rect: cosmic::iced::Rectangle { - x: pos_x, - y: pos_y, - width: 1, - height: 1, - }, - anchor: Anchor::None, - gravity: Gravity::BottomRight, - reactive: true, - ..Default::default() - }, - parent_size: None, - grab: true, - close_with_children: false, - input_zone: None, - } - }, None), - ))); - } - } - } - self.pane_model.set_focus(pane); - } - - return cosmic::Task::batch(tasks); + // Shift focus to the pane / terminal + // with the context menu + self.pane_model.set_focus(pane); + return self.update_title(Some(pane)); } Message::TabNew => { return self.create_and_focus_new_terminal( self.pane_model.focused(), self.get_default_profile(), - self.config.tab_new_inherit_working_directory, ); } Message::TabNewNoProfile => { - return self.create_and_focus_new_terminal( - self.pane_model.focused(), - None, - self.config.tab_new_inherit_working_directory, - ); + return self.create_and_focus_new_terminal(self.pane_model.focused(), None); } Message::TabNext => { if let Some(tab_model) = self.pane_model.active() { @@ -3025,7 +2888,9 @@ impl Application for App { let pos = tab_model .position(tab_model.active()) .and_then(|i| (i as usize).checked_sub(1)) - .unwrap_or_else(|| tab_model.iter().count().saturating_sub(1)); + .unwrap_or_else(|| { + tab_model.iter().count().checked_sub(1).unwrap_or_default() + }); let entity = tab_model.iter().nth(pos); if let Some(entity) = entity { @@ -3033,64 +2898,6 @@ impl Application for App { } } } - Message::TabRenameOpenForPane(pane, entity) => { - self.pane_model.set_focus(pane); - return self.update(Message::TabRenameOpen(Some(entity))); - } - Message::TabRenameOpen(entity_opt) => { - if let Some(tab_model) = self.pane_model.active() { - let entity = entity_opt.unwrap_or_else(|| tab_model.active()); - let initial = tab_model - .text(entity) - .map(|s| s.to_string()) - .unwrap_or_default(); - self.rename_tab = Some((entity, initial)); - self.pane_model.unfocus_all_terminals(); - return self.update_focus(); - } - } - Message::TabRenameInput(value) => { - if let Some((_, buffer)) = self.rename_tab.as_mut() { - *buffer = value; - } - } - Message::TabRenameCommit => { - if let Some((entity, value)) = self.rename_tab.take() { - let trimmed = value.trim().to_string(); - if let Some(tab_model) = self.pane_model.active_mut() { - if trimmed.is_empty() { - if let Some(terminal) = tab_model.data::>(entity) { - terminal.lock().unwrap().tab_title_override = None; - } - tab_model.text_set(entity, fl!("new-terminal")); - } else { - if let Some(terminal) = tab_model.data::>(entity) { - terminal.lock().unwrap().tab_title_override = Some(trimmed.clone()); - } - tab_model.text_set(entity, trimmed); - } - } - self.pane_model.update_terminal_focus(); - return self.update_title(None); - } - } - Message::TabRenameCancel => { - self.rename_tab = None; - self.pane_model.update_terminal_focus(); - } - Message::TabRenameResetToDefault => { - if let Some((entity, _)) = self.rename_tab.take() - && let Some(tab_model) = self.pane_model.active_mut() - { - if let Some(terminal) = tab_model.data::>(entity) { - terminal.lock().unwrap().tab_title_override = None; - } - tab_model.text_set(entity, fl!("new-terminal")); - self.pane_model.update_terminal_focus(); - return self.update_title(None); - } - self.pane_model.update_terminal_focus(); - } Message::TermEvent(pane, entity, event) => { match event { TermEvent::Bell => { @@ -3122,13 +2929,13 @@ impl Application for App { } }, TermEvent::ColorRequest(index, f) => { - if let Some(tab_model) = self.pane_model.panes.get(pane) - && let Some(terminal) = tab_model.data::>(entity) - { - let terminal = terminal.lock().unwrap(); - let rgb = terminal.colors()[index].unwrap_or_default(); - let text = f(rgb); - terminal.input_no_scroll(text.into_bytes()); + if let Some(tab_model) = self.pane_model.panes.get(pane) { + if let Some(terminal) = tab_model.data::>(entity) { + let terminal = terminal.lock().unwrap(); + let rgb = terminal.colors()[index].unwrap_or_default(); + let text = f(rgb); + terminal.input_no_scroll(text.into_bytes()); + } } } TermEvent::CursorBlinkingChange => { @@ -3138,11 +2945,11 @@ impl Application for App { return self.update(Message::TabClose(Some(entity))); } TermEvent::PtyWrite(text) => { - if let Some(tab_model) = self.pane_model.panes.get(pane) - && let Some(terminal) = tab_model.data::>(entity) - { - let terminal = terminal.lock().unwrap(); - terminal.input_no_scroll(text.into_bytes()); + if let Some(tab_model) = self.pane_model.panes.get(pane) { + if let Some(terminal) = tab_model.data::>(entity) { + let terminal = terminal.lock().unwrap(); + terminal.input_no_scroll(text.into_bytes()); + } } } TermEvent::ResetTitle => { @@ -3162,12 +2969,12 @@ impl Application for App { return self.update_title(Some(pane)); } TermEvent::TextAreaSizeRequest(f) => { - if let Some(tab_model) = self.pane_model.panes.get(pane) - && let Some(terminal) = tab_model.data::>(entity) - { - let terminal = terminal.lock().unwrap(); - let text = f(terminal.size().into()); - terminal.input_no_scroll(text.into_bytes()); + if let Some(tab_model) = self.pane_model.panes.get(pane) { + if let Some(terminal) = tab_model.data::>(entity) { + let terminal = terminal.lock().unwrap(); + let text = f(terminal.size().into()); + terminal.input_no_scroll(text.into_bytes()); + } } } TermEvent::Title(title) => { @@ -3186,11 +2993,11 @@ impl Application for App { return self.update_title(Some(pane)); } TermEvent::MouseCursorDirty | TermEvent::Wakeup => { - if let Some(tab_model) = self.pane_model.panes.get(pane) - && let Some(terminal) = tab_model.data::>(entity) - { - let mut terminal = terminal.lock().unwrap(); - terminal.needs_update = true; + if let Some(tab_model) = self.pane_model.panes.get(pane) { + if let Some(terminal) = tab_model.data::>(entity) { + let mut terminal = terminal.lock().unwrap(); + terminal.needs_update = true; + } } } TermEvent::ChildExit(_error_code) => { @@ -3323,25 +3130,9 @@ impl Application for App { return self.update_render_active_pane_zoom(message); } Message::ZoomReset => { - self.reset_active_pane_zoom(); + self.reset_terminal_panes_zoom(); return self.update_config(); } - Message::ContextMenuPopupClosed(id) => { - if let Some((popup_id, pane, entity, _, _, _)) = &self.context_menu_popup - && id == *popup_id - { - // Clear link underline on the terminal - if let Some(tab_model) = self.pane_model.panes.get(*pane) - && let Some(terminal) = tab_model.data::>(*entity) - { - let mut terminal = terminal.lock().unwrap(); - terminal.context_menu = None; - terminal.active_regex_match = None; - terminal.needs_update = true; - } - self.context_menu_popup = None; - } - } Message::Surface(a) => { return cosmic::task::message(cosmic::Action::Cosmic( cosmic::app::Action::Surface(a), @@ -3407,31 +3198,6 @@ impl Application for App { } fn dialog(&self) -> Option> { - if let Some((_, buffer)) = self.rename_tab.as_ref() { - let input = widget::text_input(fl!("tab-name-placeholder"), buffer) - .id(self.rename_tab_id.clone()) - .on_input(Message::TabRenameInput) - .on_submit(|_| Message::TabRenameCommit); - - return Some( - widget::dialog() - .title(fl!("tab-rename-title")) - .control(input) - .primary_action( - widget::button::suggested(fl!("confirm")) - .on_press(Message::TabRenameCommit), - ) - .secondary_action( - widget::button::standard(fl!("cancel")).on_press(Message::TabRenameCancel), - ) - .tertiary_action( - widget::button::text(fl!("reset")) - .on_press(Message::TabRenameResetToDefault), - ) - .into(), - ); - } - let conflict = self.shortcut_conflict.as_ref()?; let binding = shortcuts::binding_display(&conflict.binding); let existing = shortcuts::action_label(conflict.existing_action); @@ -3473,26 +3239,7 @@ impl Application for App { ] } - fn on_close_requested(&self, id: window::Id) -> Option { - if let Some((popup_id, _, _, _, _, _)) = &self.context_menu_popup - && id == *popup_id - { - return Some(Message::ContextMenuPopupClosed(id)); - } - None - } - fn view_window(&self, window_id: window::Id) -> Element<'_, Message> { - if let Some((popup_id, _pane, entity, ref link, ref autosize_id, _)) = - self.context_menu_popup - && window_id == popup_id - { - return widget::autosize::autosize( - menu::context_menu(&self.config, &self.key_binds, entity, link.clone()), - autosize_id.clone(), - ) - .into(); - } match &self.dialog_opt { Some(dialog) => dialog.view(window_id), None => widget::text("Unknown window ID").into(), @@ -3506,31 +3253,34 @@ impl Application for App { let pane_grid = PaneGrid::new(&self.pane_model.panes, |pane, tab_model, _is_maximized| { let mut tab_column = widget::column::with_capacity(1); - tab_column = tab_column.push( - widget::container( - widget::tab_bar::horizontal(tab_model) - .enable_tab_drag(String::from("x-cosmic-term/tab")) - .on_reorder(move |event| Message::ReorderTab(pane, event)) - .tab_drag_threshold(25.) - .button_height(32) - .button_spacing(space_xxs) - .on_activate(Message::TabActivate) - .on_close(|entity| Message::TabClose(Some(entity))) - .on_context(move |entity| Message::TabRenameOpenForPane(pane, entity)), - ) - .class(style::Container::Custom(Box::new(|theme| { - let cosmic = theme.cosmic(); - cosmic::iced::widget::container::Style { - icon_color: Some(Color::from(cosmic.background.on)), - text_color: Some(Color::from(cosmic.background.on)), - background: Some(iced::Background::Color(cosmic.background.base.into())), - border: iced::Border::default(), - shadow: iced::Shadow::default(), - snap: true, - } - }))) - .width(Length::Fill), - ); + if tab_model.iter().count() > 1 { + tab_column = tab_column.push( + widget::container( + widget::tab_bar::horizontal(tab_model) + .enable_tab_drag(String::from("x-cosmic-term/tab")) + .on_reorder(move |event| Message::ReorderTab(pane, event)) + .tab_drag_threshold(25.) + .button_height(32) + .button_spacing(space_xxs) + .on_activate(Message::TabActivate) + .on_close(|entity| Message::TabClose(Some(entity))), + ) + .class(style::Container::Custom(Box::new(|theme| { + let cosmic = theme.cosmic(); + cosmic::iced_widget::container::Style { + icon_color: Some(Color::from(cosmic.background.on)), + text_color: Some(Color::from(cosmic.background.on)), + background: Some(iced::Background::Color( + cosmic.background.base.into(), + )), + border: iced::Border::default(), + shadow: iced::Shadow::default(), + snap: true, + } + }))) + .width(Length::Fill), + ); + } let entity = tab_model.active(); let entity_middle_click = tab_model.active(); @@ -3542,7 +3292,7 @@ impl Application for App { if let Some(terminal) = tab_model.data::>(entity) { let mut terminal_box = terminal_box(terminal, &self.key_binds) .id(terminal_id) - .disabled(self.core.window.show_context || self.rename_tab.is_some()) + .disabled(self.core.window.show_context) .on_context_menu(move |menu_state| Message::TabContextMenu(pane, menu_state)) .on_middle_click(move || Message::MiddleClick(pane, Some(entity_middle_click))) .on_open_hyperlink(Some(Box::new(Message::LaunchUrl))) @@ -3557,48 +3307,25 @@ impl Application for App { terminal_box = terminal_box.on_mouse_enter(move || Message::MouseEnter(pane)); } - // If a context menu popup is active for this pane, inform the - // terminal_box so it will emit on_context_menu(None) on click - // to dismiss the popup. - if self.context_menu_popup.is_some() { - terminal_box = terminal_box.context_menu(cosmic::iced::Point::ORIGIN); - } - - let use_wayland_popup = { - #[cfg(feature = "wayland")] - { - is_wayland() - } - #[cfg(not(feature = "wayland"))] - { - false - } + let context_menu = { + let terminal = terminal.lock().unwrap(); + terminal.context_menu.clone() }; - let tab_element: Element<'_, Message> = if !use_wayland_popup { - // Fallback: render context menu as an inline popover - if let Some((_, popup_pane, popup_entity, ref link, _, point)) = - self.context_menu_popup - { - if pane == popup_pane { - let mut popover = widget::popover(terminal_box.context_menu(point)); - popover = popover - .popup(menu::context_menu( - &self.config, - &self.key_binds, - popup_entity, - link.clone(), - )) - .position(widget::popover::Position::Point(point)); - popover.into() - } else { - terminal_box.into() - } - } else { - terminal_box.into() - } - } else { - terminal_box.into() + let tab_element: Element<'_, Message> = match context_menu { + Some(menu_state) => match menu_state.position { + Some(point) => widget::popover(terminal_box.context_menu(point)) + .popup(menu::context_menu( + &self.config, + &self.key_binds, + entity, + menu_state.link, + )) + .position(widget::popover::Position::Point(point)) + .into(), + None => terminal_box.into(), + }, + None => terminal_box.into(), }; tab_column = tab_column.push(tab_element); } @@ -3744,7 +3471,7 @@ impl Application for App { update.errors ); } - Message::Config(Box::new(update.config)) + Message::Config(update.config) }), match &self.dialog_opt { Some(dialog) => dialog.subscription(), @@ -3753,11 +3480,3 @@ impl Application for App { ]) } } - -#[cfg(feature = "wayland")] -fn is_wayland() -> bool { - matches!( - cosmic::app::cosmic::windowing_system(), - Some(cosmic::app::cosmic::WindowingSystem::Wayland) - ) -} diff --git a/src/menu.rs b/src/menu.rs index d2fdd00..228ab9b 100644 --- a/src/menu.rs +++ b/src/menu.rs @@ -7,8 +7,8 @@ use cosmic::widget::{Column, space}; use cosmic::{ Element, app::Core, - iced::core::Border, iced::{Background, Length, advanced::widget::text::Style as TextStyle}, + iced_core::Border, theme, widget::{ self, divider, @@ -26,7 +26,6 @@ static MENU_ID: LazyLock = #[derive(Debug, Clone)] pub struct MenuState { pub position: Option, - pub local_position: Option, pub link: Option, } @@ -94,9 +93,7 @@ pub fn context_menu<'a>( )), Element::from(divider::horizontal::light()), Element::from(menu_item(fl!("new-tab"), Action::TabNew)), - Element::from(menu_item(fl!("rename-tab"), Action::TabRename)), Element::from(menu_item(fl!("menu-settings"), Action::Settings)), - Element::from(menu_item(fl!("menu-about"), Action::About)), ]; #[cfg(feature = "password_manager")] { @@ -226,7 +223,6 @@ pub fn menu_bar<'a>( MenuItem::Folder(fl!("profile"), profile_items), MenuItem::Button(fl!("menu-profiles"), None, Action::Profiles), MenuItem::Divider, - MenuItem::Button(fl!("rename-tab"), None, Action::TabRename), MenuItem::Button(fl!("close-tab"), None, Action::TabClose), MenuItem::Divider, MenuItem::Button(fl!("quit"), None, Action::WindowClose), diff --git a/src/password_manager.rs b/src/password_manager.rs index a52bd53..fdaa672 100644 --- a/src/password_manager.rs +++ b/src/password_manager.rs @@ -234,10 +234,10 @@ impl PasswordManager { } // Don't do anything if nothing have changed - if let Some(original) = &original - && original == &input_state.input - { - return Task::none(); + if let Some(original) = &original { + if original == &input_state.input { + return Task::none(); + } } cosmic::task::future(async move { @@ -246,14 +246,19 @@ impl PasswordManager { "Failed to add password {identifier}: {err}" ))) } else { - if let Some(original) = original - && original.identifier != identifier - && let Err(err) = store::delete_password(original.identifier.clone()).await - { - return Message::PasswordManager(PasswordManagerMessage::Error(format!( - "Failed to delete password {}: {err}", - original.identifier - ))); + if let Some(original) = original { + if original.identifier != identifier { + if let Err(err) = + store::delete_password(original.identifier.clone()).await + { + return Message::PasswordManager(PasswordManagerMessage::Error( + format!( + "Failed to delete password {}: {err}", + original.identifier + ), + )); + } + } } Message::PasswordManager(PasswordManagerMessage::None) } @@ -310,68 +315,72 @@ impl PasswordManager { .spacing(space_xxs), ); - if expanded && let Some(input_state) = &self.input_state { - let expanded_section: Section<'_, Message> = widget::settings::section().add( - widget::column::with_children(vec![ + if expanded { + if let Some(input_state) = &self.input_state { + let expanded_section: Section<'_, Message> = widget::settings::section().add( widget::column::with_children(vec![ - widget::text(fl!("password-input-description")).into(), - widget::text_input("", input_state.input.identifier.clone()) + widget::column::with_children(vec![ + widget::text(fl!("password-input-description")).into(), + widget::text_input("", input_state.input.identifier.clone()) + .on_input(move |text| { + Message::PasswordManager( + PasswordManagerMessage::DescriptionInput(text), + ) + }) + .on_submit(move |text| { + Message::PasswordManager( + PasswordManagerMessage::DescriptionInputAndUpdate(text), + ) + }) + .on_unfocus(Message::PasswordManager( + PasswordManagerMessage::Update, + )) + .into(), + ]) + .spacing(space_xxxs) + .into(), + widget::column::with_children(vec![ + widget::text(fl!("password-input")).into(), + widget::secure_input( + "", + input_state.input.password.clone(), + Some(Message::PasswordManager( + PasswordManagerMessage::ToggleShowPassword, + )), + !input_state.show_password, + ) .on_input(move |text| { - Message::PasswordManager( - PasswordManagerMessage::DescriptionInput(text), - ) + Message::PasswordManager(PasswordManagerMessage::PasswordInput( + text, + )) }) .on_submit(move |text| { Message::PasswordManager( - PasswordManagerMessage::DescriptionInputAndUpdate(text), + PasswordManagerMessage::PasswordInputAndUpdate(text), ) }) .on_unfocus(Message::PasswordManager( PasswordManagerMessage::Update, )) .into(), - ]) - .spacing(space_xxxs) - .into(), - widget::column::with_children(vec![ - widget::text(fl!("password-input")).into(), - widget::secure_input( - "", - input_state.input.password.clone(), - Some(Message::PasswordManager( - PasswordManagerMessage::ToggleShowPassword, - )), - !input_state.show_password, - ) - .on_input(move |text| { - Message::PasswordManager(PasswordManagerMessage::PasswordInput( - text, - )) - }) - .on_submit(move |text| { - Message::PasswordManager( - PasswordManagerMessage::PasswordInputAndUpdate(text), - ) - }) - .on_unfocus(Message::PasswordManager(PasswordManagerMessage::Update)) + ]) + .spacing(space_xxxs) .into(), ]) - .spacing(space_xxxs) - .into(), - ]) - .padding([0, space_s]) - .spacing(space_xs), - ); + .padding([0, space_s]) + .spacing(space_xs), + ); - let padding = Padding { - top: 0.0, - bottom: 0.0, - left: space_s.into(), - right: space_s.into(), - }; + let padding = Padding { + top: 0.0, + bottom: 0.0, + left: space_s.into(), + right: space_s.into(), + }; - passwords_section = - passwords_section.add(widget::container(expanded_section).padding(padding)) + passwords_section = + passwords_section.add(widget::container(expanded_section).padding(padding)) + } } } sections.push(passwords_section.into()); diff --git a/src/shortcuts.rs b/src/shortcuts.rs index 43dd017..e626a88 100644 --- a/src/shortcuts.rs +++ b/src/shortcuts.rs @@ -2,8 +2,8 @@ use cosmic::widget::menu::key_bind::{KeyBind, Modifier}; use cosmic::{ - iced::core::keyboard::key::Named, iced::keyboard::{Key, Modifiers}, + iced_core::keyboard::key::Named, }; use serde::{Deserialize, Serialize}; use std::collections::{BTreeMap, HashMap}; @@ -87,7 +87,6 @@ pub enum KeyBindAction { TabNew, TabNext, TabPrev, - TabRename, ToggleFullscreen, WindowClose, WindowNew, @@ -128,7 +127,6 @@ impl KeyBindAction { Self::TabNew => Some(Action::TabNew), Self::TabNext => Some(Action::TabNext), Self::TabPrev => Some(Action::TabPrev), - Self::TabRename => Some(Action::TabRename), Self::ToggleFullscreen => Some(Action::ToggleFullscreen), Self::WindowClose => Some(Action::WindowClose), Self::WindowNew => Some(Action::WindowNew), @@ -247,11 +245,11 @@ impl ShortcutsConfig { // Remove any matching bindings return false; } - if let Some(default_action) = self.defaults.0.get(binding) - && *default_action == reset_action - { - // Remove binding that overrode a default - return false; + if let Some(default_action) = self.defaults.0.get(binding) { + if *default_action == reset_action { + // Remove binding that overrode a default + return false; + } } true }); @@ -290,7 +288,6 @@ pub fn action_label(action: KeyBindAction) -> String { KeyBindAction::TabNew => fl!("new-tab"), KeyBindAction::TabNext => fl!("next-tab"), KeyBindAction::TabPrev => fl!("previous-tab"), - KeyBindAction::TabRename => fl!("rename-tab"), KeyBindAction::ToggleFullscreen => fl!("toggle-fullscreen"), KeyBindAction::WindowClose => fl!("close-window"), KeyBindAction::WindowNew => fl!("new-window"), @@ -323,7 +320,6 @@ pub fn shortcut_groups() -> Vec { actions: vec![ KeyBindAction::TabNew, KeyBindAction::TabClose, - KeyBindAction::TabRename, KeyBindAction::TabNext, KeyBindAction::TabPrev, KeyBindAction::TabActivate0, @@ -458,7 +454,6 @@ fn fallback_shortcuts() -> Shortcuts { bind!([Ctrl, Shift], "V", Paste); bind!([Shift], "Insert", PastePrimary); bind!([Ctrl, Shift], "W", TabClose); - bind!([Ctrl, Shift], "R", TabRename); bind!([Ctrl], ",", Settings); bind!([], "F11", ToggleFullscreen); diff --git a/src/terminal.rs b/src/terminal.rs index ae4f9ca..1d14973 100644 --- a/src/terminal.rs +++ b/src/terminal.rs @@ -28,8 +28,7 @@ use indexmap::IndexSet; use std::{ borrow::Cow, collections::HashMap, - fs, io, mem, - path::PathBuf, + io, mem, sync::{ Arc, Mutex, Weak, atomic::{AtomicU32, Ordering}, @@ -198,12 +197,11 @@ impl TerminalPaneGrid { } pub fn unfocus_all_terminals(&self) { for (_pane, tab_model) in self.panes.panes.iter() { - for entity in tab_model.iter() { - if let Some(terminal) = tab_model.data::>(entity) { - let mut terminal = terminal.lock().unwrap(); - terminal.is_focused = false; - terminal.update(); - } + let entity = tab_model.active(); + if let Some(terminal) = tab_model.data::>(entity) { + let mut terminal = terminal.lock().unwrap(); + terminal.is_focused = false; + terminal.update(); } } } @@ -259,7 +257,6 @@ pub struct Terminal { notifier: Notifier, search_regex_opt: Option, search_value: String, - shell_pid: Option, size: Size, use_bright_bold: bool, zoom_adj: i8, @@ -267,7 +264,6 @@ pub struct Terminal { impl Terminal { //TODO: error handling - #[allow(clippy::too_many_arguments)] pub fn new( pane: pane_grid::Pane, entity: segmented_button::Entity, @@ -307,13 +303,13 @@ impl Terminal { let (cell_width, cell_height) = { let mut font_system = font_system().write().unwrap(); let font_system = font_system.raw(); - buffer.set_wrap(Wrap::None); + buffer.set_wrap(font_system, Wrap::None); // Use size of space to determine cell size - buffer.set_text(" ", &default_attrs, Shaping::Advanced, None); + buffer.set_text(font_system, " ", &default_attrs, Shaping::Advanced, None); let layout = buffer.line_layout(font_system, 0).unwrap(); let w = layout[0].w; - buffer.set_monospace_width(Some(w)); + buffer.set_monospace_width(font_system, Some(w)); (w, metrics.line_height) }; @@ -332,10 +328,6 @@ impl Terminal { let window_id = 0; let pty = tty::new(&options, size.into(), window_id)?; - #[cfg(not(windows))] - let shell_pid = Some(pty.child().id()); - #[cfg(windows)] - let shell_pid = pty.child_watcher().pid().map(|pid| pid.get()); let pty_event_loop = EventLoop::new(term.clone(), event_proxy, pty, options.drain_on_exit, false)?; @@ -360,7 +352,6 @@ impl Terminal { profile_id_opt, search_regex_opt: None, search_value: String::new(), - shell_pid, size, tab_title_override, term, @@ -416,19 +407,6 @@ impl Terminal { self.notifier.notify(input); } - pub fn working_directory(&self) -> Option { - #[cfg(target_os = "linux")] - { - let shell_pid = self.shell_pid?; - fs::read_link(format!("/proc/{shell_pid}/cwd")).ok() - } - - #[cfg(not(target_os = "linux"))] - { - None - } - } - pub fn input_scroll>>(&self, input: I) { self.input_no_scroll(input); self.scroll(TerminalScroll::Bottom); @@ -470,7 +448,8 @@ impl Terminal { self.term.lock().resize(self.size); self.with_buffer_mut(|buffer| { - buffer.set_size(Some(width as f32), Some(height as f32)); + let mut font_system = font_system().write().unwrap(); + buffer.set_size(font_system.raw(), Some(width as f32), Some(height as f32)); }); self.needs_update = true; @@ -653,7 +632,10 @@ impl Terminal { let metrics = config.metrics(zoom_adj); if metrics != self.buffer.metrics() { - self.with_buffer_mut(|buffer| buffer.set_metrics(metrics)); + { + let mut font_system = font_system().write().unwrap(); + self.with_buffer_mut(|buffer| buffer.set_metrics(font_system.raw(), metrics)); + } update_cell_size = true; } @@ -710,13 +692,19 @@ impl Terminal { let (cell_width, cell_height) = { let mut font_system = font_system().write().unwrap(); self.with_buffer_mut(|buffer| { - buffer.set_wrap(Wrap::None); + buffer.set_wrap(font_system.raw(), Wrap::None); // Use size of space to determine cell size - buffer.set_text(" ", &default_attrs, Shaping::Advanced, None); + buffer.set_text( + font_system.raw(), + " ", + &default_attrs, + Shaping::Advanced, + None, + ); let layout = buffer.line_layout(font_system.raw(), 0).unwrap(); let w = layout[0].w; - buffer.set_monospace_width(Some(w)); + buffer.set_monospace_width(font_system.raw(), Some(w)); (w, buffer.metrics().line_height) }) }; @@ -880,12 +868,13 @@ impl Terminal { } // Change color if selected - if let Some(selection) = &term.selection - && let Some(range) = selection.to_range(&term) - && range.contains(indexed.point) - { - //TODO: better handling of selection - mem::swap(&mut fg, &mut bg); + if let Some(selection) = &term.selection { + if let Some(range) = selection.to_range(&term) { + if range.contains(indexed.point) { + //TODO: better handling of selection + mem::swap(&mut fg, &mut bg); + } + } } // Convert foreground to linear @@ -899,10 +888,10 @@ impl Terminal { let mut flags = indexed.cell.flags; - if let Some(active_match) = &self.active_regex_match - && active_match.contains(&indexed.point) - { - flags |= Flags::UNDERLINE; + if let Some(active_match) = &self.active_regex_match { + if active_match.contains(&indexed.point) { + flags |= Flags::UNDERLINE; + } } if let Some(active_id) = &self.active_hyperlink_id { let mut matches_active = indexed @@ -1211,12 +1200,13 @@ impl<'a, T> Iterator for HintPostProcessor<'a, T> { fn next(&mut self) -> Option { let next_match = self.next_match.take()?; - if self.start <= self.end - && let Some(rm) = self + if self.start <= self.end { + if let Some(rm) = self .term .regex_search_right(self.regex, self.start, self.end) - { - self.next_processed_match(rm); + { + self.next_processed_match(rm); + } } Some(next_match) diff --git a/src/terminal_box.rs b/src/terminal_box.rs index 9be9f0d..513cbf2 100644 --- a/src/terminal_box.rs +++ b/src/terminal_box.rs @@ -10,10 +10,17 @@ use alacritty_terminal::{ use cosmic::{ Renderer, cosmic_theme::palette::{WithAlpha, blend::Compose}, - iced::core::{ + iced::{ + Color, Element, Length, Padding, Point, Rectangle, Size, Vector, + advanced::graphics::text::Raw, + event::{Event, Status}, + keyboard::{Event as KeyEvent, Key, Modifiers}, + mouse::{self, Button, Event as MouseEvent, ScrollDelta}, + window::RedrawRequest, + }, + iced_core::{ Border, Shell, clipboard::Clipboard, - input_method::{self, InputMethod}, keyboard::key::Named, layout::{self, Layout}, renderer::{self, Quad, Renderer as _}, @@ -24,16 +31,9 @@ use cosmic::{ tree, }, }, - iced::{ - Color, Element, Length, Padding, Point, Rectangle, Size, Vector, - advanced::graphics::text::Raw, - event::Event, - keyboard::{Event as KeyEvent, Key, Modifiers}, - mouse::{self, Button, Event as MouseEvent, ScrollDelta}, - }, theme::Theme, }; -use cosmic::{iced::core::SmolStr, widget::menu::key_bind::KeyBind}; +use cosmic::{iced_core::SmolStr, widget::menu::key_bind::KeyBind}; use cosmic_text::LayoutGlyph; use indexmap::IndexSet; use std::{ @@ -234,49 +234,6 @@ where self.disabled = disabled; self } - - fn input_method<'b>( - &self, - state: &'b State, - layout: Layout<'_>, - terminal: &std::sync::MutexGuard<'_, Terminal>, - ) -> InputMethod<&'b str> { - if !state.is_focused { - return InputMethod::Disabled; - } - if self.context_menu.is_some() { - return InputMethod::Disabled; - } - - let view_position = layout.position() + [self.padding.left, self.padding.top].into(); - - // Draw cursor - let cursor = terminal.term.lock().renderable_content().cursor; - let mut col = cursor.point.column.0; - let line = cursor.point.line.0; - let width = terminal.size().cell_width; - let mut cursor_position = Vector::::ZERO; - let mut line_height = 0.0; - terminal.with_buffer(|buffer| { - let layout = buffer.layout_runs().nth(line as usize).unwrap(); - for glyph in layout.glyphs { - cursor_position.x += glyph.w; - let ch_width = if glyph.w > width { 2 } else { 1 }; - if ch_width > col { - break; - } - col -= ch_width; - } - cursor_position.y = layout.line_top; - line_height = layout.line_height; - }); - - InputMethod::Enabled { - cursor: Rectangle::new(view_position + cursor_position, Size::new(1.0, line_height)), - purpose: input_method::Purpose::Normal, - preedit: state.preedit.as_ref().map(input_method::Preedit::as_ref), - } - } } pub fn terminal_box<'a, Message>( @@ -906,8 +863,8 @@ where if is_mouse_mode { state.autoscroll.stop(); } else { - if let Some((pointer, multiplier)) = state.autoscroll.next_due() - && update_buffer_drag( + if let Some((pointer, multiplier)) = state.autoscroll.next_due() { + if update_buffer_drag( state, &mut terminal, buffer_size, @@ -915,15 +872,14 @@ where layout.bounds(), self.padding, multiplier, - ) - { - shell.capture_event(); + ) { + shell.capture_event(); + } } if state.autoscroll.is_active() { shell.request_redraw(); } } - shell.request_input_method(&self.input_method(state, layout, &terminal)); } cosmic::iced::window::Event::Unfocused => { state.is_focused = false; @@ -1205,28 +1161,6 @@ where } } } - Event::InputMethod(event) => match event { - input_method::Event::Opened | input_method::Event::Closed => { - state.preedit = matches!(event, input_method::Event::Opened) - .then(input_method::Preedit::new); - } - input_method::Event::Preedit(content, selection) => { - if state.is_focused { - let metrics = terminal.with_buffer(|buffer| buffer.metrics()); - state.preedit = Some(input_method::Preedit { - content: content.to_owned(), - selection: selection.clone(), - text_size: Some(metrics.font_size.into()), - }) - } - } - input_method::Event::Commit(text) => { - if state.is_focused { - terminal.paste(text.to_string()); - shell.capture_event(); - } - } - }, Event::Mouse(MouseEvent::ButtonPressed(button)) => { if let Some(p) = cursor_position.position_in(layout.bounds()) { let x = p.x - self.padding.left; @@ -1366,13 +1300,8 @@ where None, ); let link = get_hyperlink(&terminal, location); - let abs = cosmic::iced::Point::new( - layout.bounds().x + p.x, - layout.bounds().y + p.y, - ); shell.publish(on_context_menu(Some(MenuState { - position: Some(abs), - local_position: Some(p), + position: Some(p), link, }))); } @@ -1381,26 +1310,25 @@ where } shell.capture_event(); } - } else { - state.is_focused = false; } } Event::Mouse(MouseEvent::ButtonReleased(Button::Left)) => { state.autoscroll.stop(); - if let Some(dragging) = state.dragging.take() - && let Dragging::Buffer { + if let Some(dragging) = state.dragging.take() { + if let Dragging::Buffer { last_point, last_side, .. } = dragging - { { - let mut term = terminal.term.lock(); - if let Some(selection) = &mut term.selection { - selection.update(last_point, last_side); + { + let mut term = terminal.term.lock(); + if let Some(selection) = &mut term.selection { + selection.update(last_point, last_side); + } } + terminal.needs_update = true; } - terminal.needs_update = true; } if let Some(p) = cursor_position.position_in(layout.bounds()) { let x = p.x - self.padding.left; @@ -1411,12 +1339,13 @@ where let location = terminal .viewport_to_point(TermPoint::new(row as usize, TermColumn(col as usize))); - if state.modifiers.control() - && let Some(on_open_hyperlink) = &self.on_open_hyperlink - && let Some(hyperlink) = get_hyperlink(&terminal, location) - { - shell.publish(on_open_hyperlink(hyperlink)); - shell.capture_event(); + if state.modifiers.control() { + if let Some(on_open_hyperlink) = &self.on_open_hyperlink { + if let Some(hyperlink) = get_hyperlink(&terminal, location) { + shell.publish(on_open_hyperlink(hyperlink)); + shell.capture_event(); + } + } } if is_mouse_mode { @@ -1429,6 +1358,8 @@ where } else { shell.capture_event(); } + } else { + shell.capture_event(); } } Event::Mouse(MouseEvent::ButtonReleased(_button)) => { @@ -1719,10 +1650,10 @@ fn update_active_regex_match( .find(|bounds| bounds.contains(&location)) { 'update: { - if let Some(active_match) = &terminal.active_regex_match - && active_match == match_ - { - break 'update; + if let Some(active_match) = &terminal.active_regex_match { + if active_match == match_ { + break 'update; + } } terminal.active_regex_match = Some(match_.clone()); terminal.needs_update = true; @@ -1783,7 +1714,6 @@ enum EdgeScrollDirection { Bottom, } -#[allow(clippy::too_many_arguments)] fn edge_scroll_adjustment( y: f32, buffer_height: f32, @@ -1936,7 +1866,6 @@ pub struct State { scroll_pixels: f32, scrollbar_rect: Cell>, autoscroll: DragAutoscroll, - preedit: Option, } impl State { @@ -1950,7 +1879,6 @@ impl State { scroll_pixels: 0.0, scrollbar_rect: Cell::new(Rectangle::default()), autoscroll: DragAutoscroll::new(AUTOSCROLL_INTERVAL), - preedit: None, } } }