diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 8c05321..8837fe5 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -8,8 +8,8 @@ "run", "--", "--filename", - "/tmp/bug.png", - //"/home/gabm/Pictures/Screenshots/satty-20240219-14:19:29.png", // small + //"/tmp/bug.png", + "/home/gabm/Pictures/Screenshots/satty-20240219-14:19:29.png", // small //"/home/gabm/Pictures/Screenshots/satty-20240109-22:19:08.png", // big //"--fullscreen", "--output-filename", diff --git a/Cargo.lock b/Cargo.lock index 6fe803a..2e322aa 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -82,9 +82,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.80" +version = "1.0.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ad32ce52e4161730f7098c077cd2ed6229b5804ccf99e5366be1ab72a98b4e1" +checksum = "0952808a6c2afd1aa8947271f3a60f1a6763c7b912d210184c5149b5cf147247" [[package]] name = "arrayvec" @@ -92,17 +92,6 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" -[[package]] -name = "async-trait" -version = "0.1.77" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.52", -] - [[package]] name = "autocfg" version = "1.1.0" @@ -138,15 +127,15 @@ checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" [[package]] name = "bumpalo" -version = "3.15.3" +version = "3.15.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ea184aa71bb362a1157c896979544cc23974e08fd265f29ea96b59f0b4a555b" +checksum = "7ff69b9dd49fd426c69a0db9fc04dd934cdb6645ff000864d98f7e2af8830eaa" [[package]] name = "bytemuck" -version = "1.14.3" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2ef034f05691a48569bd920a96c81b9d91bbad1ab5ac7c4616c1f6ef36cb79f" +checksum = "5d6d68c57235a3a081186990eca2867354726650f42f7516ca50c28d6281fd15" [[package]] name = "byteorder" @@ -162,34 +151,33 @@ checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" [[package]] name = "cairo-rs" -version = "0.17.10" +version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab3603c4028a5e368d09b51c8b624b9a46edcd7c3778284077a6125af73c9f0a" +checksum = "2650f66005301bd33cc486dec076e1293c4cecf768bc7ba9bf5d2b1be339b99c" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.4.2", "cairo-sys-rs", - "glib 0.17.10", + "glib", "libc", - "once_cell", "thiserror", ] [[package]] name = "cairo-sys-rs" -version = "0.17.10" +version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "691d0c66b1fb4881be80a760cb8fe76ea97218312f9dfe2c9cc0f496ca279cb1" +checksum = "fd3bb3119664efbd78b5e6c93957447944f16bdbced84c17a9f41c7829b81e64" dependencies = [ - "glib-sys 0.17.10", + "glib-sys", "libc", "system-deps", ] [[package]] name = "cc" -version = "1.0.89" +version = "1.0.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0ba8f7aaa012f30d5b2861462f6708eccd49c3c39863fe083a308035f63d723" +checksum = "8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5" [[package]] name = "cfg-expr" @@ -209,9 +197,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.34" +version = "0.4.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bc015644b92d5890fab7489e49d21f879d5c990186827d42ec511919404f38b" +checksum = "8eaf5903dcbc0a39312feb77df2ff4c76387d591b9fc7b04a238dcf8bb62639a" dependencies = [ "android-tzdata", "iana-time-zone", @@ -223,9 +211,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.1" +version = "4.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c918d541ef2913577a0f9566e9ce27cb35b6df072075769e0b26cb5a554520da" +checksum = "b230ab84b0ffdf890d5a10abdbc8b83ae1c4918275daea1ab8801f71536b2651" dependencies = [ "clap_builder", "clap_derive", @@ -233,9 +221,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.1" +version = "4.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f3e7391dad68afb0c2ede1bf619f579a3dc9c2ec67f089baa397123a2f3d1eb" +checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4" dependencies = [ "anstream", "anstyle", @@ -379,14 +367,13 @@ dependencies = [ [[package]] name = "flume" -version = "0.10.14" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1657b4441c3403d9f7b3409e47575237dac27b1b5726df654a6ecbf92f0f7577" +checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181" dependencies = [ "futures-core", "futures-sink", "nanorand", - "pin-project", "spin", ] @@ -493,58 +480,55 @@ dependencies = [ [[package]] name = "gdk-pixbuf" -version = "0.17.10" +version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "695d6bc846438c5708b07007537b9274d883373dd30858ca881d7d71b5540717" +checksum = "f6a23f8a0b5090494fd04924662d463f8386cc678dd3915015a838c1a3679b92" dependencies = [ - "bitflags 1.3.2", "gdk-pixbuf-sys", "gio", - "glib 0.17.10", + "glib", "libc", - "once_cell", ] [[package]] name = "gdk-pixbuf-sys" -version = "0.17.10" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9285ec3c113c66d7d0ab5676599176f1f42f4944ca1b581852215bf5694870cb" +checksum = "3dcbd04c1b2c4834cc008b4828bc917d062483b88d26effde6342e5622028f96" dependencies = [ - "gio-sys 0.17.10", - "glib-sys 0.17.10", - "gobject-sys 0.17.10", + "gio-sys", + "glib-sys", + "gobject-sys", "libc", "system-deps", ] [[package]] name = "gdk4" -version = "0.6.3" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3abf96408a26e3eddf881a7f893a1e111767137136e347745e8ea6ed12731ff" +checksum = "9100b25604183f2fd97f55ef087fae96ab4934d7215118a35303e422688e6e4b" dependencies = [ - "bitflags 1.3.2", "cairo-rs", "gdk-pixbuf", "gdk4-sys", "gio", - "glib 0.17.10", + "glib", "libc", "pango", ] [[package]] name = "gdk4-sys" -version = "0.6.3" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bc92aa1608c089c49393d014c38ac0390d01e4841e1fedaa75dbcef77aaed64" +checksum = "d0b76874c40bb8d1c7d03a7231e23ac75fa577a456cd53af32ec17ec8f121626" dependencies = [ "cairo-sys-rs", "gdk-pixbuf-sys", - "gio-sys 0.17.10", - "glib-sys 0.17.10", - "gobject-sys 0.17.10", + "gio-sys", + "glib-sys", + "gobject-sys", "libc", "pango-sys", "pkg-config", @@ -581,45 +565,30 @@ checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" [[package]] name = "gio" -version = "0.17.10" +version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6973e92937cf98689b6a054a9e56c657ed4ff76de925e36fc331a15f0c5d30a" +checksum = "2eae10b27b6dd27e22ed0d812c6387deba295e6fc004a8b379e459b663b05a02" dependencies = [ - "bitflags 1.3.2", "futures-channel", "futures-core", "futures-io", "futures-util", - "gio-sys 0.17.10", - "glib 0.17.10", + "gio-sys", + "glib", "libc", - "once_cell", "pin-project-lite", "smallvec", "thiserror", ] -[[package]] -name = "gio-sys" -version = "0.17.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ccf87c30a12c469b6d958950f6a9c09f2be20b7773f7e70d20b867fdf2628c3" -dependencies = [ - "glib-sys 0.17.10", - "gobject-sys 0.17.10", - "libc", - "system-deps", - "winapi", -] - [[package]] name = "gio-sys" version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bcf8e1d9219bb294636753d307b030c1e8a032062cba74f493c431a5c8b81ce4" dependencies = [ - "glib-sys 0.19.0", - "gobject-sys 0.19.0", + "glib-sys", + "gobject-sys", "libc", "system-deps", "windows-sys 0.52.0", @@ -636,29 +605,6 @@ dependencies = [ "xml-rs", ] -[[package]] -name = "glib" -version = "0.17.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3fad45ba8d4d2cea612b432717e834f48031cd8853c8aaf43b2c79fec8d144b" -dependencies = [ - "bitflags 1.3.2", - "futures-channel", - "futures-core", - "futures-executor", - "futures-task", - "futures-util", - "gio-sys 0.17.10", - "glib-macros 0.17.10", - "glib-sys 0.17.10", - "gobject-sys 0.17.10", - "libc", - "memchr", - "once_cell", - "smallvec", - "thiserror", -] - [[package]] name = "glib" version = "0.19.2" @@ -671,31 +617,16 @@ dependencies = [ "futures-executor", "futures-task", "futures-util", - "gio-sys 0.19.0", - "glib-macros 0.19.2", - "glib-sys 0.19.0", - "gobject-sys 0.19.0", + "gio-sys", + "glib-macros", + "glib-sys", + "gobject-sys", "libc", "memchr", "smallvec", "thiserror", ] -[[package]] -name = "glib-macros" -version = "0.17.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eca5c79337338391f1ab8058d6698125034ce8ef31b72a442437fa6c8580de26" -dependencies = [ - "anyhow", - "heck", - "proc-macro-crate 1.3.1", - "proc-macro-error", - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "glib-macros" version = "0.19.2" @@ -709,16 +640,6 @@ dependencies = [ "syn 2.0.52", ] -[[package]] -name = "glib-sys" -version = "0.17.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d80aa6ea7bba0baac79222204aa786a6293078c210abe69ef1336911d4bdc4f0" -dependencies = [ - "libc", - "system-deps", -] - [[package]] name = "glib-sys" version = "0.19.0" @@ -741,46 +662,35 @@ dependencies = [ "web-sys", ] -[[package]] -name = "gobject-sys" -version = "0.17.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd34c3317740a6358ec04572c1bcfd3ac0b5b6529275fae255b237b314bb8062" -dependencies = [ - "glib-sys 0.17.10", - "libc", - "system-deps", -] - [[package]] name = "gobject-sys" version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c85e2b1080b9418dd0c58b498da3a5c826030343e0ef07bde6a955d28de54979" dependencies = [ - "glib-sys 0.19.0", + "glib-sys", "libc", "system-deps", ] [[package]] name = "graphene-rs" -version = "0.17.10" +version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "def4bb01265b59ed548b05455040d272d989b3012c42d4c1bbd39083cb9b40d9" +checksum = "99e4d388e96c5f29e2b2f67045d229ddf826d0a8d6d282f94ed3b34452222c91" dependencies = [ - "glib 0.17.10", + "glib", "graphene-sys", "libc", ] [[package]] name = "graphene-sys" -version = "0.17.10" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1856fc817e6a6675e36cea0bd9a3afe296f5d9709d1e2d3182803ac77f0ab21d" +checksum = "236ed66cc9b18d8adf233716f75de803d0bf6fc806f60d14d948974a12e240d0" dependencies = [ - "glib-sys 0.17.10", + "glib-sys", "libc", "pkg-config", "system-deps", @@ -788,14 +698,13 @@ dependencies = [ [[package]] name = "gsk4" -version = "0.6.3" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f01ef44fa7cac15e2da9978529383e6bee03e570ba5bf7036b4c10a15cc3a3c" +checksum = "c65036fc8f99579e8cb37b12487969b707ab23ec8ab953682ff347cbd15d396e" dependencies = [ - "bitflags 1.3.2", "cairo-rs", "gdk4", - "glib 0.17.10", + "glib", "graphene-rs", "gsk4-sys", "libc", @@ -804,14 +713,14 @@ dependencies = [ [[package]] name = "gsk4-sys" -version = "0.6.3" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c07a84fb4dcf1323d29435aa85e2f5f58bef564342bef06775ec7bd0da1f01b0" +checksum = "bd24c814379f9c3199dc53e52253ee8d0f657eae389ab282c330505289d24738" dependencies = [ "cairo-sys-rs", "gdk4-sys", - "glib-sys 0.17.10", - "gobject-sys 0.17.10", + "glib-sys", + "gobject-sys", "graphene-sys", "libc", "pango-sys", @@ -820,35 +729,33 @@ dependencies = [ [[package]] name = "gtk4" -version = "0.6.6" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b28a32a04cd75cef14a0983f8b0c669e0fe152a0a7725accdeb594e2c764c88b" +checksum = "aa82753b8c26277e4af1446c70e35b19aad4fb794a7b143859e7eeb9a4025d83" dependencies = [ - "bitflags 1.3.2", "cairo-rs", "field-offset", "futures-channel", "gdk-pixbuf", "gdk4", "gio", - "glib 0.17.10", + "glib", "graphene-rs", "gsk4", "gtk4-macros", "gtk4-sys", "libc", - "once_cell", "pango", ] [[package]] name = "gtk4-macros" -version = "0.6.6" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a4d6b61570f76d3ee542d984da443b1cd69b6105264c61afec3abed08c2500f" +checksum = "40300bf071d2fcd4c94eacc09e84ec6fe73129d2ceb635cf7e55b026b5443567" dependencies = [ "anyhow", - "proc-macro-crate 1.3.1", + "proc-macro-crate 3.1.0", "proc-macro-error", "proc-macro2", "quote", @@ -857,16 +764,16 @@ dependencies = [ [[package]] name = "gtk4-sys" -version = "0.6.3" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f8283f707b07e019e76c7f2934bdd4180c277e08aa93f4c0d8dd07b7a34e22f" +checksum = "0db1b104138f087ccdc81d2c332de5dd049b89de3d384437cc1093b17cd2da18" dependencies = [ "cairo-sys-rs", "gdk-pixbuf-sys", "gdk4-sys", - "gio-sys 0.17.10", - "glib-sys 0.17.10", - "gobject-sys 0.17.10", + "gio-sys", + "glib-sys", + "gobject-sys", "graphene-sys", "gsk4-sys", "libc", @@ -876,14 +783,12 @@ dependencies = [ [[package]] name = "gvdb" -version = "0.4.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7139233c0ecb66f285c47a3c1c02b35c8d52a42ca4c7448d0163e5637bb4bd3" +checksum = "0bb9136c388a1e7b3017d18fe7c2f263b0a2b13f215c48e8eb44935d413ce0f9" dependencies = [ "byteorder", "flate2", - "lazy_static", - "memmap2", "quick-xml", "safe-transmute", "serde", @@ -980,9 +885,9 @@ checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" [[package]] name = "js-sys" -version = "0.3.68" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee" +checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" dependencies = [ "wasm-bindgen", ] @@ -1001,15 +906,14 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libadwaita" -version = "0.4.4" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ab9c0843f9f23ff25634df2743690c3a1faffe0a190e60c490878517eb81abf" +checksum = "91b4990248b9e1ec5e72094a2ccaea70ec3809f88f6fd52192f2af306b87c5d9" dependencies = [ - "bitflags 1.3.2", "gdk-pixbuf", "gdk4", "gio", - "glib 0.17.10", + "glib", "gtk4", "libadwaita-sys", "libc", @@ -1018,14 +922,14 @@ dependencies = [ [[package]] name = "libadwaita-sys" -version = "0.4.4" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4231cb2499a9f0c4cdfa4885414b33e39901ddcac61150bc0bb4ff8a57ede404" +checksum = "23a748e4e92be1265cd9e93d569c0b5dfc7814107985aa6743d670ab281ea1a8" dependencies = [ "gdk4-sys", - "gio-sys 0.17.10", - "glib-sys 0.17.10", - "gobject-sys 0.17.10", + "gio-sys", + "glib-sys", + "gobject-sys", "gtk4-sys", "libc", "pango-sys", @@ -1040,9 +944,9 @@ checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" [[package]] name = "libloading" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2caa5afb8bf9f3a2652760ce7d4f62d21c4d5a423e68466fca30df82f2330164" +checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19" dependencies = [ "cfg-if", "windows-targets 0.52.4", @@ -1076,15 +980,6 @@ version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" -[[package]] -name = "memmap2" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f49388d20533534cd19360ad3d6a7dadc885944aa802ba3995040c5ec11288c6" -dependencies = [ - "libc", -] - [[package]] name = "memoffset" version = "0.9.0" @@ -1159,26 +1054,24 @@ checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] name = "pango" -version = "0.17.10" +version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35be456fc620e61f62dff7ff70fbd54dcbaf0a4b920c0f16de1107c47d921d48" +checksum = "7809e8af4df8d024a066106b72ca6bc7253a484ae3867041a96103ef8a13188d" dependencies = [ - "bitflags 1.3.2", "gio", - "glib 0.17.10", + "glib", "libc", - "once_cell", "pango-sys", ] [[package]] name = "pango-sys" -version = "0.17.10" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3da69f9f3850b0d8990d462f8c709561975e95f689c1cdf0fecdebde78b35195" +checksum = "f52ef6a881c19fbfe3b1484df5cad411acaaba29dbec843941c3110d19f340ea" dependencies = [ - "glib-sys 0.17.10", - "gobject-sys 0.17.10", + "glib-sys", + "gobject-sys", "libc", "system-deps", ] @@ -1206,26 +1099,6 @@ dependencies = [ "windows-targets 0.48.5", ] -[[package]] -name = "pin-project" -version = "1.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0302c4a0442c456bd56f841aee5c3bfd17967563f6fadc9ceb9f9c23cf3807e0" -dependencies = [ - "pin-project-internal", -] - -[[package]] -name = "pin-project-internal" -version = "1.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "266c042b60c9c76b8d53061e52b2e0d1116abc57cefc8c5cd671619a56ac3690" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.52", -] - [[package]] name = "pin-project-lite" version = "0.2.13" @@ -1295,18 +1168,18 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.78" +version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" +checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e" dependencies = [ "unicode-ident", ] [[package]] name = "quick-xml" -version = "0.29.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81b9228215d82c7b61490fec1de287136b5de6f5700f6e58ea9ad61a7964ca51" +checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33" dependencies = [ "memchr", "serde", @@ -1362,11 +1235,10 @@ dependencies = [ [[package]] name = "relm4" -version = "0.6.2" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c16f3fad883034773b7f5af4d7e865532b8f3641e5a8bab2a34561a8d960d81" +checksum = "e6e0e187b58db367305e8486d3228158251da1c8ba1e18baa9de61894e822649" dependencies = [ - "async-trait", "flume", "fragile", "futures", @@ -1380,19 +1252,21 @@ dependencies = [ [[package]] name = "relm4-icons" -version = "0.6.0" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e28bcc718a587bcfa31b034e0b8f4efe5b70e945b7de9d7d154b45357a0dadc" +checksum = "8603f50e9ed5ca2e3759a9c6033e4058c7b984f1bd22b1fc3b1a162c5612eb64" dependencies = [ "gtk4", "gvdb", + "serde", + "toml", ] [[package]] name = "relm4-macros" -version = "0.6.2" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9340e2553c0a184a80a0bfa1dcf73c47f3d48933aa6be90724b202f9fbd24735" +checksum = "0774e846889823aa5766f5b62cface3189a5b36280e65b2faaa6df0319da1726" dependencies = [ "proc-macro2", "quote", @@ -1479,8 +1353,8 @@ dependencies = [ "epoxy", "femtovg", "gdk-pixbuf", - "glib 0.19.2", - "glib-macros 0.19.2", + "glib", + "glib-macros", "glow", "hex_color", "libloading", @@ -1645,9 +1519,9 @@ dependencies = [ [[package]] name = "system-deps" -version = "6.2.0" +version = "6.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a2d580ff6a20c55dfb86be5f9c238f67835d0e81cbdea8bf5680e0897320331" +checksum = "e8e9199467bcbc77c6a13cc6e32a6af21721ab8c96aa0261856c4fda5a4433f0" dependencies = [ "cfg-expr", "heck", @@ -1664,18 +1538,18 @@ checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f" [[package]] name = "thiserror" -version = "1.0.57" +version = "1.0.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b" +checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.57" +version = "1.0.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81" +checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7" dependencies = [ "proc-macro2", "quote", @@ -1714,14 +1588,14 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.10" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a9aad4a3066010876e8dcf5a8a06e70a558751117a145c6ce2b82c2e2054290" +checksum = "af06656561d28735e9c1cd63dfd57132c8155426aa6af24f36a00a351f88c48e" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.6", + "toml_edit 0.22.7", ] [[package]] @@ -1757,9 +1631,9 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.22.6" +version = "0.22.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c1b5fd4128cc8d3e0cb74d4ed9a9cc7c7284becd4df68f5f940e1ad123606f6" +checksum = "18769cd1cec395d70860ceb4d932812a0b4d06b1a4bb336745a4d21b9496e992" dependencies = [ "indexmap", "serde", @@ -1883,9 +1757,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.91" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f" +checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -1893,9 +1767,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.91" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b" +checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" dependencies = [ "bumpalo", "log", @@ -1908,9 +1782,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.91" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed" +checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -1918,9 +1792,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.91" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66" +checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", @@ -1931,15 +1805,15 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.91" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838" +checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" [[package]] name = "web-sys" -version = "0.3.68" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96565907687f7aceb35bc5fc03770a8a0471d82e479f25832f54a0e3f4b28446" +checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" dependencies = [ "js-sys", "wasm-bindgen", diff --git a/Cargo.toml b/Cargo.toml index 13da891..a87acb9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,9 +18,9 @@ include = [ [dependencies] -relm4 = { version = "0.6.2", features = ["macros", "libadwaita", "gnome_42"] } +relm4 = { version = "0.8", features = ["macros", "libadwaita", "gnome_42"] } tokio = { version = "1.32.0", features = ["full"] } -gdk-pixbuf = "0.17.2" +gdk-pixbuf = "0.19.2" # error handling anyhow = "1.0" @@ -47,25 +47,8 @@ glib = "0.19.2" resource = "0.5.0" # font emedding [dependencies.relm4-icons] -version = "0.6.0" -features = [ - "pen-regular", - "color-regular", - "cursor-regular", - "number-circle-1-regular", - "drop-regular", - "arrow-redo-filled", - "arrow-undo-filled", - "save-regular", - "copy-regular", - "text-case-title-regular", - "text-font-regular", - "minus-large", - "checkbox-unchecked-regular", - "crop-filled", - "arrow-up-right-filled", - "rectangle-landscape-regular", -] +version = "0.8.2" + [build-dependencies] clap = { version = "4.4.10", features = ["derive"] } diff --git a/icons.toml b/icons.toml new file mode 100644 index 0000000..cd41309 --- /dev/null +++ b/icons.toml @@ -0,0 +1,19 @@ +#app_id = "com.gabm.satty" +icons = [ + "pen-regular", + "color-regular", + "cursor-regular", + "number-circle-1-regular", + "drop-regular", + "arrow-redo-filled", + "arrow-undo-filled", + "save-regular", + "copy-regular", + "text-case-title-regular", + "text-font-regular", + "minus-large", + "checkbox-unchecked-regular", + "crop-filled", + "arrow-up-right-filled", + "rectangle-landscape-regular", +] \ No newline at end of file diff --git a/src/femtovg_area/imp.rs b/src/femtovg_area/imp.rs index 8bc1134..7d7b0c1 100644 --- a/src/femtovg_area/imp.rs +++ b/src/femtovg_area/imp.rs @@ -89,7 +89,7 @@ impl GLAreaImpl for FemtoVGArea { .expect("Did you call init before using FemtoVgArea?") .update_transformation(canvas); } - fn render(&self, _context: >k::gdk::GLContext) -> bool { + fn render(&self, _context: >k::gdk::GLContext) -> glib::Propagation { self.ensure_canvas(); let mut bc = self.canvas.borrow_mut(); @@ -109,7 +109,7 @@ impl GLAreaImpl for FemtoVGArea { Ok(t) => t, Err(e) => { println!("Error while rendering image: {e}"); - return false; + return glib::Propagation::Stop; } }; @@ -131,7 +131,7 @@ impl GLAreaImpl for FemtoVGArea { { println!("Error rendering to framebuffer: {e}"); } - false + glib::Propagation::Stop } } impl FemtoVGArea { diff --git a/src/main.rs b/src/main.rs index 06e36c6..a2967ba 100644 --- a/src/main.rs +++ b/src/main.rs @@ -8,7 +8,7 @@ use gtk::prelude::*; use relm4::gtk::gdk::Rectangle; use relm4::{ - gtk::{self, gdk::DisplayManager, CssProvider, Inhibit, Window}, + gtk::{self, gdk::DisplayManager, CssProvider, Window}, Component, ComponentController, ComponentParts, ComponentSender, Controller, RelmApp, }; @@ -52,11 +52,12 @@ enum AppCommandOutput { impl App { fn get_monitor_size(root: &Window) -> Option { - let surface = root.surface(); - DisplayManager::get() - .default_display() - .and_then(|display| display.monitor_at_surface(&surface)) - .map(|monitor| monitor.geometry()) + root.surface().and_then(|surface| { + DisplayManager::get() + .default_display() + .and_then(|display| display.monitor_at_surface(&surface)) + .map(|monitor| monitor.geometry()) + }) } fn resize_window_initial(&self, root: &Window, sender: ComponentSender) { @@ -165,7 +166,7 @@ impl Component for App { } else { sketch_board_sender.emit(SketchBoardInput::new_key_event(KeyEventMsg::new(key, code, modifier))); } - Inhibit(false) + glib::Propagation::Stop }, #[wrap(Some)] @@ -219,7 +220,7 @@ impl Component for App { fn init( image: Self::Init, - root: &Self::Root, + root: Self::Root, sender: ComponentSender, ) -> ComponentParts { Self::apply_style(); diff --git a/src/sketch_board.rs b/src/sketch_board.rs index 8b4afe4..fec1f71 100644 --- a/src/sketch_board.rs +++ b/src/sketch_board.rs @@ -470,7 +470,7 @@ impl Component for SketchBoard { fn init( image: Self::Init, - root: &Self::Root, + root: Self::Root, sender: ComponentSender, ) -> ComponentParts { let config = APP_CONFIG.read(); diff --git a/src/style.rs b/src/style.rs index aad53a1..c2f1a25 100644 --- a/src/style.rs +++ b/src/style.rs @@ -2,9 +2,10 @@ use std::borrow::Cow; use femtovg::Paint; use gdk_pixbuf::{ - glib::{FromVariant, Variant, VariantTy}, + glib::{Variant, VariantTy}, prelude::{StaticVariantType, ToVariant}, }; +use glib::variant::FromVariant; use hex_color::HexColor; use relm4::gtk::gdk::RGBA; diff --git a/src/tools/mod.rs b/src/tools/mod.rs index 0b7543e..3b010bd 100644 --- a/src/tools/mod.rs +++ b/src/tools/mod.rs @@ -3,10 +3,11 @@ use std::{borrow::Cow, cell::RefCell, collections::HashMap, fmt::Debug, rc::Rc}; use anyhow::Result; use femtovg::{renderer::OpenGl, Canvas, FontId}; use gdk_pixbuf::{ - glib::{FromVariant, Variant, VariantTy}, + glib::{Variant, VariantTy}, prelude::{StaticVariantType, ToVariant}, }; +use glib::variant::FromVariant; use serde_derive::Deserialize; use crate::{ diff --git a/src/ui/toast.rs b/src/ui/toast.rs index a5f88d5..fb920b7 100644 --- a/src/ui/toast.rs +++ b/src/ui/toast.rs @@ -80,7 +80,7 @@ impl Component for Toast { fn init( timeout: Self::Init, - root: &Self::Root, + root: Self::Root, _sender: ComponentSender, ) -> ComponentParts { let model = Self { diff --git a/src/ui/toolbars.rs b/src/ui/toolbars.rs index 0dbf3c8..333b88f 100644 --- a/src/ui/toolbars.rs +++ b/src/ui/toolbars.rs @@ -8,7 +8,7 @@ use crate::{ use gdk_pixbuf::{ gio::SimpleAction, - glib::{FromVariant, Variant, VariantTy}, + glib::{Variant, VariantTy}, Pixbuf, }; use relm4::{ @@ -205,7 +205,7 @@ impl SimpleComponent for ToolsToolbar { fn init( _: Self::Init, - root: &Self::Root, + root: Self::Root, sender: ComponentSender, ) -> ComponentParts { let model = ToolsToolbar { @@ -431,7 +431,7 @@ impl Component for StyleToolbar { } fn init( _: Self::Init, - root: &Self::Root, + root: Self::Root, sender: ComponentSender, ) -> ComponentParts { // Color Action for selecting colors