diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 63abe52..e6ca28b 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,10 +1,8 @@ -Replace this text with a description of your changes, and why these changes are important. Read and acknowledge the list below. PRs without a completed checkbox will be closed. +- [ ] I have disclosed use of any AI generated code in my commit messages. + - If you are using an LLM, and do not fully understand the changes it is making to the code base, do not create a PR. + - In our experience, AI generated code often results in overly complex code that lacks enough context for a proper fix or feature inclusion. This results in considerably longer code reviews. Due to this, AI authored or partially authored PRs may be closed without comment. +- [ ] I understand these changes in full and will be able to respond to review comments. +- [ ] My change is accurately described in the commit message. +- [ ] My contribution is tested and working as described. +- [ ] I have read the [Developer Certificate of Origin](https://developercertificate.org/) and certify my contribution under its conditions. ---- - -- I have not included any LLM (also known as AI) generated content in this PR, including code, comments, and descriptions. -- I understand these changes in full and will be able to respond to review comments. -- My change is accurately described in the commit message. -- My contribution is tested and working as described. -- I have read the [Developer Certificate of Origin](https://developercertificate.org/) and certify my contribution under its conditions. -- [ ] I have read and followed all of the above requirements. For more information, see our [contributor guide](https://github.com/pop-os/pop/blob/master/CONTRIBUTING.md). diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml deleted file mode 100644 index 4314fab..0000000 --- a/.github/workflows/ci.yml +++ /dev/null @@ -1,47 +0,0 @@ -name: Continuous integration - -on: - push: - branches: [master] - pull_request: - -env: - CARGO_TERM_COLOR: always - DEBIAN_FRONTEND: noninteractive - -jobs: - fmt: - name: Rustfmt - runs-on: ubuntu-24.04 - steps: - - uses: actions/checkout@v5 - - name: install toolchain - run: rustup toolchain install nightly --component rustfmt - - name: fmt - run: cargo +nightly fmt --all --check - - clippy: - name: Clippy - runs-on: ubuntu-24.04 - steps: - - uses: actions/checkout@v5 - - name: install system dependencies - run: sudo apt-get update && sudo apt-get install -y pkg-config libglib2.0-dev libxkbcommon-dev libwayland-dev - - name: install toolchain - run: rustup show - - uses: Swatinem/rust-cache@v2 - - name: clippy - run: cargo clippy --all-features --all-targets -- -D warnings - - test: - name: Test - runs-on: ubuntu-24.04 - steps: - - uses: actions/checkout@v5 - - name: install system dependencies - run: sudo apt-get update && sudo apt-get install -y pkg-config libglib2.0-dev libxkbcommon-dev libwayland-dev - - name: install toolchain - run: rustup show - - uses: Swatinem/rust-cache@v2 - - name: test - run: cargo test --all-features diff --git a/.github/workflows/require-checklist.yml b/.github/workflows/require-checklist.yml deleted file mode 100644 index fd4ca8c..0000000 --- a/.github/workflows/require-checklist.yml +++ /dev/null @@ -1,14 +0,0 @@ -# From https://github.com/mheap/require-checklist-action, license MIT -name: Require Checklist - -on: - pull_request: - types: [opened, edited, synchronize] - -jobs: - job1: - runs-on: ubuntu-latest - steps: - - uses: mheap/require-checklist-action@v2 - with: - requireChecklist: true diff --git a/Cargo.lock b/Cargo.lock index 570b035..a480f0b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -21,7 +21,7 @@ checksum = "366ffbaa4442f4684d91e2cd7c5ea7c4ed8add41959a31447066e279e432b618" [[package]] name = "accesskit" version = "0.22.0" -source = "git+https://github.com/wash2/accesskit?rev=6c20249#6c20249d3b9fd45e7002efad9f6b6171a9257912" +source = "git+https://github.com/wash2/accesskit?tag=cosmic-0.14#f0599eed5f18111228266fe3f28991cc48b5964f" dependencies = [ "uuid", ] @@ -29,7 +29,7 @@ dependencies = [ [[package]] name = "accesskit_atspi_common" version = "0.15.0" -source = "git+https://github.com/wash2/accesskit?rev=6c20249#6c20249d3b9fd45e7002efad9f6b6171a9257912" +source = "git+https://github.com/wash2/accesskit?tag=cosmic-0.14#f0599eed5f18111228266fe3f28991cc48b5964f" dependencies = [ "accesskit", "accesskit_consumer", @@ -41,7 +41,7 @@ dependencies = [ [[package]] name = "accesskit_consumer" version = "0.32.0" -source = "git+https://github.com/wash2/accesskit?rev=6c20249#6c20249d3b9fd45e7002efad9f6b6171a9257912" +source = "git+https://github.com/wash2/accesskit?tag=cosmic-0.14#f0599eed5f18111228266fe3f28991cc48b5964f" dependencies = [ "accesskit", "hashbrown 0.16.1", @@ -50,12 +50,12 @@ dependencies = [ [[package]] name = "accesskit_macos" version = "0.23.0" -source = "git+https://github.com/wash2/accesskit?rev=6c20249#6c20249d3b9fd45e7002efad9f6b6171a9257912" +source = "git+https://github.com/wash2/accesskit?tag=cosmic-0.14#f0599eed5f18111228266fe3f28991cc48b5964f" dependencies = [ "accesskit", "accesskit_consumer", "hashbrown 0.16.1", - "objc2 0.5.3", + "objc2 0.5.2", "objc2-app-kit 0.2.2", "objc2-foundation 0.2.2", ] @@ -63,7 +63,7 @@ dependencies = [ [[package]] name = "accesskit_unix" version = "0.18.0" -source = "git+https://github.com/wash2/accesskit?rev=6c20249#6c20249d3b9fd45e7002efad9f6b6171a9257912" +source = "git+https://github.com/wash2/accesskit?tag=cosmic-0.14#f0599eed5f18111228266fe3f28991cc48b5964f" dependencies = [ "accesskit", "accesskit_atspi_common", @@ -78,7 +78,7 @@ dependencies = [ [[package]] name = "accesskit_windows" version = "0.30.0" -source = "git+https://github.com/wash2/accesskit?rev=6c20249#6c20249d3b9fd45e7002efad9f6b6171a9257912" +source = "git+https://github.com/wash2/accesskit?tag=cosmic-0.14#f0599eed5f18111228266fe3f28991cc48b5964f" dependencies = [ "accesskit", "accesskit_consumer", @@ -91,7 +91,7 @@ dependencies = [ [[package]] name = "accesskit_winit" version = "0.30.0" -source = "git+https://github.com/wash2/accesskit?rev=6c20249#6c20249d3b9fd45e7002efad9f6b6171a9257912" +source = "git+https://github.com/wash2/accesskit?tag=cosmic-0.14#f0599eed5f18111228266fe3f28991cc48b5964f" dependencies = [ "accesskit", "accesskit_macos", @@ -109,13 +109,13 @@ checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" [[package]] name = "aes" -version = "0.9.3" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35f0f96ce78e38c3dc6d8948aa8163d06385be74000f3c7a95bf1eef35d3ea32" +checksum = "f8eb277bec05f56a0e0591f155a484cbd0f4f07ff2905051a48c72f004f7ed58" dependencies = [ "cipher", "cpubits", - "cpufeatures 0.3.1", + "cpufeatures 0.3.0", ] [[package]] @@ -198,7 +198,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f2a1bb052857d5dd49572219344a7332b31b76405648eabac5bc68978251bcd" dependencies = [ "android-properties", - "bitflags 2.13.2", + "bitflags 2.13.1", "cc", "jni", "libc", @@ -207,7 +207,7 @@ dependencies = [ "ndk-context", "ndk-sys", "num_enum", - "thiserror 2.0.21", + "thiserror 2.0.20", ] [[package]] @@ -334,6 +334,12 @@ version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3fb67a6e08acf24fdeccbac2cb6ac4305825bd1f117462e0e6f2f193345ad56" +[[package]] +name = "as-raw-xcb-connection" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b" + [[package]] name = "as-slice" version = "0.2.1" @@ -441,7 +447,7 @@ dependencies = [ "futures-lite", "parking", "polling", - "rustix 1.1.5", + "rustix 1.1.4", "slab", "windows-sys 0.61.2", ] @@ -472,18 +478,18 @@ dependencies = [ "cfg-if", "event-listener", "futures-lite", - "rustix 1.1.5", + "rustix 1.1.4", ] [[package]] name = "async-recursion" -version = "1.2.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f8abc12baad266b1c8cec146854c195b5864b4221d4b2ca7296a7ae82d9e451" +checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 3.0.6", + "syn 2.0.119", ] [[package]] @@ -498,7 +504,7 @@ dependencies = [ "cfg-if", "futures-core", "futures-io", - "rustix 1.1.5", + "rustix 1.1.4", "signal-hook-registry", "slab", "windows-sys 0.61.2", @@ -518,7 +524,7 @@ checksum = "82f6aeea286b8eb4dd3431a1be1b59d290ace00f5bfd8e2a159bc2a05e2c1667" dependencies = [ "proc-macro2", "quote", - "syn 3.0.6", + "syn 3.0.3", ] [[package]] @@ -589,7 +595,7 @@ dependencies = [ "derive_utils", "proc-macro2", "quote", - "syn 3.0.6", + "syn 3.0.3", ] [[package]] @@ -613,7 +619,7 @@ dependencies = [ "num-traits", "pastey", "rayon", - "thiserror 2.0.21", + "thiserror 2.0.20", "v_frame", "y4m", ] @@ -647,12 +653,6 @@ version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" -[[package]] -name = "base64" -version = "0.23.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac07cdecf99051d9a5238b80f35af32cdeba5b336e55d957b318b50137e18da5" - [[package]] name = "basic-toml" version = "0.1.10" @@ -700,9 +700,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.13.2" +version = "2.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ded4057c258ba199e2d26386d3af3780957ecaee6c4ef4041c6b4b8b97c0b06" +checksum = "b588b76d00fde79687d7646a9b5bdf3cc0f655e0bbd080335a95d7e96f3587da" dependencies = [ "serde_core", ] @@ -747,7 +747,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2c132eebf10f5cad5289222520a4a058514204aed6d791f1cf4fe8088b82d15f" dependencies = [ - "objc2 0.5.3", + "objc2 0.5.2", ] [[package]] @@ -756,14 +756,14 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" dependencies = [ - "objc2 0.6.5", + "objc2 0.6.4", ] [[package]] name = "blocking" -version = "1.7.0" +version = "1.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a70e4329df6cb94385eed412ec92375c3cdd8a6e502493d1229b6414e4036dfa" +checksum = "e83f8d02be6967315521be875afa792a316e28d57b5a2d401897e2a7921b7f21" dependencies = [ "async-channel", "async-task", @@ -774,9 +774,9 @@ dependencies = [ [[package]] name = "borsh" -version = "1.8.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "553c5d846a6ba5150c65e3b1b8ec073bcf1abc20f9b7220de384a4443ea4e20a" +checksum = "a88b7ea17d208c4193f2c1e6de3c35fe71f98c96982d5ced308bdcc749ff6e1f" dependencies = [ "bytes", "cfg_aliases", @@ -815,6 +815,7 @@ dependencies = [ [[package]] name = "build_helpers" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic.git#c1897c01aa8a25776ceadeddcb161bb59ccffd79" dependencies = [ "cfg_aliases", ] @@ -854,13 +855,13 @@ dependencies = [ [[package]] name = "bytemuck_derive" -version = "1.12.1" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a1f896587b6f2c069c73d2f0913e2d590c3990285cd2f0b6aa02b786b4c679c" +checksum = "fc0e56a716f1e132ff6bf4bdac1c944a3fcdc1cae65f70a4a2a1ac3b401d2d1f" dependencies = [ "proc-macro2", "quote", - "syn 3.0.6", + "syn 3.0.3", ] [[package]] @@ -902,13 +903,14 @@ dependencies = [ [[package]] name = "calloop" -version = "0.14.5" +version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43b32313e937c8721c9d17ee9bf60699a6402b4b7c2cb6ac1bee0ffcaa4b4e5e" +checksum = "4dbf9978365bac10f54d1d4b04f7ce4427e51f71d61f2fe15e3fed5166474df7" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "polling", - "rustix 1.1.5", + "rustix 1.1.4", + "slab", "tracing", ] @@ -919,16 +921,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "138efcf0940a02ebf0cc8d1eff41a1682a46b431630f4c52450d6265876021fa" dependencies = [ "calloop", - "rustix 1.1.5", + "rustix 1.1.4", "wayland-backend", "wayland-client", ] [[package]] name = "cc" -version = "1.6.0" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +checksum = "509591b7bcd67f4ef775afad7662703b4935daaa6ec0e5605cfb1090b32a2b6d" dependencies = [ "find-msvc-tools", "jobserver", @@ -949,9 +951,9 @@ dependencies = [ [[package]] name = "cfg-expr" -version = "0.20.10" +version = "0.20.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ba9e9ec16c447027685b1f897b720e18e9a8afd00bd7332c483537e38086c9f" +checksum = "fb693542bcafa528e198be0ebd9d3632ca5b7c93dbe7237460e199910835997c" dependencies = [ "smallvec", "target-lexicon", @@ -959,9 +961,9 @@ dependencies = [ [[package]] name = "cfg-if" -version = "1.0.5" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" [[package]] name = "cfg_aliases" @@ -1004,6 +1006,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", @@ -1013,12 +1016,22 @@ dependencies = [ [[package]] name = "clipboard_wayland" version = "0.2.2" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=sctk-0.20#f68595ee0e62fbd6589f4709b5aaa5c3c7ea5f6c" dependencies = [ "dnd", "mime 0.1.0", "smithay-clipboard", ] +[[package]] +name = "clipboard_x11" +version = "0.4.2" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=sctk-0.20#f68595ee0e62fbd6589f4709b5aaa5c3c7ea5f6c" +dependencies = [ + "thiserror 1.0.69", + "x11rb", +] + [[package]] name = "cmov" version = "0.5.4" @@ -1080,9 +1093,9 @@ checksum = "1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570" [[package]] name = "combine" -version = "4.6.8" +version = "4.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfc320937d09e6de266b31b9afb480f197d7a861be86be7cb2ea7e5d1bfffc5e" +checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" dependencies = [ "bytes", "memchr", @@ -1224,9 +1237,9 @@ dependencies = [ [[package]] name = "configparser" -version = "3.3.0" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "031ad3d167622974ed636505ae4556267ed4aa2aea0464122fa6bc9698a32825" +checksum = "b46dec724fd22199ebde05033a0cbae453bc3b1ecff11eb6a6bb3eec4b90c6a4" [[package]] name = "const-oid" @@ -1296,7 +1309,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "core-foundation 0.10.1", "libc", ] @@ -1312,12 +1325,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "core_detect" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f8f80099a98041a3d1622845c271458a2d73e688351bf3cb999266764b81d48" - [[package]] name = "core_maths" version = "0.1.1" @@ -1330,22 +1337,10 @@ dependencies = [ [[package]] name = "cosmic-client-toolkit" version = "0.2.0" +source = "git+https://github.com/pop-os/cosmic-protocols?rev=32283d7#32283d76a8d0342da74c4cc022a533c52dcf378f" dependencies = [ - "bitflags 2.13.2", - "cosmic-protocols 0.2.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=c0cff4d#c0cff4db14c37ed954983158e4055aa94c7741d9" -dependencies = [ - "bitflags 2.13.2", - "cosmic-protocols 0.2.0 (git+https://github.com/pop-os/cosmic-protocols?rev=c0cff4d)", + "bitflags 2.13.1", + "cosmic-protocols", "libc", "smithay-client-toolkit", "wayland-client", @@ -1355,6 +1350,7 @@ dependencies = [ [[package]] name = "cosmic-config" version = "1.0.0" +source = "git+https://github.com/pop-os/libcosmic.git#c1897c01aa8a25776ceadeddcb161bb59ccffd79" dependencies = [ "atomicwrites", "cosmic-config-derive", @@ -1375,6 +1371,7 @@ dependencies = [ [[package]] name = "cosmic-config-derive" version = "1.0.0" +source = "git+https://github.com/pop-os/libcosmic.git#c1897c01aa8a25776ceadeddcb161bb59ccffd79" dependencies = [ "quote", "syn 2.0.119", @@ -1382,7 +1379,7 @@ dependencies = [ [[package]] name = "cosmic-edit" -version = "1.10.0" +version = "1.6.0" dependencies = [ "cosmic-files", "cosmic-syntax-theme", @@ -1395,7 +1392,7 @@ dependencies = [ "i18n-embed-fl", "icu", "ignore", - "libcosmic-yoda", + "libcosmic", "log", "notify", "open", @@ -1413,13 +1410,14 @@ dependencies = [ [[package]] name = "cosmic-files" -version = "1.10.0" +version = "1.5.0" +source = "git+https://github.com/pop-os/cosmic-files.git#6e210a3753c814118b9f8daf5a83cd53136f28d9" dependencies = [ "anyhow", "atomic_float", "bstr", "compio", - "cosmic-client-toolkit 0.2.0 (git+https://github.com/pop-os/cosmic-protocols?rev=c0cff4d)", + "cosmic-client-toolkit", "dirs 6.0.0", "filetime", "flate2", @@ -1436,7 +1434,7 @@ dependencies = [ "jiff-icu", "jxl-oxide", "libc", - "libcosmic-yoda", + "libcosmic", "log", "md-5", "mime_guess", @@ -1458,7 +1456,7 @@ dependencies = [ "slotmap", "tar", "tempfile", - "thiserror 2.0.21", + "thiserror 2.0.20", "tokio", "tracing", "tracing-subscriber", @@ -1475,12 +1473,13 @@ dependencies = [ [[package]] name = "cosmic-freedesktop-icons" version = "0.4.0" +source = "git+https://github.com/pop-os/freedesktop-icons#ab4c57b8e416c6af9297cb04d101889896fd9a92" dependencies = [ "bstr", "btoi", "memchr", "memmap2 0.9.11", - "thiserror 2.0.21", + "thiserror 2.0.20", "tracing", "xdg", ] @@ -1488,22 +1487,9 @@ dependencies = [ [[package]] name = "cosmic-protocols" version = "0.2.0" +source = "git+https://github.com/pop-os/cosmic-protocols?rev=32283d7#32283d76a8d0342da74c4cc022a533c52dcf378f" dependencies = [ - "bitflags 2.13.2", - "wayland-backend", - "wayland-client", - "wayland-protocols", - "wayland-protocols-wlr", - "wayland-scanner", - "wayland-server", -] - -[[package]] -name = "cosmic-protocols" -version = "0.2.0" -source = "git+https://github.com/pop-os/cosmic-protocols?rev=c0cff4d#c0cff4db14c37ed954983158e4055aa94c7741d9" -dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "wayland-backend", "wayland-client", "wayland-protocols", @@ -1514,7 +1500,8 @@ dependencies = [ [[package]] name = "cosmic-settings-daemon" -version = "0.1.1-yoda.1" +version = "0.1.0" +source = "git+https://github.com/pop-os/dbus-settings-bindings#eed01dd3609e90e3c8cd043656734c500956c793" dependencies = [ "zbus", ] @@ -1532,8 +1519,10 @@ dependencies = [ [[package]] name = "cosmic-text" version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be17b688510d934ce13f48a2beba700e11583e281e0fda99c22bb256a14eda73" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "cosmic_undo_2", "fontdb", "harfrust", @@ -1552,12 +1541,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#c1897c01aa8a25776ceadeddcb161bb59ccffd79" dependencies = [ "almost", "configparser", @@ -1569,7 +1558,7 @@ dependencies = [ "ron", "serde", "serde_json", - "thiserror 2.0.21", + "thiserror 2.0.20", ] [[package]] @@ -1600,27 +1589,27 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.3.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ca28b0ae3115b884660db4118d803791fd6756b6e88f39c0f3f7859060d7566" +checksum = "8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201" dependencies = [ "libc", ] [[package]] name = "crc32fast" -version = "1.5.2" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01a7799fd6b852db0e61728dde9a204c423b44d689dbd432522543614b490e78" +checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" dependencies = [ "cfg-if", ] [[package]] name = "crossbeam-deque" -version = "0.8.8" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "622f3fc73690be383c7214310406f28a90e6edeadc3cea882f9d71e495b9711a" +checksum = "5181e0de7b61eb03a81e347d6dd8797bae9da5146707b51077e2d71a54ec0ceb" dependencies = [ "crossbeam-epoch", "crossbeam-utils", @@ -1628,27 +1617,27 @@ dependencies = [ [[package]] name = "crossbeam-epoch" -version = "0.9.21" +version = "0.9.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc74980687109a3b14c72fd458107bf0baa1da1a1a805e178d15501ba9b86d9d" +checksum = "2d6914041f254d6e9176c01941b21115dcfb7089e55135a35411081bd106ef3f" dependencies = [ "crossbeam-utils", ] [[package]] name = "crossbeam-queue" -version = "0.3.14" +version = "0.3.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03e8bd762f7479489c70ed6c768ddca99d7296857de437a68dcb2a94365b3fae" +checksum = "803d13fb3b09d88be9f4dbc29062c66b19bf7170867ceb746d2a8689bf6c7a26" dependencies = [ "crossbeam-utils", ] [[package]] name = "crossbeam-utils" -version = "0.8.23" +version = "0.8.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a31eee39dddec8330830986fcd7625edb5a24ec90ea038215273bbc3adb08ac6" +checksum = "61803da095bee82a81bb1a452ecc25d3b2f1416d1897eb86430c6159ef717c17" [[package]] name = "crunchy" @@ -1659,6 +1648,7 @@ checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" [[package]] name = "cryoglyph" version = "0.1.0" +source = "git+https://github.com/iced-rs/cryoglyph.git?rev=e429a025df36ab8145708acb309080ae3deec17a#e429a025df36ab8145708acb309080ae3deec17a" dependencies = [ "cosmic-text", "etagere", @@ -1694,9 +1684,9 @@ checksum = "42aaeae719fd78ce501d77c6cdf01f7e96f26bcd5617a4903a1c2b97e388543a" [[package]] name = "csscolorparser" -version = "0.8.4" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "168dbdf4dced8f57fa4246ac9080598452b49d70bb2d0e46422142f113140dd8" +checksum = "199f851bd3cb5004c09474252c7f74e7c047441ed0979bf3688a7106a13da952" dependencies = [ "num-traits", "phf", @@ -1704,6 +1694,15 @@ dependencies = [ "uncased", ] +[[package]] +name = "ctor" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83cf0d42651b16c6dfe68685716d18480d18a9c39c62d76e8cf3eb6ed5d8bcbf" +dependencies = [ + "dtor", +] + [[package]] name = "ctutils" version = "0.4.2" @@ -1794,7 +1793,7 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "10d60334b3b2e7c9d91ef8150abfb6fa4c1c39ebbcf4a81c2e346aad939fee3e" dependencies = [ - "thiserror 2.0.21", + "thiserror 2.0.20", ] [[package]] @@ -1834,7 +1833,7 @@ checksum = "dc05a5d33db20c784f873e84934ad94bb209a090987ac5f62fede2c178234f23" dependencies = [ "proc-macro2", "quote", - "syn 3.0.6", + "syn 3.0.3", ] [[package]] @@ -1908,7 +1907,7 @@ checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab" dependencies = [ "libc", "option-ext", - "redox_users 0.5.3", + "redox_users 0.5.2", "windows-sys 0.61.2", ] @@ -1929,10 +1928,10 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "block2 0.6.2", "libc", - "objc2 0.6.5", + "objc2 0.6.4", ] [[package]] @@ -1943,7 +1942,7 @@ checksum = "c6232dd377dcc64799954cbd3a9bb882e9cdc1308ccd87b1c098f1fb2eaf82a8" dependencies = [ "proc-macro2", "quote", - "syn 3.0.6", + "syn 3.0.3", ] [[package]] @@ -1958,8 +1957,9 @@ dependencies = [ [[package]] name = "dnd" version = "0.1.0" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=sctk-0.20#f68595ee0e62fbd6589f4709b5aaa5c3c7ea5f6c" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "mime 0.1.0", "raw-window-handle", "smithay-client-toolkit", @@ -1984,25 +1984,66 @@ checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" [[package]] name = "dpi" version = "0.1.2" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#71ce08c043814514a8fd92d9d0599f115ae854e8" + +[[package]] +name = "drm" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0f8a69e60d75ae7dab4ef26a59ca99f2a89d4c142089b537775ae0c198bdcde" +dependencies = [ + "bitflags 2.13.1", + "bytemuck", + "drm-ffi", + "drm-fourcc", + "rustix 0.38.44", +] + +[[package]] +name = "drm-ffi" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41334f8405792483e32ad05fbb9c5680ff4e84491883d2947a4757dc54cb2ac6" +dependencies = [ + "drm-sys", + "rustix 0.38.44", +] + +[[package]] +name = "drm-fourcc" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0aafbcdb8afc29c1a7ee5fbe53b5d62f4565b35a042a662ca9fecd0b54dae6f4" + +[[package]] +name = "drm-sys" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d09ff881f92f118b11105ba5e34ff8f4adf27b30dae8f12e28c193af1c83176" +dependencies = [ + "libc", + "linux-raw-sys 0.6.5", +] + +[[package]] +name = "dtor" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edf234dd1594d6dd434a8fb8cada51ddbbc593e40e4a01556a0b31c62da2775b" [[package]] name = "either" -version = "1.18.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" +checksum = "9e5e8f6c15a24b9a3ee5efec809ccd006d3b30e8b3bb63c39af737c7f87daa1d" [[package]] name = "encoding_rs" -version = "0.8.42" +version = "0.8.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e985e0451871ad22fb8d2b6b076e2028a502a0d3950998c2c5c0a4f9b5d9679" +checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" dependencies = [ "cfg-if", - "core_detect", - "multiversion_no_op", - "rustversion", - "scopeguard", - "simdutf8", ] [[package]] @@ -2154,7 +2195,7 @@ dependencies = [ "bit_field", "half", "lebe", - "miniz_oxide 0.8.9", + "miniz_oxide", "num-complex", "pulp", "rayon-core", @@ -2213,9 +2254,9 @@ dependencies = [ [[package]] name = "find-msvc-tools" -version = "0.1.14" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" +checksum = "d45db016d36b838f563236e9193d0ee6ce38f3f68b6c94e914b4929c96bbb890" [[package]] name = "fixed_decimal" @@ -2230,12 +2271,12 @@ dependencies = [ [[package]] name = "flate2" -version = "1.1.10" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e634e2e0ebac1ee034020da1ca582e17ffe4e0f5e985823721e168928136dcb" +checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c" dependencies = [ "crc32fast", - "miniz_oxide 0.9.1", + "miniz_oxide", "zlib-rs", ] @@ -2302,7 +2343,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "54f0d287c53ffd184d04d8677f590f4ac5379785529e5e08b1c8083acdd5c198" dependencies = [ "memchr", - "thiserror 2.0.21", + "thiserror 2.0.20", ] [[package]] @@ -2343,9 +2384,9 @@ dependencies = [ [[package]] name = "font-types" -version = "0.12.6" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c92d9081c7ab3bd83ef1eecdfad090f3d966e3ce74106779664114cfe1a6274" +checksum = "75382bc7392ef10aad10935f92fc3db36d2d4dad0e5d96d8d65e04f89a07ec39" dependencies = [ "bytemuck", ] @@ -2391,7 +2432,7 @@ checksum = "ea5190182e6915eb873ddbc16e23b711b6eb1f9c00a0d0a3a91b5f6228475225" dependencies = [ "proc-macro2", "quote", - "syn 3.0.6", + "syn 3.0.3", ] [[package]] @@ -2515,7 +2556,7 @@ checksum = "9fb9654ba8355388abeb8dcb4fc62f511300867002afc858860463bdd9fe0c44" dependencies = [ "proc-macro2", "quote", - "syn 3.0.6", + "syn 3.0.3", ] [[package]] @@ -2549,9 +2590,9 @@ dependencies = [ [[package]] name = "generator" -version = "0.8.10" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54ade96dc9003043bce7c035c85a9df5a858bfb2039c5a2e6fdf00f324f6c551" +checksum = "b3b854b0e584ead1a33f18b2fcad7cf7be18b3875c78816b753639aa501513ae" dependencies = [ "cc", "cfg-if", @@ -2572,6 +2613,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" @@ -2681,7 +2732,7 @@ version = "0.21.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "16de123c2e6c90ce3b573b7330de19be649080ec612033d397d72da265f1bd8b" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "futures-channel", "futures-core", "futures-executor", @@ -2780,7 +2831,7 @@ dependencies = [ "hashbrown 0.16.1", "log", "presser", - "thiserror 2.0.21", + "thiserror 2.0.20", "windows 0.62.2", ] @@ -2790,7 +2841,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b89c83349105e3732062a895becfc71a8f921bb71ecbbdd8ff99263e3b53a0ca" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "gpu-descriptor-types", "hashbrown 0.15.5", ] @@ -2801,7 +2852,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdf242682df893b86f33a73828fb09ca4b2d3bb6cc95249707fc684d27484b91" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", ] [[package]] @@ -2931,7 +2982,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9da2e5ae821f6e96664977bf974d6d6a2d6682f9ccee23e62ec1d134246845f9" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "bytemuck", "core_maths", "read-fonts 0.37.0", @@ -2978,9 +3029,9 @@ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" [[package]] name = "hermit-abi" -version = "0.5.3" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e17592d60ebacc7d5e169f4663c5f84f9161cc90328abcfe8456f41e4dfcb284" +checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" [[package]] name = "hex" @@ -2995,7 +3046,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d37f101bf4c633f7ca2e4b5e136050314503dd198e78e325ea602c327c484ef0" dependencies = [ "arrayvec", - "rand 0.8.8", + "rand 0.8.7", "serde", ] @@ -3016,9 +3067,9 @@ dependencies = [ [[package]] name = "hybrid-array" -version = "0.4.15" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27f864f10dfb56725ce5ce5472bc52252c8f93a4ab86327122cebf62c5f59a17" +checksum = "707114b52a152fa7bdb290cd7cd5912d9467273b6d74e21b8d81aca1f8533f6b" dependencies = [ "typenum", ] @@ -3117,6 +3168,7 @@ dependencies = [ [[package]] name = "iced" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic.git#c1897c01aa8a25776ceadeddcb161bb59ccffd79" dependencies = [ "build_helpers", "dnd", @@ -3131,13 +3183,14 @@ dependencies = [ "iced_winit", "image", "mime 0.1.0", - "thiserror 2.0.21", + "thiserror 2.0.20", "window_clipboard", ] [[package]] name = "iced_accessibility" version = "0.1.0" +source = "git+https://github.com/pop-os/libcosmic.git#c1897c01aa8a25776ceadeddcb161bb59ccffd79" dependencies = [ "accesskit", "accesskit_winit", @@ -3146,11 +3199,12 @@ dependencies = [ [[package]] name = "iced_core" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic.git#c1897c01aa8a25776ceadeddcb161bb59ccffd79" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "build_helpers", "bytes", - "cosmic-client-toolkit 0.2.0", + "cosmic-client-toolkit", "dnd", "glam", "lilt", @@ -3162,7 +3216,7 @@ dependencies = [ "rustc-hash 2.1.3", "serde", "smol_str", - "thiserror 2.0.21", + "thiserror 2.0.20", "unicode-segmentation", "web-time", "window_clipboard", @@ -3171,6 +3225,7 @@ dependencies = [ [[package]] name = "iced_debug" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic.git#c1897c01aa8a25776ceadeddcb161bb59ccffd79" dependencies = [ "iced_core", "iced_futures", @@ -3180,6 +3235,7 @@ dependencies = [ [[package]] name = "iced_futures" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic.git#c1897c01aa8a25776ceadeddcb161bb59ccffd79" dependencies = [ "futures", "iced_core", @@ -3193,8 +3249,9 @@ dependencies = [ [[package]] name = "iced_graphics" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic.git#c1897c01aa8a25776ceadeddcb161bb59ccffd79" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "bytemuck", "cosmic-text", "half", @@ -3206,13 +3263,14 @@ dependencies = [ "lyon_path", "raw-window-handle", "rustc-hash 2.1.3", - "thiserror 2.0.21", + "thiserror 2.0.20", "unicode-segmentation", ] [[package]] name = "iced_program" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic.git#c1897c01aa8a25776ceadeddcb161bb59ccffd79" dependencies = [ "iced_graphics", "iced_runtime", @@ -3221,32 +3279,35 @@ dependencies = [ [[package]] name = "iced_renderer" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic.git#c1897c01aa8a25776ceadeddcb161bb59ccffd79" dependencies = [ "iced_graphics", "iced_tiny_skia", "iced_wgpu", "log", - "thiserror 2.0.21", + "thiserror 2.0.20", ] [[package]] name = "iced_runtime" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic.git#c1897c01aa8a25776ceadeddcb161bb59ccffd79" dependencies = [ "build_helpers", "bytes", - "cosmic-client-toolkit 0.2.0", + "cosmic-client-toolkit", "dnd", "iced_core", "iced_futures", "raw-window-handle", - "thiserror 2.0.21", + "thiserror 2.0.20", "window_clipboard", ] [[package]] name = "iced_tiny_skia" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic.git#c1897c01aa8a25776ceadeddcb161bb59ccffd79" dependencies = [ "bytemuck", "cosmic-text", @@ -3263,11 +3324,13 @@ dependencies = [ [[package]] name = "iced_wgpu" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic.git#c1897c01aa8a25776ceadeddcb161bb59ccffd79" dependencies = [ - "bitflags 2.13.2", + "as-raw-xcb-connection", + "bitflags 2.13.1", "build_helpers", "bytemuck", - "cosmic-client-toolkit 0.2.0", + "cosmic-client-toolkit", "cryoglyph", "futures", "glam", @@ -3280,20 +3343,23 @@ dependencies = [ "resvg", "rustc-hash 2.1.3", "rustix 0.38.44", - "thiserror 2.0.21", + "thiserror 2.0.20", + "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#c1897c01aa8a25776ceadeddcb161bb59ccffd79" dependencies = [ "build_helpers", - "cosmic-client-toolkit 0.2.0", + "cosmic-client-toolkit", "dnd", "iced_renderer", "iced_runtime", @@ -3301,7 +3367,7 @@ dependencies = [ "num-traits", "ouroboros", "rustc-hash 2.1.3", - "thiserror 2.0.21", + "thiserror 2.0.20", "unicode-segmentation", "window_clipboard", ] @@ -3309,9 +3375,10 @@ dependencies = [ [[package]] name = "iced_winit" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic.git#c1897c01aa8a25776ceadeddcb161bb59ccffd79" dependencies = [ "build_helpers", - "cosmic-client-toolkit 0.2.0", + "cosmic-client-toolkit", "cursor-icon", "dnd", "iced_debug", @@ -3323,7 +3390,7 @@ dependencies = [ "raw-window-handle", "rustc-hash 2.1.3", "rustix 0.38.44", - "thiserror 2.0.21", + "thiserror 2.0.20", "wasm-bindgen-futures", "wayland-backend", "wayland-client", @@ -3340,9 +3407,9 @@ dependencies = [ [[package]] name = "icu" -version = "2.3.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4867dd3a39b9d48632416cc7fc3dfa1913d89fd36cc02fe7bfc1dddc6fda3cde" +checksum = "8d5080b89807979ab05f8b6f3c6bbd580ece1512a6cf4cf800baa76937e488b3" dependencies = [ "icu_calendar", "icu_casemap", @@ -3410,9 +3477,9 @@ checksum = "059fcda0fc8d33effc6633a8cf0d8a3c17caf7d7c91918fba9918744f501e4e8" [[package]] name = "icu_collator" -version = "2.3.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08984ed58ac439ebf3e13d2cf26b0c46a60afcd21721c1d14087c0b240344dda" +checksum = "59eea194d189ca897bcb960fd2130f9e7d53998460d4d32e85a60b10d5507cf4" dependencies = [ "icu_collator_data", "icu_collections", @@ -3565,9 +3632,9 @@ checksum = "4ffef91ee351bd195a803115615a034dfb9f02bb48850980548c31cb78568a91" [[package]] name = "icu_locale" -version = "2.3.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "785f595c61ef57169a467eeed7b4b6936a66f6cacbb116a96ee86da983251bf4" +checksum = "250ec6d4ac288584d1d0ba29dbfad7737635b7b0e822441f4026a523e3fdb147" dependencies = [ "icu_collections", "icu_locale_core", @@ -3698,9 +3765,9 @@ checksum = "e590f038c1464a96894fd6d10127e90a8be4509f56ff7ecef851b15cee0b7caa" [[package]] name = "icu_provider" -version = "2.3.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d27bbb9d3abbefac45d55f647c9de1d44aafcd1186eb91879afef17c396c3e73" +checksum = "92a7ed671a6aad807a8651a2e1782a6598fda9ce5185dd8158549e95a91c6428" dependencies = [ "displaydoc", "icu_locale_core", @@ -3756,9 +3823,9 @@ dependencies = [ [[package]] name = "icu_time_data" -version = "2.3.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9e21be527807cda7562cbfbdb04179f9cca46c12691d6a8073ffae6cfd7aeec" +checksum = "005ff86fa5851a77fc0a977b72d717f777bd9230415a247219d7898aefb1517a" [[package]] name = "ident_case" @@ -3845,15 +3912,15 @@ checksum = "edcd27d72f2f071c64249075f42e205ff93c9a4c5f6c6da53e79ed9f9832c285" [[package]] name = "imgref" -version = "1.12.3" +version = "1.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e44b0a4eaa4c82f441d50a963f2d5f05a787240aeee097597033e72accfd22f" +checksum = "89194689a993ab15268672e99e7b0e19da2da3268ac682e8f02d29d4d1434cd7" [[package]] name = "indexmap" -version = "2.14.2" +version = "2.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc4e190f5d26ca7051642629da2c52fc03bde85a03197c99408dcd291734c855" +checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9" dependencies = [ "equivalent", "hashbrown 0.17.1", @@ -3876,7 +3943,7 @@ version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4cc00ea907cab49550b7da656f80ebb97be1b997d931fbcd28d39734e17ce592" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "inotify-sys", "libc", ] @@ -3977,9 +4044,9 @@ checksum = "4d3667095d64c3ecffc96463a21157b04bf3e252f6e8d5750b20c02e33c194e3" [[package]] name = "jiff" -version = "0.2.37" +version = "0.2.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ab1baf72f08796de0260609515130699b890ac25f30e610ad894bc5856cafdb" +checksum = "668b7183bd07af9a4885f5c35b0cc5c83c4607a913c16b7e17291832910d2dcc" dependencies = [ "defmt", "jiff-core", @@ -3994,12 +4061,11 @@ dependencies = [ [[package]] name = "jiff-core" -version = "0.1.1" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e52fe76043ccecc9005d2305ebaadf7d7fc0cc89ca6baa10a94d6bc68c7128c" +checksum = "7feca88439efe53da3754500c1851dedf3cb36c524dd5cf8225cc0794de95d09" dependencies = [ "defmt", - "log", ] [[package]] @@ -4015,9 +4081,9 @@ dependencies = [ [[package]] name = "jiff-static" -version = "0.2.37" +version = "0.2.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "378268a1116ad67ae6228701118ac9f491d78fda38a40a1f1a9e1348de6f7212" +checksum = "3a69dcb3a21cfb32ce1cd056169337ca284af0766dd766e7878819b251a49204" dependencies = [ "jiff-core", "proc-macro2", @@ -4052,7 +4118,7 @@ dependencies = [ "jni-sys 0.4.1", "log", "simd_cesu8", - "thiserror 2.0.21", + "thiserror 2.0.20", "walkdir", "windows-link 0.2.1", ] @@ -4110,9 +4176,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.106" +version = "0.3.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7883d941dae510fb2d978fc3fe018c71c9e2892fd38854de3e8b92c2e5ad9cc5" +checksum = "0e0c1080212aad755ea003d18543e8768dd432c48819efd73a7bf1e39b7a5a3a" dependencies = [ "cfg-if", "futures-util", @@ -4314,7 +4380,7 @@ version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fbe853b403ae61a04233030ae8a79d94975281ed9770a1f9e246732b534b28d" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "serde", ] @@ -4360,7 +4426,7 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07293a4e297ac234359b510362495713f75ea345d5307140414f20c69ffeb087" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "libc", ] @@ -4387,9 +4453,9 @@ dependencies = [ [[package]] name = "lazy_static" -version = "1.5.1" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20870f649af7073d53e38067b2a84312175d56ea15217e1b15bc83506ec50afb" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "lebe" @@ -4405,19 +4471,20 @@ checksum = "34b357333733e8260735ba5894eb928c02ecc69c78715f01a8019e7fa7f2db4c" [[package]] name = "libc" -version = "0.2.190" +version = "0.2.189" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" +checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2" [[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#c1897c01aa8a25776ceadeddcb161bb59ccffd79" dependencies = [ "apply", "ashpd 0.12.3", "auto_enums", "build_helpers", - "cosmic-client-toolkit 0.2.0", + "cosmic-client-toolkit", "cosmic-config", "cosmic-freedesktop-icons", "cosmic-settings-daemon", @@ -4444,12 +4511,11 @@ dependencies = [ "palette", "phf", "rfd", - "roxmltree", "rust-embed", "serde", "slotmap", "taffy", - "thiserror 2.0.21", + "thiserror 2.0.20", "tokio", "tracing", "unicode-segmentation", @@ -4485,14 +4551,14 @@ checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" [[package]] name = "libredox" -version = "0.1.25" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61ff90caf6077a803a240f62fdbe88645a890bbca49ef8174c3cb0404362171d" +checksum = "28d0a00925a9f930d679b6789b721e3a7f9ed110f41b86d2497caa780c3a070a" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "libc", "plain", - "redox_syscall 0.9.4", + "redox_syscall 0.9.2", ] [[package]] @@ -4522,6 +4588,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" @@ -4551,9 +4623,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.34" +version = "0.4.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9f8bd3e56ce4dfc153cf470fffbfa98c7620958b312ca5c3a4b8d5181fd13c6" +checksum = "0ceec5bc11778974d1bcb055b18002eba7f4b3518b6a0081b3af5f21666da9ad" [[package]] name = "loom" @@ -4596,9 +4668,9 @@ dependencies = [ [[package]] name = "lyon_algorithms" -version = "1.0.21" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdfa8785f95e57914ddb35e3b59994aeba6f5e79e9cfd03da1c269f010f36009" +checksum = "8575c0d003ae459399623c4def180c63b77f343b1a7fee64f249b349e7699a31" dependencies = [ "lyon_path", "num-traits", @@ -4627,9 +4699,9 @@ dependencies = [ [[package]] name = "lyon_tessellation" -version = "1.0.22" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43b8dcf906637ecef61b3c0740c7a4e7f27caeb31257cfac0cc579ce15be6005" +checksum = "8e43b7e44161571868f5c931d12583592c223c5583eef86b08aa02b7048a3552" dependencies = [ "float_next_after", "lyon_path", @@ -4722,7 +4794,7 @@ version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7047791b5bc903b8cd963014b355f71dc9864a9a0b727057676c1dcae5cbc15" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "block", "core-graphics-types 0.2.0", "foreign-types", @@ -4734,6 +4806,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", ] @@ -4770,21 +4843,11 @@ dependencies = [ "simd-adler32", ] -[[package]] -name = "miniz_oxide" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b63fbc4a50860e98e7b2aa7804ded1db5cbc3aff9193adaff57a6931bf7c4b4c" -dependencies = [ - "adler2", - "simd-adler32", -] - [[package]] name = "mio" -version = "1.2.4" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1788edb87fdc09c7e26304471e2f5be8cdefb1b6930d6e3985fc02ff53bf86ee" +checksum = "30d65c71f1ce40ab09135ce117d742b9f8a19ff91a41a8b57ed50bc2de59c427" dependencies = [ "libc", "log", @@ -4811,12 +4874,6 @@ dependencies = [ "pxfm", ] -[[package]] -name = "multiversion_no_op" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "743fb55ba31b18fb1ecef6bdc9aa2743314978ac084044301a7eee33fb99a20d" - [[package]] name = "mutate_once" version = "0.1.2" @@ -4831,7 +4888,7 @@ checksum = "618f667225063219ddfc61251087db8a9aec3c3f0950c916b614e403486f1135" dependencies = [ "arrayvec", "bit-set", - "bitflags 2.13.2", + "bitflags 2.13.1", "cfg-if", "cfg_aliases", "codespan-reporting", @@ -4845,7 +4902,7 @@ dependencies = [ "once_cell", "rustc-hash 1.1.0", "spirv", - "thiserror 2.0.21", + "thiserror 2.0.20", "unicode-ident", ] @@ -4855,7 +4912,7 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "jni-sys 0.3.1", "log", "ndk-sys", @@ -4936,7 +4993,7 @@ version = "8.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4d3d07927151ff8575b7087f245456e549fea62edf0ec4e565a5ee50c8402bc3" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "fsevent-sys", "inotify", "kqueue", @@ -4967,7 +5024,7 @@ version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42b8cfee0e339a0337359f3c88165702ac6e600dc01c0cc9579a92d62b08477a" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", ] [[package]] @@ -5106,9 +5163,9 @@ checksum = "cdb91bdd390c7ce1a8607f35f3ca7151b65afc0ff5ff3b34fa350f7d7c7e4310" [[package]] name = "objc2" -version = "0.5.3" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19d5490aaf8f1d7cf7688dfa9b0ce07900e168852c45cd2c03f534dfd27cfd0b" +checksum = "46a785d4eeff09c14c487497c162e92766fbb3e4059a71840cecc03d9a50b804" dependencies = [ "objc-sys", "objc2-encode", @@ -5116,9 +5173,9 @@ dependencies = [ [[package]] name = "objc2" -version = "0.6.5" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08849bbd4767dfae9457696856ae1c84fe4e0281bbe4a7abff2d0e06fb7981f8" +checksum = "3a12a8ed07aefc768292f076dc3ac8c48f3781c8f2d5851dd3d98950e8c5a89f" dependencies = [ "objc2-encode", ] @@ -5129,10 +5186,10 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "block2 0.5.1", "libc", - "objc2 0.5.3", + "objc2 0.5.2", "objc2-core-data", "objc2-core-image", "objc2-foundation 0.2.2", @@ -5145,9 +5202,9 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d49e936b501e5c5bf01fda3a9452ff86dc3ea98ad5f283e1455153142d97518c" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "block2 0.6.2", - "objc2 0.6.5", + "objc2 0.6.4", "objc2-core-foundation", "objc2-foundation 0.3.2", ] @@ -5158,9 +5215,9 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "block2 0.5.1", - "objc2 0.5.3", + "objc2 0.5.2", "objc2-foundation 0.2.2", ] @@ -5170,10 +5227,10 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "block2 0.6.2", "dispatch2", - "objc2 0.6.5", + "objc2 0.6.4", ] [[package]] @@ -5182,7 +5239,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e022c9d066895efa1345f8e33e584b9f958da2fd4cd116792e15e07e4720a807" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "libc", "objc2-core-foundation", ] @@ -5194,7 +5251,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55260963a527c99f1819c4f8e3b47fe04f9650694ef348ffd2227e8196d34c80" dependencies = [ "block2 0.5.1", - "objc2 0.5.3", + "objc2 0.5.2", "objc2-foundation 0.2.2", "objc2-metal", ] @@ -5205,7 +5262,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d425caf1df73233f29fd8a5c3e5edbc30d2d4307870f802d18f00d83dc5141a6" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "objc2-core-foundation", "objc2-core-graphics", ] @@ -5222,10 +5279,10 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "block2 0.5.1", "libc", - "objc2 0.5.3", + "objc2 0.5.2", ] [[package]] @@ -5234,9 +5291,9 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "block2 0.6.2", - "objc2 0.6.5", + "objc2 0.6.4", "objc2-core-foundation", ] @@ -5246,9 +5303,9 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "block2 0.5.1", - "objc2 0.5.3", + "objc2 0.5.2", "objc2-foundation 0.2.2", ] @@ -5258,9 +5315,9 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "block2 0.5.1", - "objc2 0.5.3", + "objc2 0.5.2", "objc2-foundation 0.2.2", "objc2-metal", ] @@ -5271,8 +5328,8 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d87d638e33c06f577498cbcc50491496a3ed4246998a7fbba7ccb98b1e7eab22" dependencies = [ - "bitflags 2.13.2", - "objc2 0.6.5", + "bitflags 2.13.1", + "objc2 0.6.4", "objc2-core-foundation", "objc2-foundation 0.3.2", ] @@ -5304,7 +5361,7 @@ version = "6.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0cc3cbf698f9438986c11a880c90a6d04b9de27575afd28bbf45b154b6c709e2" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "libc", "once_cell", "onig_sys", @@ -5322,9 +5379,9 @@ dependencies = [ [[package]] name = "open" -version = "5.4.4" +version = "5.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa576c76302b7b808eecc68061e67336c47833ef9d22caa74dda10fa9675eebc" +checksum = "f9cfef937e9c486488c7e3d949ae31c0f1d06bdacd75b99c086cb35356e30408" dependencies = [ "is-wsl", "libc", @@ -5348,9 +5405,9 @@ dependencies = [ [[package]] name = "ordered-float" -version = "5.5.0" +version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c7c9e0d9b23589f26070720bac724174bfec1083e82f7854cdd0267518343c0" +checksum = "b7d950ca161dc355eaf28f82b11345ed76c6e1f6eb1f4f4479e0323b9e2fbd0e" dependencies = [ "num-traits", ] @@ -5367,9 +5424,9 @@ dependencies = [ [[package]] name = "ordermap" -version = "1.2.2" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16a756ddcdeb6c0efc8927bdf0ed112885815a35ba350472a467be5104f01ca1" +checksum = "7f7476a5b122ff1fce7208e7ee9dccd0a516e835f5b8b19b8f3c98a34cf757c1" dependencies = [ "indexmap", "serde", @@ -5520,9 +5577,9 @@ checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] name = "pest" -version = "2.9.2" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45d3aca230fad2e6f6317ca0a72724338c4960cb97168a85cdee66df4a9a21a8" +checksum = "5a07a60cc7a4d00c91f95c685609d1d2f79050e6804b70ebedd7650f0b839bcf" dependencies = [ "memchr", "ucd-trie", @@ -5530,9 +5587,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.9.2" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "284b60557f2c4a2e72ad3f2d34d42685a2fa4a6a61d0d2a10c0ae2a5e916c2cf" +checksum = "b3a83744a5c8455b8b3e0dc5031362780a347c878bdd11584d1a8984228cc88d" dependencies = [ "pest", "pest_generator", @@ -5540,9 +5597,9 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.9.2" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d9d1f08a115309ee99268cf85e5228e0e56aa9caf8841ec12866b6be07c3109" +checksum = "e0cd3451aa3de60d4b9a1e736885e4dea6b31617598026f12256ad566d63304a" dependencies = [ "pest", "pest_meta", @@ -5553,9 +5610,9 @@ dependencies = [ [[package]] name = "pest_meta" -version = "2.9.2" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed93ba1a9ffcca32130a5188701c81c0c49cf00d4b7c5007d5148951d743adcb" +checksum = "e04d3a0849e241d7dfce834c83b1c5edc8622009e8dd51a12ba1927c32f05496" dependencies = [ "pest", ] @@ -5639,9 +5696,9 @@ checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" [[package]] name = "pin-utils" -version = "0.1.1" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13bee6c73da26345c729282832b60b0363cf3dd9f4bfd81d8551b7a1c889a113" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "piper" @@ -5668,13 +5725,13 @@ checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" [[package]] name = "plist" -version = "1.10.1" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2896bade328c13f7042a297ea5ac5b0951f6cf989dea5f32c2fd98da398195cb" +checksum = "7da1d65da6dd5d1e44199ac0f58712d241c0f439f80adea8924d832384087f85" dependencies = [ - "base64 0.23.1", + "base64", "indexmap", - "quick-xml 0.42.0", + "quick-xml 0.41.0", "serde", "time", ] @@ -5689,7 +5746,7 @@ dependencies = [ "crc32fast", "fdeflate", "flate2", - "miniz_oxide 0.8.9", + "miniz_oxide", ] [[package]] @@ -5698,11 +5755,11 @@ version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60769b8b31b2a9f263dae2776c37b1b28ae246943cf719eb6946a1db05128a61" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "crc32fast", "fdeflate", "flate2", - "miniz_oxide 0.8.9", + "miniz_oxide", ] [[package]] @@ -5715,7 +5772,7 @@ dependencies = [ "concurrent-queue", "hermit-abi", "pin-project-lite", - "rustix 1.1.5", + "rustix 1.1.4", "windows-sys 0.61.2", ] @@ -5733,9 +5790,9 @@ checksum = "05c8b63e8d9609db387f0324918f81d68fe27748f084ef092fb35954d0539a85" [[package]] name = "portable-atomic-util" -version = "0.2.8" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10ab3eb7f3becc3a1cbc4f2c6f20267996cfc1a6467a873763411b136a122715" +checksum = "c2a106d1259c23fac8e543272398ae0e3c0b8d33c88ed73d0cc71b0f1d902618" dependencies = [ "portable-atomic", ] @@ -5753,15 +5810,15 @@ dependencies = [ [[package]] name = "powerfmt" -version = "0.2.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a6394b9e965e73d0a289ee54f589087e2c676aedf60885baf52c76b771e4958" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppmd-rust" -version = "1.5.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "196a7c80b9a7652aba7cc070827516c2abe4ccdf53d128e1944003cf5726cff1" +checksum = "efca4c95a19a79d1c98f791f10aebd5c1363b473244630bb7dbde1dc98455a24" [[package]] name = "ppv-lite86" @@ -5784,14 +5841,14 @@ version = "3.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f" dependencies = [ - "toml_edit 0.25.15+spec-1.1.0", + "toml_edit 0.25.13+spec-1.1.0", ] [[package]] name = "proc-macro-error-attr3" -version = "3.1.1" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e564d14133360e1ae169ffde5da25881b5fa47261665b8e5713c212c27799da" +checksum = "b0084e6206a967a2dad822180626b2f6b07a3b379325e8f1ec0438e33a469ba7" dependencies = [ "proc-macro2", "quote", @@ -5799,14 +5856,14 @@ dependencies = [ [[package]] name = "proc-macro-error3" -version = "3.1.1" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f0d4471b3436c22106b21913b1dda531558918ae9b7ec55d58aa84b43552233" +checksum = "0cf066225f2373bc711684792b69bdeac0356019b007e721090c24d92d5d5a50" dependencies = [ "proc-macro-error-attr3", "proc-macro2", "quote", - "syn 3.0.6", + "syn 3.0.3", ] [[package]] @@ -5837,11 +5894,11 @@ version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25485360a54d6861439d60facef26de713b1e126bf015ec8f98239467a2b82f7" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "chrono", "flate2", "procfs-core", - "rustix 1.1.5", + "rustix 1.1.4", ] [[package]] @@ -5850,7 +5907,7 @@ version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6401bf7b6af22f78b563665d15a22e9aef27775b79b149a66ca022468a4e405" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "chrono", "hex", ] @@ -5937,15 +5994,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "quick-xml" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" -dependencies = [ - "memchr", -] - [[package]] name = "quote" version = "1.0.47" @@ -5969,9 +6017,9 @@ checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" [[package]] name = "rand" -version = "0.8.8" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e058c7de0b26af77780c769414d6257830bb240f3c38477dbc2c16e5f54d6d4c" +checksum = "22f6172bdec972074665ed81ed53b71da00bfc44b65a753cfde883ec4c702a1a" dependencies = [ "libc", "rand_chacha 0.3.1", @@ -6068,7 +6116,7 @@ dependencies = [ "rand 0.9.5", "rand_chacha 0.9.0", "simd_helpers", - "thiserror 2.0.21", + "thiserror 2.0.20", "v_frame", "wasm-bindgen", ] @@ -6094,7 +6142,7 @@ version = "11.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "498cd0dc59d73224351ee52a95fee0f1a617a2eae0e7d9d720cc622c73a54186" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", ] [[package]] @@ -6141,7 +6189,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "046a7d674daf459825b32f5062056d6882db0d2f5a479fbd76ccfc870ac18709" dependencies = [ "bytemuck", - "font-types 0.12.6", + "font-types 0.12.3", "once_cell", ] @@ -6173,7 +6221,7 @@ version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c5018d583d6d2f5499352aea8d177e9067d1eb03ab17c78169d5ba7a30001b15" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "libredox", ] @@ -6183,16 +6231,16 @@ version = "0.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", ] [[package]] name = "redox_syscall" -version = "0.9.4" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "737970939a87c6fa31e7acad13307bccbb017a073b695b6089a2c484f929e20e" +checksum = "f1c93da5bb2c5d4e6c0ef7abeead62c89169a0a4882bfb83ac892f2423aea2fe" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", ] [[package]] @@ -6208,12 +6256,13 @@ dependencies = [ [[package]] name = "redox_users" -version = "0.5.3" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60dc65c0ff1a7ae1294b0c67b9f14baf70b644404010370171787bfac1038fc0" +checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac" dependencies = [ + "getrandom 0.2.17", "libredox", - "thiserror 2.0.21", + "thiserror 2.0.20", ] [[package]] @@ -6279,7 +6328,7 @@ dependencies = [ "dispatch2", "js-sys", "log", - "objc2 0.6.5", + "objc2 0.6.4", "objc2-app-kit 0.3.2", "objc2-core-foundation", "objc2-foundation 0.3.2", @@ -6307,7 +6356,7 @@ version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "81116b9531d61eabc41aeb228e4b6b2435bcca3233b98cf3b3077d4e6e9debb3" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "once_cell", "serde", "serde_derive", @@ -6392,7 +6441,7 @@ version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "errno", "libc", "linux-raw-sys 0.4.15", @@ -6401,11 +6450,11 @@ dependencies = [ [[package]] name = "rustix" -version = "1.1.5" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "891efababe418670775f199f0d233d84843c227a0949a883ce15b37c78d6629d" +checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "errno", "libc", "linux-raw-sys 0.12.1", @@ -6424,7 +6473,7 @@ version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fd3c7c96f8a08ee34eff8857b11b49b07d71d1c3f4e88f8a88d4c9e9f90b1702" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "bytemuck", "core_maths", "log", @@ -6524,7 +6573,7 @@ checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" dependencies = [ "proc-macro2", "quote", - "syn 3.0.6", + "syn 3.0.3", ] [[package]] @@ -6549,7 +6598,7 @@ checksum = "8d3b1629de253c70a0508c3899572da79ca359fdab27c7920ff00406df418906" dependencies = [ "proc-macro2", "quote", - "syn 3.0.6", + "syn 3.0.3", ] [[package]] @@ -6577,7 +6626,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aacc4cc499359472b4abe1bf11d0b12e688af9a805fa5e3016f9a386dc2d0214" dependencies = [ "cfg-if", - "cpufeatures 0.3.1", + "cpufeatures 0.3.0", "digest 0.11.3", ] @@ -6599,7 +6648,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "446ba717509524cb3f22f17ecc096f10f4822d76ab5c0b9822c5f9c284e825f4" dependencies = [ "cfg-if", - "cpufeatures 0.3.1", + "cpufeatures 0.3.0", "digest 0.11.3", ] @@ -6676,9 +6725,9 @@ dependencies = [ [[package]] name = "siphasher" -version = "1.0.4" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" +checksum = "8ee5873ec9cce0195efcb7a4e9507a04cd49aec9c83d0389df45b1ef7ba2e649" [[package]] name = "skrifa" @@ -6717,9 +6766,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.16.2" +version = "1.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" +checksum = "8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90" [[package]] name = "smithay-client-toolkit" @@ -6727,7 +6776,7 @@ version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0512da38f5e2b31201a93524adb8d3136276fa4fe4aafab4e1f727a82b534cc0" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "bytemuck", "calloop", "calloop-wayland-source", @@ -6736,8 +6785,8 @@ dependencies = [ "log", "memmap2 0.9.11", "pkg-config", - "rustix 1.1.5", - "thiserror 2.0.21", + "rustix 1.1.4", + "thiserror 2.0.20", "wayland-backend", "wayland-client", "wayland-csd-frame", @@ -6754,6 +6803,7 @@ dependencies = [ [[package]] name = "smithay-clipboard" version = "0.8.0" +source = "git+https://github.com/pop-os/smithay-clipboard?tag=sctk-0.20#859b02c88f45c554049a67c6ddeec1692ce0e20b" dependencies = [ "libc", "raw-window-handle", @@ -6784,26 +6834,31 @@ dependencies = [ [[package]] name = "softbuffer" version = "0.4.1" +source = "git+https://github.com/pop-os/softbuffer?tag=cosmic-4.0#c2b2c19ddb38ff17495643699f97cb1f2064a1be" dependencies = [ + "as-raw-xcb-connection", "bytemuck", "cfg_aliases", "cocoa", "core-graphics", + "drm", "fastrand", "foreign-types", "js-sys", - "libredox", "log", "memmap2 0.9.11", "objc", "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]] @@ -6821,7 +6876,7 @@ version = "0.3.0+sdk-1.3.268.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", ] [[package]] @@ -6902,9 +6957,9 @@ dependencies = [ [[package]] name = "syn" -version = "3.0.6" +version = "3.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +checksum = "53e9bae58849f64dfa4f5d5ae372c8341f7305f82a3868709269343628b659a3" dependencies = [ "proc-macro2", "quote", @@ -6923,13 +6978,13 @@ dependencies = [ [[package]] name = "synstructure" -version = "0.14.0" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "901704edd0dfe137f1987838ee4f259e4e063c31371bdb423f7ae38ec6f77f02" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 3.0.6", + "syn 2.0.119", ] [[package]] @@ -6948,7 +7003,7 @@ dependencies = [ "serde", "serde_derive", "serde_json", - "thiserror 2.0.21", + "thiserror 2.0.20", "walkdir", "yaml-rust", ] @@ -6971,7 +7026,7 @@ dependencies = [ "cfg-expr", "heck 0.5.0", "pkg-config", - "toml 1.1.6+spec-1.1.0", + "toml 1.1.4+spec-1.1.0", "version-compare", ] @@ -7013,7 +7068,7 @@ dependencies = [ "fastrand", "getrandom 0.4.3", "once_cell", - "rustix 1.1.5", + "rustix 1.1.4", "windows-sys 0.61.2", ] @@ -7043,11 +7098,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.21" +version = "2.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +checksum = "ec86235f5fcc2a73650310756d2ac5b138a5780bbbdfae3eeccec992c435ba4f" dependencies = [ - "thiserror-impl 2.0.21", + "thiserror-impl 2.0.20", ] [[package]] @@ -7063,13 +7118,13 @@ dependencies = [ [[package]] name = "thiserror-impl" -version = "2.0.21" +version = "2.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +checksum = "bc04cd3e1236dd4a98afca4569f2deb3f120e5422a4023be2cb683f8486292af" dependencies = [ "proc-macro2", "quote", - "syn 3.0.6", + "syn 3.0.3", ] [[package]] @@ -7177,6 +7232,19 @@ dependencies = [ "strict-num", ] +[[package]] +name = "tiny-xlib" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a90a0ca3ee6a69f2ad28fd11621a4c3f03b371f366be500b64df260c4ffbafb4" +dependencies = [ + "as-raw-xcb-connection", + "ctor", + "libloading", + "pkg-config", + "tracing", +] + [[package]] name = "tinystr" version = "0.8.4" @@ -7190,15 +7258,24 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.13.3" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd3ca314f692efd6c868f8408f53fe444634a845f96c028b97d35f6a1f79f0ee" +checksum = "bb4ebadaa0af04fab11ae01eb5f9fdb5f9c5b875506e210e71c07873528baa7f" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.53.2" +version = "1.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e95f91fcc7a621e8b030f6aa23c71fe9838ae2fb4d8118b75602a328f5144044" +checksum = "202caea871b69668250d242070849eb495be178ed697a3e98aebce5bc81a0bed" dependencies = [ "bytes", "libc", @@ -7219,7 +7296,7 @@ checksum = "78773a2a397f451582ce068015985c33193cf6dea8b74d2a639fe457b2f07b0e" dependencies = [ "proc-macro2", "quote", - "syn 3.0.6", + "syn 3.0.3", ] [[package]] @@ -7256,9 +7333,9 @@ dependencies = [ [[package]] name = "toml" -version = "1.1.6+spec-1.1.0" +version = "1.1.4+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "920602543f0911ab71da12c50d59701da54c196d1a2bf5cb4b75667f137a406a" +checksum = "3aace63f4bbcdfc2c965b059de67119c89c4017a70d633be6c104910f67056f5" dependencies = [ "indexmap", "serde_core", @@ -7303,9 +7380,9 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.25.15+spec-1.1.0" +version = "0.25.13+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1340ea94a5856333492c9064b02c778b191dd2c853778d9609debdcdfea3a614" +checksum = "6975367e4d2ef766d86af01ffad14b622fecc8d4357a998fbc4deb6e9bacaf9b" dependencies = [ "indexmap", "toml_datetime 1.1.1+spec-1.1.0", @@ -7398,20 +7475,20 @@ dependencies = [ [[package]] name = "trash" -version = "5.2.9" +version = "5.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be89b3fe156965d29ac4f8522f3a640c655affdd9f21cb4f36857f0c92c00317" +checksum = "7602e0c7d66ec2d92a8c917219fbc7894039efa2063b9064260110828a356f46" dependencies = [ "chrono", "libc", "log", - "objc2 0.6.5", + "objc2 0.6.4", "objc2-foundation 0.3.2", "once_cell", "percent-encoding", "scopeguard", "urlencoding", - "windows 0.62.2", + "windows 0.56.0", ] [[package]] @@ -7508,9 +7585,9 @@ dependencies = [ [[package]] name = "unicase" -version = "2.10.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "357cc3acc6a036009fd6c973ed009037c732d60d0b4f6c673e9041497482a28f" +checksum = "dbc4bc3a9f746d862c45cb89d705aa10f187bb96c76001afab07a0d35ce60142" [[package]] name = "unicode-bidi" @@ -7532,9 +7609,9 @@ checksum = "ce61d488bcdc9bc8b5d1772c404828b17fc481c0a582b5581e95fb233aef503e" [[package]] name = "unicode-ident" -version = "1.0.26" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" +checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" [[package]] name = "unicode-linebreak" @@ -7597,7 +7674,7 @@ version = "0.45.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "80be9b06fbae3b8b303400ab20778c80bbaf338f563afe567cf3c9eea17b47ef" dependencies = [ - "base64 0.22.1", + "base64", "data-url", "flate2", "fontdb", @@ -7638,9 +7715,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.27.0" +version = "1.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97277d36b9c3ace13e58fa6e753f8b0bbbf302a18dd193240d70f9e29681059a" +checksum = "2cefc03fd367c0c6d4305de1b312cf00248c4114f4a0418ce6a6af769e3b0bd9" dependencies = [ "js-sys", "serde_core", @@ -7713,9 +7790,9 @@ dependencies = [ [[package]] name = "wasm-bindgen" -version = "0.2.129" +version = "0.2.127" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bb54f33acc68fd454578d9820b0bde1a1a3d17aa17bb7b6595806d02886d409" +checksum = "1b70935747edd64d89de3efa29d73789b806c15798f8e7dca4d8ac356b50ce70" dependencies = [ "cfg-if", "once_cell", @@ -7726,20 +7803,19 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.79" +version = "0.4.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cbab34de2d982e9b48e18d216d04c4a6f641066ff19ffb699980f591ee3610e" +checksum = "6b7777d5cc23d0e91404e53ce2d5e8ec7acae3026b16233dba62cd3246457950" dependencies = [ "js-sys", - "tokio", "wasm-bindgen", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.129" +version = "0.2.127" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e29d0c35b16e224a7eeb5cd2d25e3e1968fbd65604117b44d3b789d00ee8535" +checksum = "77775f8f3f7217702089053b94958f8f54061a3f663417df76e19cbdcca29bc1" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -7747,22 +7823,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.129" +version = "0.2.127" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f501a8bc3719dba86ef8ae4728879c08001bea749eb1333ac5b91e040e2a6b7" +checksum = "e11d33f857dc2fb11b8bc75aee111aa9cbeb12cd9f25efd3d4c2a3dd4e235284" dependencies = [ "bumpalo", "proc-macro2", "quote", - "syn 3.0.6", + "syn 2.0.119", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.129" +version = "0.2.127" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23f0c9c52aa7cd7d77769a4cfe2a9adb1b331f489a41d912ce14513d5ab995c6" +checksum = "7ef64dbcc55df09c7e5a46182d181c2cfa3e925f3da937ea764728b4bbb9dcbf" dependencies = [ "unicode-ident", ] @@ -7789,7 +7865,7 @@ checksum = "38a91b4eaddff87b1cd1074985e3713da4af2c49742d1b356b2c01670a67a078" dependencies = [ "cc", "downcast-rs", - "rustix 1.1.5", + "rustix 1.1.4", "scoped-tls", "smallvec", "wayland-sys", @@ -7801,8 +7877,8 @@ version = "0.31.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3c36a0f861ad76d0901f2800b46321410d9f73f2ea88aac0650d86c32688073" dependencies = [ - "bitflags 2.13.2", - "rustix 1.1.5", + "bitflags 2.13.1", + "rustix 1.1.4", "wayland-backend", "wayland-scanner", ] @@ -7813,7 +7889,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "cursor-icon", "wayland-backend", ] @@ -7824,7 +7900,7 @@ version = "0.31.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a52d18780be9b1314328a3de5f930b73d2200112e3849ca6cb11822793fb34d" dependencies = [ - "rustix 1.1.5", + "rustix 1.1.4", "wayland-client", "xcursor", ] @@ -7835,7 +7911,7 @@ version = "0.32.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23d0c813de3daa2ed6520af85a3bd49b0e722a3078506899aa9686fea58dc4b6" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "wayland-backend", "wayland-client", "wayland-scanner", @@ -7848,7 +7924,7 @@ version = "20250721.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "40a1f863128dcaaec790d7b4b396cc9b9a7a079e878e18c47e6c2d2c5a8dcbb1" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "wayland-backend", "wayland-client", "wayland-protocols", @@ -7861,7 +7937,7 @@ version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e9567599ef23e09b8dad6e429e5738d4509dfc46b3b21f32841a304d16b29c8" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "wayland-backend", "wayland-client", "wayland-protocols", @@ -7874,7 +7950,7 @@ version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b6d8cf1eb2c1c31ed1f5643c88a6e53538129d4af80030c8cabd1f9fa884d91" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "wayland-backend", "wayland-client", "wayland-protocols", @@ -7887,7 +7963,7 @@ version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eb04e52f7836d7c7976c78ca0250d61e33873c34156a2a1fc9474828ec268234" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "wayland-backend", "wayland-client", "wayland-protocols", @@ -7912,9 +7988,9 @@ version = "0.31.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0dde9c29be0f723a573977de51ee455bf3dfa03652730a74f9dd3b337e374d75" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "downcast-rs", - "rustix 1.1.5", + "rustix 1.1.4", "wayland-backend", "wayland-scanner", ] @@ -7933,9 +8009,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.106" +version = "0.3.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88261b9deccee56594c11a3460c462c41f58d148598fe70ad77070126a68aba4" +checksum = "c435338968042f4f59a557f690a253676d47ce13ceb55d70100e7facf6620a30" dependencies = [ "js-sys", "wasm-bindgen", @@ -7964,7 +8040,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9cb534d5ffd109c7d1135f34cdae29e60eab94855a625dcfe1705f8bc7ad79f" dependencies = [ "arrayvec", - "bitflags 2.13.2", + "bitflags 2.13.1", "bytemuck", "cfg-if", "cfg_aliases", @@ -7996,7 +8072,7 @@ dependencies = [ "arrayvec", "bit-set", "bit-vec", - "bitflags 2.13.2", + "bitflags 2.13.1", "bytemuck", "cfg_aliases", "document-features", @@ -8011,7 +8087,7 @@ dependencies = [ "raw-window-handle", "rustc-hash 1.1.0", "smallvec", - "thiserror 2.0.21", + "thiserror 2.0.20", "wgpu-core-deps-apple", "wgpu-core-deps-emscripten", "wgpu-core-deps-windows-linux-android", @@ -8056,7 +8132,7 @@ dependencies = [ "arrayvec", "ash", "bit-set", - "bitflags 2.13.2", + "bitflags 2.13.1", "block", "bytemuck", "cfg-if", @@ -8086,7 +8162,7 @@ dependencies = [ "raw-window-handle", "renderdoc-sys", "smallvec", - "thiserror 2.0.21", + "thiserror 2.0.20", "wasm-bindgen", "web-sys", "wgpu-types", @@ -8100,7 +8176,7 @@ version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e18308757e594ed2cd27dddbb16a139c42a683819d32a2e0b1b0167552f5840c" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "bytemuck", "js-sys", "log", @@ -8147,16 +8223,28 @@ 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", "thiserror 1.0.69", ] +[[package]] +name = "windows" +version = "0.56.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1de69df01bdf1ead2f4ac895dc77c9351aefff65b2f3db429a343f9cbf05e132" +dependencies = [ + "windows-core 0.56.0", + "windows-targets 0.52.6", +] + [[package]] name = "windows" version = "0.61.3" @@ -8200,14 +8288,26 @@ dependencies = [ "windows-core 0.62.2", ] +[[package]] +name = "windows-core" +version = "0.56.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4698e52ed2d08f8658ab0c39512a7c00ee5fe2688c65f8c0a4f06750d729f2a6" +dependencies = [ + "windows-implement 0.56.0", + "windows-interface 0.56.0", + "windows-result 0.1.2", + "windows-targets 0.52.6", +] + [[package]] name = "windows-core" version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" dependencies = [ - "windows-implement", - "windows-interface", + "windows-implement 0.60.2", + "windows-interface 0.59.3", "windows-link 0.1.3", "windows-result 0.3.4", "windows-strings 0.4.2", @@ -8219,8 +8319,8 @@ version = "0.62.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" dependencies = [ - "windows-implement", - "windows-interface", + "windows-implement 0.60.2", + "windows-interface 0.59.3", "windows-link 0.2.1", "windows-result 0.4.1", "windows-strings 0.5.1", @@ -8248,6 +8348,17 @@ dependencies = [ "windows-threading 0.2.1", ] +[[package]] +name = "windows-implement" +version = "0.56.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6fc35f58ecd95a9b71c4f2329b911016e6bec66b3f2e6a4aad86bd2e99e2f9b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + [[package]] name = "windows-implement" version = "0.60.2" @@ -8259,6 +8370,17 @@ dependencies = [ "syn 2.0.119", ] +[[package]] +name = "windows-interface" +version = "0.56.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08990546bf4edef8f431fa6326e032865f27138718c587dc21bc0265bbcb57cc" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + [[package]] name = "windows-interface" version = "0.59.3" @@ -8302,6 +8424,15 @@ dependencies = [ "windows-link 0.2.1", ] +[[package]] +name = "windows-result" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" +dependencies = [ + "windows-targets 0.52.6", +] + [[package]] name = "windows-result" version = "0.3.4" @@ -8590,14 +8721,15 @@ checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" [[package]] name = "winit" version = "0.31.0-beta.2" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#71ce08c043814514a8fd92d9d0599f115ae854e8" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "cfg_aliases", "cursor-icon", "dpi", "libc", "raw-window-handle", - "rustix 1.1.5", + "rustix 1.1.4", "smol_str", "tracing", "winit-android", @@ -8609,14 +8741,16 @@ dependencies = [ "winit-wayland", "winit-web", "winit-win32", + "winit-x11", ] [[package]] name = "winit-android" version = "0.31.0-beta.2" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#71ce08c043814514a8fd92d9d0599f115ae854e8" dependencies = [ "android-activity", - "bitflags 2.13.2", + "bitflags 2.13.1", "dpi", "ndk", "raw-window-handle", @@ -8628,12 +8762,13 @@ dependencies = [ [[package]] name = "winit-appkit" version = "0.31.0-beta.2" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#71ce08c043814514a8fd92d9d0599f115ae854e8" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "block2 0.6.2", "dispatch2", "dpi", - "objc2 0.6.5", + "objc2 0.6.4", "objc2-app-kit 0.3.2", "objc2-core-foundation", "objc2-core-graphics", @@ -8649,21 +8784,24 @@ dependencies = [ [[package]] name = "winit-common" version = "0.31.0-beta.2" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#71ce08c043814514a8fd92d9d0599f115ae854e8" dependencies = [ "memmap2 0.9.11", - "objc2 0.6.5", + "objc2 0.6.4", "objc2-core-foundation", "smol_str", "tracing", "winit-core", + "x11-dl", "xkbcommon-dl", ] [[package]] name = "winit-core" version = "0.31.0-beta.2" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#71ce08c043814514a8fd92d9d0599f115ae854e8" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "cursor-icon", "dpi", "keyboard-types", @@ -8675,8 +8813,9 @@ dependencies = [ [[package]] name = "winit-orbital" version = "0.31.0-beta.2" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#71ce08c043814514a8fd92d9d0599f115ae854e8" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "dpi", "libredox", "orbclient", @@ -8690,12 +8829,13 @@ dependencies = [ [[package]] name = "winit-uikit" version = "0.31.0-beta.2" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#71ce08c043814514a8fd92d9d0599f115ae854e8" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "block2 0.6.2", "dispatch2", "dpi", - "objc2 0.6.5", + "objc2 0.6.4", "objc2-core-foundation", "objc2-foundation 0.3.2", "objc2-ui-kit", @@ -8709,16 +8849,17 @@ dependencies = [ [[package]] name = "winit-wayland" version = "0.31.0-beta.2" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#71ce08c043814514a8fd92d9d0599f115ae854e8" dependencies = [ "ahash", - "bitflags 2.13.2", + "bitflags 2.13.1", "calloop", "cursor-icon", "dpi", "libc", "memmap2 0.9.11", "raw-window-handle", - "rustix 1.1.5", + "rustix 1.1.4", "sctk-adwaita", "smithay-client-toolkit", "smol_str", @@ -8734,9 +8875,10 @@ dependencies = [ [[package]] name = "winit-web" version = "0.31.0-beta.2" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#71ce08c043814514a8fd92d9d0599f115ae854e8" dependencies = [ "atomic-waker", - "bitflags 2.13.2", + "bitflags 2.13.1", "concurrent-queue", "cursor-icon", "dpi", @@ -8755,8 +8897,9 @@ dependencies = [ [[package]] name = "winit-win32" version = "0.31.0-beta.2" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#71ce08c043814514a8fd92d9d0599f115ae854e8" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "cursor-icon", "dpi", "raw-window-handle", @@ -8767,6 +8910,29 @@ dependencies = [ "winit-core", ] +[[package]] +name = "winit-x11" +version = "0.31.0-beta.2" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#71ce08c043814514a8fd92d9d0599f115ae854e8" +dependencies = [ + "bitflags 2.13.1", + "bytemuck", + "calloop", + "cursor-icon", + "dpi", + "libc", + "percent-encoding", + "raw-window-handle", + "rustix 1.1.4", + "smol_str", + "tracing", + "winit-common", + "winit-core", + "x11-dl", + "x11rb", + "xkbcommon-dl", +] + [[package]] name = "winnow" version = "0.7.15" @@ -8806,6 +8972,39 @@ dependencies = [ "either", ] +[[package]] +name = "x11-dl" +version = "2.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f" +dependencies = [ + "libc", + "once_cell", + "pkg-config", +] + +[[package]] +name = "x11rb" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9993aa5be5a26815fe2c3eacfc1fde061fc1a1f094bf1ad2a18bf9c495dd7414" +dependencies = [ + "as-raw-xcb-connection", + "gethostname", + "libc", + "libloading", + "once_cell", + "rustix 1.1.4", + "x11rb-protocol", + "xcursor", +] + +[[package]] +name = "x11rb-protocol" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea6fc2961e4ef194dcbfe56bb845534d0dc8098940c7e5c012a258bfec6701bd" + [[package]] name = "xattr" version = "1.6.1" @@ -8813,7 +9012,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32e45ad4206f6d2479085147f02bc2ef834ac85886624a23575ae137c8aa8156" dependencies = [ "libc", - "rustix 1.1.5", + "rustix 1.1.4", ] [[package]] @@ -8880,7 +9079,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5" dependencies = [ - "bitflags 2.13.2", + "bitflags 2.13.1", "dlib", "log", "once_cell", @@ -8963,13 +9162,13 @@ dependencies = [ [[package]] name = "yoke-derive" -version = "0.8.4" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec8ebde2db3681e8c9980cc27822030e68752690ddfa9473e739aeb4dbde6d71" +checksum = "de844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858e" dependencies = [ "proc-macro2", "quote", - "syn 3.0.6", + "syn 2.0.119", "synstructure", ] @@ -8995,7 +9194,7 @@ dependencies = [ "hex", "libc", "ordered-stream", - "rustix 1.1.5", + "rustix 1.1.4", "serde", "serde_repr", "tokio", @@ -9042,7 +9241,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 3.0.6", + "syn 3.0.3", "zbus_names", "zvariant", "zvariant_utils", @@ -9088,18 +9287,18 @@ checksum = "6df3dc4292935e51816d896edcd52aa30bc297907c26167fec31e2b0c6a32524" [[package]] name = "zerocopy" -version = "0.8.59" +version = "0.8.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +checksum = "556764e583adb45a9f8d413c2a147fa7e8d821e48e12b14fd560b607998b75eb" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.59" +version = "0.8.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +checksum = "f2ab42fc20575779bd240faa45f94a74256f755c0fa9e89f0ede20d91d0cdfc1" dependencies = [ "proc-macro2", "quote", @@ -9117,13 +9316,13 @@ dependencies = [ [[package]] name = "zerofrom-derive" -version = "0.1.8" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f75b4683f6c7f45248d4d64056a24298c6281e0993356d7d1b4a1a962ef10d4a" +checksum = "11532158c46691caf0f2593ea8358fed6bbf68a0315e80aae9bd41fbade684a1" dependencies = [ "proc-macro2", "quote", - "syn 3.0.6", + "syn 2.0.119", "synstructure", ] @@ -9147,9 +9346,9 @@ dependencies = [ [[package]] name = "zerovec" -version = "0.11.8" +version = "0.11.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb0464e17806c1d976d5cba29399c7f08e516e279e2ba493f63123b5fca67dd8" +checksum = "94b5c6b5976d66c1d703c4fd17d3f5e43c8cedaacf604961b171adc7130896d8" dependencies = [ "serde", "yoke", @@ -9159,13 +9358,13 @@ dependencies = [ [[package]] name = "zerovec-derive" -version = "0.11.6" +version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34df6fc39dbd26ddc9c10e6a2984476e13acce22e64e4487636ef494369225da" +checksum = "9f212a141d820099d57ffafb9569be9617a6f27d3dc881fbee8fb56642f917a9" dependencies = [ "proc-macro2", "quote", - "syn 3.0.6", + "syn 3.0.3", ] [[package]] @@ -9197,9 +9396,9 @@ dependencies = [ [[package]] name = "zlib-rs" -version = "0.6.8" +version = "0.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b268e58e7c693d7c271f93ffc4ba3b380412554231c85bf61ca7af91042a4112" +checksum = "34b31d188d9d685a4f9c7b46d6e36631b07058d2cfe190267adce54dc230bf12" [[package]] name = "zmij" @@ -9230,18 +9429,18 @@ dependencies = [ [[package]] name = "zstd-safe" -version = "7.3.0" +version = "7.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64d80649ab6db9d9f6f9c80a40becd948eda4714a0a5ac8c4d157a32231c7882" +checksum = "8f49c4d5f0abb602a93fb8736af2a4f4dd9512e36f7f570d66e65ff867ed3b9d" dependencies = [ "zstd-sys", ] [[package]] name = "zstd-sys" -version = "2.1.0+zstd.1.5.7" +version = "2.0.16+zstd.1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ef0a8027ec3ee71300ab3bcbcd0393f434aa72b91ca6d635a39941deae8eea0" +checksum = "91e19ebc2adc8f83e43039e79776e3fda8ca919132d68a1fed6a5faca2683748" dependencies = [ "cc", "pkg-config", @@ -9311,7 +9510,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 3.0.6", + "syn 3.0.3", "zvariant_utils", ] @@ -9324,20 +9523,6 @@ dependencies = [ "proc-macro2", "quote", "serde", - "syn 3.0.6", + "syn 3.0.3", "winnow 1.0.4", ] - -[[patch.unused]] -name = "onig" -version = "7.0.0" -source = "git+https://github.com/rust-onig/rust-onig.git?branch=main#73e63eb3eea6d93d24a4aadf7fea580287750c7d" - -[[patch.unused]] -name = "onig_sys" -version = "69.9.4" -source = "git+https://github.com/rust-onig/rust-onig.git?branch=main#73e63eb3eea6d93d24a4aadf7fea580287750c7d" - -[[patch.unused]] -name = "winit-x11" -version = "0.31.0-beta.2" diff --git a/Cargo.toml b/Cargo.toml index 3d2596d..4027f36 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cosmic-edit" -version = "1.10.0" +version = "1.6.0" authors = ["Jeremy Soller "] edition = "2024" license = "GPL-3.0-only" diff --git a/cargo.just b/cargo.just deleted file mode 100644 index fb09e1e..0000000 --- a/cargo.just +++ /dev/null @@ -1,70 +0,0 @@ -cargo-target-dir := env('CARGO_TARGET_DIR', 'target') - -# Compile with debug profile -[no-cd] -build-debug *args: - cargo build {{args}} - -# Compile with release profile -[no-cd] -build-release *args: (build-debug '--release' args) - -# Compile with a vendored tarball -[no-cd] -build-vendored *args: vendor-extract (build-release '--frozen --offline' args) - -# Check for errors and linter warnings -[no-cd] -check *args: - cargo clippy --all-features {{args}} -- -W clippy::pedantic - -# Runs a check with JSON message format for IDE integration -[no-cd] -check-json: (check '--message-format=json') - -# Remove Cargo build artifacts -[no-cd] -clean: - cargo clean - -# Also remove .cargo and vendored dependencies -[no-cd] -clean-dist: clean - rm -rf .cargo vendor vendor.tar target - -# Run the application for testing purposes -[no-cd] -run *args: - cargo run {{args}} - -# Run `cargo test` -[no-cd] -test *args: - cargo test {{args}} - -# Vendor Cargo dependencies locally -[no-cd] -vendor: - #!/usr/bin/env bash - mkdir -p .cargo - cargo vendor --locked | head -n -1 > .cargo/config.toml - echo 'directory = "vendor"' >> .cargo/config.toml - echo >> .cargo/config.toml - echo '[env]' >> .cargo/config.toml - if [ -n "${SOURCE_DATE_EPOCH}" ] - then - source_date="$(date -d "@${SOURCE_DATE_EPOCH}" "+%Y-%m-%d")" - echo "VERGEN_GIT_COMMIT_DATE = \"${source_date}\"" >> .cargo/config.toml - fi - if [ -n "${SOURCE_GIT_HASH}" ] - then - echo "VERGEN_GIT_SHA = \"${SOURCE_GIT_HASH}\"" >> .cargo/config.toml - fi - tar pcf vendor.tar .cargo vendor - rm -rf .cargo vendor - -# Extracts vendored dependencies -[no-cd] -vendor-extract: - rm -rf vendor - tar pxf vendor.tar diff --git a/debian/changelog b/debian/changelog index 4a9fc2b..3f34895 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,27 +1,3 @@ -cosmic-edit (1.10.0) noble; urgency=medium - - * Epoch 1.10.0 version update - - -- Michael Murphy Mon, 05 Oct 2026 21:19:33 +0200 - -cosmic-edit (1.9.0) noble; urgency=medium - - * Epoch 1.9.0 version update - - -- Michael Murphy Mon, 14 Sep 2026 21:54:06 +0200 - -cosmic-edit (1.8.0) noble; urgency=medium - - * Epoch 1.8.0 version update - - -- Jeremy Soller Wed, 02 Sep 2026 08:14:30 -0600 - -cosmic-edit (1.7.0) noble; urgency=medium - - * Epoch 1.7.0 version update - - -- Jeremy Soller Tue, 25 Aug 2026 09:19:59 -0600 - cosmic-edit (1.6.0) noble; urgency=medium * Epoch 1.6.0 version update diff --git a/debian/rules b/debian/rules index 4dbcf18..51289ea 100755 --- a/debian/rules +++ b/debian/rules @@ -1,12 +1,15 @@ #!/usr/bin/make -f export DESTDIR = debian/cosmic-edit +export VENDOR ?= 1 %: dh $@ override_dh_auto_clean: - ischroot || just vendor + if ! ischroot && test "${VENDOR}" = "1"; then \ + just vendor; \ + fi override_dh_auto_build: just build-vendored diff --git a/debian/source/options b/debian/source/options index 2f8c4a1..5d4ff73 100644 --- a/debian/source/options +++ b/debian/source/options @@ -1,6 +1,4 @@ tar-ignore=.github -tar-ignore=target/.rustc_info.json -tar-ignore=target/CACHEDIR.TAG -tar-ignore=target/debug -tar-ignore=target/release +tar-ignore=.vscode tar-ignore=vendor +tar-ignore=target \ No newline at end of file diff --git a/i18n/da/cosmic_edit.ftl b/i18n/da/cosmic_edit.ftl index b6e8077..fc00ae3 100644 --- a/i18n/da/cosmic_edit.ftl +++ b/i18n/da/cosmic_edit.ftl @@ -1,5 +1,5 @@ save = Gem -cancel = Afbryd +cancel = Annuller quit = Afslut cosmic-text-editor = COSMIC-teksteditor new-document = Nyt dokument diff --git a/i18n/fil/cosmic_edit.ftl b/i18n/fil/cosmic_edit.ftl deleted file mode 100644 index e69de29..0000000 diff --git a/i18n/hu/cosmic_edit.ftl b/i18n/hu/cosmic_edit.ftl index 5a8ba06..6c75c81 100644 --- a/i18n/hu/cosmic_edit.ftl +++ b/i18n/hu/cosmic_edit.ftl @@ -53,14 +53,14 @@ dark = Sötét light = Világos syntax-dark = Sötét szintaxis syntax-light = Világos szintaxis -default-font = Alapértelmezett betűkészlet +default-font = Alapértelmezett betűtípus default-font-size = Alapértelmezett betűméret default-zoom-step = Nagyítási mérték ### Keyboard shortcuts keyboard-shortcuts = Gyorsbillentyűk -enable-vim-bindings = Vim-billentyűkombinációk engedélyezése +enable-vim-bindings = Vim billentyűkombinációk engedélyezése # Find find-placeholder = Keresés… find-previous = Előző találat diff --git a/i18n/kab/cosmic_edit.ftl b/i18n/kab/cosmic_edit.ftl index fe3722f..f3c3763 100644 --- a/i18n/kab/cosmic_edit.ftl +++ b/i18n/kab/cosmic_edit.ftl @@ -1,9 +1,9 @@ -cancel = Semmet +cancel = Sefsex undo = Ssemmet save = Sekles -quit = Ffeɣ +quit = Tuffɣa replace = Semselsi -support = Tallelt +support = Tallalt settings = Iɣewwaṛen appearance = Timeẓri theme = Asentel @@ -16,7 +16,7 @@ default-size = Tiddi tamezwert zoom-out = Asemẓi view = Wali menu-settings = Iɣewwaṛen… -match-desktop = Semṣada akked tnarit +match-desktop = Amṣada d tnarit file = Afaylu new-window = Asfaylu amaynut edit = Ẓreg diff --git a/i18n/kmr/cosmic_edit.ftl b/i18n/kmr/cosmic_edit.ftl index 804be1c..3cf2454 100644 --- a/i18n/kmr/cosmic_edit.ftl +++ b/i18n/kmr/cosmic_edit.ftl @@ -12,7 +12,7 @@ support = Piştgirî quit = Biqedîne find-placeholder = Bibîne... copy = Jê bigire -paste = Pê ve bike +paste = Pêve bike match-desktop = Bi sermaseyê re li hev bîne select-all = Hemûyan hilbijêre zoom-in = Nêzîk bike diff --git a/i18n/oc/cosmic_edit.ftl b/i18n/oc/cosmic_edit.ftl index 01369c1..c504bee 100644 --- a/i18n/oc/cosmic_edit.ftl +++ b/i18n/oc/cosmic_edit.ftl @@ -1,13 +1,8 @@ -settings = Configuracion +settings = Paramètres appearance = Aparéncia theme = Tèma match-desktop = Assortir al burèu -dark = Escur +dark = Fosc light = Clar file = Fichièr close-file = Tampar lo fichièr -cancel = Anullar -repository = Depaus -menu-settings = Configuracion... -quit = Quitar -replace = Remplaçar diff --git a/i18n/pl/cosmic_edit.ftl b/i18n/pl/cosmic_edit.ftl index 6a33d56..7a79aad 100644 --- a/i18n/pl/cosmic_edit.ftl +++ b/i18n/pl/cosmic_edit.ftl @@ -1,5 +1,5 @@ cosmic-text-editor = Edytor Tekstu COSMIC -comment = Edytor tekstu dla środowiska COSMIC +comment = Edytor tekstu pulpitu COSMIC new-document = Nowy dokument open-project = Otwórz projekt todo = TODO @@ -64,7 +64,7 @@ default-zoom-step = Stopniowanie powiększania keyboard-shortcuts = Skróty klawiszowe enable-vim-bindings = Włącz tryb Vim # Find -find-placeholder = Wyszukaj… +find-placeholder = Szukaj… find-previous = Znajdź poprzedni find-next = Znajdź następny replace-placeholder = Zastąp… @@ -106,8 +106,8 @@ cut = Wytnij copy = Kopiuj paste = Wklej select-all = Zaznacz wszystko -find = Wyszukaj -find-in-project = Wyszukaj w projekcie… +find = Szukaj +find-in-project = Szukaj w projekcie… spell-check = Sprawdź ortografię… ## View diff --git a/i18n/th/cosmic_edit.ftl b/i18n/th/cosmic_edit.ftl index 3b1629e..e69de29 100644 --- a/i18n/th/cosmic_edit.ftl +++ b/i18n/th/cosmic_edit.ftl @@ -1,6 +0,0 @@ -cancel = ยกเลิก -settings = การตั้งค่า -dark = มืด -light = สว่าง -replace = แทนที่ -appearance = ลักษณะ diff --git a/rust-toolchain.toml b/rust-toolchain.toml deleted file mode 100644 index bbfabdb..0000000 --- a/rust-toolchain.toml +++ /dev/null @@ -1,3 +0,0 @@ -[toolchain] -channel = "1.93" -components = ["clippy", "rustfmt"] diff --git a/src/config.rs b/src/config.rs index 3eaaac0..c5cea7f 100644 --- a/src/config.rs +++ b/src/config.rs @@ -112,8 +112,17 @@ impl Config { } } -#[derive(Clone, CosmicConfigEntry, Debug, Deserialize, Eq, PartialEq, Serialize, Default)] +#[derive(Clone, CosmicConfigEntry, Debug, Deserialize, Eq, PartialEq, Serialize)] pub struct ConfigState { pub recent_files: VecDeque, pub recent_projects: VecDeque, } + +impl Default for ConfigState { + fn default() -> Self { + Self { + recent_files: VecDeque::new(), + recent_projects: VecDeque::new(), + } + } +} diff --git a/src/git.rs b/src/git.rs index c4855d6..02bf15a 100644 --- a/src/git.rs +++ b/src/git.rs @@ -124,7 +124,7 @@ impl GitRepository { msg.push_str("\nstderr> "); msg.push_str(line); } - Err(io::Error::other(msg)) + Err(io::Error::new(io::ErrorKind::Other, msg)) } } diff --git a/src/main.rs b/src/main.rs index 4b9cbba..480fbc5 100644 --- a/src/main.rs +++ b/src/main.rs @@ -11,7 +11,7 @@ use cosmic::{ cosmic_theme, executor, font::Font, iced::{ - self, Alignment, Background, Color, Length, Limits, Subscription, + self, Alignment, Background, Color, Length, Limits, Point, Subscription, advanced::graphics::text::font_system, clipboard, event, futures::{self, SinkExt}, @@ -194,7 +194,6 @@ fn main() -> Result<(), Box> { #[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)] pub enum Action { Todo, - NoOp, About, CloseFile, CloseProject(usize), @@ -245,7 +244,6 @@ impl Action { fn message(&self, entity_opt: Option) -> Message { match self { Self::Todo => Message::Todo, - Self::NoOp => Message::NoOp, Self::About => Message::ToggleContextPage(ContextPage::About), Self::CloseFile => Message::CloseFile, Self::CloseProject(project_i) => Message::CloseProject(*project_i), @@ -328,7 +326,6 @@ impl PartialEq for WatcherWrapper { } } -#[allow(clippy::large_enum_variant)] enum NewTab { Tab(EditorTab), Exists(Entity), @@ -374,7 +371,6 @@ pub enum Message { Modifiers(Modifiers), NewFile, NewWindow, - NoOp, NotifyEvent(notify::Event), NotifyWatcher(WatcherWrapper), OpenFile(PathBuf), @@ -404,7 +400,7 @@ pub enum Message { SaveAsResult(segmented_button::Entity, DialogResult), Scroll(f32), SelectAll, - Surface(surface::Action), + Surface(surface::Action), SystemThemeModeChange(cosmic_theme::ThemeMode), SyntaxTheme(usize, bool), TabActivate(segmented_button::Entity), @@ -413,7 +409,7 @@ pub enum Message { TabClose(segmented_button::Entity), TabCloseForce(segmented_button::Entity), TabContextAction(segmented_button::Entity, Action), - TabContextMenu(segmented_button::Entity, bool), + TabContextMenu(segmented_button::Entity, Option), TabNext, TabPrev, TabSetCursor(segmented_button::Entity, Cursor), @@ -530,7 +526,7 @@ impl App { continue; } let entry_path = entry.path(); - let node = match ProjectNode::new(entry_path) { + let node = match ProjectNode::new(&entry_path) { Ok(ok) => ok, Err(err) => { log::error!( @@ -683,11 +679,11 @@ impl App { //TODO: allow files to be open multiple times let mut activate_opt = None; for entity in self.tab_model.iter() { - if let Some(Tab::Editor(tab)) = self.tab_model.data::(entity) - && tab.path_opt.as_ref() == Some(&canonical) - { - activate_opt = Some(entity); - break; + if let Some(Tab::Editor(tab)) = self.tab_model.data::(entity) { + if tab.path_opt.as_ref() == Some(&canonical) { + activate_opt = Some(entity); + break; + } } } if let Some(entity) = activate_opt { @@ -735,10 +731,10 @@ impl App { } let entities: Vec<_> = self.tab_model.iter().collect(); for entity in entities { - if self.tab_model.is_active(entity) - && let Some(Tab::Editor(tab)) = self.tab_model.data_mut::(entity) - { - tab.set_config(&self.config); + if self.tab_model.is_active(entity) { + if let Some(Tab::Editor(tab)) = self.tab_model.data_mut::(entity) { + tab.set_config(&self.config); + } } } } @@ -755,10 +751,10 @@ impl App { } fn save_config_state(&mut self) { - if let Some(ref config_state_handler) = self.config_state_handler - && let Err(err) = self.config_state.write_entry(config_state_handler) - { - log::error!("failed to save config_state: {}", err); + if let Some(ref config_state_handler) = self.config_state_handler { + if let Err(err) = self.config_state.write_entry(config_state_handler) { + log::error!("failed to save config_state: {}", err); + } } } @@ -778,10 +774,10 @@ impl App { Some(DialogPage::PromptSaveQuit(ref _entities)) => { let mut unsaved = Vec::new(); for entity in self.tab_model.iter() { - if let Some(Tab::Editor(tab)) = self.tab_model.data::(entity) - && tab.changed() - { - unsaved.push(entity); + if let Some(Tab::Editor(tab)) = self.tab_model.data::(entity) { + if tab.changed() { + unsaved.push(entity); + } } } if unsaved.is_empty() { @@ -920,16 +916,16 @@ impl App { } 'tabs: for entity in self.tab_model.iter() { - if let Some(Tab::Editor(tab)) = self.tab_model.data::(entity) - && let Some(path) = &tab.path_opt - { - for (_, project_path) in self.projects.iter() { - if path.starts_with(project_path) { - // Do not watch tabs inside of already watched projects - continue 'tabs; + if let Some(Tab::Editor(tab)) = self.tab_model.data::(entity) { + if let Some(path) = &tab.path_opt { + for (_, project_path) in self.projects.iter() { + if path.starts_with(&project_path) { + // Do not watch tabs inside of already watched projects + continue 'tabs; + } } + new_paths.insert((path.to_path_buf(), RecursiveMode::NonRecursive)); } - new_paths.insert((path.to_path_buf(), RecursiveMode::NonRecursive)); } } @@ -1444,7 +1440,7 @@ impl Application for App { let mut theme_names = Vec::with_capacity(SYNTAX_SYSTEM.get().unwrap().theme_set.themes.len()); - for theme_name in SYNTAX_SYSTEM.get().unwrap().theme_set.themes.keys() { + for (theme_name, _theme) in SYNTAX_SYSTEM.get().unwrap().theme_set.themes.iter() { theme_names.push(theme_name.to_string()); } @@ -1463,7 +1459,7 @@ impl Application for App { .comments(fl!("comment")) .license("GPL-3.0-only") .license_url("https://spdx.org/licenses/GPL-3.0-only") - .developers([("System76", "info@system76.com")]) + .developers([("Jeremy Soller", "jeremy@system76.com")]) .links([ (fl!("repository"), "https://github.com/pop-os/cosmic-edit"), ( @@ -1653,7 +1649,9 @@ impl Application for App { } fn dialog(&self) -> Option> { - let dialog = self.dialog_page_opt.as_ref()?; + let Some(ref dialog) = self.dialog_page_opt else { + return None; + }; let cosmic_theme::Spacing { space_xxs, .. } = self.core().system_theme().cosmic().spacing; @@ -1936,21 +1934,21 @@ impl Application for App { return self.update_config(); } Message::FindNext => { - if !self.find_search_value.is_empty() - && let Some(Tab::Editor(tab)) = self.active_tab() - { - //TODO: do not compile find regex on every search? - match self.config.find_regex(&self.find_search_value) { - Ok(regex) => { - tab.search(®ex, true, self.config.find_wrap_around); - } - Err(err) => { - //TODO: put regex error in find box - log::warn!( - "failed to compile regex {:?}: {}", - self.find_search_value, - err - ); + if !self.find_search_value.is_empty() { + if let Some(Tab::Editor(tab)) = self.active_tab() { + //TODO: do not compile find regex on every search? + match self.config.find_regex(&self.find_search_value) { + Ok(regex) => { + tab.search(®ex, true, self.config.find_wrap_around); + } + Err(err) => { + //TODO: put regex error in find box + log::warn!( + "failed to compile regex {:?}: {}", + self.find_search_value, + err + ); + } } } } @@ -1959,21 +1957,21 @@ impl Application for App { return self.update_focus(); } Message::FindPrevious => { - if !self.find_search_value.is_empty() - && let Some(Tab::Editor(tab)) = self.active_tab() - { - //TODO: do not compile find regex on every search? - match self.config.find_regex(&self.find_search_value) { - Ok(regex) => { - tab.search(®ex, false, self.config.find_wrap_around); - } - Err(err) => { - //TODO: put regex error in find box - log::warn!( - "failed to compile regex {:?}: {}", - self.find_search_value, - err - ); + if !self.find_search_value.is_empty() { + if let Some(Tab::Editor(tab)) = self.active_tab() { + //TODO: do not compile find regex on every search? + match self.config.find_regex(&self.find_search_value) { + Ok(regex) => { + tab.search(®ex, false, self.config.find_wrap_around); + } + Err(err) => { + //TODO: put regex error in find box + log::warn!( + "failed to compile regex {:?}: {}", + self.find_search_value, + err + ); + } } } } @@ -1982,27 +1980,27 @@ impl Application for App { return self.update_focus(); } Message::FindReplace => { - if !self.find_search_value.is_empty() - && let Some(Tab::Editor(tab)) = self.active_tab() - { - //TODO: do not compile find regex on every search? - match self.config.find_regex(&self.find_search_value) { - Ok(regex) => { - //TODO: support captures - tab.replace( - ®ex, - &self.find_replace_value, - self.config.find_wrap_around, - ); - return self.update(Message::TabChanged(self.tab_model.active())); - } - Err(err) => { - //TODO: put regex error in find box - log::warn!( - "failed to compile regex {:?}: {}", - self.find_search_value, - err - ); + if !self.find_search_value.is_empty() { + if let Some(Tab::Editor(tab)) = self.active_tab() { + //TODO: do not compile find regex on every search? + match self.config.find_regex(&self.find_search_value) { + Ok(regex) => { + //TODO: support captures + tab.replace( + ®ex, + &self.find_replace_value, + self.config.find_wrap_around, + ); + return self.update(Message::TabChanged(self.tab_model.active())); + } + Err(err) => { + //TODO: put regex error in find box + log::warn!( + "failed to compile regex {:?}: {}", + self.find_search_value, + err + ); + } } } } @@ -2011,27 +2009,27 @@ impl Application for App { return self.update_focus(); } Message::FindReplaceAll => { - if !self.find_search_value.is_empty() - && let Some(Tab::Editor(tab)) = self.active_tab() - { - //TODO: do not compile find regex on every search? - match self.config.find_regex(&self.find_search_value) { - Ok(regex) => { - //TODO: support captures - { - let mut editor = tab.editor.lock().unwrap(); - editor.set_cursor(cosmic_text::Cursor::new(0, 0)); + if !self.find_search_value.is_empty() { + if let Some(Tab::Editor(tab)) = self.active_tab() { + //TODO: do not compile find regex on every search? + match self.config.find_regex(&self.find_search_value) { + Ok(regex) => { + //TODO: support captures + { + let mut editor = tab.editor.lock().unwrap(); + editor.set_cursor(cosmic_text::Cursor::new(0, 0)); + } + while tab.replace(®ex, &self.find_replace_value, false) {} + return self.update(Message::TabChanged(self.tab_model.active())); + } + Err(err) => { + //TODO: put regex error in find box + log::warn!( + "failed to compile regex {:?}: {}", + self.find_search_value, + err + ); } - while tab.replace(®ex, &self.find_replace_value, false) {} - return self.update(Message::TabChanged(self.tab_model.active())); - } - Err(err) => { - //TODO: put regex error in find box - log::warn!( - "failed to compile regex {:?}: {}", - self.find_search_value, - err - ); } } } @@ -2164,21 +2162,22 @@ impl Application for App { } } } - Message::NoOp => { - // Do nothing - } Message::NotifyEvent(event) => { // Reload tabs that changed let mut tab_reload = Vec::new(); for entity in self.tab_model.iter() { - if let Some(Tab::Editor(tab)) = self.tab_model.data::(entity) - && let Some(path) = &tab.path_opt - && event.paths.contains(path) - { - if tab.changed() { - log::warn!("file changed externally before being saved: {:?}", path); - } else { - tab_reload.push(entity); + if let Some(Tab::Editor(tab)) = self.tab_model.data::(entity) { + if let Some(path) = &tab.path_opt { + if event.paths.contains(path) { + if tab.changed() { + log::warn!( + "file changed externally before being saved: {:?}", + path + ); + } else { + tab_reload.push(entity); + } + } } } } @@ -2276,7 +2275,7 @@ impl Application for App { { for (_, project_path) in self.projects.iter() { for path in event.paths.iter() { - if let Ok(prefix) = path.strip_prefix(project_path) { + if let Ok(prefix) = path.strip_prefix(&project_path) { // Manually ignore project .git folders //TODO: use logic from ignore crate somehow? if prefix.starts_with(".git") { @@ -2346,10 +2345,10 @@ impl Application for App { { let mut close = Vec::new(); for entity in self.tab_model.iter() { - if let Some(Tab::GitDiff(other_tab)) = self.tab_model.data::(entity) - && other_tab.diff.path == diff.path - { - close.push(entity); + if let Some(Tab::GitDiff(other_tab)) = self.tab_model.data::(entity) { + if other_tab.diff.path == diff.path { + close.push(entity); + } } } for entity in close { @@ -2667,10 +2666,10 @@ impl Application for App { tab.path_opt = Some(paths.remove(0)); title_opt = Some(tab.title()); tab.save(); - if let Some(path) = tab.path_opt.clone() - && let Ok(canonical) = fs::canonicalize(&path) - { - self.add_to_recents(&canonical); + if let Some(path) = tab.path_opt.clone() { + if let Ok(canonical) = fs::canonicalize(&path) { + self.add_to_recents(&canonical); + } } } if let Some(title) = title_opt { @@ -2708,7 +2707,9 @@ impl Application for App { } } Message::Surface(a) => { - return cosmic::task::message(cosmic::Action::Surface(a)); + return cosmic::task::message(cosmic::Action::Cosmic( + cosmic::app::Action::Surface(a), + )); } Message::SystemThemeModeChange(_theme_mode) => { return self.update_config(); @@ -2787,9 +2788,7 @@ impl Application for App { } Message::TabCloseForce(entity) => { // Activate closest item - if self.tab_model.active() == entity - && let Some(position) = self.tab_model.position(entity) - { + if let Some(position) = self.tab_model.position(entity) { if position > 0 { self.tab_model.activate_position(position - 1); } else { @@ -2816,15 +2815,15 @@ impl Application for App { Message::TabContextAction(entity, action) => { if let Some(Tab::Editor(tab)) = self.tab_model.data_mut::(entity) { // Close context menu - tab.context_menu_open = false; + tab.context_menu = None; // Run action's message return self.update(action.message(None)); } } - Message::TabContextMenu(entity, open) => { + Message::TabContextMenu(entity, position_opt) => { if let Some(Tab::Editor(tab)) = self.tab_model.data_mut::(entity) { // Update context menu - tab.context_menu_open = open; + tab.context_menu = position_opt; } } Message::TabNext => { @@ -2846,7 +2845,13 @@ impl Application for App { .tab_model .position(self.tab_model.active()) .and_then(|i| (i as usize).checked_sub(1)) - .unwrap_or_else(|| self.tab_model.iter().count().saturating_sub(1)); + .unwrap_or_else(|| { + self.tab_model + .iter() + .count() + .checked_sub(1) + .unwrap_or_default() + }); let entity = self.tab_model.iter().nth(pos); if let Some(entity) = entity { @@ -3023,19 +3028,12 @@ impl Application for App { } fn header_start(&self) -> Vec> { - let has_selection = match self.active_tab() { - Some(Tab::Editor(tab)) => tab.editor.lock().unwrap().selection() != Selection::None, - Some(Tab::GitDiff(_)) => false, - None => false, - }; - vec![menu_bar( &self.core, &self.config, &self.config_state, &self.key_binds, &self.projects, - has_selection, )] } @@ -3080,25 +3078,23 @@ impl Application for App { .on_focus(Message::FindFocused(false)) .on_auto_scroll(Message::AutoScroll) .on_changed(Message::TabChanged(tab_id)) - .has_context_menu(tab.context_menu_open) - .on_context_menu(move |open| Message::TabContextMenu(tab_id, open)); + .has_context_menu(tab.context_menu.is_some()) + .on_context_menu(move |position_opt| { + Message::TabContextMenu(tab_id, position_opt) + }); if self.config.highlight_current_line { text_box = text_box.highlight_current_line(); } if self.config.line_numbers { text_box = text_box.line_numbers(); } - let has_selection = tab.editor.lock().unwrap().selection() != Selection::None; - let mut context_menu = widget::context_menu( - text_box, - Some(menu::context_menu(&self.key_binds, tab_id, has_selection)), - ) - .on_close(Message::TabContextMenu(tab_id, false)) - .on_surface_action(Message::Surface); - if let Some(window_id) = self.core().main_window_id() { - context_menu = context_menu.window_id(window_id); + let mut popover = widget::popover(text_box); + if let Some(point) = tab.context_menu { + popover = popover + .popup(menu::context_menu(&self.key_binds, tab_id)) + .position(widget::popover::Position::Point(point)); } - tab_column = tab_column.push(context_menu); + tab_column = tab_column.push(popover); if self.config.vim_bindings { let status = { let editor = tab.editor.lock().unwrap(); diff --git a/src/menu.rs b/src/menu.rs index 79388bc..51d52cd 100644 --- a/src/menu.rs +++ b/src/menu.rs @@ -1,22 +1,21 @@ // SPDX-License-Identifier: GPL-3.0-only use cosmic::widget::menu::Item as MenuItem; -use cosmic::widget::menu::action::MenuAction; use cosmic::widget::menu::key_bind::KeyBind; use cosmic::{ Element, app::Core, + iced::{ + Background, Border, Length, advanced::widget::text::Style as TextStyle, widget::column, + }, + theme, widget::{ - self, - menu::{ItemHeight, ItemWidth}, - responsive_menu_bar, segmented_button, + self, divider, + menu::{ItemHeight, ItemWidth, menu_button}, + responsive_menu_bar, segmented_button, space, }, }; -use std::{ - collections::HashMap, - path::{Path, PathBuf}, - sync::LazyLock, -}; +use std::{collections::HashMap, path::PathBuf, sync::LazyLock}; use crate::{Action, Config, ConfigState, Message, fl}; @@ -64,7 +63,7 @@ fn truncate_middle(value: &str, max_chars: usize) -> String { ) } -fn format_recent_menu_path(path: &Path, home_dir_opt: Option<&PathBuf>) -> String { +fn format_recent_menu_path(path: &PathBuf, home_dir_opt: Option<&PathBuf>) -> String { const ELLIPSIS: &str = "..."; let display = if let Some(home_dir) = home_dir_opt { @@ -117,49 +116,68 @@ fn format_recent_menu_path(path: &Path, home_dir_opt: Option<&PathBuf>) -> Strin truncate_middle(&display, RECENT_MENU_LABEL_MAX_CHARS) } -/// A context menu action dispatched to the tab the menu was opened on. -#[derive(Clone, Copy, Debug, Eq, PartialEq)] -pub struct TabAction(pub segmented_button::Entity, pub Action); - -impl MenuAction for TabAction { - type Message = Message; - - fn message(&self) -> Message { - Message::TabContextAction(self.0, self.1) - } -} - -pub fn context_menu( +pub fn context_menu<'a>( key_binds: &HashMap, entity: segmented_button::Entity, - has_selection: bool, -) -> Vec> { - let item = - |label: String, action: Action| MenuItem::Button(label, None, TabAction(entity, action)); - let optional = |label: String, action: Action, enabled: bool| { - if enabled { - MenuItem::Button(label, None, TabAction(entity, action)) - } else { - MenuItem::ButtonDisabled(label, None, TabAction(entity, action)) +) -> Element<'a, Message> { + fn key_style(theme: &cosmic::Theme) -> TextStyle { + // TODO use wayland popups + let mut color = theme.cosmic().background(false).component.on; + color.alpha *= 0.75; + TextStyle { + color: Some(color.into()), + ..Default::default() } + } + + let menu_item = |menu_label, menu_action| { + let mut key = String::new(); + for (key_bind, key_action) in key_binds.iter() { + if key_action == &menu_action { + key = key_bind.to_string(); + break; + } + } + menu_button(vec![ + widget::text(menu_label).into(), + space::horizontal().into(), + widget::text(key) + .class(theme::Text::Custom(key_style)) + .into(), + ]) + .on_press(Message::TabContextAction(entity, menu_action)) }; - let key_binds: HashMap = key_binds - .iter() - .map(|(key_bind, action)| (key_bind.clone(), TabAction(entity, *action))) - .collect(); - widget::menu::items( - &key_binds, - vec![ - item(fl!("undo"), Action::Undo), - item(fl!("redo"), Action::Redo), - MenuItem::Divider, - optional(fl!("cut"), Action::Cut, has_selection), - optional(fl!("copy"), Action::Copy, has_selection), - item(fl!("paste"), Action::Paste), - item(fl!("select-all"), Action::SelectAll), - ], + widget::container( + cosmic::widget::menu::menu_column::MenuColumn::with_children([ + menu_item(fl!("undo"), Action::Undo).into(), + menu_item(fl!("redo"), Action::Redo).into(), + divider::horizontal::light().into(), + menu_item(fl!("cut"), Action::Cut).into(), + menu_item(fl!("copy"), Action::Copy).into(), + menu_item(fl!("paste"), Action::Paste).into(), + menu_item(fl!("select-all"), Action::SelectAll).into(), + ]), ) + .padding(1) + //TODO: move style to libcosmic + .style(|theme| { + let cosmic = theme.cosmic(); + let component = &cosmic.background(false).component; + widget::container::Style { + icon_color: Some(component.on.into()), + text_color: Some(component.on.into()), + background: Some(Background::Color(component.base.into())), + border: Border { + radius: cosmic.radius_s().map(|x| x + 1.0).into(), + width: 1.0, + color: component.divider.into(), + }, + ..Default::default() + } + }) + .width(Length::Fixed(240.0)) + .into() } pub fn menu_bar<'a>( @@ -167,8 +185,7 @@ pub fn menu_bar<'a>( config: &Config, config_state: &ConfigState, key_binds: &HashMap, - projects: &[(String, PathBuf)], - has_selection: bool, + projects: &Vec<(String, PathBuf)>, ) -> Element<'a, Message> { //TODO: port to libcosmic let menu_tab_width = |tab_width: u16| { @@ -261,16 +278,8 @@ pub fn menu_bar<'a>( MenuItem::Button(fl!("undo"), None, Action::Undo), MenuItem::Button(fl!("redo"), None, Action::Redo), MenuItem::Divider, - if has_selection { - MenuItem::Button(fl!("cut"), None, Action::Cut) - } else { - MenuItem::ButtonDisabled(fl!("cut"), None, Action::NoOp) - }, - if has_selection { - MenuItem::Button(fl!("copy"), None, Action::Copy) - } else { - MenuItem::ButtonDisabled(fl!("copy"), None, Action::NoOp) - }, + MenuItem::Button(fl!("cut"), None, Action::Cut), + MenuItem::Button(fl!("copy"), None, Action::Copy), MenuItem::Button(fl!("paste"), None, Action::Paste), MenuItem::Button(fl!("select-all"), None, Action::SelectAll), MenuItem::Divider, diff --git a/src/project.rs b/src/project.rs index 0a13262..11c8978 100644 --- a/src/project.rs +++ b/src/project.rs @@ -29,15 +29,15 @@ impl ProjectNode { let path = fs::canonicalize(path)?; let name = path .file_name() - .ok_or(io::Error::other(format!( - "path {:?} has no file name", - path - )))? + .ok_or(io::Error::new( + io::ErrorKind::Other, + format!("path {:?} has no file name", path), + ))? .to_str() - .ok_or(io::Error::other(format!( - "path {:?} is not valid UTF-8", - path - )))? + .ok_or(io::Error::new( + io::ErrorKind::Other, + format!("path {:?} is not valid UTF-8", path), + ))? .to_string(); Ok(if path.is_dir() { Self::Folder { diff --git a/src/search.rs b/src/search.rs index cbefcd2..7eaed1a 100644 --- a/src/search.rs +++ b/src/search.rs @@ -54,10 +54,10 @@ impl ProjectSearchResult { } }; - if let Some(file_type) = entry.file_type() - && file_type.is_dir() - { - continue; + if let Some(file_type) = entry.file_type() { + if file_type.is_dir() { + continue; + } } let entry_path = entry.path(); diff --git a/src/tab.rs b/src/tab.rs index 120fff6..ee2a058 100644 --- a/src/tab.rs +++ b/src/tab.rs @@ -1,6 +1,9 @@ // SPDX-License-Identifier: GPL-3.0-only -use cosmic::{iced::advanced::graphics::text::font_system, widget::icon}; +use cosmic::{ + iced::{Point, advanced::graphics::text::font_system}, + widget::icon, +}; use cosmic_files::mime_icon::{FALLBACK_MIME_ICON, mime_for_path, mime_icon}; use cosmic_text::{Attrs, Buffer, Cursor, Edit, Selection, Shaping, SyntaxEditor, ViEditor, Wrap}; use regex::Regex; @@ -25,7 +28,6 @@ fn editor_text(editor: &ViEditor<'static, 'static>) -> String { }) } -#[allow(clippy::large_enum_variant)] pub enum Tab { Editor(EditorTab), GitDiff(GitDiffTab), @@ -49,7 +51,7 @@ pub struct EditorTab { pub path_opt: Option, attrs: Attrs<'static>, pub editor: Mutex>, - pub context_menu_open: bool, + pub context_menu: Option, pub zoom_adj: i8, } @@ -73,7 +75,7 @@ impl EditorTab { path_opt: None, attrs, editor: Mutex::new(ViEditor::new(editor)), - context_menu_open: false, + context_menu: None, zoom_adj, }; @@ -314,7 +316,7 @@ impl EditorTab { .filter_map(|m| { if cursor.line != start_line || m.start() >= cursor.index - || m.start() < cursor.index && wrapped + || m.start() < cursor.index && wrapped == true { Some((m.start(), m.len())) } else { @@ -391,7 +393,7 @@ impl EditorTab { if cursor.line != start_line || m.start() > cursor.index || m.start() == cursor.index && current_selection == Selection::None - || m.start() < cursor.index && wrapped + || m.start() < cursor.index && wrapped == true { Some((m.start(), m.end())) } else { @@ -434,7 +436,7 @@ impl EditorTab { if cursor.line != start_line || m.start() < cursor.index || m.start() == cursor.index && current_selection == Selection::None - || m.start() > cursor.index && wrapped + || m.start() > cursor.index && wrapped == true { Some((m.start(), m.end())) } else { diff --git a/src/text_box.rs b/src/text_box.rs index de7050a..ea1f412 100644 --- a/src/text_box.rs +++ b/src/text_box.rs @@ -51,7 +51,7 @@ pub struct TextBox<'a, Message> { on_focus: Option, click_timing: Duration, has_context_menu: bool, - on_context_menu: Option Message + 'a>>, + on_context_menu: Option) -> Message + 'a>>, highlight_current_line: bool, line_numbers: bool, } @@ -107,7 +107,10 @@ where self } - pub fn on_context_menu(mut self, on_context_menu: impl Fn(bool) -> Message + 'a) -> Self { + pub fn on_context_menu( + mut self, + on_context_menu: impl Fn(Option) -> Message + 'a, + ) -> Self { self.on_context_menu = Some(Box::new(on_context_menu)); self } @@ -317,8 +320,9 @@ where editor.with_buffer(|buffer| { let mut layout_lines = 0; for line in buffer.lines.iter() { - if let Some(layout) = line.layout_opt() { - layout_lines += layout.len() + match line.layout_opt() { + Some(layout) => layout_lines += layout.len(), + None => (), } } @@ -754,7 +758,7 @@ where match editor.buffer_ref() { cosmic_text::BufferRef::Arc(buffer) => { renderer.fill_raw(Raw { - buffer: Arc::downgrade(buffer), + buffer: Arc::downgrade(&buffer), position: pos, color: Color::from_rgba(1.0, 1.0, 1.0, 1.0), clip_bounds, @@ -1094,13 +1098,15 @@ where editor.set_redraw(true); shell.capture_event(); } - Named::Tab if !modifiers.control() && !modifiers.alt() => { - if modifiers.shift() { - editor.action(Action::Unindent); - } else { - editor.action(Action::Indent); + Named::Tab => { + if !modifiers.control() && !modifiers.alt() { + if modifiers.shift() { + editor.action(Action::Unindent); + } else { + editor.action(Action::Indent); + } + shell.capture_event(); } - shell.capture_event(); } _ => (), }, @@ -1149,7 +1155,7 @@ where InputMethodEvent::Commit(text) => { if state.is_focused { editor.start_change(); - editor.insert_string(text, None); + editor.insert_string(&text, None); editor.finish_change(); shell.capture_event(); } @@ -1171,13 +1177,13 @@ where let y = y_logical * scale_factor; // Do this first as the horizontal scrollbar is on top of the buffer - if let Some(scrollbar_h_rect) = state.scrollbar_h_rect.get() - && scrollbar_h_rect.contains(Point::new(x_logical, y_logical)) - { - state.dragging = Some(Dragging::ScrollbarH { - start_x: x, - start_scroll: editor.with_buffer(|buffer| buffer.scroll()), - }); + if let Some(scrollbar_h_rect) = state.scrollbar_h_rect.get() { + if scrollbar_h_rect.contains(Point::new(x_logical, y_logical)) { + state.dragging = Some(Dragging::ScrollbarH { + start_x: x, + start_scroll: editor.with_buffer(|buffer| buffer.scroll()), + }); + } } if matches!(state.dragging, Some(Dragging::ScrollbarH { .. })) { @@ -1204,7 +1210,7 @@ where ClickKind::Single }; let maybe_anchor = if state.modifiers.shift() { - *state.shift_anchor.lock().unwrap() + state.shift_anchor.lock().unwrap().clone() } else { None }; @@ -1261,9 +1267,14 @@ where // Update context menu state if let Some(on_context_menu) = &self.on_context_menu { - shell.publish((on_context_menu)( - !self.has_context_menu && matches!(button, Button::Right), - )); + shell.publish((on_context_menu)(if self.has_context_menu { + None + } else { + match button { + Button::Right => Some(p), + _ => None, + } + })); } shell.capture_event(); @@ -1385,9 +1396,11 @@ where shell.capture_event(); } } - Event::Window(WindowEvent::RedrawRequested(_now)) if state.is_focused => { - state.caret_position = editor.cursor_position().unwrap_or(state.caret_position); - shell.request_input_method(&self.input_method(state, scale_factor, layout)); + Event::Window(WindowEvent::RedrawRequested(_now)) => { + if state.is_focused { + state.caret_position = editor.cursor_position().unwrap_or(state.caret_position); + shell.request_input_method(&self.input_method(state, scale_factor, layout)); + } } _ => (), }