diff --git a/Cargo.lock b/Cargo.lock index 666f56a..9097507 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -170,7 +170,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef6978589202a00cd7e118380c448a08b6ed394c3a8df3a430d0898e3a42d046" dependencies = [ "android-properties", - "bitflags 2.7.0", + "bitflags 2.8.0", "cc", "cesu8", "jni", @@ -265,8 +265,6 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd884d7c72877a94102c3715f3b1cd09ff4fac28221add3e57cfbe25c236d093" dependencies = [ - "async-fs", - "async-net", "enumflags2", "futures-channel", "futures-util", @@ -332,30 +330,6 @@ dependencies = [ "pin-project-lite", ] -[[package]] -name = "async-executor" -version = "1.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30ca9a001c1e8ba5149f91a74362376cc6bc5b919d92d988668657bd570bdcec" -dependencies = [ - "async-task", - "concurrent-queue", - "fastrand 2.3.0", - "futures-lite 2.5.0", - "slab", -] - -[[package]] -name = "async-fs" -version = "2.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebcd09b382f40fcd159c2d695175b2ae620ffa5f3bd6f664131efff4e8b9e04a" -dependencies = [ - "async-lock 3.4.0", - "blocking", - "futures-lite 2.5.0", -] - [[package]] name = "async-io" version = "1.13.0" @@ -386,7 +360,7 @@ dependencies = [ "cfg-if", "concurrent-queue", "futures-io", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "parking", "polling 3.7.4", "rustix 0.38.43", @@ -415,17 +389,6 @@ dependencies = [ "pin-project-lite", ] -[[package]] -name = "async-net" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b948000fad4873c1c9339d60f2623323a0cfd3816e5181033c6a5cb68b2accf7" -dependencies = [ - "async-io 2.4.0", - "blocking", - "futures-lite 2.5.0", -] - [[package]] name = "async-process" version = "1.8.1" @@ -457,7 +420,7 @@ dependencies = [ "blocking", "cfg-if", "event-listener 5.4.0", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "rustix 0.38.43", "tracing", ] @@ -644,12 +607,6 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2c54ff287cfc0a34f38a6b832ea1bd8e448a330b3e40a50859e6488bee07f22" -[[package]] -name = "bit_field" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61" - [[package]] name = "bitflags" version = "1.3.2" @@ -658,9 +615,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.7.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1be3f42a67d6d345ecd59f675f3f012d6974981560836e938c22b424b85ce1be" +checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36" dependencies = [ "serde", ] @@ -698,7 +655,7 @@ dependencies = [ "async-channel", "async-task", "futures-io", - "futures-lite 2.5.0", + "futures-lite 2.6.0", "piper", ] @@ -763,6 +720,12 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" +[[package]] +name = "byteorder-lite" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" + [[package]] name = "bytes" version = "1.9.0" @@ -775,7 +738,7 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b99da2f8558ca23c71f4fd15dc57c906239752dd27ff3c00a1d56b685b7cbfec" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "log", "polling 3.7.4", "rustix 0.38.43", @@ -797,9 +760,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.7" +version = "1.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a012a0df96dd6d06ba9a1b29d6402d1a5d77c6befd2566afdc26e10603dc93d7" +checksum = "13208fcbb66eaeffe09b99fffbe1af420f00a7b35aa99ad683dfc1aa76145229" dependencies = [ "jobserver", "libc", @@ -856,7 +819,7 @@ dependencies = [ [[package]] name = "clipboard_macos" version = "0.1.0" -source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-0.13#a83bf83784276aaa882ef13555295a2ad9edd265" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-0.13-2#6b9faab87bea9cebec6ae036906fd67fed254f5f" dependencies = [ "objc", "objc-foundation", @@ -866,7 +829,7 @@ dependencies = [ [[package]] name = "clipboard_wayland" version = "0.2.2" -source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-0.13#a83bf83784276aaa882ef13555295a2ad9edd265" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-0.13-2#6b9faab87bea9cebec6ae036906fd67fed254f5f" dependencies = [ "dnd", "mime 0.1.0", @@ -876,7 +839,7 @@ dependencies = [ [[package]] name = "clipboard_x11" version = "0.4.2" -source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-0.13#a83bf83784276aaa882ef13555295a2ad9edd265" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-0.13-2#6b9faab87bea9cebec6ae036906fd67fed254f5f" dependencies = [ "thiserror 1.0.69", "x11rb", @@ -1003,26 +966,6 @@ version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" -[[package]] -name = "const-random" -version = "0.1.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" -dependencies = [ - "const-random-macro", -] - -[[package]] -name = "const-random-macro" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" -dependencies = [ - "getrandom", - "once_cell", - "tiny-keccak", -] - [[package]] name = "constcat" version = "0.5.1" @@ -1084,7 +1027,7 @@ dependencies = [ [[package]] name = "cosmic-config" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic#aaa2ba3ad4239cb44ba01c10cbca57174d52a7da" +source = "git+https://github.com/pop-os/libcosmic#1914006cdd689491e3199d9887a715866c91d8aa" dependencies = [ "atomicwrites", "cosmic-config-derive", @@ -1103,7 +1046,7 @@ dependencies = [ [[package]] name = "cosmic-config-derive" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic#aaa2ba3ad4239cb44ba01c10cbca57174d52a7da" +source = "git+https://github.com/pop-os/libcosmic#1914006cdd689491e3199d9887a715866c91d8aa" dependencies = [ "quote", "syn 1.0.109", @@ -1124,7 +1067,7 @@ dependencies = [ "i18n-embed", "i18n-embed-fl", "include_dir", - "itertools 0.14.0", + "itertools", "libcosmic", "mime 0.3.17", "nucleo", @@ -1146,11 +1089,11 @@ dependencies = [ [[package]] name = "cosmic-freedesktop-icons" version = "0.2.6" -source = "git+https://github.com/pop-os/freedesktop-icons#5a3b4163148a9600a54cc846aa863f4e6389635d" +source = "git+https://github.com/pop-os/freedesktop-icons#bfc22d531596b57646dc47bcd70b2eb6f3152cd4" dependencies = [ "dirs", + "ini_core", "once_cell", - "rust-ini", "thiserror 1.0.69", "tracing", "xdg", @@ -1159,7 +1102,7 @@ dependencies = [ [[package]] name = "cosmic-panel-config" version = "0.1.0" -source = "git+https://github.com/pop-os/cosmic-panel#4a777bc4f6c77b409d1fd3aa5b09ecfb1c25ded1" +source = "git+https://github.com/pop-os/cosmic-panel#fc24dc6ecb8bb0e0109bc578955a540930a63586" dependencies = [ "anyhow", "cosmic-config", @@ -1176,7 +1119,7 @@ name = "cosmic-protocols" version = "0.1.0" source = "git+https://github.com/pop-os/cosmic-protocols?rev=d218c76#d218c76b58c7a3b20dd5e7943f93fc306a1b81b8" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -1190,7 +1133,7 @@ name = "cosmic-text" version = "0.12.1" source = "git+https://github.com/pop-os/cosmic-text.git#166b59f560c551dab391a864f7c1f503c1e18446" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "fontdb 0.16.2", "log", "rangemap", @@ -1210,7 +1153,7 @@ dependencies = [ [[package]] name = "cosmic-theme" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic#aaa2ba3ad4239cb44ba01c10cbca57174d52a7da" +source = "git+https://github.com/pop-os/libcosmic#1914006cdd689491e3199d9887a715866c91d8aa" dependencies = [ "almost", "cosmic-config", @@ -1350,7 +1293,7 @@ version = "22.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bdbd1f579714e3c809ebd822c81ef148b1ceaeb3d535352afc73fd0c4c6a0017" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "libloading", "winapi", ] @@ -1458,11 +1401,11 @@ dependencies = [ [[package]] name = "directories" -version = "5.0.1" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a49173b84e034382284f27f1af4dcbbd231ffa358c0fe316541a7337f376a35" +checksum = "16f5094c54661b38d03bd7e50df373292118db60b585c08a411c6d840017fe7d" dependencies = [ - "dirs-sys", + "dirs-sys 0.5.0", ] [[package]] @@ -1471,7 +1414,7 @@ version = "5.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" dependencies = [ - "dirs-sys", + "dirs-sys 0.4.1", ] [[package]] @@ -1482,10 +1425,22 @@ checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" dependencies = [ "libc", "option-ext", - "redox_users", + "redox_users 0.4.6", "windows-sys 0.48.0", ] +[[package]] +name = "dirs-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab" +dependencies = [ + "libc", + "option-ext", + "redox_users 0.5.0", + "windows-sys 0.59.0", +] + [[package]] name = "dispatch" version = "0.2.0" @@ -1512,21 +1467,12 @@ dependencies = [ "libloading", ] -[[package]] -name = "dlv-list" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "442039f5147480ba31067cb00ada1adae6892028e40e45fc5de7b7df6dcc1b5f" -dependencies = [ - "const-random", -] - [[package]] name = "dnd" version = "0.1.0" -source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-0.13#a83bf83784276aaa882ef13555295a2ad9edd265" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-0.13-2#6b9faab87bea9cebec6ae036906fd67fed254f5f" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "mime 0.1.0", "raw-window-handle", "smithay-client-toolkit", @@ -1565,7 +1511,7 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a0f8a69e60d75ae7dab4ef26a59ca99f2a89d4c142089b537775ae0c198bdcde" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "bytemuck", "drm-ffi", "drm-fourcc", @@ -1621,9 +1567,9 @@ checksum = "a3d8a32ae18130a3c84dd492d4215c3d913c3b07c6b63c2eb3eb7ff1101ab7bf" [[package]] name = "enumflags2" -version = "0.7.10" +version = "0.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d232db7f5956f3f14313dc2f87985c58bd2c695ce124c8cdd984e08e15ac133d" +checksum = "ba2f4b465f5318854c6f8dd686ede6c0a9dc67d4b1ac241cf0eb51521a309147" dependencies = [ "enumflags2_derive", "serde", @@ -1631,9 +1577,9 @@ dependencies = [ [[package]] name = "enumflags2_derive" -version = "0.7.10" +version = "0.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" +checksum = "fc4caf64a58d7a6d65ab00639b046ff54399a39f5f2554728895ace4b297cd79" dependencies = [ "proc-macro2", "quote", @@ -1646,16 +1592,6 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" -[[package]] -name = "erased-serde" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24e2389d65ab4fab27dc2a5de7b191e1f6617d1f1c8855c0dc569c94a4cbb18d" -dependencies = [ - "serde", - "typeid", -] - [[package]] name = "errno" version = "0.3.10" @@ -1740,21 +1676,6 @@ dependencies = [ "pin-project-lite", ] -[[package]] -name = "exr" -version = "1.73.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f83197f59927b46c04a183a619b7c29df34e63e63c7869320862268c0ef687e0" -dependencies = [ - "bit_field", - "half", - "lebe", - "miniz_oxide", - "rayon-core", - "smallvec", - "zune-inflate", -] - [[package]] name = "fast-srgb8" version = "1.0.0" @@ -2069,9 +1990,9 @@ dependencies = [ [[package]] name = "futures-lite" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cef40d21ae2c515b51041df9ed313ed21e572df340ea58a922a0aefe7e8891a1" +checksum = "f5edaec856126859abb19ed65f39e90fea3a9574b9707f13539acf4abf7eb532" dependencies = [ "fastrand 2.3.0", "futures-core", @@ -2199,9 +2120,9 @@ dependencies = [ [[package]] name = "glutin_wgl_sys" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a4e1951bbd9434a81aa496fe59ccc2235af3820d27b85f9314e279609211e2c" +checksum = "2c4ee00b289aba7a9e5306d57c2d05499b2e5dc427f84ac708bd2c090212cf3e" dependencies = [ "gl_generator", ] @@ -2212,7 +2133,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "gpu-alloc-types", ] @@ -2222,7 +2143,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", ] [[package]] @@ -2244,7 +2165,7 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dcf29e94d6d243368b7a56caa16bc213e4f9f8ed38c4d9557069527b5d5281ca" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "gpu-descriptor-types", "hashbrown 0.15.2", ] @@ -2255,7 +2176,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdf242682df893b86f33a73828fb09ca4b2d3bb6cc95249707fc684d27484b91" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", ] [[package]] @@ -2322,7 +2243,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af2a7e73e1f34c48da31fb668a907f250794837e08faa144fd24f0b8b741e890" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "com", "libc", "libloading", @@ -2488,7 +2409,7 @@ dependencies = [ [[package]] name = "iced" version = "0.14.0-dev" -source = "git+https://github.com/pop-os/libcosmic#aaa2ba3ad4239cb44ba01c10cbca57174d52a7da" +source = "git+https://github.com/pop-os/libcosmic#1914006cdd689491e3199d9887a715866c91d8aa" dependencies = [ "dnd", "iced_accessibility", @@ -2506,7 +2427,7 @@ dependencies = [ [[package]] name = "iced_accessibility" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic#aaa2ba3ad4239cb44ba01c10cbca57174d52a7da" +source = "git+https://github.com/pop-os/libcosmic#1914006cdd689491e3199d9887a715866c91d8aa" dependencies = [ "accesskit", "accesskit_winit", @@ -2515,9 +2436,9 @@ dependencies = [ [[package]] name = "iced_core" version = "0.14.0-dev" -source = "git+https://github.com/pop-os/libcosmic#aaa2ba3ad4239cb44ba01c10cbca57174d52a7da" +source = "git+https://github.com/pop-os/libcosmic#1914006cdd689491e3199d9887a715866c91d8aa" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "bytes", "cosmic-client-toolkit", "dnd", @@ -2539,7 +2460,7 @@ dependencies = [ [[package]] name = "iced_futures" version = "0.14.0-dev" -source = "git+https://github.com/pop-os/libcosmic#aaa2ba3ad4239cb44ba01c10cbca57174d52a7da" +source = "git+https://github.com/pop-os/libcosmic#1914006cdd689491e3199d9887a715866c91d8aa" dependencies = [ "futures", "iced_core", @@ -2565,9 +2486,9 @@ dependencies = [ [[package]] name = "iced_graphics" version = "0.14.0-dev" -source = "git+https://github.com/pop-os/libcosmic#aaa2ba3ad4239cb44ba01c10cbca57174d52a7da" +source = "git+https://github.com/pop-os/libcosmic#1914006cdd689491e3199d9887a715866c91d8aa" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "bytemuck", "cosmic-text", "half", @@ -2587,7 +2508,7 @@ dependencies = [ [[package]] name = "iced_renderer" version = "0.14.0-dev" -source = "git+https://github.com/pop-os/libcosmic#aaa2ba3ad4239cb44ba01c10cbca57174d52a7da" +source = "git+https://github.com/pop-os/libcosmic#1914006cdd689491e3199d9887a715866c91d8aa" dependencies = [ "iced_graphics", "iced_tiny_skia", @@ -2599,7 +2520,7 @@ dependencies = [ [[package]] name = "iced_runtime" version = "0.14.0-dev" -source = "git+https://github.com/pop-os/libcosmic#aaa2ba3ad4239cb44ba01c10cbca57174d52a7da" +source = "git+https://github.com/pop-os/libcosmic#1914006cdd689491e3199d9887a715866c91d8aa" dependencies = [ "bytes", "cosmic-client-toolkit", @@ -2614,7 +2535,7 @@ dependencies = [ [[package]] name = "iced_tiny_skia" version = "0.14.0-dev" -source = "git+https://github.com/pop-os/libcosmic#aaa2ba3ad4239cb44ba01c10cbca57174d52a7da" +source = "git+https://github.com/pop-os/libcosmic#1914006cdd689491e3199d9887a715866c91d8aa" dependencies = [ "bytemuck", "cosmic-text", @@ -2630,10 +2551,10 @@ dependencies = [ [[package]] name = "iced_wgpu" version = "0.14.0-dev" -source = "git+https://github.com/pop-os/libcosmic#aaa2ba3ad4239cb44ba01c10cbca57174d52a7da" +source = "git+https://github.com/pop-os/libcosmic#1914006cdd689491e3199d9887a715866c91d8aa" dependencies = [ "as-raw-xcb-connection", - "bitflags 2.7.0", + "bitflags 2.8.0", "bytemuck", "cosmic-client-toolkit", "futures", @@ -2661,7 +2582,7 @@ dependencies = [ [[package]] name = "iced_widget" version = "0.14.0-dev" -source = "git+https://github.com/pop-os/libcosmic#aaa2ba3ad4239cb44ba01c10cbca57174d52a7da" +source = "git+https://github.com/pop-os/libcosmic#1914006cdd689491e3199d9887a715866c91d8aa" dependencies = [ "cosmic-client-toolkit", "dnd", @@ -2680,7 +2601,7 @@ dependencies = [ [[package]] name = "iced_winit" version = "0.14.0-dev" -source = "git+https://github.com/pop-os/libcosmic#aaa2ba3ad4239cb44ba01c10cbca57174d52a7da" +source = "git+https://github.com/pop-os/libcosmic#1914006cdd689491e3199d9887a715866c91d8aa" dependencies = [ "cosmic-client-toolkit", "dnd", @@ -2690,10 +2611,12 @@ dependencies = [ "log", "raw-window-handle", "rustc-hash 2.1.0", + "rustix 0.38.43", "thiserror 1.0.69", "tracing", "wasm-bindgen-futures", "wayland-backend", + "wayland-client", "wayland-protocols", "web-sys", "winapi", @@ -2851,20 +2774,16 @@ dependencies = [ [[package]] name = "image" -version = "0.24.9" +version = "0.25.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5690139d2f55868e080017335e4b94cb7414274c74f1669c84fb5feba2c9f69d" +checksum = "cd6f44aed642f18953a158afeb30206f4d50da59fbc66ecb53c66488de73563b" dependencies = [ "bytemuck", - "byteorder", - "color_quant", - "exr", - "gif", - "jpeg-decoder", + "byteorder-lite", "num-traits", "png", - "qoi", - "tiff", + "zune-core", + "zune-jpeg", ] [[package]] @@ -2922,6 +2841,15 @@ dependencies = [ "hashbrown 0.15.2", ] +[[package]] +name = "ini_core" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a467a31a9f439b5262fa99c17084537bff57f24703d5a09a2b5c9657ec73a61" +dependencies = [ + "cfg-if", +] + [[package]] name = "inotify" version = "0.9.6" @@ -2987,15 +2915,6 @@ version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06432fb54d3be7964ecd3649233cddf80db2832f47fec34c01f65b3d9d774983" -[[package]] -name = "itertools" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" -dependencies = [ - "either", -] - [[package]] name = "itertools" version = "0.14.0" @@ -3047,15 +2966,12 @@ name = "jpeg-decoder" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0" -dependencies = [ - "rayon", -] [[package]] name = "js-sys" -version = "0.3.76" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6717b6b5b077764fb5966237269cb3c64edddde4b14ce42647430a78ced9e7b7" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" dependencies = [ "once_cell", "wasm-bindgen", @@ -3145,12 +3061,6 @@ dependencies = [ "spin", ] -[[package]] -name = "lebe" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8" - [[package]] name = "libc" version = "0.2.169" @@ -3160,7 +3070,7 @@ checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" [[package]] name = "libcosmic" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic#aaa2ba3ad4239cb44ba01c10cbca57174d52a7da" +source = "git+https://github.com/pop-os/libcosmic#1914006cdd689491e3199d9887a715866c91d8aa" dependencies = [ "apply", "ashpd 0.9.2", @@ -3180,6 +3090,7 @@ dependencies = [ "iced_tiny_skia", "iced_widget", "iced_winit", + "image", "lazy_static", "palette", "rfd", @@ -3217,7 +3128,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "libc", "redox_syscall 0.5.8", ] @@ -3288,12 +3199,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.24" +version = "0.4.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6ea2a48c204030ee31a7d7fc72c93294c92fe87ecb1789881c9543516e1a0d" -dependencies = [ - "value-bag", -] +checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f" [[package]] name = "lru" @@ -3429,7 +3337,7 @@ version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ecfd3296f8c56b7c1f6fbac3c71cefa9d78ce009850c45000015f206dc7fa21" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "block", "core-graphics-types", "foreign-types", @@ -3441,7 +3349,7 @@ dependencies = [ [[package]] name = "mime" version = "0.1.0" -source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-0.13#a83bf83784276aaa882ef13555295a2ad9edd265" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-0.13-2#6b9faab87bea9cebec6ae036906fd67fed254f5f" dependencies = [ "smithay-clipboard", ] @@ -3460,9 +3368,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ffbe83022cedc1d264172192511ae958937694cd57ce297164951b8b3568394" +checksum = "b8402cab7aefae129c6977bb0ff1b8fd9a04eb5b51efc50a70bea51cda0c7924" dependencies = [ "adler2", "simd-adler32", @@ -3505,7 +3413,7 @@ checksum = "8bd5a652b6faf21496f2cfd88fc49989c8db0825d1f6746b1a71a6ede24a63ad" dependencies = [ "arrayvec", "bit-set", - "bitflags 2.7.0", + "bitflags 2.8.0", "cfg_aliases 0.1.1", "codespan-reporting", "hexf-parse", @@ -3524,7 +3432,7 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "jni-sys", "log", "ndk-sys 0.6.0+11769913", @@ -3575,7 +3483,7 @@ version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "cfg-if", "cfg_aliases 0.2.1", "libc", @@ -3598,7 +3506,7 @@ version = "6.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "crossbeam-channel", "filetime", "fsevent-sys", @@ -3762,7 +3670,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "block2", "libc", "objc2", @@ -3778,7 +3686,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74dd3b56391c7a0596a295029734d3c1c5e7e510a4cb30245f8221ccea96b009" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "block2", "objc2", "objc2-core-location", @@ -3802,7 +3710,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "block2", "objc2", "objc2-foundation", @@ -3844,7 +3752,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "block2", "dispatch", "libc", @@ -3869,7 +3777,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "block2", "objc2", "objc2-foundation", @@ -3881,7 +3789,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "block2", "objc2", "objc2-foundation", @@ -3904,7 +3812,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8bb46798b20cd6b91cbd113524c490f1686f4c4e8f49502431415f3512e2b6f" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "block2", "objc2", "objc2-cloud-kit", @@ -3936,7 +3844,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76cfcbf642358e8689af64cee815d139339f3ed8ad05103ed5eaf73db8d84cb3" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "block2", "objc2", "objc2-core-location", @@ -3982,16 +3890,6 @@ dependencies = [ "libredox", ] -[[package]] -name = "ordered-multimap" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49203cdcae0030493bad186b28da2fa25645fa276a51b6fec8010d281e02ef79" -dependencies = [ - "dlv-list", - "hashbrown 0.14.5", -] - [[package]] name = "ordered-stream" version = "0.2.0" @@ -4014,9 +3912,9 @@ dependencies = [ [[package]] name = "ouroboros" -version = "0.18.4" +version = "0.18.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "944fa20996a25aded6b4795c6d63f10014a7a83f8be9828a11860b08c5fc4a67" +checksum = "1e0f050db9c44b97a94723127e6be766ac5c340c48f2c4bb3ffa11713744be59" dependencies = [ "aliasable", "ouroboros_macro", @@ -4025,12 +3923,11 @@ dependencies = [ [[package]] name = "ouroboros_macro" -version = "0.18.4" +version = "0.18.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39b0deead1528fd0e5947a8546a9642a9777c25f6e1e26f34c97b204bbb465bd" +checksum = "3c7028bdd3d43083f6d8d4d5187680d0d3560d54df4cc9d752005268b41e64d0" dependencies = [ "heck 0.4.1", - "itertools 0.12.1", "proc-macro2", "proc-macro2-diagnostics", "quote", @@ -4388,9 +4285,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.92" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" +checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99" dependencies = [ "unicode-ident", ] @@ -4414,15 +4311,6 @@ version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "afbdc74edc00b6f6a218ca6a5364d6226a259d4b8ea1af4a0ea063f27e179f4d" -[[package]] -name = "qoi" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f6d64c71eb498fe9eae14ce4ec935c555749aef511cca85b5568910d6e48001" -dependencies = [ - "bytemuck", -] - [[package]] name = "qrcode" version = "0.13.0" @@ -4479,9 +4367,9 @@ dependencies = [ [[package]] name = "range-alloc" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8a99fddc9f0ba0a85884b8d14e3592853e787d581ca1816c91349b10e4eeab" +checksum = "c3d6831663a5098ea164f89cff59c6284e95f4e3c76ce9848d4529f5ccca9bde" [[package]] name = "rangemap" @@ -4549,7 +4437,7 @@ version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", ] [[package]] @@ -4563,6 +4451,17 @@ dependencies = [ "thiserror 1.0.69", ] +[[package]] +name = "redox_users" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd6f9d3d47bdd2ad6945c5015a226ec6155d0bcdfd8f7cd29f86b71f8de99d2b" +dependencies = [ + "getrandom", + "libredox", + "thiserror 2.0.11", +] + [[package]] name = "regex" version = "1.11.1" @@ -4668,7 +4567,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b91f7eff05f748767f183df4320a63d6936e9c6107d97c9e6bdd9784f4289c94" dependencies = [ "base64 0.21.7", - "bitflags 2.7.0", + "bitflags 2.8.0", "serde", "serde_derive", ] @@ -4733,16 +4632,6 @@ dependencies = [ "walkdir", ] -[[package]] -name = "rust-ini" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e0698206bcb8882bf2a9ecb4c1e7785db57ff052297085a6efd4fe42302068a" -dependencies = [ - "cfg-if", - "ordered-multimap", -] - [[package]] name = "rustc-demangle" version = "0.1.24" @@ -4781,7 +4670,7 @@ version = "0.38.43" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a78891ee6bf2340288408954ac787aa063d8e8817e9f53abb37c695c6d834ef6" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "errno", "libc", "linux-raw-sys 0.4.15", @@ -4800,7 +4689,7 @@ version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfb9cf8877777222e4a3bc7eb247e398b56baba500c38c1c46842431adc8b55c" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "bytemuck", "libm", "smallvec", @@ -4937,15 +4826,6 @@ dependencies = [ "syn 2.0.96", ] -[[package]] -name = "serde_fmt" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1d4ddca14104cd60529e8c7f7ba71a2c8acd8f7f5cfcdc2faf97eeb7c3010a4" -dependencies = [ - "serde", -] - [[package]] name = "serde_json" version = "1.0.135" @@ -5127,7 +5007,7 @@ version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3457dea1f0eb631b4034d61d4d8c32074caa6cd1ab2d59f2327bd8461e2c0016" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "bytemuck", "calloop", "calloop-wayland-source", @@ -5234,7 +5114,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.7.0", + "bitflags 2.8.0", ] [[package]] @@ -5340,7 +5220,7 @@ checksum = "4560278f0e00ce64938540546f59f590d60beee33fffbd3b9cd47851e5fff233" dependencies = [ "atoi", "base64 0.22.1", - "bitflags 2.7.0", + "bitflags 2.8.0", "byteorder", "bytes", "crc", @@ -5382,7 +5262,7 @@ checksum = "c5b98a57f363ed6764d5b3a12bfedf62f07aa16e1856a7ddc2a0bb190a959613" dependencies = [ "atoi", "base64 0.22.1", - "bitflags 2.7.0", + "bitflags 2.8.0", "byteorder", "crc", "dotenvy", @@ -5478,84 +5358,6 @@ version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" -[[package]] -name = "sval" -version = "2.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6dc0f9830c49db20e73273ffae9b5240f63c42e515af1da1fceefb69fceafd8" - -[[package]] -name = "sval_buffer" -version = "2.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "429922f7ad43c0ef8fd7309e14d750e38899e32eb7e8da656ea169dd28ee212f" -dependencies = [ - "sval", - "sval_ref", -] - -[[package]] -name = "sval_dynamic" -version = "2.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68f16ff5d839396c11a30019b659b0976348f3803db0626f736764c473b50ff4" -dependencies = [ - "sval", -] - -[[package]] -name = "sval_fmt" -version = "2.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c01c27a80b6151b0557f9ccbe89c11db571dc5f68113690c1e028d7e974bae94" -dependencies = [ - "itoa", - "ryu", - "sval", -] - -[[package]] -name = "sval_json" -version = "2.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0deef63c70da622b2a8069d8600cf4b05396459e665862e7bdb290fd6cf3f155" -dependencies = [ - "itoa", - "ryu", - "sval", -] - -[[package]] -name = "sval_nested" -version = "2.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a39ce5976ae1feb814c35d290cf7cf8cd4f045782fe1548d6bc32e21f6156e9f" -dependencies = [ - "sval", - "sval_buffer", - "sval_ref", -] - -[[package]] -name = "sval_ref" -version = "2.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb7c6ee3751795a728bc9316a092023529ffea1783499afbc5c66f5fabebb1fa" -dependencies = [ - "sval", -] - -[[package]] -name = "sval_serde" -version = "2.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a5572d0321b68109a343634e3a5d576bf131b82180c6c442dee06349dfc652a" -dependencies = [ - "serde", - "sval", - "sval_nested", -] - [[package]] name = "svg_fmt" version = "0.4.4" @@ -5709,26 +5511,6 @@ dependencies = [ "once_cell", ] -[[package]] -name = "tiff" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e" -dependencies = [ - "flate2", - "jpeg-decoder", - "weezl", -] - -[[package]] -name = "tiny-keccak" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" -dependencies = [ - "crunchy", -] - [[package]] name = "tiny-skia" version = "0.11.4" @@ -5984,12 +5766,6 @@ dependencies = [ "rustc-hash 1.1.0", ] -[[package]] -name = "typeid" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e13db2e0ccd5e14a544e8a246ba2312cd25223f616442d7f2cb0e3db614236e" - [[package]] name = "typenum" version = "1.17.0" @@ -6160,45 +5936,9 @@ checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" [[package]] name = "valuable" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" - -[[package]] -name = "value-bag" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ef4c4aa54d5d05a279399bfa921ec387b7aba77caf7a682ae8d86785b8fdad2" -dependencies = [ - "value-bag-serde1", - "value-bag-sval2", -] - -[[package]] -name = "value-bag-serde1" -version = "1.10.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bb773bd36fd59c7ca6e336c94454d9c66386416734817927ac93d81cb3c5b0b" -dependencies = [ - "erased-serde", - "serde", - "serde_fmt", -] - -[[package]] -name = "value-bag-sval2" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53a916a702cac43a88694c97657d449775667bcd14b70419441d05b7fea4a83a" -dependencies = [ - "sval", - "sval_buffer", - "sval_dynamic", - "sval_fmt", - "sval_json", - "sval_ref", - "sval_serde", -] +checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" [[package]] name = "vcpkg" @@ -6242,20 +5982,21 @@ checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" [[package]] name = "wasm-bindgen" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a474f6281d1d70c17ae7aa6a613c87fce69a127e2624002df63dcb39d6cf6396" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" dependencies = [ "cfg-if", "once_cell", + "rustversion", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f89bb38646b4f81674e8f5c3fb81b562be1fd936d84320f3264486418519c79" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" dependencies = [ "bumpalo", "log", @@ -6267,9 +6008,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.49" +version = "0.4.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38176d9b44ea84e9184eff0bc34cc167ed044f816accfe5922e54d84cf48eca2" +checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" dependencies = [ "cfg-if", "js-sys", @@ -6280,9 +6021,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cc6181fd9a7492eef6fef1f33961e3695e4579b9872a6f7c83aee556666d4fe" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -6290,9 +6031,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30d7a95b763d3c45903ed6c81f156801839e5ee968bb07e534c44df0fcd330c2" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", @@ -6303,9 +6044,12 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "943aab3fdaaa029a6e0271b35ea10b72b943135afe9bffca82384098ad0e06a6" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] [[package]] name = "wasm-timer" @@ -6342,7 +6086,7 @@ version = "0.31.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b66249d3fc69f76fd74c82cc319300faa554e9d865dab1f7cd66cc20db10b280" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "rustix 0.38.43", "wayland-backend", "wayland-scanner", @@ -6354,7 +6098,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "cursor-icon", "wayland-backend", ] @@ -6376,7 +6120,7 @@ version = "0.32.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7cd0ade57c4e6e9a8952741325c30bf82f4246885dca8bf561898b86d0c1f58e" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "wayland-backend", "wayland-client", "wayland-scanner", @@ -6389,7 +6133,7 @@ version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b31cab548ee68c7eb155517f2212049dc151f7cd7910c2b66abfd31c3ee12bd" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -6402,7 +6146,7 @@ version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "782e12f6cd923c3c316130d56205ebab53f55d6666b7faddfad36cecaeeb4022" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -6427,7 +6171,7 @@ version = "0.31.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c89532cc712a2adb119eb4d09694b402576052254d0bb284f82ac1c47fb786ad" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "downcast-rs", "io-lifetimes 2.0.4", "rustix 0.38.43", @@ -6449,9 +6193,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.76" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04dd7223427d52553d3702c004d3b2fe07c148165faa56313cb00211e31c12bc" +checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" dependencies = [ "js-sys", "wasm-bindgen", @@ -6506,7 +6250,7 @@ checksum = "0348c840d1051b8e86c3bcd31206080c5e71e5933dabd79be1ce732b0b2f089a" dependencies = [ "arrayvec", "bit-vec", - "bitflags 2.7.0", + "bitflags 2.8.0", "cfg_aliases 0.1.1", "document-features", "indexmap 2.7.0", @@ -6533,7 +6277,7 @@ dependencies = [ "arrayvec", "ash", "bit-set", - "bitflags 2.7.0", + "bitflags 2.8.0", "block", "cfg_aliases 0.1.1", "core-graphics-types", @@ -6574,7 +6318,7 @@ version = "22.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc9d91f0e2c4b51434dfa6db77846f2793149d8e73f800fa2e41f52b8eac3c5d" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "js-sys", "web-sys", ] @@ -6629,7 +6373,7 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "window_clipboard" version = "0.4.1" -source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-0.13#a83bf83784276aaa882ef13555295a2ad9edd265" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-0.13-2#6b9faab87bea9cebec6ae036906fd67fed254f5f" dependencies = [ "clipboard-win", "clipboard_macos", @@ -6935,7 +6679,7 @@ dependencies = [ "ahash", "android-activity", "atomic-waker", - "bitflags 2.7.0", + "bitflags 2.8.0", "block2", "bytemuck", "calloop", @@ -7084,7 +6828,7 @@ dependencies = [ [[package]] name = "xdg-shell-wrapper-config" version = "0.1.0" -source = "git+https://github.com/pop-os/cosmic-panel#4a777bc4f6c77b409d1fd3aa5b09ecfb1c25ded1" +source = "git+https://github.com/pop-os/cosmic-panel#fc24dc6ecb8bb0e0109bc578955a540930a63586" dependencies = [ "serde", "wayland-protocols-wlr", @@ -7107,7 +6851,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "dlib", "log", "once_cell", @@ -7214,15 +6958,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bb97012beadd29e654708a0fdb4c84bc046f537aecfde2c3ee0a9e4b4d48c725" dependencies = [ "async-broadcast 0.7.2", - "async-executor", - "async-fs", - "async-io 2.4.0", - "async-lock 3.4.0", "async-process 2.3.0", "async-recursion", - "async-task", "async-trait", - "blocking", "enumflags2", "event-listener 5.4.0", "futures-core", @@ -7372,12 +7110,18 @@ dependencies = [ ] [[package]] -name = "zune-inflate" -version = "0.2.54" +name = "zune-core" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73ab332fe2f6680068f3582b16a24f90ad7096d5d39b974d1c0aff0125116f02" +checksum = "3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a" + +[[package]] +name = "zune-jpeg" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99a5bab8d7dedf81405c4bb1f2b83ea057643d9cb28778cea9eecddeedd2e028" dependencies = [ - "simd-adler32", + "zune-core", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 2d4e612..87741ba 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,7 +23,7 @@ derivative = "2" os_pipe = "1" thiserror = "2" paste = "1" -directories = "5" +directories = "6" anyhow = "1" chrono = { version = "0.4", default-features = false, features = ["now"] } mime = "0.3" diff --git a/i18n/en/cosmic_ext_applet_clipboard_manager.ftl b/i18n/en/cosmic_ext_applet_clipboard_manager.ftl index c74313b..70b8d04 100644 --- a/i18n/en/cosmic_ext_applet_clipboard_manager.ftl +++ b/i18n/en/cosmic_ext_applet_clipboard_manager.ftl @@ -8,4 +8,5 @@ qr_code_error = Error while generating the QR code horizontal_layout = Horizontal add_favorite = Add Favorite remove_favorite = Remove Favorite -unique_session = Unique session \ No newline at end of file +unique_session = Unique session +unknown_mime_types_title = Mime types \ No newline at end of file diff --git a/src/app.rs b/src/app.rs index 45a7c5b..9cf1b66 100644 --- a/src/app.rs +++ b/src/app.rs @@ -5,10 +5,12 @@ use cosmic::iced::keyboard::key::Named; use cosmic::iced::window::Id; use cosmic::iced::{self, Limits}; +use cosmic::iced_core::widget::operation; use cosmic::iced_futures::Subscription; use cosmic::iced_runtime::core::window; use cosmic::iced_runtime::platform_specific::wayland::layer_surface::SctkLayerSurfaceSettings; use cosmic::iced_widget::qr_code; +use cosmic::iced_widget::scrollable::RelativeOffset; use cosmic::iced_winit::commands::layer_surface::{ self, destroy_layer_surface, get_layer_surface, KeyboardInteractivity, }; @@ -25,9 +27,10 @@ use crate::db::{DbMessage, DbTrait, EntryTrait}; use crate::message::{AppMsg, ConfigMsg}; use crate::navigation::EventMsg; use crate::utils::task_message; +use crate::view::SCROLLABLE_ID; use crate::{clipboard, config, navigation}; -use cosmic::cosmic_config; +use cosmic::{cosmic_config, iced_runtime}; use std::sync::atomic::{self}; use std::time::Duration; @@ -82,15 +85,67 @@ enum PopupKind { } impl AppState { - fn focus_next(&mut self) { + fn focus_next(&mut self) -> Task { if self.db.len() > 0 { self.focused = (self.focused + 1) % self.db.len(); + self.page = self.focused / self.config.maximum_entries_by_page.get() as usize; + + debug!(""); + debug!("len = {}", self.db.len()); + debug!("focused = {}", self.focused); + debug!( + "maximum_entries_by_page = {}", + self.config.maximum_entries_by_page.get() as usize + ); + debug!("page = {}", self.page); + + // will not work with last page but it is not used anyway because have bug + let delta_y = (self.focused % self.config.maximum_entries_by_page.get() as usize) + as f32 + / self.config.maximum_entries_by_page.get() as f32; + + debug!("delta_y = {}", delta_y); + + iced_runtime::task::widget(operation::scrollable::snap_to( + SCROLLABLE_ID.clone(), + RelativeOffset { + x: 0., + y: delta_y.max(1.).max(0.0), + }, + )) + } else { + Task::none() } } - fn focus_previous(&mut self) { + fn focus_previous(&mut self) -> Task { if self.db.len() > 0 { self.focused = (self.focused + self.db.len() - 1) % self.db.len(); + self.page = self.focused / self.config.maximum_entries_by_page.get() as usize; + + debug!(""); + debug!("len = {}", self.db.len()); + debug!("focused = {}", self.focused); + debug!( + "maximum_entries_by_page = {}", + self.config.maximum_entries_by_page.get() as usize + ); + debug!("page = {}", self.page); + + let delta_y = (self.focused % self.config.maximum_entries_by_page.get() as usize) + as f32 + / self.config.maximum_entries_by_page.get() as f32; + + debug!("delta_y = {}", delta_y); + iced_runtime::task::widget(operation::scrollable::snap_to( + SCROLLABLE_ID.clone(), + RelativeOffset { + x: 0., + y: delta_y.max(1.).max(0.0), + }, + )) + } else { + Task::none() } } @@ -364,17 +419,28 @@ impl cosmic::Application for AppState { return task_message(AppMsg::Navigation(message)); } EventMsg::Next => { - self.focus_next(); + return self.focus_next(); } EventMsg::Previous => { - self.focus_previous(); + return self.focus_previous(); } EventMsg::Enter => { - if let Some(data) = self.db.get(self.focused) { - if let Err(e) = clipboard::copy(data.clone()) { - error!("can't copy: {e}"); + if matches!( + self.popup, + Some(Popup { + kind: PopupKind::Popup, + .. + }) + ) { + debug!("copy!!!"); + if let Some(data) = self.db.get(self.focused) { + if let Err(e) = clipboard::copy(data.clone()) { + error!("can't copy: {e}"); + } + return self.close_popup(); } - return self.close_popup(); + } else { + debug!("don't copy!!!"); } } EventMsg::Quit => { diff --git a/src/clipboard.rs b/src/clipboard.rs index b8d9477..c50c657 100644 --- a/src/clipboard.rs +++ b/src/clipboard.rs @@ -58,38 +58,41 @@ pub fn sub() -> impl Stream { loop { match rx.recv().await { Some(Some(res)) => { - let data = join_all(res.map(|(mut pipe, mime_type)| async move { - let mut contents = Vec::new(); - - match tokio::time::timeout( - Duration::from_millis(100), - pipe.read_to_end(&mut contents), - ) - .await - { - Ok(Ok(_)) => Some((mime_type, contents)), - Ok(Err(e)) => { - warn!( + let data: MimeDataMap = + join_all(res.map(|(mut pipe, mime_type)| async move { + let mut contents = Vec::new(); + + match tokio::time::timeout( + Duration::from_millis(100), + pipe.read_to_end(&mut contents), + ) + .await + { + Ok(Ok(_)) => Some((mime_type, contents)), + Ok(Err(e)) => { + warn!( "read timeout on external pipe clipboard: {} {e}", mime_type ); - None - } - Err(e) => { - warn!( + None + } + Err(e) => { + warn!( "read timeout on external pipe clipboard: {} {e}", mime_type ); - None + None + } } - } - })) - .await - .into_iter() - .flatten() - .collect(); - - output.send(ClipboardMessage::Data(data)).await.unwrap(); + })) + .await + .into_iter() + .flatten() + .collect(); + + if !data.is_empty() { + output.send(ClipboardMessage::Data(data)).await.unwrap(); + } } Some(None) => { diff --git a/src/db/mod.rs b/src/db/mod.rs index eb62a2b..842f979 100644 --- a/src/db/mod.rs +++ b/src/db/mod.rs @@ -218,7 +218,7 @@ fn find_alt(html: &str) -> Option<&str> { const DEB: &str = "alt=\""; if let Some(pos) = html.find(DEB) { - const OFFSET: usize = DEB.as_bytes().len(); + const OFFSET: usize = DEB.len(); if let Some(pos_end) = html[pos + OFFSET..].find('"') { return Some(&html[pos + OFFSET..pos + pos_end + OFFSET]); diff --git a/src/view.rs b/src/view.rs index c44c37f..43da39a 100644 --- a/src/view.rs +++ b/src/view.rs @@ -1,4 +1,4 @@ -use std::{borrow::Cow, cmp::min}; +use std::{borrow::Cow, cmp::min, sync::LazyLock}; use cosmic::{ iced::{alignment::Horizontal, padding, Alignment, Length, Padding}, @@ -11,7 +11,7 @@ use cosmic::{ self, button::{self}, column, container, context_menu, horizontal_space, image, menu, row, scrollable, text, - text_input, toggler, + text_input, toggler, Id, }, Element, }; @@ -25,6 +25,8 @@ use crate::{ utils::formatted_value, }; +pub static SCROLLABLE_ID: LazyLock = LazyLock::new(|| Id::new("scrollable")); + impl AppState { pub fn quick_settings_view(&self) -> Element<'_, AppMsg> { fn toggle_settings<'a>( @@ -152,9 +154,9 @@ impl AppState { .either_iter() .enumerate() .get(range) - .filter_map(|(pos, data)| { - data.preferred_content(&self.preferred_mime_types_regex) - .and_then(|(_, content)| match content { + .map(|(pos, data)| { + match data.preferred_content(&self.preferred_mime_types_regex) { + Some((_, content)) => match content { Content::Text(text) => { self.text_entry(data, pos == self.focused, text) } @@ -164,7 +166,9 @@ impl AppState { Content::UriList(uris) => { self.uris_entry(data, pos == self.focused, &uris) } - }) + }, + None => self.unknown_entry(data, pos == self.focused), + } }) .collect(); @@ -174,6 +178,7 @@ impl AppState { .padding(padding::bottom(10)); scrollable(column) + // .id(SCROLLABLE_ID.clone()) .direction(Direction::Horizontal(Scrollbar::default())) .into() } else { @@ -182,8 +187,9 @@ impl AppState { .padding(padding::right(10)); scrollable(column) + // .id(SCROLLABLE_ID.clone()) // XXX: why ? - .height(Length::FillPortion(2)) + // .height(Length::FillPortion(2)) .into() } } @@ -197,10 +203,10 @@ impl AppState { entry: &'a Db::Entry, is_focused: bool, image_data: &'a [u8], - ) -> Option> { + ) -> Element<'a, AppMsg> { let handle = image::Handle::from_bytes(image_data.to_owned()); - Some(self.base_entry(entry, is_focused, image(handle).width(Length::Fill))) + self.base_entry(entry, is_focused, image(handle).width(Length::Fill)) } fn uris_entry<'a>( @@ -208,11 +214,7 @@ impl AppState { entry: &'a Db::Entry, is_focused: bool, uris: &[&'a str], - ) -> Option> { - if uris.is_empty() { - return None; - } - + ) -> Element<'a, AppMsg> { let max = 3; let mut lines = Vec::with_capacity(min(uris.len(), max + 1)); @@ -225,11 +227,32 @@ impl AppState { lines.push(text("...").into()); } - Some(self.base_entry( + self.base_entry( + entry, + is_focused, + column::with_children(lines).width(Length::Fill), + ) + } + + fn unknown_entry<'a>(&'a self, entry: &'a Db::Entry, is_focused: bool) -> Element<'a, AppMsg> { + let len = entry.raw_content().len(); + let max = 3; + let mut lines = Vec::new(); + lines.push(text(fl!("unknown_mime_types_title")).into()); + + for mime in entry.raw_content().keys().take(max) { + lines.push(text(format!("- {mime}")).into()); + } + + if len > max { + lines.push(text(format!("... ({})", len - max)).into()); + } + + self.base_entry( entry, is_focused, column::with_children(lines).width(Length::Fill), - )) + ) } fn text_entry<'a>( @@ -237,15 +260,12 @@ impl AppState { entry: &'a Db::Entry, is_focused: bool, content: &'a str, - ) -> Option> { - if content.is_empty() { - return None; - } + ) -> Element<'a, AppMsg> { // todo: remove this max line things: display the maximum if self.config.horizontal { - Some(self.base_entry(entry, is_focused, text(formatted_value(content, 10, 500)))) + self.base_entry(entry, is_focused, text(formatted_value(content, 10, 500))) } else { - Some(self.base_entry(entry, is_focused, text(formatted_value(content, 5, 200)))) + self.base_entry(entry, is_focused, text(formatted_value(content, 5, 200))) } }