feat: use dbus-config to watch for config updates

This commit is contained in:
Michael Aaron Murphy 2024-03-26 23:32:03 +01:00 committed by Michael Murphy
parent 9a734a81f8
commit 4f9ce0f6f8
3 changed files with 176 additions and 136 deletions

260
Cargo.lock generated
View file

@ -196,9 +196,9 @@ checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110"
[[package]]
name = "arc-swap"
version = "1.7.0"
version = "1.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7b3d0060af21e8d11a926981cc00c6c1541aa91dd64b9f881985c3da1094425f"
checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457"
[[package]]
name = "arg_enum_proc_macro"
@ -208,7 +208,7 @@ checksum = "0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.53",
"syn 2.0.55",
]
[[package]]
@ -308,7 +308,7 @@ dependencies = [
"async-lock 3.3.0",
"async-task",
"concurrent-queue",
"fastrand 2.0.1",
"fastrand 2.0.2",
"futures-lite 2.3.0",
"slab",
]
@ -357,7 +357,7 @@ dependencies = [
"futures-io",
"futures-lite 2.3.0",
"parking",
"polling 3.5.0",
"polling 3.6.0",
"rustix 0.38.32",
"slab",
"tracing",
@ -409,7 +409,7 @@ checksum = "30c5ef0ede93efbf733c1a727f3b6b5a1060bbedd5600183e66f6e4be4af0ec5"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.53",
"syn 2.0.55",
]
[[package]]
@ -438,13 +438,13 @@ checksum = "fbb36e985947064623dbd357f727af08ffd077f93d696782f3c56365fa2e2799"
[[package]]
name = "async-trait"
version = "0.1.78"
version = "0.1.79"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "461abc97219de0eaaf81fe3ef974a540158f3d079c2ab200f891f1a2ef201e85"
checksum = "a507401cad91ec6a857ed5513a2073c82a9b9048762b885bb98655b306964681"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.53",
"syn 2.0.55",
]
[[package]]
@ -525,9 +525,9 @@ dependencies = [
[[package]]
name = "autocfg"
version = "1.1.0"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80"
[[package]]
name = "av1-grain"
@ -554,9 +554,9 @@ dependencies = [
[[package]]
name = "backtrace"
version = "0.3.69"
version = "0.3.71"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d"
dependencies = [
"addr2line",
"cc",
@ -651,7 +651,7 @@ dependencies = [
"async-channel",
"async-lock 3.3.0",
"async-task",
"fastrand 2.0.1",
"fastrand 2.0.2",
"futures-io",
"futures-lite 2.3.0",
"piper",
@ -660,9 +660,9 @@ dependencies = [
[[package]]
name = "borsh"
version = "1.3.1"
version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f58b559fd6448c6e2fd0adb5720cd98a2506594cafa4737ff98c396f3e82f667"
checksum = "0901fc8eb0aca4c83be0106d6f2db17d86a08dfc2c25f0e84464bf381158add6"
dependencies = [
"borsh-derive",
"cfg_aliases 0.1.1",
@ -670,15 +670,15 @@ dependencies = [
[[package]]
name = "borsh-derive"
version = "1.3.1"
version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7aadb5b6ccbd078890f6d7003694e33816e6b784358f18e15e7e6d9f065a57cd"
checksum = "51670c3aa053938b0ee3bd67c3817e471e626151131b934038e83c5bf8de48f5"
dependencies = [
"once_cell",
"proc-macro-crate 3.1.0",
"proc-macro2",
"quote",
"syn 2.0.53",
"syn 2.0.55",
"syn_derive",
]
@ -744,7 +744,7 @@ checksum = "4da9a32f3fed317401fa3c862968128267c3106685286e15d5aaa3d7389c2f60"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.53",
"syn 2.0.55",
]
[[package]]
@ -755,9 +755,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
[[package]]
name = "bytes"
version = "1.5.0"
version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9"
[[package]]
name = "cairo-sys-rs"
@ -787,7 +787,21 @@ checksum = "fba7adb4dd5aa98e5553510223000e7148f621165ec5f9acd7113f6ca4995298"
dependencies = [
"bitflags 2.5.0",
"log",
"polling 3.5.0",
"polling 3.6.0",
"rustix 0.38.32",
"slab",
"thiserror",
]
[[package]]
name = "calloop"
version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b99da2f8558ca23c71f4fd15dc57c906239752dd27ff3c00a1d56b685b7cbfec"
dependencies = [
"bitflags 2.5.0",
"log",
"polling 3.6.0",
"rustix 0.38.32",
"slab",
"thiserror",
@ -799,7 +813,7 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0f0ea9b9476c7fad82841a8dbb380e2eae480c21910feba80725b46931ed8f02"
dependencies = [
"calloop",
"calloop 0.12.4",
"rustix 0.38.32",
"wayland-backend",
"wayland-client",
@ -870,9 +884,9 @@ dependencies = [
[[package]]
name = "clap"
version = "4.5.3"
version = "4.5.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "949626d00e063efc93b6dca932419ceb5432f99769911c0b995f7e884c778813"
checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0"
dependencies = [
"clap_builder",
"clap_derive",
@ -892,14 +906,14 @@ dependencies = [
[[package]]
name = "clap_derive"
version = "4.5.3"
version = "4.5.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "90239a040c80f5e14809ca132ddc4176ab33d5e17e49691793296e3fcb34d72f"
checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64"
dependencies = [
"heck 0.5.0",
"proc-macro2",
"quote",
"syn 2.0.53",
"syn 2.0.55",
]
[[package]]
@ -1185,9 +1199,10 @@ dependencies = [
[[package]]
name = "cosmic-client-toolkit"
version = "0.1.0"
source = "git+https://github.com/pop-os/cosmic-protocols?rev=e65fa5e#e65fa5e2bb47e51656221657049bd3f88ae9dae5"
source = "git+https://github.com/pop-os/cosmic-protocols?rev=1cc4a13#1cc4a1393d0f8be4d444666e260fdb811b400f49"
dependencies = [
"cosmic-protocols",
"libc",
"smithay-client-toolkit 0.18.0",
"wayland-client",
]
@ -1195,7 +1210,7 @@ dependencies = [
[[package]]
name = "cosmic-comp-config"
version = "0.1.0"
source = "git+https://github.com/pop-os/cosmic-comp#658a88da8c767527f27a006ba9422640ed6fda44"
source = "git+https://github.com/pop-os/cosmic-comp#cf75bc1952db0fa3edf0235df73a5a6b768b9baf"
dependencies = [
"cosmic-config",
"input",
@ -1205,12 +1220,14 @@ dependencies = [
[[package]]
name = "cosmic-config"
version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#1575aa267cc5cd69ac65cfbe09fc7c4212d18e3a"
source = "git+https://github.com/pop-os/libcosmic#cc439b2ceaf41226ab86416ae0ad3651c9a6e10a"
dependencies = [
"atomicwrites",
"calloop",
"calloop 0.13.0",
"cosmic-config-derive",
"cosmic-settings-daemon",
"dirs 5.0.1",
"futures-util",
"iced_futures",
"known-folders",
"notify",
@ -1218,12 +1235,13 @@ dependencies = [
"ron",
"serde",
"xdg",
"zbus",
]
[[package]]
name = "cosmic-config-derive"
version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#1575aa267cc5cd69ac65cfbe09fc7c4212d18e3a"
source = "git+https://github.com/pop-os/libcosmic#cc439b2ceaf41226ab86416ae0ad3651c9a6e10a"
dependencies = [
"quote",
"syn 1.0.109",
@ -1232,7 +1250,7 @@ dependencies = [
[[package]]
name = "cosmic-panel-config"
version = "0.1.0"
source = "git+https://github.com/pop-os/cosmic-panel#3aad7907ee6b5506cf800c2a838176bacfcfa8ad"
source = "git+https://github.com/pop-os/cosmic-panel#02f19e38d78c6727921387563883f68d0a9c1584"
dependencies = [
"anyhow",
"cosmic-config",
@ -1247,7 +1265,7 @@ dependencies = [
[[package]]
name = "cosmic-protocols"
version = "0.1.0"
source = "git+https://github.com/pop-os/cosmic-protocols?rev=e65fa5e#e65fa5e2bb47e51656221657049bd3f88ae9dae5"
source = "git+https://github.com/pop-os/cosmic-protocols?rev=1cc4a13#1cc4a1393d0f8be4d444666e260fdb811b400f49"
dependencies = [
"bitflags 2.5.0",
"wayland-backend",
@ -1312,6 +1330,14 @@ dependencies = [
"url",
]
[[package]]
name = "cosmic-settings-daemon"
version = "0.1.0"
source = "git+https://github.com/pop-os/dbus-settings-bindings?branch=cosmic-settings-daemon#a3c3bc278cee08632d41fbc321b9feeddae197a2"
dependencies = [
"zbus",
]
[[package]]
name = "cosmic-settings-page"
version = "0.1.0"
@ -1368,7 +1394,7 @@ dependencies = [
[[package]]
name = "cosmic-text"
version = "0.11.2"
source = "git+https://github.com/pop-os/cosmic-text.git#b08676909f882f553ab574601b35b58276a52458"
source = "git+https://github.com/pop-os/cosmic-text.git#ff5501d9a36e51c50d908413caf7632d8f7533b7"
dependencies = [
"bitflags 2.5.0",
"fontdb",
@ -1390,7 +1416,7 @@ dependencies = [
[[package]]
name = "cosmic-theme"
version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#1575aa267cc5cd69ac65cfbe09fc7c4212d18e3a"
source = "git+https://github.com/pop-os/libcosmic#cc439b2ceaf41226ab86416ae0ad3651c9a6e10a"
dependencies = [
"almost",
"cosmic-config",
@ -1494,7 +1520,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ad291aa74992b9b7a7e88c38acbbf6ad7e107f1d90ee8775b7bc1fc3394f485c"
dependencies = [
"quote",
"syn 2.0.53",
"syn 2.0.55",
]
[[package]]
@ -1534,7 +1560,7 @@ dependencies = [
"proc-macro2",
"quote",
"strsim 0.10.0",
"syn 2.0.53",
"syn 2.0.55",
]
[[package]]
@ -1545,7 +1571,7 @@ checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f"
dependencies = [
"darling_core",
"quote",
"syn 2.0.53",
"syn 2.0.55",
]
[[package]]
@ -1587,7 +1613,7 @@ dependencies = [
"darling",
"proc-macro2",
"quote",
"syn 2.0.53",
"syn 2.0.55",
]
[[package]]
@ -1655,7 +1681,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.53",
"syn 2.0.55",
]
[[package]]
@ -1756,7 +1782,7 @@ checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.53",
"syn 2.0.55",
]
[[package]]
@ -1902,9 +1928,9 @@ dependencies = [
[[package]]
name = "fastrand"
version = "2.0.1"
version = "2.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984"
[[package]]
name = "fdeflate"
@ -2067,7 +2093,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.53",
"syn 2.0.55",
]
[[package]]
@ -2206,7 +2232,7 @@ version = "2.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5"
dependencies = [
"fastrand 2.0.1",
"fastrand 2.0.2",
"futures-core",
"futures-io",
"parking",
@ -2221,7 +2247,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.53",
"syn 2.0.55",
]
[[package]]
@ -2670,7 +2696,7 @@ dependencies = [
"proc-macro2",
"quote",
"strsim 0.10.0",
"syn 2.0.53",
"syn 2.0.55",
"unic-langid",
]
@ -2684,7 +2710,7 @@ dependencies = [
"i18n-config",
"proc-macro2",
"quote",
"syn 2.0.53",
"syn 2.0.55",
]
[[package]]
@ -2713,7 +2739,7 @@ dependencies = [
[[package]]
name = "iced"
version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#1575aa267cc5cd69ac65cfbe09fc7c4212d18e3a"
source = "git+https://github.com/pop-os/libcosmic#cc439b2ceaf41226ab86416ae0ad3651c9a6e10a"
dependencies = [
"iced_accessibility",
"iced_core",
@ -2729,7 +2755,7 @@ dependencies = [
[[package]]
name = "iced_accessibility"
version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#1575aa267cc5cd69ac65cfbe09fc7c4212d18e3a"
source = "git+https://github.com/pop-os/libcosmic#cc439b2ceaf41226ab86416ae0ad3651c9a6e10a"
dependencies = [
"accesskit",
"accesskit_unix",
@ -2738,7 +2764,7 @@ dependencies = [
[[package]]
name = "iced_core"
version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#1575aa267cc5cd69ac65cfbe09fc7c4212d18e3a"
source = "git+https://github.com/pop-os/libcosmic#cc439b2ceaf41226ab86416ae0ad3651c9a6e10a"
dependencies = [
"bitflags 1.3.2",
"iced_accessibility",
@ -2758,7 +2784,7 @@ dependencies = [
[[package]]
name = "iced_futures"
version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#1575aa267cc5cd69ac65cfbe09fc7c4212d18e3a"
source = "git+https://github.com/pop-os/libcosmic#cc439b2ceaf41226ab86416ae0ad3651c9a6e10a"
dependencies = [
"futures",
"iced_core",
@ -2771,7 +2797,7 @@ dependencies = [
[[package]]
name = "iced_graphics"
version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#1575aa267cc5cd69ac65cfbe09fc7c4212d18e3a"
source = "git+https://github.com/pop-os/libcosmic#cc439b2ceaf41226ab86416ae0ad3651c9a6e10a"
dependencies = [
"bitflags 1.3.2",
"bytemuck",
@ -2795,7 +2821,7 @@ dependencies = [
[[package]]
name = "iced_renderer"
version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#1575aa267cc5cd69ac65cfbe09fc7c4212d18e3a"
source = "git+https://github.com/pop-os/libcosmic#cc439b2ceaf41226ab86416ae0ad3651c9a6e10a"
dependencies = [
"iced_graphics",
"iced_tiny_skia",
@ -2807,7 +2833,7 @@ dependencies = [
[[package]]
name = "iced_runtime"
version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#1575aa267cc5cd69ac65cfbe09fc7c4212d18e3a"
source = "git+https://github.com/pop-os/libcosmic#cc439b2ceaf41226ab86416ae0ad3651c9a6e10a"
dependencies = [
"iced_accessibility",
"iced_core",
@ -2820,7 +2846,7 @@ dependencies = [
[[package]]
name = "iced_sctk"
version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#1575aa267cc5cd69ac65cfbe09fc7c4212d18e3a"
source = "git+https://github.com/pop-os/libcosmic#cc439b2ceaf41226ab86416ae0ad3651c9a6e10a"
dependencies = [
"enum-repr",
"float-cmp",
@ -2846,7 +2872,7 @@ dependencies = [
[[package]]
name = "iced_style"
version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#1575aa267cc5cd69ac65cfbe09fc7c4212d18e3a"
source = "git+https://github.com/pop-os/libcosmic#cc439b2ceaf41226ab86416ae0ad3651c9a6e10a"
dependencies = [
"iced_core",
"once_cell",
@ -2856,7 +2882,7 @@ dependencies = [
[[package]]
name = "iced_tiny_skia"
version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#1575aa267cc5cd69ac65cfbe09fc7c4212d18e3a"
source = "git+https://github.com/pop-os/libcosmic#cc439b2ceaf41226ab86416ae0ad3651c9a6e10a"
dependencies = [
"bytemuck",
"cosmic-text",
@ -2873,7 +2899,7 @@ dependencies = [
[[package]]
name = "iced_wgpu"
version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#1575aa267cc5cd69ac65cfbe09fc7c4212d18e3a"
source = "git+https://github.com/pop-os/libcosmic#cc439b2ceaf41226ab86416ae0ad3651c9a6e10a"
dependencies = [
"bitflags 1.3.2",
"bytemuck",
@ -2892,7 +2918,7 @@ dependencies = [
[[package]]
name = "iced_widget"
version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#1575aa267cc5cd69ac65cfbe09fc7c4212d18e3a"
source = "git+https://github.com/pop-os/libcosmic#cc439b2ceaf41226ab86416ae0ad3651c9a6e10a"
dependencies = [
"iced_renderer",
"iced_runtime",
@ -2985,7 +3011,7 @@ checksum = "d2abdd3a62551e8337af119c5899e600ca0c88ec8f23a46c60ba216c803dcf1a"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.53",
"syn 2.0.55",
]
[[package]]
@ -3097,9 +3123,9 @@ checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683"
[[package]]
name = "indexmap"
version = "2.2.5"
version = "2.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7b0b929d511467233429c45a44ac1dcaa21ba0f5ba11e4879e6ed28ddb4f9df4"
checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26"
dependencies = [
"equivalent",
"hashbrown 0.14.3",
@ -3171,7 +3197,7 @@ checksum = "c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.53",
"syn 2.0.55",
]
[[package]]
@ -3221,9 +3247,9 @@ dependencies = [
[[package]]
name = "itoa"
version = "1.0.10"
version = "1.0.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
[[package]]
name = "jobserver"
@ -3348,13 +3374,14 @@ checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
[[package]]
name = "libcosmic"
version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#1575aa267cc5cd69ac65cfbe09fc7c4212d18e3a"
source = "git+https://github.com/pop-os/libcosmic#cc439b2ceaf41226ab86416ae0ad3651c9a6e10a"
dependencies = [
"apply",
"ashpd 0.7.0",
"chrono",
"cosmic-client-toolkit",
"cosmic-config",
"cosmic-settings-daemon",
"cosmic-theme",
"css-color",
"derive_setters",
@ -3620,9 +3647,9 @@ dependencies = [
[[package]]
name = "memoffset"
version = "0.9.0"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
dependencies = [
"autocfg",
]
@ -3662,7 +3689,7 @@ checksum = "49e7bc1560b95a3c4a25d03de42fe76ca718ab92d1a22a55b9b4cf67b3ae635c"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.53",
"syn 2.0.55",
]
[[package]]
@ -3841,7 +3868,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.53",
"syn 2.0.55",
]
[[package]]
@ -3997,7 +4024,7 @@ dependencies = [
"proc-macro-error",
"proc-macro2",
"quote",
"syn 2.0.53",
"syn 2.0.55",
]
[[package]]
@ -4033,7 +4060,7 @@ checksum = "e8890702dbec0bad9116041ae586f84805b13eecd1d8b1df27c29998a9969d6d"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.53",
"syn 2.0.55",
]
[[package]]
@ -4144,7 +4171,7 @@ dependencies = [
"phf_shared",
"proc-macro2",
"quote",
"syn 2.0.53",
"syn 2.0.55",
]
[[package]]
@ -4181,7 +4208,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4"
dependencies = [
"atomic-waker",
"fastrand 2.0.1",
"fastrand 2.0.2",
"futures-io",
]
@ -4222,12 +4249,13 @@ dependencies = [
[[package]]
name = "polling"
version = "3.5.0"
version = "3.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "24f040dee2588b4963afb4e420540439d126f73fdacf4a9c486a96d840bac3c9"
checksum = "e0c976a60b2d7e99d6f229e414670a9b85d13ac305cc6d1e9c134de58c5aaaf6"
dependencies = [
"cfg-if",
"concurrent-queue",
"hermit-abi",
"pin-project-lite",
"rustix 0.38.32",
"tracing",
@ -4314,7 +4342,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8021cf59c8ec9c432cfc2526ac6b8aa508ecaf29cd415f271b8406c1b851c3fd"
dependencies = [
"quote",
"syn 2.0.53",
"syn 2.0.55",
]
[[package]]
@ -4482,9 +4510,9 @@ checksum = "42a9830a0e1b9fb145ebb365b8bc4ccd75f290f98c0247deafbbe2c75cefb544"
[[package]]
name = "rayon"
version = "1.9.0"
version = "1.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e4963ed1bc86e4f3ee217022bd855b297cef07fb9eac5dfa1f788b220b49b3bd"
checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa"
dependencies = [
"either",
"rayon-core",
@ -4546,9 +4574,9 @@ dependencies = [
[[package]]
name = "regex"
version = "1.10.3"
version = "1.10.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c"
dependencies = [
"aho-corasick",
"memchr",
@ -4569,9 +4597,9 @@ dependencies = [
[[package]]
name = "regex-syntax"
version = "0.8.2"
version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56"
[[package]]
name = "rend"
@ -4705,7 +4733,7 @@ dependencies = [
"proc-macro2",
"quote",
"rust-embed-utils",
"syn 2.0.53",
"syn 2.0.55",
"walkdir",
]
@ -4872,14 +4900,14 @@ checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.53",
"syn 2.0.55",
]
[[package]]
name = "serde_json"
version = "1.0.114"
version = "1.0.115"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0"
checksum = "12dc5c46daa8e9fdf4f5e71b6cf9a53f2487da0e86e55808e2d35539666497dd"
dependencies = [
"itoa",
"ryu",
@ -4894,7 +4922,7 @@ checksum = "0b2e6b945e9d3df726b65d6ee24060aff8e3533d431f677a9695db04eff9dfdb"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.53",
"syn 2.0.55",
]
[[package]]
@ -5002,9 +5030,9 @@ dependencies = [
[[package]]
name = "smallvec"
version = "1.13.1"
version = "1.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
[[package]]
name = "smithay-client-toolkit"
@ -5013,7 +5041,7 @@ source = "git+https://github.com/smithay/client-toolkit?rev=2e9bf9f#2e9bf9f31698
dependencies = [
"bitflags 2.5.0",
"bytemuck",
"calloop",
"calloop 0.12.4",
"calloop-wayland-source",
"cursor-icon",
"libc",
@ -5040,7 +5068,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "922fd3eeab3bd820d76537ce8f582b1cf951eceb5475c28500c7457d9d17f53a"
dependencies = [
"bitflags 2.5.0",
"calloop",
"calloop 0.12.4",
"calloop-wayland-source",
"cursor-icon",
"libc",
@ -5108,7 +5136,7 @@ dependencies = [
"cocoa",
"core-graphics",
"drm",
"fastrand 2.0.1",
"fastrand 2.0.2",
"foreign-types",
"js-sys",
"log",
@ -5246,9 +5274,9 @@ dependencies = [
[[package]]
name = "syn"
version = "2.0.53"
version = "2.0.55"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7383cd0e49fff4b6b90ca5670bfd3e9d6a733b3f90c686605aa7eec8c4996032"
checksum = "002a1b3dbf967edfafc32655d0f377ab0bb7b994aa1d32c8cc7e9b8bf3ebb8f0"
dependencies = [
"proc-macro2",
"quote",
@ -5264,7 +5292,7 @@ dependencies = [
"proc-macro-error",
"proc-macro2",
"quote",
"syn 2.0.53",
"syn 2.0.55",
]
[[package]]
@ -5275,7 +5303,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.53",
"syn 2.0.55",
]
[[package]]
@ -5340,9 +5368,9 @@ checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f"
[[package]]
name = "temp-dir"
version = "0.1.12"
version = "0.1.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dd16aa9ffe15fe021c6ee3766772132c6e98dfa395a167e16864f61a9cfb71d6"
checksum = "1f227968ec00f0e5322f9b8173c7a0cbcff6181a0a5b28e9892491c286277231"
[[package]]
name = "tempfile"
@ -5351,7 +5379,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1"
dependencies = [
"cfg-if",
"fastrand 2.0.1",
"fastrand 2.0.2",
"rustix 0.38.32",
"windows-sys 0.52.0",
]
@ -5382,7 +5410,7 @@ checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.53",
"syn 2.0.55",
]
[[package]]
@ -5523,7 +5551,7 @@ dependencies = [
"serde",
"serde_spanned",
"toml_datetime",
"toml_edit 0.22.8",
"toml_edit 0.22.9",
]
[[package]]
@ -5559,9 +5587,9 @@ dependencies = [
[[package]]
name = "toml_edit"
version = "0.22.8"
version = "0.22.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c12219811e0c1ba077867254e5ad62ee2c9c190b0d957110750ac0cda1ae96cd"
checksum = "8e40bb779c5187258fd7aad0eb68cb8706a0a81fa712fbea808ab43c4b8374c4"
dependencies = [
"indexmap",
"serde",
@ -5589,7 +5617,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.53",
"syn 2.0.55",
]
[[package]]
@ -5676,7 +5704,7 @@ version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9"
dependencies = [
"memoffset 0.9.0",
"memoffset 0.9.1",
"tempfile",
"winapi",
]
@ -5938,7 +5966,7 @@ dependencies = [
"once_cell",
"proc-macro2",
"quote",
"syn 2.0.53",
"syn 2.0.55",
"wasm-bindgen-shared",
]
@ -5972,7 +6000,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.53",
"syn 2.0.55",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
@ -6611,7 +6639,7 @@ checksum = "9e6936f0cce458098a201c245a11bef556c6a0181129c7034d10d76d1ec3a2b8"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.53",
"syn 2.0.55",
"synstructure",
]
@ -6705,7 +6733,7 @@ checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.53",
"syn 2.0.55",
]
[[package]]
@ -6725,7 +6753,7 @@ checksum = "e6a647510471d372f2e6c2e6b7219e44d8c574d24fdc11c610a61455782f18c3"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.53",
"syn 2.0.55",
"synstructure",
]
@ -6759,7 +6787,7 @@ checksum = "7b4e5997cbf58990550ef1f0e5124a05e47e1ebd33a84af25739be6031a62c20"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.53",
"syn 2.0.55",
]
[[package]]

View file

@ -6,10 +6,11 @@ rust-version = "1.71.0"
[workspace.dependencies.libcosmic]
git = "https://github.com/pop-os/libcosmic"
features = ["single-instance", "tokio", "wayland", "xdg-portal"]
features = ["dbus-config", "single-instance", "tokio", "wayland", "xdg-portal"]
[workspace.dependencies.cosmic-config]
git = "https://github.com/pop-os/libcosmic"
features = ["dbus"]
[workspace.dependencies.cosmic-bg-config]
git = "https://github.com/pop-os/cosmic-bg"

View file

@ -207,7 +207,8 @@ impl cosmic::Application for SettingsApp {
}
fn subscription(&self) -> Subscription<Message> {
let window_break = event::listen_with(|event, _| match event {
// Handling of Wayland-specific events received.
let wayland_events = event::listen_with(|event, _| match event {
iced::Event::PlatformSpecific(PlatformSpecific::Wayland(wayland::Event::Output(
wayland::OutputEvent::Created(Some(info)),
o,
@ -224,27 +225,37 @@ impl cosmic::Application for SettingsApp {
});
Subscription::batch(vec![
window_break,
wayland_events,
// Watch for changes to installed desktop entries
desktop_files(0).map(|_| Message::DesktopInfo),
config_subscription(0, "com.system76.CosmicPanel.Panel".into(), 1).map(|update| {
for why in update.errors {
tracing::error!(?why, "panel config load error");
}
// Watch for configuration changes to the panel.
self.core()
.watch_config::<CosmicPanelConfig>("com.system76.CosmicPanel.Panel")
.map(|update| {
for why in update.errors {
tracing::error!(?why, "panel config load error");
}
Message::PanelConfig(update.config)
}),
config_subscription(0, "com.system76.CosmicPanel.Dock".into(), 1).map(|update| {
for why in update.errors {
tracing::error!(?why, "dock config load error");
}
Message::PanelConfig(update.config)
}),
// Watch for configuration changes to the dock
self.core()
.watch_config::<CosmicPanelConfig>("com.system76.CosmicPanel.Dock")
.map(|update| {
for why in update.errors {
tracing::error!(?why, "dock config load error");
}
Message::PanelConfig(update.config)
}),
config_state_subscription(0, cosmic_bg_config::NAME.into(), 1).map(|update| {
Message::PageMessage(pages::Message::DesktopWallpaper(
pages::desktop::wallpaper::Message::UpdateState(update.config),
))
}),
Message::PanelConfig(update.config)
}),
// Watch for state changes from the cosmic-bg session service.
self.core()
.watch_state::<cosmic_bg_config::state::State>(cosmic_bg_config::NAME)
.map(|update| {
Message::PageMessage(pages::Message::DesktopWallpaper(
pages::desktop::wallpaper::Message::UpdateState(update.config),
))
}),
])
}