diff --git a/.zed/settings.json b/.zed/settings.json deleted file mode 100644 index 2cc7b98..0000000 --- a/.zed/settings.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "format_on_save": "on", - "lsp": { - "rust-analyzer": { - "initialization_options": { - "check": { - "command": "clippy", - }, - "rustfmt": { - "extraArgs": ["+nightly"], - }, - }, - }, - }, -} diff --git a/Cargo.lock b/Cargo.lock index 727db49..d1232e9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -148,7 +148,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f2a1bb052857d5dd49572219344a7332b31b76405648eabac5bc68978251bcd" dependencies = [ "android-properties", - "bitflags 2.11.1", + "bitflags 2.11.0", "cc", "jni", "libc", @@ -267,6 +267,12 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" +[[package]] +name = "as-raw-xcb-connection" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b" + [[package]] name = "ash" version = "0.38.0+1.3.281" @@ -285,7 +291,7 @@ dependencies = [ "enumflags2", "futures-channel", "futures-util", - "rand 0.9.4", + "rand 0.9.2", "raw-window-handle", "serde", "serde_repr", @@ -303,7 +309,7 @@ dependencies = [ "enumflags2", "futures-channel", "futures-util", - "rand 0.9.4", + "rand 0.9.2", "serde", "serde_repr", "tokio", @@ -554,9 +560,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.11.1" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4512299f36f043ab09a583e57bceb5a5aab7a73db1805848e8fef3c9e8c78b3" +checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af" dependencies = [ "serde_core", ] @@ -688,7 +694,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4dbf9978365bac10f54d1d4b04f7ce4427e51f71d61f2fe15e3fed5166474df7" dependencies = [ "async-task", - "bitflags 2.11.1", + "bitflags 2.11.0", "polling", "rustix 1.1.4", "slab", @@ -709,9 +715,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.61" +version = "1.2.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d16d90359e986641506914ba71350897565610e87ce0ad9e6f28569db3dd5c6d" +checksum = "b7a4d3ec6524d28a329fc53654bbadc9bdd7b0431f5d65f1a56ffb28a1ee5283" dependencies = [ "find-msvc-tools", "jobserver", @@ -745,9 +751,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.6.1" +version = "4.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ddb117e43bbf7dacf0a4190fef4d345b9bad68dfc649cb349e7d17d28428e51" +checksum = "b193af5b67834b676abd72466a96c1024e6a6ad978a1f484bd90b85c94041351" dependencies = [ "clap_builder", "clap_derive", @@ -767,9 +773,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.6.1" +version = "4.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2ce8604710f6733aa641a2b3731eaa1e8b3d9973d5e3565da11800813f997a9" +checksum = "1110bd8a634a1ab8cb04345d8d878267d57c3cf1b38d91b71af6686408bbca6a" dependencies = [ "heck 0.5.0", "proc-macro2", @@ -795,6 +801,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", @@ -804,12 +811,22 @@ dependencies = [ [[package]] name = "clipboard_wayland" version = "0.2.2" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=sctk-0.20#f68595ee0e62fbd6589f4709b5aaa5c3c7ea5f6c" dependencies = [ "dnd", "mime 0.1.0", "smithay-clipboard", ] +[[package]] +name = "clipboard_x11" +version = "0.4.2" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=sctk-0.20#f68595ee0e62fbd6589f4709b5aaa5c3c7ea5f6c" +dependencies = [ + "thiserror 1.0.69", + "x11rb", +] + [[package]] name = "cocoa" version = "0.25.0" @@ -944,7 +961,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "core-foundation 0.10.1", "libc", ] @@ -961,6 +978,7 @@ dependencies = [ [[package]] name = "cosmic-bg-config" version = "1.0.3" +source = "git+https://github.com/pop-os/cosmic-bg#644993abd84bf04d7b3f2211e3656002c2a6f00b" dependencies = [ "cosmic-config", "derive_setters", @@ -972,8 +990,9 @@ dependencies = [ [[package]] name = "cosmic-client-toolkit" version = "0.2.0" +source = "git+https://github.com/pop-os/cosmic-protocols?rev=160b086#160b086abe03cd34a8a375d7fbe47b24308d1f38" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "cosmic-protocols", "libc", "smithay-client-toolkit", @@ -984,7 +1003,7 @@ dependencies = [ [[package]] name = "cosmic-comp-config" version = "1.0.0" -source = "git+https://github.com/pop-os/cosmic-comp#a5474e8c76cb96fd344a97bc672cff9b648f2efe" +source = "git+https://github.com/pop-os/cosmic-comp#3e84968dacb6a50a82ef5e35c0ac373c38172681" dependencies = [ "cosmic-config", "input", @@ -994,6 +1013,7 @@ dependencies = [ [[package]] name = "cosmic-config" version = "1.0.0" +source = "git+https://github.com/pop-os/libcosmic#6caccaba337ed9bab21c5fe3c2aa7392e322e89c" dependencies = [ "atomicwrites", "cosmic-config-derive", @@ -1014,6 +1034,7 @@ dependencies = [ [[package]] name = "cosmic-config-derive" version = "1.0.0" +source = "git+https://github.com/pop-os/libcosmic#6caccaba337ed9bab21c5fe3c2aa7392e322e89c" dependencies = [ "quote", "syn", @@ -1022,7 +1043,7 @@ dependencies = [ [[package]] name = "cosmic-freedesktop-icons" version = "0.4.0" -source = "git+https://github.com/pop-os/freedesktop-icons#9c562fe3ecf03241a46a60c0078cd6ea10bd75ce" +source = "git+https://github.com/pop-os/freedesktop-icons#7a61a704f6d1ec41f71cbe766e3cc484858523fa" dependencies = [ "bstr", "btoi", @@ -1036,6 +1057,7 @@ dependencies = [ [[package]] name = "cosmic-panel-config" version = "0.1.0" +source = "git+https://github.com/pop-os/cosmic-panel#d518c7d25ef96f1a9696aa8cce008656bf66ece4" dependencies = [ "anyhow", "cosmic-config", @@ -1049,8 +1071,9 @@ dependencies = [ [[package]] name = "cosmic-protocols" version = "0.2.0" +source = "git+https://github.com/pop-os/cosmic-protocols?rev=160b086#160b086abe03cd34a8a375d7fbe47b24308d1f38" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -1062,6 +1085,7 @@ dependencies = [ [[package]] name = "cosmic-settings-config" version = "0.1.0" +source = "git+https://github.com/pop-os/cosmic-settings-daemon#716da6d6af0b252e2f78aba2ad72ee19ae0241e0" dependencies = [ "cosmic-config", "ron 0.11.0", @@ -1081,10 +1105,10 @@ dependencies = [ [[package]] name = "cosmic-text" -version = "0.19.0" -source = "git+https://forge.aditua.com/leyoda/cosmic-text.git?branch=local%2Fpr-503#63072bbe29a1657d82cd3deb5db45070404ec7a1" +version = "0.18.2" +source = "git+https://github.com/pop-os/cosmic-text.git#9a2ab09f06905e91f41d64ac6eee887726e7fd76" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "fontdb", "harfrust", "linebender_resource_handle", @@ -1100,12 +1124,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#6caccaba337ed9bab21c5fe3c2aa7392e322e89c" dependencies = [ "almost", "configparser", @@ -1121,7 +1145,7 @@ dependencies = [ [[package]] name = "cosmic-workspaces" -version = "1.0.12" +version = "1.0.0" dependencies = [ "aliasable", "anyhow", @@ -1141,7 +1165,7 @@ dependencies = [ "i18n-embed", "i18n-embed-fl", "itertools", - "libcosmic-yoda", + "libcosmic", "log", "memmap2 0.9.10", "rust-embed", @@ -1222,6 +1246,12 @@ dependencies = [ "uncased", ] +[[package]] +name = "ctor-lite" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e162d0c2e2068eb736b71e5597eff0b9944e6b973cd9f37b6a288ab9bf20e300" + [[package]] name = "cursor-icon" version = "1.2.0" @@ -1384,7 +1414,7 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "block2 0.6.2", "libc", "objc2 0.6.4", @@ -1413,8 +1443,9 @@ dependencies = [ [[package]] name = "dnd" version = "0.1.0" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=sctk-0.20#f68595ee0e62fbd6589f4709b5aaa5c3c7ea5f6c" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "mime 0.1.0", "raw-window-handle", "smithay-client-toolkit", @@ -1439,7 +1470,20 @@ checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" [[package]] name = "dpi" version = "0.1.2" -source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#261cda54017f98a12dc55569c864430fe6770366" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#a610ac9c7a72b39ff102ed4d946291618dc725b6" + +[[package]] +name = "drm" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0f8a69e60d75ae7dab4ef26a59ca99f2a89d4c142089b537775ae0c198bdcde" +dependencies = [ + "bitflags 2.11.0", + "bytemuck", + "drm-ffi 0.7.1", + "drm-fourcc", + "rustix 0.38.44", +] [[package]] name = "drm" @@ -1447,21 +1491,31 @@ version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "80bc8c5c6c2941f70a55c15f8d9f00f9710ebda3ffda98075f996a0e6c92756f" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "bytemuck", - "drm-ffi", + "drm-ffi 0.9.1", "drm-fourcc", "libc", "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 0.6.1", + "rustix 0.38.44", +] + [[package]] name = "drm-ffi" version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "51a91c9b32ac4e8105dec255e849e0d66e27d7c34d184364fb93e469db08f690" dependencies = [ - "drm-sys", + "drm-sys 0.8.1", "rustix 1.1.4", ] @@ -1471,6 +1525,16 @@ 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 = "drm-sys" version = "0.8.1" @@ -1737,9 +1801,9 @@ checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" [[package]] name = "font-types" -version = "0.11.3" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b38ad915f6dadd993ced50848a8291a543bd41ca62bc10740d5e64e2ab4cfd7" +checksum = "2d9237c6d82152100c691fb77ea18037b402bcc7257d2c876a4ffac81bc22a1c" dependencies = [ "bytemuck", ] @@ -1934,8 +1998,8 @@ version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce852e998d3ca5e4a97014fb31c940dc5ef344ec7d364984525fd11e8a547e6a" dependencies = [ - "bitflags 2.11.1", - "drm", + "bitflags 2.11.0", + "drm 0.14.1", "drm-fourcc", "gbm-sys", "libc", @@ -1962,6 +2026,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" @@ -2072,7 +2146,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "gpu-alloc-types", ] @@ -2082,7 +2156,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", ] [[package]] @@ -2103,7 +2177,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b89c83349105e3732062a895becfc71a8f921bb71ecbbdd8ff99263e3b53a0ca" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "gpu-descriptor-types", "hashbrown 0.15.5", ] @@ -2114,14 +2188,14 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdf242682df893b86f33a73828fb09ca4b2d3bb6cc95249707fc684d27484b91" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", ] [[package]] name = "grid" -version = "1.0.1" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b40ca9252762c466af32d0b1002e91e4e1bc5398f77455e55474deb466355ff5" +checksum = "f9e2d4c0a8296178d8802098410ca05d86b17a10bb5ab559b3fb404c1f948220" [[package]] name = "guillotiere" @@ -2151,7 +2225,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9da2e5ae821f6e96664977bf974d6d6a2d6682f9ccee23e62ec1d134246845f9" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "bytemuck", "core_maths", "read-fonts", @@ -2318,6 +2392,7 @@ dependencies = [ [[package]] name = "iced" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic#6caccaba337ed9bab21c5fe3c2aa7392e322e89c" dependencies = [ "dnd", "iced_accessibility", @@ -2338,6 +2413,7 @@ dependencies = [ [[package]] name = "iced_accessibility" version = "0.1.0" +source = "git+https://github.com/pop-os/libcosmic#6caccaba337ed9bab21c5fe3c2aa7392e322e89c" dependencies = [ "accesskit", "accesskit_winit", @@ -2346,8 +2422,9 @@ dependencies = [ [[package]] name = "iced_core" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic#6caccaba337ed9bab21c5fe3c2aa7392e322e89c" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "bytes", "cosmic-client-toolkit", "dnd", @@ -2369,6 +2446,7 @@ dependencies = [ [[package]] name = "iced_debug" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic#6caccaba337ed9bab21c5fe3c2aa7392e322e89c" dependencies = [ "iced_core", "iced_futures", @@ -2378,6 +2456,7 @@ dependencies = [ [[package]] name = "iced_futures" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic#6caccaba337ed9bab21c5fe3c2aa7392e322e89c" dependencies = [ "futures", "iced_core", @@ -2391,8 +2470,9 @@ dependencies = [ [[package]] name = "iced_graphics" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic#6caccaba337ed9bab21c5fe3c2aa7392e322e89c" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "bytemuck", "cosmic-text", "half", @@ -2411,6 +2491,7 @@ dependencies = [ [[package]] name = "iced_program" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic#6caccaba337ed9bab21c5fe3c2aa7392e322e89c" dependencies = [ "iced_graphics", "iced_runtime", @@ -2419,6 +2500,7 @@ dependencies = [ [[package]] name = "iced_renderer" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic#6caccaba337ed9bab21c5fe3c2aa7392e322e89c" dependencies = [ "iced_graphics", "iced_tiny_skia", @@ -2430,6 +2512,7 @@ dependencies = [ [[package]] name = "iced_runtime" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic#6caccaba337ed9bab21c5fe3c2aa7392e322e89c" dependencies = [ "bytes", "cosmic-client-toolkit", @@ -2444,6 +2527,7 @@ dependencies = [ [[package]] name = "iced_tiny_skia" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic#6caccaba337ed9bab21c5fe3c2aa7392e322e89c" dependencies = [ "bytemuck", "cosmic-text", @@ -2460,8 +2544,10 @@ dependencies = [ [[package]] name = "iced_wgpu" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic#6caccaba337ed9bab21c5fe3c2aa7392e322e89c" dependencies = [ - "bitflags 2.11.1", + "as-raw-xcb-connection", + "bitflags 2.11.0", "bytemuck", "cosmic-client-toolkit", "cryoglyph", @@ -2477,16 +2563,19 @@ dependencies = [ "rustc-hash 2.1.2", "rustix 0.38.44", "thiserror 2.0.18", + "tiny-xlib", "wayland-backend", "wayland-client", "wayland-protocols", "wayland-sys", "wgpu", + "x11rb", ] [[package]] name = "iced_widget" version = "0.14.2" +source = "git+https://github.com/pop-os/libcosmic#6caccaba337ed9bab21c5fe3c2aa7392e322e89c" dependencies = [ "cosmic-client-toolkit", "dnd", @@ -2504,6 +2593,7 @@ dependencies = [ [[package]] name = "iced_winit" version = "0.14.0" +source = "git+https://github.com/pop-os/libcosmic#6caccaba337ed9bab21c5fe3c2aa7392e322e89c" dependencies = [ "cosmic-client-toolkit", "cursor-icon", @@ -2639,9 +2729,9 @@ dependencies = [ [[package]] name = "idna_adapter" -version = "1.2.2" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb68373c0d6620ef8105e855e7745e18b0d00d3bdb07fb532e434244cdb9a714" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" dependencies = [ "icu_normalizer", "icu_properties", @@ -2662,15 +2752,6 @@ dependencies = [ "zune-jpeg 0.5.15", ] -[[package]] -name = "image-extras" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86d29ba92ef6970a2685cc758b455d190842b8b9e96c865ffd31cdb9954b7548" -dependencies = [ - "image", -] - [[package]] name = "image-webp" version = "0.2.4" @@ -2716,7 +2797,7 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd5b3eaf1a28b758ac0faa5a4254e8ab2705605496f1b1f3fbbc3988ad73d199" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "inotify-sys", "libc", ] @@ -2732,11 +2813,11 @@ dependencies = [ [[package]] name = "input" -version = "0.10.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9793345a65d71317763a33066b5d8351f8760dde8d4930fe9e39b5f14a7959d" +checksum = "fbdc09524a91f9cacd26f16734ff63d7dc650daffadd2b6f84d17a285bd875a9" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "input-sys", "libc", "log", @@ -2802,9 +2883,9 @@ checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" [[package]] name = "jiff" -version = "0.2.24" +version = "0.2.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f00b5dbd620d61dfdcb6007c9c1f6054ebd75319f163d886a9055cec1155073d" +checksum = "1a3546dc96b6d42c5f24902af9e2538e82e39ad350b0c766eb3fbf2d8f3d8359" dependencies = [ "jiff-static", "jiff-tzdb-platform", @@ -2817,9 +2898,9 @@ dependencies = [ [[package]] name = "jiff-static" -version = "0.2.24" +version = "0.2.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e000de030ff8022ea1da3f466fbb0f3a809f5e51ed31f6dd931c35181ad8e6d7" +checksum = "2a8c8b344124222efd714b73bb41f8b5120b27a7cc1c75593a6ff768d9d05aa4" dependencies = [ "proc-macro2", "quote", @@ -2911,9 +2992,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.97" +version = "0.3.94" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1840c94c045fbcf8ba2812c95db44499f7c64910a912551aaaa541decebcacf" +checksum = "2e04e2ef80ce82e13552136fabeef8a5ed1f985a96805761cbb9a2c34e7664d9" dependencies = [ "cfg-if", "futures-util", @@ -2936,7 +3017,7 @@ version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fbe853b403ae61a04233030ae8a79d94975281ed9770a1f9e246732b534b28d" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "serde", ] @@ -3021,13 +3102,14 @@ checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" [[package]] name = "libc" -version = "0.2.186" +version = "0.2.184" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66" +checksum = "48f5d2a454e16a5ea0f4ced81bd44e4cfc7bd3a507b61887c99fd3538b28e4af" [[package]] -name = "libcosmic-yoda" -version = "0.1.0-yoda.2" +name = "libcosmic" +version = "1.0.0" +source = "git+https://github.com/pop-os/libcosmic#6caccaba337ed9bab21c5fe3c2aa7392e322e89c" dependencies = [ "apply", "ashpd 0.12.3", @@ -3055,7 +3137,6 @@ dependencies = [ "iced_widget", "iced_winit", "image", - "image-extras", "jiff", "libc", "log", @@ -3096,14 +3177,14 @@ checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" [[package]] name = "libredox" -version = "0.1.16" +version = "0.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e02f3bb43d335493c96bf3fd3a321600bf6bd07ed34bc64118e9293bdffea46c" +checksum = "7ddbf48fd451246b1f8c2610bd3b4ac0cc6e149d89832867093ab69a17194f08" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "libc", "plain", - "redox_syscall 0.7.4", + "redox_syscall 0.7.3", ] [[package]] @@ -3137,6 +3218,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.9.4" @@ -3191,9 +3278,9 @@ checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" [[package]] name = "lru" -version = "0.16.4" +version = "0.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f66e8d5d03f609abc3a39e6f08e4164ebf1447a732906d39eb9b99b7919ef39" +checksum = "a1dc47f592c06f33f8e3aea9591776ec7c9f9e4124778ff8a3c3b87159f7e593" [[package]] name = "lyon" @@ -3295,7 +3382,7 @@ version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "00c15a6f673ff72ddcc22394663290f870fb224c1bfce55734a75c414150e605" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "block", "core-graphics-types 0.2.0", "foreign-types", @@ -3307,6 +3394,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", ] @@ -3363,7 +3451,7 @@ checksum = "066cf25f0e8b11ee0df221219010f213ad429855f57c494f995590c861a9a7d8" dependencies = [ "arrayvec", "bit-set", - "bitflags 2.11.1", + "bitflags 2.11.0", "cfg-if", "cfg_aliases", "codespan-reporting", @@ -3387,7 +3475,7 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "jni-sys 0.3.1", "log", "ndk-sys", @@ -3417,7 +3505,7 @@ version = "8.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4d3d07927151ff8575b7087f245456e549fea62edf0ec4e565a5ee50c8402bc3" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "fsevent-sys", "inotify", "kqueue", @@ -3435,7 +3523,7 @@ version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42b8cfee0e339a0337359f3c88165702ac6e600dc01c0cc9579a92d62b08477a" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", ] [[package]] @@ -3527,7 +3615,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "block2 0.5.1", "libc", "objc2 0.5.2", @@ -3543,7 +3631,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d49e936b501e5c5bf01fda3a9452ff86dc3ea98ad5f283e1455153142d97518c" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "block2 0.6.2", "objc2 0.6.4", "objc2-core-foundation", @@ -3556,7 +3644,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "block2 0.5.1", "objc2 0.5.2", "objc2-foundation 0.2.2", @@ -3568,7 +3656,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "block2 0.6.2", "dispatch2", "objc2 0.6.4", @@ -3580,7 +3668,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e022c9d066895efa1345f8e33e584b9f958da2fd4cd116792e15e07e4720a807" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "libc", "objc2-core-foundation", ] @@ -3603,7 +3691,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d425caf1df73233f29fd8a5c3e5edbc30d2d4307870f802d18f00d83dc5141a6" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "objc2-core-foundation", "objc2-core-graphics", ] @@ -3620,7 +3708,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "block2 0.5.1", "libc", "objc2 0.5.2", @@ -3632,7 +3720,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "block2 0.6.2", "objc2 0.6.4", "objc2-core-foundation", @@ -3644,7 +3732,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "block2 0.5.1", "objc2 0.5.2", "objc2-foundation 0.2.2", @@ -3656,7 +3744,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "block2 0.5.1", "objc2 0.5.2", "objc2-foundation 0.2.2", @@ -3669,7 +3757,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d87d638e33c06f577498cbcc50491496a3ed4246998a7fbba7ccb98b1e7eab22" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "objc2 0.6.4", "objc2-core-foundation", "objc2-foundation 0.3.2", @@ -3704,9 +3792,9 @@ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" [[package]] name = "orbclient" -version = "0.3.53" +version = "0.3.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12c6933ddbbd16539a7672e697bb8d41ac3a4e99ac43eeb40c07236bd7fcb2dd" +checksum = "59aed3b33578edcfa1bc96a321d590d31832b6ad55a26f0313362ce687e9abd6" dependencies = [ "libc", "libredox", @@ -3858,7 +3946,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" dependencies = [ "phf_shared 0.11.3", - "rand 0.8.6", + "rand 0.8.5", ] [[package]] @@ -3968,9 +4056,9 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.33" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19f132c84eca552bf34cab8ec81f1c1dcc229b811638f9d283dceabe58c5569e" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" [[package]] name = "plain" @@ -3997,7 +4085,7 @@ version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60769b8b31b2a9f263dae2776c37b1b28ae246943cf719eb6946a1db05128a61" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "crc32fast", "fdeflate", "flate2", @@ -4032,9 +4120,9 @@ checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" [[package]] name = "portable-atomic-util" -version = "0.2.7" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2a106d1259c23fac8e543272398ae0e3c0b8d33c88ed73d0cc71b0f1d902618" +checksum = "091397be61a01d4be58e7841595bd4bfedb15f1cd54977d79b8271e94ed799a3" dependencies = [ "portable-atomic", ] @@ -4140,9 +4228,9 @@ checksum = "3eb8486b569e12e2c32ad3e204dbaba5e4b5b216e9367044f25f1dba42341773" [[package]] name = "pxfm" -version = "0.1.29" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0c5ccf5294c6ccd63a74f1565028353830a9c2f5eb0c682c355c471726a6e3f" +checksum = "b5a041e753da8b807c9255f28de81879c78c876392ff2469cde94799b2896b9d" [[package]] name = "quick-error" @@ -4150,6 +4238,16 @@ version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" +[[package]] +name = "quick-xml" +version = "0.38.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b66c2058c55a409d601666cffe35f04333cf1013010882cec174a7467cd4e21c" +dependencies = [ + "memchr", + "serde", +] + [[package]] name = "quick-xml" version = "0.39.2" @@ -4157,7 +4255,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "958f21e8e7ceb5a1aa7fa87fab28e7c75976e0bfe7e23ff069e0a260f894067d" dependencies = [ "memchr", - "serde", ] [[package]] @@ -4183,18 +4280,18 @@ checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" [[package]] name = "rand" -version = "0.8.6" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ca0ecfa931c29007047d1bc58e623ab12e5590e8c7cc53200d5202b69266d8a" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "rand_core 0.6.4", ] [[package]] name = "rand" -version = "0.9.4" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76ea" +checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" dependencies = [ "rand_chacha", "rand_core 0.9.5", @@ -4260,16 +4357,16 @@ version = "0.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", ] [[package]] name = "redox_syscall" -version = "0.7.4" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f450ad9c3b1da563fb6948a8e0fb0fb9269711c9c73d9ea1de5058c79c8d643a" +checksum = "6ce70a74e890531977d37e532c34d45e9055d2409ed08ddba14529471ed0be16" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", ] [[package]] @@ -4395,7 +4492,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "db09040cc89e461f1a265139777a2bde7f8d8c67c4936f700c63ce3e2904d468" dependencies = [ "base64", - "bitflags 2.11.1", + "bitflags 2.11.0", "serde", "serde_derive", "unicode-ident", @@ -4407,7 +4504,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4147b952f3f819eca0e99527022f7d6a8d05f111aeb0a62960c74eb283bec8fc" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "once_cell", "serde", "serde_derive", @@ -4482,7 +4579,7 @@ version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "errno", "libc", "linux-raw-sys 0.4.15", @@ -4495,7 +4592,7 @@ version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "errno", "libc", "linux-raw-sys 0.12.1", @@ -4514,7 +4611,7 @@ version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fd3c7c96f8a08ee34eff8857b11b49b07d71d1c3f4e88f8a88d4c9e9f90b1702" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "bytemuck", "core_maths", "log", @@ -4783,7 +4880,7 @@ version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0512da38f5e2b31201a93524adb8d3136276fa4fe4aafab4e1f727a82b534cc0" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "bytemuck", "calloop", "calloop-wayland-source", @@ -4841,12 +4938,14 @@ dependencies = [ [[package]] name = "softbuffer" version = "0.4.1" -source = "git+https://github.com/pop-os/softbuffer?tag=cosmic-4.0#c2b2c19ddb38ff17495643699f97cb1f2064a1be" +source = "git+https://github.com/pop-os/softbuffer?tag=cosmic-4.0#a3f77e251e7422803f693df6e3fc313c010c4dcb" dependencies = [ + "as-raw-xcb-connection", "bytemuck", "cfg_aliases", "cocoa", "core-graphics", + "drm 0.11.1", "fastrand", "foreign-types", "js-sys", @@ -4856,12 +4955,14 @@ dependencies = [ "raw-window-handle", "redox_syscall 0.5.18", "rustix 0.38.44", + "tiny-xlib", "wasm-bindgen", "wayland-backend", "wayland-client", "wayland-sys", "web-sys", "windows-sys 0.52.0", + "x11rb", ] [[package]] @@ -4870,7 +4971,7 @@ version = "0.3.0+sdk-1.3.268.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", ] [[package]] @@ -5095,6 +5196,19 @@ dependencies = [ "strict-num", ] +[[package]] +name = "tiny-xlib" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0324504befd01cab6e0c994f34b2ffa257849ee019d3fb3b64fb2c858887d89e" +dependencies = [ + "as-raw-xcb-connection", + "ctor-lite", + "libloading", + "pkg-config", + "tracing", +] + [[package]] name = "tinystr" version = "0.8.3" @@ -5123,9 +5237,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.52.1" +version = "1.51.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b67dee974fe86fd92cc45b7a95fdd2f99a36a6d7b0d431a231178d3d670bbcc6" +checksum = "f66bf9585cda4b724d3e78ab34b73fb2bbaba9011b9bfdf69dc836382ea13b8c" dependencies = [ "bytes", "libc", @@ -5201,7 +5315,7 @@ dependencies = [ "indexmap 2.14.0", "toml_datetime", "toml_parser", - "winnow", + "winnow 1.0.1", ] [[package]] @@ -5210,7 +5324,7 @@ version = "1.1.2+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2abe9b86193656635d2411dc43050282ca48aa31c2451210f4202550afb7526" dependencies = [ - "winnow", + "winnow 1.0.1", ] [[package]] @@ -5271,9 +5385,9 @@ checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" [[package]] name = "typenum" -version = "1.20.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40ce102ab67701b8526c123c1bab5cbe42d7040ccfd0f64af1a385808d2f43de" +checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" [[package]] name = "udev" @@ -5458,9 +5572,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.23.1" +version = "1.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddd74a9687298c6858e9b88ec8935ec45d22e8fd5e6394fa1bd4e99a87789c76" +checksum = "5ac8b6f42ead25368cf5b098aeb3dc8a1a2c05a3eee8a9a1a68c640edbfc79d9" dependencies = [ "js-sys", "serde_core", @@ -5491,11 +5605,11 @@ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] name = "wasip2" -version = "1.0.3+wasi-0.2.9" +version = "1.0.2+wasi-0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20064672db26d7cdc89c7798c48a0fdfac8213434a1186e5ef29fd560ae223d6" +checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" dependencies = [ - "wit-bindgen 0.57.1", + "wit-bindgen", ] [[package]] @@ -5504,14 +5618,14 @@ version = "0.4.0+wasi-0.3.0-rc-2026-01-06" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" dependencies = [ - "wit-bindgen 0.51.0", + "wit-bindgen", ] [[package]] name = "wasm-bindgen" -version = "0.2.120" +version = "0.2.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df52b6d9b87e0c74c9edfa1eb2d9bf85e5d63515474513aa50fa181b3c4f5db1" +checksum = "0551fc1bb415591e3372d0bc4780db7e587d84e2a7e79da121051c5c4b89d0b0" dependencies = [ "cfg-if", "once_cell", @@ -5522,9 +5636,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.70" +version = "0.4.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af934872acec734c2d80e6617bbb5ff4f12b052dd8e6332b0817bce889516084" +checksum = "03623de6905b7206edd0a75f69f747f134b7f0a2323392d664448bf2d3c5d87e" dependencies = [ "js-sys", "wasm-bindgen", @@ -5532,9 +5646,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.120" +version = "0.2.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b1041f495fb322e64aca85f5756b2172e35cd459376e67f2a6c9dffcedb103" +checksum = "7fbdf9a35adf44786aecd5ff89b4563a90325f9da0923236f6104e603c7e86be" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -5542,9 +5656,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.120" +version = "0.2.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dcd0ff20416988a18ac686d4d4d0f6aae9ebf08a389ff5d29012b05af2a1b41" +checksum = "dca9693ef2bab6d4e6707234500350d8dad079eb508dca05530c85dc3a529ff2" dependencies = [ "bumpalo", "proc-macro2", @@ -5555,9 +5669,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.120" +version = "0.2.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49757b3c82ebf16c57d69365a142940b384176c24df52a087fb748e2085359ea" +checksum = "39129a682a6d2d841b6c429d0c51e5cb0ed1a03829d8b3d1e69a011e62cb3d3b" dependencies = [ "unicode-ident", ] @@ -5590,7 +5704,7 @@ version = "0.244.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "hashbrown 0.15.5", "indexmap 2.14.0", "semver", @@ -5630,7 +5744,7 @@ version = "0.31.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "645c7c96bb74690c3189b5c9cb4ca1627062bb23693a4fad9d8c3de958260144" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "rustix 1.1.4", "wayland-backend", "wayland-scanner", @@ -5642,7 +5756,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "cursor-icon", "wayland-backend", ] @@ -5664,7 +5778,7 @@ version = "0.32.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "563a85523cade2429938e790815fd7319062103b9f4a2dc806e9b53b95982d8f" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "wayland-backend", "wayland-client", "wayland-scanner", @@ -5677,7 +5791,7 @@ version = "20250721.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "40a1f863128dcaaec790d7b4b396cc9b9a7a079e878e18c47e6c2d2c5a8dcbb1" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -5690,7 +5804,7 @@ version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e9567599ef23e09b8dad6e429e5738d4509dfc46b3b21f32841a304d16b29c8" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -5703,7 +5817,7 @@ version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b6d8cf1eb2c1c31ed1f5643c88a6e53538129d4af80030c8cabd1f9fa884d91" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -5716,7 +5830,7 @@ version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eb04e52f7836d7c7976c78ca0250d61e33873c34156a2a1fc9474828ec268234" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -5731,7 +5845,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c324a910fd86ebdc364a3e61ec1f11737d3b1d6c273c0239ee8ff4bc0d24b4a" dependencies = [ "proc-macro2", - "quick-xml", + "quick-xml 0.39.2", "quote", ] @@ -5741,7 +5855,7 @@ version = "0.31.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cc1846eb04c49182e04f4a099e2a830a2b745610bbc1d61246e206f29c7000a0" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "downcast-rs", "rustix 1.1.4", "wayland-backend", @@ -5764,9 +5878,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.97" +version = "0.3.94" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2eadbac71025cd7b0834f20d1fe8472e8495821b4e9801eb0a60bd1f19827602" +checksum = "cd70027e39b12f0849461e08ffc50b9cd7688d942c1c8e3c7b22273236b4dd0a" dependencies = [ "js-sys", "wasm-bindgen", @@ -5795,7 +5909,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfe68bac7cde125de7a731c3400723cadaaf1703795ad3f4805f187459cd7a77" dependencies = [ "arrayvec", - "bitflags 2.11.1", + "bitflags 2.11.0", "cfg-if", "cfg_aliases", "document-features", @@ -5826,7 +5940,7 @@ dependencies = [ "arrayvec", "bit-set", "bit-vec", - "bitflags 2.11.1", + "bitflags 2.11.0", "bytemuck", "cfg_aliases", "document-features", @@ -5886,7 +6000,7 @@ dependencies = [ "arrayvec", "ash", "bit-set", - "bitflags 2.11.1", + "bitflags 2.11.0", "block", "bytemuck", "cfg-if", @@ -5931,7 +6045,7 @@ version = "27.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "afdcf84c395990db737f2dd91628706cb31e86d72e53482320d368e52b5da5eb" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "bytemuck", "js-sys", "log", @@ -5973,10 +6087,12 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "window_clipboard" version = "0.4.1" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=sctk-0.20#f68595ee0e62fbd6589f4709b5aaa5c3c7ea5f6c" dependencies = [ "clipboard-win", "clipboard_macos", "clipboard_wayland", + "clipboard_x11", "dnd", "mime 0.1.0", "raw-window-handle", @@ -6429,9 +6545,9 @@ checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" [[package]] name = "winit" version = "0.31.0-beta.2" -source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#261cda54017f98a12dc55569c864430fe6770366" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#a610ac9c7a72b39ff102ed4d946291618dc725b6" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "cfg_aliases", "cursor-icon", "dpi", @@ -6449,15 +6565,16 @@ dependencies = [ "winit-wayland", "winit-web", "winit-win32", + "winit-x11", ] [[package]] name = "winit-android" version = "0.31.0-beta.2" -source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#261cda54017f98a12dc55569c864430fe6770366" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#a610ac9c7a72b39ff102ed4d946291618dc725b6" dependencies = [ "android-activity", - "bitflags 2.11.1", + "bitflags 2.11.0", "dpi", "ndk", "raw-window-handle", @@ -6469,9 +6586,9 @@ dependencies = [ [[package]] name = "winit-appkit" version = "0.31.0-beta.2" -source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#261cda54017f98a12dc55569c864430fe6770366" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#a610ac9c7a72b39ff102ed4d946291618dc725b6" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "block2 0.6.2", "dispatch2", "dpi", @@ -6491,7 +6608,7 @@ dependencies = [ [[package]] name = "winit-common" version = "0.31.0-beta.2" -source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#261cda54017f98a12dc55569c864430fe6770366" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#a610ac9c7a72b39ff102ed4d946291618dc725b6" dependencies = [ "memmap2 0.9.10", "objc2 0.6.4", @@ -6499,15 +6616,16 @@ dependencies = [ "smol_str", "tracing", "winit-core", + "x11-dl", "xkbcommon-dl", ] [[package]] name = "winit-core" version = "0.31.0-beta.2" -source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#261cda54017f98a12dc55569c864430fe6770366" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#a610ac9c7a72b39ff102ed4d946291618dc725b6" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "cursor-icon", "dpi", "keyboard-types", @@ -6519,14 +6637,14 @@ dependencies = [ [[package]] name = "winit-orbital" version = "0.31.0-beta.2" -source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#261cda54017f98a12dc55569c864430fe6770366" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#a610ac9c7a72b39ff102ed4d946291618dc725b6" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "dpi", "libredox", "orbclient", "raw-window-handle", - "redox_syscall 0.7.4", + "redox_syscall 0.7.3", "smol_str", "tracing", "winit-core", @@ -6535,9 +6653,9 @@ dependencies = [ [[package]] name = "winit-uikit" version = "0.31.0-beta.2" -source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#261cda54017f98a12dc55569c864430fe6770366" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#a610ac9c7a72b39ff102ed4d946291618dc725b6" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "block2 0.6.2", "dispatch2", "dpi", @@ -6555,10 +6673,10 @@ dependencies = [ [[package]] name = "winit-wayland" version = "0.31.0-beta.2" -source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#261cda54017f98a12dc55569c864430fe6770366" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#a610ac9c7a72b39ff102ed4d946291618dc725b6" dependencies = [ "ahash", - "bitflags 2.11.1", + "bitflags 2.11.0", "calloop", "cursor-icon", "dpi", @@ -6581,10 +6699,10 @@ dependencies = [ [[package]] name = "winit-web" version = "0.31.0-beta.2" -source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#261cda54017f98a12dc55569c864430fe6770366" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#a610ac9c7a72b39ff102ed4d946291618dc725b6" dependencies = [ "atomic-waker", - "bitflags 2.11.1", + "bitflags 2.11.0", "concurrent-queue", "cursor-icon", "dpi", @@ -6603,9 +6721,9 @@ dependencies = [ [[package]] name = "winit-win32" version = "0.31.0-beta.2" -source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#261cda54017f98a12dc55569c864430fe6770366" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#a610ac9c7a72b39ff102ed4d946291618dc725b6" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "cursor-icon", "dpi", "raw-window-handle", @@ -6616,11 +6734,43 @@ dependencies = [ "winit-core", ] +[[package]] +name = "winit-x11" +version = "0.31.0-beta.2" +source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#a610ac9c7a72b39ff102ed4d946291618dc725b6" +dependencies = [ + "bitflags 2.11.0", + "bytemuck", + "calloop", + "cursor-icon", + "dpi", + "libc", + "percent-encoding", + "raw-window-handle", + "rustix 1.1.4", + "smol_str", + "tracing", + "winit-common", + "winit-core", + "x11-dl", + "x11rb", + "xkbcommon-dl", +] + [[package]] name = "winnow" -version = "1.0.2" +version = "0.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ee1708bef14716a11bae175f579062d4554d95be2c6829f518df847b7b3fdd0" +checksum = "df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945" +dependencies = [ + "memchr", +] + +[[package]] +name = "winnow" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09dac053f1cd375980747450bfc7250c264eaae0583872e845c0c7cd578872b5" dependencies = [ "memchr", ] @@ -6634,12 +6784,6 @@ dependencies = [ "wit-bindgen-rust-macro", ] -[[package]] -name = "wit-bindgen" -version = "0.57.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e" - [[package]] name = "wit-bindgen-core" version = "0.51.0" @@ -6689,7 +6833,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" dependencies = [ "anyhow", - "bitflags 2.11.1", + "bitflags 2.11.0", "indexmap 2.14.0", "log", "serde", @@ -6725,6 +6869,39 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ffae5123b2d3fc086436f8834ae3ab053a283cfac8fe0a0b8eaae044768a4c4" +[[package]] +name = "x11-dl" +version = "2.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f" +dependencies = [ + "libc", + "once_cell", + "pkg-config", +] + +[[package]] +name = "x11rb" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9993aa5be5a26815fe2c3eacfc1fde061fc1a1f094bf1ad2a18bf9c495dd7414" +dependencies = [ + "as-raw-xcb-connection", + "gethostname", + "libc", + "libloading", + "once_cell", + "rustix 1.1.4", + "x11rb-protocol", + "xcursor", +] + +[[package]] +name = "x11rb-protocol" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea6fc2961e4ef194dcbfe56bb845534d0dc8098940c7e5c012a258bfec6701bd" + [[package]] name = "xcursor" version = "0.3.10" @@ -6740,6 +6917,7 @@ checksum = "2fb433233f2df9344722454bc7e96465c9d03bff9d77c248f9e7523fe79585b5" [[package]] name = "xdg-shell-wrapper-config" version = "0.1.0" +source = "git+https://github.com/pop-os/cosmic-panel#d518c7d25ef96f1a9696aa8cce008656bf66ece4" dependencies = [ "serde", "wayland-protocols-wlr", @@ -6784,7 +6962,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.11.0", "dlib", "log", "once_cell", @@ -6849,9 +7027,9 @@ dependencies = [ [[package]] name = "zbus" -version = "5.15.0" +version = "5.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3bcbf15c8708d7fc1be0c993622e0a5cbd5e8b52bfa40afa4c3e0cd8d724ac1" +checksum = "ca82f95dbd3943a40a53cfded6c2d0a2ca26192011846a1810c4256ef92c60bc" dependencies = [ "async-broadcast", "async-executor", @@ -6877,7 +7055,7 @@ dependencies = [ "uds_windows", "uuid", "windows-sys 0.61.2", - "winnow", + "winnow 0.7.15", "zbus_macros", "zbus_names", "zvariant", @@ -6909,9 +7087,9 @@ dependencies = [ [[package]] name = "zbus_macros" -version = "5.15.0" +version = "5.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51fa5406ad9175a8c825a931f8cf347116b531b3634fcb0b627c290f1f2516ff" +checksum = "897e79616e84aac4b2c46e9132a4f63b93105d54fe8c0e8f6bffc21fa8d49222" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -6924,22 +7102,22 @@ dependencies = [ [[package]] name = "zbus_names" -version = "4.3.2" +version = "4.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7074f3e50b894eac91750142016d30d0a89be8e67dbfd9704fb875825760e52d" +checksum = "ffd8af6d5b78619bab301ff3c560a5bd22426150253db278f164d6cf3b72c50f" dependencies = [ "serde", - "winnow", + "winnow 0.7.15", "zvariant", ] [[package]] name = "zbus_xml" -version = "5.1.1" +version = "5.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8067892e940ed1727dea64690378601603b31d62dfde019a5335fbb7c0e0ed9" +checksum = "441a0064125265655bccc3a6af6bef56814d9277ac83fce48b1cd7e160b80eac" dependencies = [ - "quick-xml", + "quick-xml 0.38.4", "serde", "zbus_names", "zvariant", @@ -7064,24 +7242,24 @@ dependencies = [ [[package]] name = "zvariant" -version = "5.10.1" +version = "5.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4db0ecb8987cf5e92653c57c098f7f0e39a03112edb796f4fe089fb7eaa14ff" +checksum = "5708299b21903bbe348e94729f22c49c55d04720a004aa350f1f9c122fd2540b" dependencies = [ "endi", "enumflags2", "serde", "url", - "winnow", + "winnow 0.7.15", "zvariant_derive", "zvariant_utils", ] [[package]] name = "zvariant_derive" -version = "5.10.1" +version = "5.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b949b639ab1b4bed763aa7481ba0e368af68d8b55532f8ed4bec86a59f2ca98" +checksum = "5b59b012ebe9c46656f9cc08d8da8b4c726510aef12559da3e5f1bf72780752c" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -7092,13 +7270,13 @@ dependencies = [ [[package]] name = "zvariant_utils" -version = "3.3.1" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d464f5733ffa07a3164d656f18533caace9d0638596721355d73256a410d691" +checksum = "f75c23a64ef8f40f13a6989991e643554d9bef1d682a281160cf0c1bc389c5e9" dependencies = [ "proc-macro2", "quote", "serde", "syn", - "winnow", + "winnow 0.7.15", ] diff --git a/Cargo.toml b/Cargo.toml index 840b782..4ebf8de 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,18 +1,17 @@ [package] name = "cosmic-workspaces" -version = "1.0.12" +version = "1.0.0" edition = "2024" -rust-version = "1.93" [dependencies] anyhow = "1.0.102" calloop = { version = "0.14.4", features = ["executor"] } clap = { version = "4", features = ["derive"] } -cosmic-bg-config = { path = "../cosmic-bg/config" } +cosmic-bg-config = { git = "https://github.com/pop-os/cosmic-bg" } cosmic-comp-config = { git = "https://github.com/pop-os/cosmic-comp" } env_logger = "0.11.9" gbm = "0.18.0" -cosmic = { package = "libcosmic-yoda", path = "../libcosmic", default-features = false, features = [ +libcosmic = { git = "https://github.com/pop-os/libcosmic", default-features = false, features = [ "tokio", "wayland", "single-instance", @@ -20,7 +19,7 @@ cosmic = { package = "libcosmic-yoda", path = "../libcosmic", default-features = "multi-window", "winit", ] } -cosmic-config = { path = "../libcosmic/cosmic-config" } +cosmic-config = { git = "https://github.com/pop-os/libcosmic" } freedesktop-icons = { package = "cosmic-freedesktop-icons", git = "https://github.com/pop-os/freedesktop-icons" } memmap2 = "0.9.10" @@ -38,7 +37,7 @@ zbus = "5.13.2" tokio-stream = { version = "0.1.18", features = ["sync"] } ash = { version = "0.38.0", features = ["loaded"] } bytemuck = "1.25.0" -cosmic-panel-config = { path = "../cosmic-panel/cosmic-panel-config" } +cosmic-panel-config = { git = "https://github.com/pop-os/cosmic-panel" } [dependencies.i18n-embed] version = "0.16" @@ -46,49 +45,12 @@ features = ["fluent-system", "desktop-requester"] [features] default = ["wgpu"] -wgpu = ["cosmic/wgpu"] +wgpu = ["libcosmic/wgpu"] # Debugging features force-shm-screencopy = [] no-subsurfaces = ["force-shm-screencopy"] mock-backend = [] -[patch.'https://github.com/pop-os/libcosmic'] -cosmic-config = { path = "../libcosmic/cosmic-config" } -cosmic-theme = { path = "../libcosmic/cosmic-theme" } -iced = { path = "../libcosmic/iced" } -iced_accessibility = { path = "../libcosmic/iced/accessibility" } -iced_core = { path = "../libcosmic/iced/core" } -iced_futures = { path = "../libcosmic/iced/futures" } -iced_graphics = { path = "../libcosmic/iced/graphics" } -iced_renderer = { path = "../libcosmic/iced/renderer" } -iced_runtime = { path = "../libcosmic/iced/runtime" } -iced_tiny_skia = { path = "../libcosmic/iced/tiny_skia" } -iced_wgpu = { path = "../libcosmic/iced/wgpu" } -iced_widget = { path = "../libcosmic/iced/widget" } -iced_winit = { path = "../libcosmic/iced/winit" } - -[patch.'https://github.com/pop-os/cosmic-protocols'] -cosmic-protocols = { path = "../cosmic-protocols" } -cosmic-client-toolkit = { path = "../cosmic-protocols/client-toolkit" } - -[patch.'https://github.com/pop-os/cosmic-text.git'] -cosmic-text = { git = "https://forge.aditua.com/leyoda/cosmic-text.git", branch = "local/pr-503" } - -[patch.'https://github.com/pop-os/cosmic-bg'] -cosmic-bg-config = { path = "../cosmic-bg/config" } - -[patch.'https://github.com/pop-os/cosmic-panel'] -cosmic-panel-config = { path = "../cosmic-panel/cosmic-panel-config" } -xdg-shell-wrapper-config = { path = "../cosmic-panel/xdg-shell-wrapper-config" } - -[patch.'https://github.com/pop-os/cosmic-settings-daemon'] -cosmic-settings-config = { path = "../cosmic-settings-daemon/config" } - -[patch.'https://forge.aditua.com/leyoda/window_clipboard.git'] -window_clipboard = { path = "../window_clipboard" } -dnd = { path = "../window_clipboard/dnd" } -mime = { path = "../window_clipboard/mime" } - [profile.dev] # Not usable at opt-level 0, at least with software renderer opt-level = 1 diff --git a/debian/changelog b/debian/changelog index 1ba5ee7..f2efbfc 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,9 +1,3 @@ -cosmic-workspaces (1.0.12) noble; urgency=medium - - * Version bump - - -- Michael Murphy Wed, 29 Apr 2026 17:48:17 +0200 - cosmic-workspaces (0.1.0) jammy; urgency=medium * Initial release. diff --git a/i18n/el/cosmic_workspaces.ftl b/i18n/el/cosmic_workspaces.ftl index f2a0004..e69de29 100644 --- a/i18n/el/cosmic_workspaces.ftl +++ b/i18n/el/cosmic_workspaces.ftl @@ -1,2 +0,0 @@ -workspace = Χώρος εργασίας { $number } -new-workspace = Νέος χώρος εργασίας diff --git a/i18n/eu/cosmic_workspaces.ftl b/i18n/eu/cosmic_workspaces.ftl deleted file mode 100644 index e69de29..0000000 diff --git a/i18n/kab/cosmic_workspaces.ftl b/i18n/kab/cosmic_workspaces.ftl index bfa61cb..e69de29 100644 --- a/i18n/kab/cosmic_workspaces.ftl +++ b/i18n/kab/cosmic_workspaces.ftl @@ -1,2 +0,0 @@ -workspace = Tallunt n umahil { $number } -new-workspace = Tallunt n umahil tamaynut diff --git a/i18n/lo/cosmic_workspaces.ftl b/i18n/lo/cosmic_workspaces.ftl deleted file mode 100644 index e69de29..0000000 diff --git a/i18n/pt-BR/cosmic_workspaces.ftl b/i18n/pt-BR/cosmic_workspaces.ftl index 05a2399..30b04c8 100644 --- a/i18n/pt-BR/cosmic_workspaces.ftl +++ b/i18n/pt-BR/cosmic_workspaces.ftl @@ -1,2 +1,2 @@ -workspace = Espaço de trabalho { $number } -new-workspace = Novo espaço de trabalho +workspace = Área de trabalho { $number } +new-workspace = Nova área de trabalho diff --git a/i18n/pt/cosmic_workspaces.ftl b/i18n/pt/cosmic_workspaces.ftl index fbf7f3f..cd16629 100644 --- a/i18n/pt/cosmic_workspaces.ftl +++ b/i18n/pt/cosmic_workspaces.ftl @@ -1,2 +1,2 @@ new-workspace = Nova área de trabalho -workspace = Área de trabalho { $number } +workspace = Área de trabalho{ $number } diff --git a/i18n/sr/cosmic_workspaces.ftl b/i18n/sr/cosmic_workspaces.ftl index b60c045..e69de29 100644 --- a/i18n/sr/cosmic_workspaces.ftl +++ b/i18n/sr/cosmic_workspaces.ftl @@ -1,2 +0,0 @@ -workspace = Радни простор { $number } -new-workspace = Нови радни простор diff --git a/i18n/zh-TW/cosmic_workspaces.ftl b/i18n/zh-TW/cosmic_workspaces.ftl index 470804b..78a49b1 100644 --- a/i18n/zh-TW/cosmic_workspaces.ftl +++ b/i18n/zh-TW/cosmic_workspaces.ftl @@ -1,2 +1,2 @@ workspace = 工作區 { $number } -new-workspace = 新建工作區 +new-workspace = 新工作區 diff --git a/rust-toolchain.toml b/rust-toolchain.toml deleted file mode 100644 index fb5449a..0000000 --- a/rust-toolchain.toml +++ /dev/null @@ -1,3 +0,0 @@ -[toolchain] -channel = "1.93.0" -components = ["clippy", "rustfmt"] diff --git a/rustfmt.toml b/rustfmt.toml index c1578aa..c3c8c37 100644 --- a/rustfmt.toml +++ b/rustfmt.toml @@ -1 +1 @@ -imports_granularity = "Module" +imports_granularity = "Crate" diff --git a/src/backend/mock.rs b/src/backend/mock.rs index 084e0e5..c65f1ad 100644 --- a/src/backend/mock.rs +++ b/src/backend/mock.rs @@ -1,23 +1,37 @@ // Copyright 2024 System76 // SPDX-License-Identifier: GPL-3.0-only -use cosmic::cctk::cosmic_protocols::toplevel_info::v1::client::zcosmic_toplevel_handle_v1; -use cosmic::cctk::cosmic_protocols::toplevel_management::v1::client::zcosmic_toplevel_manager_v1; -use cosmic::cctk::cosmic_protocols::workspace::v2::client::zcosmic_workspace_handle_v2; -use cosmic::cctk::wayland_client::protocol::{wl_output, wl_shm}; -use cosmic::cctk::wayland_client::{Connection, WEnum}; -use cosmic::cctk::wayland_protocols::ext::workspace::v1::client::ext_workspace_handle_v1; -use cosmic::iced::futures::executor::block_on; -use cosmic::iced::futures::{FutureExt, SinkExt}; -use cosmic::iced::{self}; -use cosmic::iced_winit::platform_specific::wayland::subsurface_widget::{Shmbuf, SubsurfaceBuffer}; +use cosmic::{ + cctk::{ + cosmic_protocols::{ + toplevel_info::v1::client::zcosmic_toplevel_handle_v1, + toplevel_management::v1::client::zcosmic_toplevel_manager_v1, + workspace::v2::client::zcosmic_workspace_handle_v2, + }, + wayland_client::{ + Connection, WEnum, + protocol::{wl_output, wl_shm}, + }, + wayland_protocols::ext::workspace::v1::client::ext_workspace_handle_v1, + }, + iced::{ + self, + futures::{FutureExt, SinkExt, executor::block_on}, + }, + iced_winit::platform_specific::wayland::subsurface_widget::{Shmbuf, SubsurfaceBuffer}, +}; use futures_channel::mpsc; -use std::collections::HashSet; -use std::io::{self, Write}; -use std::sync::Arc; -use std::sync::atomic::{AtomicU32, Ordering}; -use std::{fs, thread}; +use std::{ + collections::HashSet, + fs, + io::{self, Write}, + sync::{ + Arc, + atomic::{AtomicU32, Ordering}, + }, + thread, +}; use super::{CaptureImage, Cmd, Event}; use crate::utils; diff --git a/src/backend/mod.rs b/src/backend/mod.rs index 56e4cd8..ff433f5 100644 --- a/src/backend/mod.rs +++ b/src/backend/mod.rs @@ -7,9 +7,13 @@ //! There are two backends: one that uses cosmic-comp protocols, and a mock //! backend for testing without any special protocols. -use cosmic::cctk::cosmic_protocols::toplevel_management::v1::client::zcosmic_toplevel_manager_v1; -use cosmic::cctk::wayland_client::protocol::wl_output; -use cosmic::iced::platform_specific::shell::subsurface_widget::SubsurfaceBuffer; +use cosmic::{ + cctk::{ + cosmic_protocols::toplevel_management::v1::client::zcosmic_toplevel_manager_v1, + wayland_client::protocol::wl_output, + }, + iced::platform_specific::shell::subsurface_widget::SubsurfaceBuffer, +}; use std::collections::HashSet; // Wayland backend using cosmic-comp specific protocols @@ -94,7 +98,6 @@ pub enum Cmd { wl_output::WlOutput, ), MoveWorkspaceBefore(ExtWorkspaceHandleV1, ExtWorkspaceHandleV1), - #[allow(dead_code)] MoveWorkspaceAfter(ExtWorkspaceHandleV1, ExtWorkspaceHandleV1), ActivateWorkspace(ExtWorkspaceHandleV1), SetWorkspacePinned(ExtWorkspaceHandleV1, bool), diff --git a/src/backend/wayland/buffer.rs b/src/backend/wayland/buffer.rs index ff38ae3..b86f77d 100644 --- a/src/backend/wayland/buffer.rs +++ b/src/backend/wayland/buffer.rs @@ -1,12 +1,15 @@ -use cctk::screencopy::{Formats, Rect}; -use cctk::wayland_client::protocol::{wl_buffer, wl_shm, wl_shm_pool}; -use cctk::wayland_client::{Connection, Dispatch, QueueHandle}; -use cosmic::cctk; -use cosmic::iced::platform_specific::shell::subsurface_widget::{ - BufferSource, Dmabuf, Plane, Shmbuf, +use cctk::{ + screencopy::{Formats, Rect}, + wayland_client::{ + Connection, Dispatch, QueueHandle, + protocol::{wl_buffer, wl_shm, wl_shm_pool}, + }, }; -use std::os::fd::AsFd; -use std::sync::Arc; +use cosmic::{ + cctk, + iced::platform_specific::shell::subsurface_widget::{BufferSource, Dmabuf, Plane, Shmbuf}, +}; +use std::{os::fd::AsFd, sync::Arc}; use wayland_protocols::wp::linux_dmabuf::zv1::client::zwp_linux_buffer_params_v1; use super::AppData; diff --git a/src/backend/wayland/capture.rs b/src/backend/wayland/capture.rs index 02bdff5..0634bd9 100644 --- a/src/backend/wayland/capture.rs +++ b/src/backend/wayland/capture.rs @@ -1,5 +1,7 @@ -use cctk::screencopy::{CaptureSession, CaptureSource, ScreencopyState}; -use cctk::wayland_client::QueueHandle; +use cctk::{ + screencopy::{CaptureSession, CaptureSource, ScreencopyState}, + wayland_client::QueueHandle, +}; use cosmic::cctk; use std::sync::{Arc, Mutex}; diff --git a/src/backend/wayland/dmabuf.rs b/src/backend/wayland/dmabuf.rs index 11fb389..5eead73 100644 --- a/src/backend/wayland/dmabuf.rs +++ b/src/backend/wayland/dmabuf.rs @@ -1,11 +1,16 @@ -use cctk::sctk::dmabuf::{DmabufFeedback, DmabufHandler, DmabufState}; -use cctk::sctk::{self}; -use cctk::wayland_client::protocol::wl_buffer; -use cctk::wayland_client::{Connection, QueueHandle}; +use cctk::{ + sctk::{ + self, + dmabuf::{DmabufFeedback, DmabufHandler, DmabufState}, + }, + wayland_client::{Connection, QueueHandle, protocol::wl_buffer}, +}; use cosmic::cctk; -use wayland_protocols::wp::linux_dmabuf::zv1::client::zwp_linux_buffer_params_v1::ZwpLinuxBufferParamsV1; -use wayland_protocols::wp::linux_dmabuf::zv1::client::zwp_linux_dmabuf_feedback_v1::ZwpLinuxDmabufFeedbackV1; +use wayland_protocols::wp::linux_dmabuf::zv1::client::{ + zwp_linux_buffer_params_v1::ZwpLinuxBufferParamsV1, + zwp_linux_dmabuf_feedback_v1::ZwpLinuxDmabufFeedbackV1, +}; use super::AppData; diff --git a/src/backend/wayland/gbm_devices.rs b/src/backend/wayland/gbm_devices.rs index a62d9e2..72de291 100644 --- a/src/backend/wayland/gbm_devices.rs +++ b/src/backend/wayland/gbm_devices.rs @@ -1,7 +1,9 @@ -use std::collections::hash_map::{self, HashMap}; -use std::os::unix::fs::MetadataExt; -use std::path::{Path, PathBuf}; -use std::{fs, io}; +use std::{ + collections::hash_map::{self, HashMap}, + fs, io, + os::unix::fs::MetadataExt, + path::{Path, PathBuf}, +}; // TODO Purge gbm devices that are no longer needed/valid? #[derive(Default)] diff --git a/src/backend/wayland/mod.rs b/src/backend/wayland/mod.rs index 937622d..cba466f 100644 --- a/src/backend/wayland/mod.rs +++ b/src/backend/wayland/mod.rs @@ -2,29 +2,35 @@ // subscription. use calloop_wayland_source::WaylandSource; -use cctk::cosmic_protocols::workspace::v2::client::zcosmic_workspace_handle_v2; -use cctk::screencopy::{CaptureSource, ScreencopyState}; -use cctk::sctk::dmabuf::{DmabufFeedback, DmabufState}; -use cctk::sctk::registry::{ProvidesRegistryState, RegistryState}; -use cctk::sctk::seat::{SeatHandler, SeatState}; -use cctk::sctk::shm::{Shm, ShmHandler}; -use cctk::sctk::{self}; -use cctk::toplevel_info::ToplevelInfoState; -use cctk::toplevel_management::ToplevelManagerState; -use cctk::wayland_client::globals::registry_queue_init; -use cctk::wayland_client::protocol::wl_seat; -use cctk::wayland_client::{Connection, Proxy, QueueHandle}; -use cctk::workspace::WorkspaceState; -use cosmic::cctk; -use cosmic::iced::futures::channel::mpsc; -use cosmic::iced::futures::executor::{ThreadPool, block_on}; -use cosmic::iced::futures::{FutureExt, SinkExt}; -use cosmic::iced::{self}; -use std::cell::RefCell; -use std::collections::HashMap; -use std::hash::Hash; -use std::sync::Arc; -use std::thread; +use cctk::{ + cosmic_protocols::workspace::v2::client::zcosmic_workspace_handle_v2, + screencopy::{CaptureSource, ScreencopyState}, + sctk::{ + self, + dmabuf::{DmabufFeedback, DmabufState}, + registry::{ProvidesRegistryState, RegistryState}, + seat::{SeatHandler, SeatState}, + shm::{Shm, ShmHandler}, + }, + toplevel_info::ToplevelInfoState, + toplevel_management::ToplevelManagerState, + wayland_client::{ + Connection, Proxy, QueueHandle, globals::registry_queue_init, protocol::wl_seat, + }, + workspace::WorkspaceState, +}; +use cosmic::{ + cctk, + iced::{ + self, + futures::{ + FutureExt, SinkExt, + channel::mpsc, + executor::{ThreadPool, block_on}, + }, + }, +}; +use std::{cell::RefCell, collections::HashMap, hash::Hash, sync::Arc, thread}; mod buffer; use buffer::Buffer; diff --git a/src/backend/wayland/screencopy.rs b/src/backend/wayland/screencopy.rs index b9692e0..3438d3b 100644 --- a/src/backend/wayland/screencopy.rs +++ b/src/backend/wayland/screencopy.rs @@ -1,15 +1,21 @@ -use cosmic::cctk::screencopy::{ - CaptureFrame, CaptureOptions, CaptureSession, CaptureSource, FailureReason, Formats, Frame, - ScreencopyFrameData, ScreencopyFrameDataExt, ScreencopyHandler, ScreencopySessionData, - ScreencopySessionDataExt, ScreencopyState, +use cosmic::{ + cctk::{ + self, + screencopy::{ + CaptureFrame, CaptureOptions, CaptureSession, CaptureSource, FailureReason, Formats, + Frame, ScreencopyFrameData, ScreencopyFrameDataExt, ScreencopyHandler, + ScreencopySessionData, ScreencopySessionDataExt, ScreencopyState, + }, + wayland_client::{Connection, QueueHandle, WEnum}, + }, + iced::platform_specific::shell::subsurface_widget::{ + SubsurfaceBuffer, SubsurfaceBufferRelease, + }, }; -use cosmic::cctk::wayland_client::{Connection, QueueHandle, WEnum}; -use cosmic::cctk::{self}; -use cosmic::iced::platform_specific::shell::subsurface_widget::{ - SubsurfaceBuffer, SubsurfaceBufferRelease, +use std::{ + array, + sync::{Arc, Weak}, }; -use std::array; -use std::sync::{Arc, Weak}; use super::{AppData, Buffer, Capture, CaptureImage, Event}; diff --git a/src/backend/wayland/toplevel.rs b/src/backend/wayland/toplevel.rs index 1bf9cbf..c0fae3e 100644 --- a/src/backend/wayland/toplevel.rs +++ b/src/backend/wayland/toplevel.rs @@ -1,7 +1,9 @@ -use cctk::cosmic_protocols::toplevel_management::v1::client::zcosmic_toplevel_manager_v1; -use cctk::toplevel_info::{ToplevelInfoHandler, ToplevelInfoState}; -use cctk::toplevel_management::{ToplevelManagerHandler, ToplevelManagerState}; -use cctk::wayland_client::{Connection, QueueHandle, WEnum}; +use cctk::{ + cosmic_protocols::toplevel_management::v1::client::zcosmic_toplevel_manager_v1, + toplevel_info::{ToplevelInfoHandler, ToplevelInfoState}, + toplevel_management::{ToplevelManagerHandler, ToplevelManagerState}, + wayland_client::{Connection, QueueHandle, WEnum}, +}; use cosmic::cctk; use wayland_protocols::ext::foreign_toplevel_list::v1::client::ext_foreign_toplevel_handle_v1::ExtForeignToplevelHandleV1; diff --git a/src/backend/wayland/vulkan.rs b/src/backend/wayland/vulkan.rs index 6a63d7f..a177452 100644 --- a/src/backend/wayland/vulkan.rs +++ b/src/backend/wayland/vulkan.rs @@ -1,7 +1,5 @@ -use ash::prelude::VkResult; -use ash::vk; -use std::collections::HashMap; -use std::ffi::CStr; +use ash::{prelude::VkResult, vk}; +use std::{collections::HashMap, ffi::CStr}; pub struct Vulkan { instance: ash::Instance, diff --git a/src/dbus.rs b/src/dbus.rs index 349444c..6897bd6 100644 --- a/src/dbus.rs +++ b/src/dbus.rs @@ -1,7 +1,5 @@ -use cosmic::iced::futures::StreamExt; -use cosmic::iced::{self}; -use std::any::TypeId; -use std::hash::Hash; +use cosmic::iced::{self, futures::StreamExt}; +use std::{any::TypeId, hash::Hash}; use tokio::sync::broadcast; use tokio_stream::wrappers::BroadcastStream; diff --git a/src/dnd.rs b/src/dnd.rs index c3d4b9a..f3c2ea5 100644 --- a/src/dnd.rs +++ b/src/dnd.rs @@ -1,10 +1,10 @@ //! Types related to drag-and-drop -use cosmic::cctk::wayland_client::Proxy; -use cosmic::cctk::wayland_client::protocol::wl_output; -use cosmic::iced::clipboard::mime::AsMimeTypes; -use std::borrow::Cow; -use std::sync::LazyLock; +use cosmic::{ + cctk::wayland_client::{Proxy, protocol::wl_output}, + iced::clipboard::mime::AsMimeTypes, +}; +use std::{borrow::Cow, sync::LazyLock}; use crate::backend::{ExtForeignToplevelHandleV1, ExtWorkspaceHandleV1}; diff --git a/src/localize.rs b/src/localize.rs index 20250a5..2cf98e6 100644 --- a/src/localize.rs +++ b/src/localize.rs @@ -1,8 +1,10 @@ // Copyright 2023 System76 // SPDX-License-Identifier: GPL-3.0-only -use i18n_embed::fluent::{FluentLanguageLoader, fluent_language_loader}; -use i18n_embed::{DefaultLocalizer, LanguageLoader, Localizer}; +use i18n_embed::{ + DefaultLocalizer, LanguageLoader, Localizer, + fluent::{FluentLanguageLoader, fluent_language_loader}, +}; use rust_embed::RustEmbed; use std::sync::LazyLock; diff --git a/src/main.rs b/src/main.rs index 5287c8b..26ac085 100644 --- a/src/main.rs +++ b/src/main.rs @@ -3,38 +3,47 @@ #![allow(clippy::single_match)] -use cctk::cosmic_protocols::toplevel_management::v1::client::zcosmic_toplevel_manager_v1; -use cctk::cosmic_protocols::workspace::v2::client::zcosmic_workspace_handle_v2; -use cctk::sctk::shell::wlr_layer::{Anchor, KeyboardInteractivity, Layer}; -use cctk::wayland_client::protocol::wl_output; -use cctk::wayland_client::{Connection, Proxy}; -use cctk::wayland_protocols::ext::workspace::v1::client::ext_workspace_handle_v1; +use cctk::{ + cosmic_protocols::{ + toplevel_management::v1::client::zcosmic_toplevel_manager_v1, + workspace::v2::client::zcosmic_workspace_handle_v2, + }, + sctk::shell::wlr_layer::{Anchor, KeyboardInteractivity, Layer}, + wayland_client::{Connection, Proxy, protocol::wl_output}, + wayland_protocols::ext::workspace::v1::client::ext_workspace_handle_v1, +}; use clap::Parser; -use cosmic::app::{Application, CosmicFlags}; -use cosmic::iced::clipboard::dnd::{DndEvent, SourceEvent}; -use cosmic::iced::event::wayland::{Event as WaylandEvent, LayerEvent, OutputEvent}; -use cosmic::iced::keyboard::key::{Key, Named}; -use cosmic::iced::mouse::ScrollDelta; -use cosmic::iced::platform_specific::shell::commands::layer_surface::{ - destroy_layer_surface, get_layer_surface, +use cosmic::{ + app::{Application, CosmicFlags}, + cctk, dbus_activation, + iced::platform_specific::shell::commands::layer_surface::{ + destroy_layer_surface, get_layer_surface, + }, + iced::runtime::platform_specific::wayland::layer_surface::{ + IcedOutput, SctkLayerSurfaceSettings, + }, + iced::window::Id as SurfaceId, + iced::{ + self, Size, Subscription, Task, + clipboard::dnd::{DndEvent, SourceEvent}, + event::wayland::{Event as WaylandEvent, LayerEvent, OutputEvent}, + keyboard::key::{Key, Named}, + mouse::ScrollDelta, + }, + scroll::DiscreteScrollState, }; -use cosmic::iced::runtime::platform_specific::wayland::layer_surface::{ - IcedOutput, SctkLayerSurfaceSettings, -}; -use cosmic::iced::window::Id as SurfaceId; -use cosmic::iced::{self, Size, Subscription, Task}; -use cosmic::scroll::DiscreteScrollState; -use cosmic::{cctk, dbus_activation}; use cosmic_comp_config::CosmicCompConfig; -use cosmic_config::CosmicConfigEntry; -use cosmic_config::cosmic_config_derive::CosmicConfigEntry; +use cosmic_config::{CosmicConfigEntry, cosmic_config_derive::CosmicConfigEntry}; use cosmic_panel_config::{CosmicPanelConfig, CosmicPanelContainerConfigEntry, PanelAnchor}; use i18n_embed::DesktopLanguageRequester; -use std::collections::{HashMap, HashSet}; -use std::path::PathBuf; -use std::process::Command; -use std::time::Duration; -use std::{mem, str}; +use std::{ + collections::{HashMap, HashSet}, + mem, + path::PathBuf, + process::Command, + str, + time::Duration, +}; mod dbus; mod desktop_info; diff --git a/src/utils.rs b/src/utils.rs index fdf37e2..9b03a2b 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -1,7 +1,8 @@ -use rustix::io::Errno; -use rustix::shm; -use std::os::fd::OwnedFd; -use std::time::{SystemTime, UNIX_EPOCH}; +use rustix::{io::Errno, shm}; +use std::{ + os::fd::OwnedFd, + time::{SystemTime, UNIX_EPOCH}, +}; #[cfg(target_os = "linux")] fn create_memfd() -> rustix::io::Result { diff --git a/src/view/mod.rs b/src/view/mod.rs index 6eee5a7..d01e77b 100644 --- a/src/view/mod.rs +++ b/src/view/mod.rs @@ -1,22 +1,34 @@ -use cosmic::Apply; -use cosmic::cctk::cosmic_protocols::toplevel_info::v1::client::zcosmic_toplevel_handle_v1; -use cosmic::cctk::cosmic_protocols::workspace::v2::client::zcosmic_workspace_handle_v2; -use cosmic::cctk::wayland_client::protocol::wl_output; -use cosmic::cctk::wayland_protocols::ext::workspace::v1::client::ext_workspace_handle_v1; -use cosmic::iced::advanced::layout::flex::Axis; -use cosmic::iced::clipboard::mime::{AllowedMimeTypes, AsMimeTypes}; -use cosmic::iced::core::Shadow; -use cosmic::iced::core::text::{Ellipsize, EllipsizeHeightLimit}; -use cosmic::iced::platform_specific::shell::subsurface_widget::Subsurface; -use cosmic::iced::widget::{column, row}; -use cosmic::iced::{self, Alignment, Border, Length}; -use cosmic::widget::{self, Widget}; +use cosmic::{ + Apply, + cctk::{ + cosmic_protocols::{ + toplevel_info::v1::client::zcosmic_toplevel_handle_v1, + workspace::v2::client::zcosmic_workspace_handle_v2, + }, + wayland_client::protocol::wl_output, + wayland_protocols::ext::workspace::v1::client::ext_workspace_handle_v1, + }, + iced::core::{ + Shadow, + text::{Ellipsize, EllipsizeHeightLimit}, + }, + iced::{ + self, Alignment, Border, Length, + advanced::layout::flex::Axis, + clipboard::mime::{AllowedMimeTypes, AsMimeTypes}, + platform_specific::shell::subsurface_widget::Subsurface, + widget::{column, row}, + }, + widget::{self, Widget}, +}; use cosmic_comp_config::workspace::WorkspaceLayout; use std::collections::HashSet; -use crate::backend::{self, CaptureImage}; -use crate::dnd::{Drag, DragSurface, DragToplevel, DragWorkspace, DropTarget}; -use crate::{App, LayerSurface, Msg, Toplevel, Workspace}; +use crate::{ + App, LayerSurface, Msg, Toplevel, Workspace, + backend::{self, CaptureImage}, + dnd::{Drag, DragSurface, DragToplevel, DragWorkspace, DropTarget}, +}; fn dnd_source_with_drag_surface( drag_content: D, diff --git a/src/widgets/image_bg.rs b/src/widgets/image_bg.rs index 65e7d1d..3ced1e6 100644 --- a/src/widgets/image_bg.rs +++ b/src/widgets/image_bg.rs @@ -1,15 +1,19 @@ // Renders image behind widget, and otherwise passes through all behavior -use cosmic::iced::advanced::layout::{self}; -use cosmic::iced::advanced::widget::{Operation, Tree, tree}; -use cosmic::iced::advanced::{Clipboard, Layout, Shell, Widget, mouse, overlay, renderer}; -use cosmic::iced::core::Renderer; -use cosmic::iced::event::Event; -use cosmic::iced::{Length, Rectangle, Size, Vector}; +use cosmic::iced::{ + Length, Rectangle, Size, Vector, + advanced::{ + Clipboard, Layout, Shell, Widget, + layout::{self}, + mouse, overlay, renderer, + widget::{Operation, Tree, tree}, + }, + core::Renderer, + event::Event, +}; use std::marker::PhantomData; -#[allow(dead_code)] pub fn image_bg<'a, Msg, T1: Into>, T2: Into>>( content: T1, bg: T2, diff --git a/src/widgets/match_size.rs b/src/widgets/match_size.rs index c7175b3..957a78b 100644 --- a/src/widgets/match_size.rs +++ b/src/widgets/match_size.rs @@ -1,9 +1,13 @@ //! Show one surface, sized to match the size of another (invisible) widget -use cosmic::iced::advanced::widget::{Operation, Tree}; -use cosmic::iced::advanced::{Clipboard, Layout, Shell, Widget, layout, mouse, renderer}; -use cosmic::iced::event::Event; -use cosmic::iced::{Length, Rectangle, Size}; +use cosmic::iced::{ + Length, Rectangle, Size, + advanced::{ + Clipboard, Layout, Shell, Widget, layout, mouse, renderer, + widget::{Operation, Tree}, + }, + event::{self, Event}, +}; use std::marker::PhantomData; pub fn match_size< diff --git a/src/widgets/mod.rs b/src/widgets/mod.rs index 0d55896..9354518 100644 --- a/src/widgets/mod.rs +++ b/src/widgets/mod.rs @@ -1,7 +1,11 @@ -use cosmic::iced::advanced::widget::{Id, Operation, Tree, tree}; -use cosmic::iced::advanced::{Clipboard, Layout, Shell, Widget, layout, mouse, overlay, renderer}; -use cosmic::iced::event::Event; -use cosmic::iced::{Length, Rectangle, Size, Vector}; +use cosmic::iced::{ + Length, Rectangle, Size, Vector, + advanced::{ + Clipboard, Layout, Shell, Widget, layout, mouse, overlay, renderer, + widget::{Id, Operation, Tree, tree}, + }, + event::{self, Event}, +}; use std::marker::PhantomData; mod image_bg; diff --git a/src/widgets/mouse_interaction_wrapper.rs b/src/widgets/mouse_interaction_wrapper.rs index 9aeca9d..ea7d4ad 100644 --- a/src/widgets/mouse_interaction_wrapper.rs +++ b/src/widgets/mouse_interaction_wrapper.rs @@ -1,11 +1,14 @@ -use cosmic::iced::advanced::widget::{Id, Operation, Tree, tree}; -use cosmic::iced::advanced::{Clipboard, Layout, Shell, Widget, layout, mouse, overlay, renderer}; -use cosmic::iced::event::Event; -use cosmic::iced::{Length, Rectangle, Size, Vector}; +use cosmic::iced::{ + Length, Rectangle, Size, Vector, + advanced::{ + Clipboard, Layout, Shell, Widget, layout, mouse, overlay, renderer, + widget::{Id, Operation, Tree, tree}, + }, + event::{self, Event}, +}; use std::marker::PhantomData; -#[allow(dead_code)] pub fn mouse_interaction_wrapper<'a, Msg, T: Into>>( mouse_interaction: mouse::Interaction, content: T, diff --git a/src/widgets/size_cross_nth.rs b/src/widgets/size_cross_nth.rs index 82a8a74..94c8ca5 100644 --- a/src/widgets/size_cross_nth.rs +++ b/src/widgets/size_cross_nth.rs @@ -1,11 +1,15 @@ // This widget defines it's cross axis size as the `index`th child's size -use cosmic::iced::advanced::layout::flex::Axis; -use cosmic::iced::advanced::layout::{self, Limits}; -use cosmic::iced::advanced::widget::{Operation, Tree}; -use cosmic::iced::advanced::{Clipboard, Layout, Shell, Widget, mouse, renderer}; -use cosmic::iced::event::Event; -use cosmic::iced::{Length, Point, Rectangle, Size}; +use cosmic::iced::{ + Length, Point, Rectangle, Size, + advanced::{ + Clipboard, Layout, Shell, Widget, + layout::{self, flex::Axis}, + mouse, renderer, + widget::{Operation, Tree}, + }, + event::{self, Event}, +}; use std::marker::PhantomData; // Duplicate of private methods @@ -74,38 +78,25 @@ impl Widget for SizeCrossNth<'_, Msg> &mut self, tree: &mut Tree, renderer: &cosmic::Renderer, - limits: &Limits, + limits: &layout::Limits, ) -> layout::Node { let max_main = self.axis.main(limits.max()); let max_cross = self.axis.cross(limits.max()); - // Lay out all non-reference children to get their total main size - let mut total_main = 0.0; - for (i, (child, tree)) in self - .children - .iter_mut() - .zip(tree.children.iter_mut()) - .enumerate() - { - if i != self.index { - let (max_width, max_height) = self.axis.pack(max_main - total_main, max_cross); - let child_limits = Limits::new(Size::ZERO, Size::new(max_width, max_height)); - let layout = child.as_widget_mut().layout(tree, renderer, &child_limits); - total_main += self.axis.main(layout.size()); - } - } - - // Lay out reference child with remaining main to get max cross size - let (max_width, max_height) = self.axis.pack(max_main - total_main, max_cross); - let child_limits = Limits::new(Size::ZERO, Size::new(max_width, max_height)); + // XXX cleaner solution + // Get layout of main widget, to set overall cross axis size + let (max_width, max_height) = self.axis.pack(max_main, max_cross); + let child_limits = layout::Limits::new(Size::ZERO, Size::new(max_width, max_height)); let layout = self.children[self.index].as_widget_mut().layout( &mut tree.children[self.index], renderer, &child_limits, ); + let max_cross = self.axis.cross(layout.size()); - // Lay out all children constrained to reference cross + // XXX sill allocating maximum main axis? + // - what was it doing before? let mut total_main = 0.0; let nodes = self .children @@ -113,7 +104,8 @@ impl Widget for SizeCrossNth<'_, Msg> .zip(tree.children.iter_mut()) .map(|(child, tree)| { let (max_width, max_height) = self.axis.pack(max_main - total_main, max_cross); - let child_limits = Limits::new(Size::ZERO, Size::new(max_width, max_height)); + let child_limits = + layout::Limits::new(Size::ZERO, Size::new(max_width, max_height)); let mut layout = child.as_widget_mut().layout(tree, renderer, &child_limits); // Center on cross axis let cross = ((max_cross - self.axis.cross(layout.size())) / 2.).max(0.); diff --git a/src/widgets/toplevels/mod.rs b/src/widgets/toplevels/mod.rs index ddb6bd0..8921e05 100644 --- a/src/widgets/toplevels/mod.rs +++ b/src/widgets/toplevels/mod.rs @@ -1,9 +1,13 @@ -use cosmic::iced::advanced::layout::flex::Axis; -use cosmic::iced::advanced::layout::{self}; -use cosmic::iced::advanced::widget::{Operation, Tree}; -use cosmic::iced::advanced::{Clipboard, Layout, Shell, Widget, mouse, renderer}; -use cosmic::iced::event::Event; -use cosmic::iced::{Length, Rectangle, Size, Vector}; +use cosmic::iced::{ + Length, Rectangle, Size, Vector, + advanced::{ + Clipboard, Layout, Shell, Widget, + layout::{self, flex::Axis}, + mouse, renderer, + widget::{Operation, Tree}, + }, + event::{self, Event}, +}; use std::marker::PhantomData; mod toplevel_layout; diff --git a/src/widgets/toplevels/toplevel_layout/axis_toplevel_layout.rs b/src/widgets/toplevels/toplevel_layout/axis_toplevel_layout.rs index 89733d1..4338703 100644 --- a/src/widgets/toplevels/toplevel_layout/axis_toplevel_layout.rs +++ b/src/widgets/toplevels/toplevel_layout/axis_toplevel_layout.rs @@ -1,6 +1,5 @@ use aliasable::vec::AliasableVec; -use cosmic::iced::advanced::layout::flex::Axis; -use cosmic::iced::{Length, Point, Rectangle, Size}; +use cosmic::iced::{Length, Point, Rectangle, Size, advanced::layout::flex::Axis}; use std::marker::PhantomData; use super::{LayoutToplevel, ToplevelLayout}; diff --git a/src/widgets/toplevels/toplevel_layout/row_col_toplevel_layout.rs b/src/widgets/toplevels/toplevel_layout/row_col_toplevel_layout.rs index f1c8b2e..659ce4a 100644 --- a/src/widgets/toplevels/toplevel_layout/row_col_toplevel_layout.rs +++ b/src/widgets/toplevels/toplevel_layout/row_col_toplevel_layout.rs @@ -1,8 +1,9 @@ -use cosmic::iced::Length; -use cosmic::iced::advanced::layout::flex::Axis; +use cosmic::iced::{Length, advanced::layout::flex::Axis}; -use super::LayoutToplevel; -use super::axis_toplevel_layout::{AxisPoint, AxisRectangle, AxisSize, AxisToplevelLayout}; +use super::{ + LayoutToplevel, + axis_toplevel_layout::{AxisPoint, AxisRectangle, AxisSize, AxisToplevelLayout}, +}; pub(crate) struct RowColToplevelLayout { pub axis: Axis, diff --git a/src/widgets/toplevels/toplevel_layout/two_row_col_toplevel_layout.rs b/src/widgets/toplevels/toplevel_layout/two_row_col_toplevel_layout.rs index 1341410..6d653af 100644 --- a/src/widgets/toplevels/toplevel_layout/two_row_col_toplevel_layout.rs +++ b/src/widgets/toplevels/toplevel_layout/two_row_col_toplevel_layout.rs @@ -1,9 +1,10 @@ -use cosmic::iced::Length; -use cosmic::iced::advanced::layout::flex::Axis; +use cosmic::iced::{Length, advanced::layout::flex::Axis}; -use super::LayoutToplevel; -use super::axis_toplevel_layout::{AxisRectangle, AxisSize, AxisToplevelLayout}; -use super::row_col_toplevel_layout::RowColToplevelLayout; +use super::{ + LayoutToplevel, + axis_toplevel_layout::{AxisRectangle, AxisSize, AxisToplevelLayout}, + row_col_toplevel_layout::RowColToplevelLayout, +}; pub(crate) struct TwoRowColToplevelLayout(RowColToplevelLayout); diff --git a/src/widgets/visibility_wrapper.rs b/src/widgets/visibility_wrapper.rs index cbc195e..f74c832 100644 --- a/src/widgets/visibility_wrapper.rs +++ b/src/widgets/visibility_wrapper.rs @@ -1,10 +1,14 @@ //! If `visible` is set to `true`, behaves exactly as wrapped widget. If `false`, //! takes the same space but does not draw. -use cosmic::iced::advanced::widget::{Operation, Tree}; -use cosmic::iced::advanced::{Clipboard, Layout, Shell, Widget, layout, mouse, renderer}; -use cosmic::iced::event::Event; -use cosmic::iced::{Length, Rectangle, Size}; +use cosmic::iced::{ + Length, Rectangle, Size, + advanced::{ + Clipboard, Layout, Shell, Widget, layout, mouse, renderer, + widget::{Operation, Tree}, + }, + event::{self, Event}, +}; use std::marker::PhantomData; pub fn visibility_wrapper<'a, Msg, T: Into>>( diff --git a/src/widgets/workspace_bar.rs b/src/widgets/workspace_bar.rs index 464ca23..078d192 100644 --- a/src/widgets/workspace_bar.rs +++ b/src/widgets/workspace_bar.rs @@ -1,13 +1,17 @@ // Custom varian of row/column // Gives each child widget a maximum size on main axis of total/n -use cosmic::iced::advanced::layout::flex::Axis; -use cosmic::iced::advanced::layout::{self}; -use cosmic::iced::advanced::widget::{Operation, Tree}; -use cosmic::iced::advanced::{Clipboard, Layout, Shell, Widget, mouse, renderer}; -use cosmic::iced::core::clipboard::DndDestinationRectangles; -use cosmic::iced::event::Event; -use cosmic::iced::{Length, Point, Rectangle, Size}; +use cosmic::iced::{ + Length, Point, Rectangle, Size, + advanced::{ + Clipboard, Layout, Shell, Widget, + layout::{self, flex::Axis}, + mouse, renderer, + widget::{Operation, Tree}, + }, + core::clipboard::DndDestinationRectangles, + event::{self, Event}, +}; use std::marker::PhantomData; // Duplicate of private methods