improv(inputs): fix visual style of slider controls

This commit is contained in:
Michael Aaron Murphy 2024-02-21 16:18:57 +01:00 committed by Michael Murphy
parent 9c95e2a7c0
commit 3de1aa31fa
6 changed files with 226 additions and 195 deletions

233
Cargo.lock generated
View file

@ -61,9 +61,9 @@ dependencies = [
[[package]] [[package]]
name = "ahash" name = "ahash"
version = "0.8.8" version = "0.8.9"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "42cd52102d3df161c77a887b608d7a4897d7cc112886a9537b738a887a03aaff" checksum = "d713b3834d76b85304d4d525563c1276e2e30dc97cc67bfb4585a4a29fc2c89f"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
"once_cell", "once_cell",
@ -109,9 +109,9 @@ dependencies = [
[[package]] [[package]]
name = "anstream" name = "anstream"
version = "0.6.11" version = "0.6.12"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e2e1ebcb11de5c03c67de28a7df593d32191b44939c482e97702baaaa6ab6a5" checksum = "96b09b5178381e0874812a9b157f7fe84982617e48f71f4e3235482775e5b540"
dependencies = [ dependencies = [
"anstyle", "anstyle",
"anstyle-parse", "anstyle-parse",
@ -157,9 +157,9 @@ dependencies = [
[[package]] [[package]]
name = "anyhow" name = "anyhow"
version = "1.0.79" version = "1.0.80"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca" checksum = "5ad32ce52e4161730f7098c077cd2ed6229b5804ccf99e5366be1ab72a98b4e1"
[[package]] [[package]]
name = "apply" name = "apply"
@ -247,7 +247,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3" checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3"
dependencies = [ dependencies = [
"concurrent-queue", "concurrent-queue",
"event-listener 5.0.0", "event-listener 5.1.0",
"event-listener-strategy 0.5.0", "event-listener-strategy 0.5.0",
"futures-core", "futures-core",
"pin-project-lite", "pin-project-lite",
@ -311,7 +311,7 @@ dependencies = [
"futures-io", "futures-io",
"futures-lite 2.2.0", "futures-lite 2.2.0",
"parking", "parking",
"polling 3.4.0", "polling 3.5.0",
"rustix 0.38.31", "rustix 0.38.31",
"slab", "slab",
"tracing", "tracing",
@ -363,7 +363,7 @@ checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.48", "syn 2.0.50",
] ]
[[package]] [[package]]
@ -398,7 +398,7 @@ checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.48", "syn 2.0.50",
] ]
[[package]] [[package]]
@ -603,15 +603,15 @@ dependencies = [
"proc-macro-crate 3.1.0", "proc-macro-crate 3.1.0",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.48", "syn 2.0.50",
"syn_derive", "syn_derive",
] ]
[[package]] [[package]]
name = "bumpalo" name = "bumpalo"
version = "3.14.0" version = "3.15.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" checksum = "c764d619ca78fccbf3069b37bd7af92577f044bb15236036662d79b6559f25b7"
[[package]] [[package]]
name = "byte-unit" name = "byte-unit"
@ -663,7 +663,7 @@ checksum = "965ab7eb5f8f97d2a083c799f3a1b994fc397b2fe2da5d1da1626ce15a39f2b1"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.48", "syn 2.0.50",
] ]
[[package]] [[package]]
@ -706,7 +706,7 @@ checksum = "fba7adb4dd5aa98e5553510223000e7148f621165ec5f9acd7113f6ca4995298"
dependencies = [ dependencies = [
"bitflags 2.4.2", "bitflags 2.4.2",
"log", "log",
"polling 3.4.0", "polling 3.5.0",
"rustix 0.38.31", "rustix 0.38.31",
"slab", "slab",
"thiserror", "thiserror",
@ -726,12 +726,9 @@ dependencies = [
[[package]] [[package]]
name = "cc" name = "cc"
version = "1.0.83" version = "1.0.86"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" checksum = "7f9fa1897e4325be0d68d48df6aa1a71ac2ed4d27723887e7754192705350730"
dependencies = [
"libc",
]
[[package]] [[package]]
name = "cfb" name = "cfb"
@ -774,9 +771,9 @@ checksum = "77e53693616d3075149f4ead59bdeecd204ac6b8192d8969757601b74bddf00f"
[[package]] [[package]]
name = "clap" name = "clap"
version = "4.5.0" version = "4.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "80c21025abd42669a92efc996ef13cfb2c5c627858421ea58d5c3b331a6c134f" checksum = "c918d541ef2913577a0f9566e9ce27cb35b6df072075769e0b26cb5a554520da"
dependencies = [ dependencies = [
"clap_builder", "clap_builder",
"clap_derive", "clap_derive",
@ -784,9 +781,9 @@ dependencies = [
[[package]] [[package]]
name = "clap_builder" name = "clap_builder"
version = "4.5.0" version = "4.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "458bf1f341769dfcf849846f65dffdf9146daa56bcd2a47cb4e1de9915567c99" checksum = "9f3e7391dad68afb0c2ede1bf619f579a3dc9c2ec67f089baa397123a2f3d1eb"
dependencies = [ dependencies = [
"anstream", "anstream",
"anstyle", "anstyle",
@ -803,7 +800,7 @@ dependencies = [
"heck", "heck",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.48", "syn 2.0.50",
] ]
[[package]] [[package]]
@ -1062,7 +1059,7 @@ dependencies = [
[[package]] [[package]]
name = "cosmic-comp-config" name = "cosmic-comp-config"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/pop-os/cosmic-comp#d1aac380fff5447a14fa1fc1023ea1078c0226a4" source = "git+https://github.com/pop-os/cosmic-comp#849882a7db8b3d753a4f14410090c691f614e868"
dependencies = [ dependencies = [
"cosmic-config", "cosmic-config",
"input", "input",
@ -1072,7 +1069,7 @@ dependencies = [
[[package]] [[package]]
name = "cosmic-config" name = "cosmic-config"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#676a0906244d9ff41d32821d997df4aefa967bed" source = "git+https://github.com/pop-os/libcosmic#e90b584d91e3f48c842aaeb24f7f9805f388f115"
dependencies = [ dependencies = [
"atomicwrites", "atomicwrites",
"calloop", "calloop",
@ -1090,7 +1087,7 @@ dependencies = [
[[package]] [[package]]
name = "cosmic-config-derive" name = "cosmic-config-derive"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#676a0906244d9ff41d32821d997df4aefa967bed" source = "git+https://github.com/pop-os/libcosmic#e90b584d91e3f48c842aaeb24f7f9805f388f115"
dependencies = [ dependencies = [
"quote", "quote",
"syn 1.0.109", "syn 1.0.109",
@ -1099,7 +1096,7 @@ dependencies = [
[[package]] [[package]]
name = "cosmic-panel-config" name = "cosmic-panel-config"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/pop-os/cosmic-panel#47d5a704652860be3dff3787ee17bc88e007ff6d" source = "git+https://github.com/pop-os/cosmic-panel#887e1936c605ae4223f4c04a7ed35dda855390bd"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"cosmic-config", "cosmic-config",
@ -1258,7 +1255,7 @@ dependencies = [
[[package]] [[package]]
name = "cosmic-theme" name = "cosmic-theme"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#676a0906244d9ff41d32821d997df4aefa967bed" source = "git+https://github.com/pop-os/libcosmic#e90b584d91e3f48c842aaeb24f7f9805f388f115"
dependencies = [ dependencies = [
"almost", "almost",
"cosmic-config", "cosmic-config",
@ -1339,9 +1336,9 @@ dependencies = [
[[package]] [[package]]
name = "css-color" name = "css-color"
version = "0.2.5" version = "0.2.8"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d101c65424c856131a3cb818da2ddde03500dc3656972269cdf79f018ef77eb4" checksum = "42aaeae719fd78ce501d77c6cdf01f7e96f26bcd5617a4903a1c2b97e388543a"
[[package]] [[package]]
name = "csscolorparser" name = "csscolorparser"
@ -1360,7 +1357,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "30d2b3721e861707777e3195b0158f950ae6dc4a27e4d02ff9f67e3eb3de199e" checksum = "30d2b3721e861707777e3195b0158f950ae6dc4a27e4d02ff9f67e3eb3de199e"
dependencies = [ dependencies = [
"quote", "quote",
"syn 2.0.48", "syn 2.0.50",
] ]
[[package]] [[package]]
@ -1381,9 +1378,9 @@ dependencies = [
[[package]] [[package]]
name = "darling" name = "darling"
version = "0.20.5" version = "0.20.6"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fc5d6b04b3fd0ba9926f945895de7d806260a2d7431ba82e7edaecb043c4c6b8" checksum = "c376d08ea6aa96aafe61237c7200d1241cb177b7d3a542d791f2d118e9cbb955"
dependencies = [ dependencies = [
"darling_core", "darling_core",
"darling_macro", "darling_macro",
@ -1391,27 +1388,27 @@ dependencies = [
[[package]] [[package]]
name = "darling_core" name = "darling_core"
version = "0.20.5" version = "0.20.6"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "04e48a959bcd5c761246f5d090ebc2fbf7b9cd527a492b07a67510c108f1e7e3" checksum = "33043dcd19068b8192064c704b3f83eb464f91f1ff527b44a4e2b08d9cdb8855"
dependencies = [ dependencies = [
"fnv", "fnv",
"ident_case", "ident_case",
"proc-macro2", "proc-macro2",
"quote", "quote",
"strsim 0.10.0", "strsim 0.10.0",
"syn 2.0.48", "syn 2.0.50",
] ]
[[package]] [[package]]
name = "darling_macro" name = "darling_macro"
version = "0.20.5" version = "0.20.6"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1d1545d67a2149e1d93b7e5c7752dce5a7426eb5d1357ddcfd89336b94444f77" checksum = "c5a91391accf613803c2a9bf9abccdbaa07c54b4244a5b64883f9c3c137c86be"
dependencies = [ dependencies = [
"darling_core", "darling_core",
"quote", "quote",
"syn 2.0.48", "syn 2.0.50",
] ]
[[package]] [[package]]
@ -1453,7 +1450,7 @@ dependencies = [
"darling", "darling",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.48", "syn 2.0.50",
] ]
[[package]] [[package]]
@ -1521,7 +1518,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.48", "syn 2.0.50",
] ]
[[package]] [[package]]
@ -1622,7 +1619,7 @@ checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.48", "syn 2.0.50",
] ]
[[package]] [[package]]
@ -1690,9 +1687,9 @@ dependencies = [
[[package]] [[package]]
name = "event-listener" name = "event-listener"
version = "5.0.0" version = "5.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b72557800024fabbaa2449dd4bf24e37b93702d457a4d4f2b0dd1f0f039f20c1" checksum = "b7ad6fd685ce13acd6d9541a30f6db6567a7a24c9ffd4ba2955d29e3f22c8b27"
dependencies = [ dependencies = [
"concurrent-queue", "concurrent-queue",
"parking", "parking",
@ -1715,7 +1712,7 @@ version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "feedafcaa9b749175d5ac357452a9d41ea2911da598fde46ce1fe02c37751291" checksum = "feedafcaa9b749175d5ac357452a9d41ea2911da598fde46ce1fe02c37751291"
dependencies = [ dependencies = [
"event-listener 5.0.0", "event-listener 5.1.0",
"pin-project-lite", "pin-project-lite",
] ]
@ -1897,9 +1894,9 @@ dependencies = [
[[package]] [[package]]
name = "fontdb" name = "fontdb"
version = "0.16.1" version = "0.16.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3890d0893c8253d3eb98337af18b3e1a10a9b2958f2a164b53a93fb3a3049e72" checksum = "b0299020c3ef3f60f526a4f64ab4a3d4ce116b1acbf24cdd22da0068e5d81dc3"
dependencies = [ dependencies = [
"fontconfig-parser", "fontconfig-parser",
"log", "log",
@ -1927,7 +1924,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.48", "syn 2.0.50",
] ]
[[package]] [[package]]
@ -2081,7 +2078,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.48", "syn 2.0.50",
] ]
[[package]] [[package]]
@ -2418,7 +2415,7 @@ version = "0.14.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
dependencies = [ dependencies = [
"ahash 0.8.8", "ahash 0.8.9",
"allocator-api2", "allocator-api2",
] ]
@ -2514,7 +2511,7 @@ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"strsim 0.10.0", "strsim 0.10.0",
"syn 2.0.48", "syn 2.0.50",
"unic-langid", "unic-langid",
] ]
@ -2528,13 +2525,13 @@ dependencies = [
"i18n-config", "i18n-config",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.48", "syn 2.0.50",
] ]
[[package]] [[package]]
name = "iced" name = "iced"
version = "0.12.0" version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#676a0906244d9ff41d32821d997df4aefa967bed" source = "git+https://github.com/pop-os/libcosmic#e90b584d91e3f48c842aaeb24f7f9805f388f115"
dependencies = [ dependencies = [
"iced_accessibility", "iced_accessibility",
"iced_core", "iced_core",
@ -2549,7 +2546,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_accessibility" name = "iced_accessibility"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#676a0906244d9ff41d32821d997df4aefa967bed" source = "git+https://github.com/pop-os/libcosmic#e90b584d91e3f48c842aaeb24f7f9805f388f115"
dependencies = [ dependencies = [
"accesskit", "accesskit",
"accesskit_unix", "accesskit_unix",
@ -2558,7 +2555,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_core" name = "iced_core"
version = "0.12.0" version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#676a0906244d9ff41d32821d997df4aefa967bed" source = "git+https://github.com/pop-os/libcosmic#e90b584d91e3f48c842aaeb24f7f9805f388f115"
dependencies = [ dependencies = [
"bitflags 1.3.2", "bitflags 1.3.2",
"iced_accessibility", "iced_accessibility",
@ -2577,7 +2574,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_futures" name = "iced_futures"
version = "0.12.0" version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#676a0906244d9ff41d32821d997df4aefa967bed" source = "git+https://github.com/pop-os/libcosmic#e90b584d91e3f48c842aaeb24f7f9805f388f115"
dependencies = [ dependencies = [
"futures", "futures",
"iced_core", "iced_core",
@ -2590,7 +2587,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_graphics" name = "iced_graphics"
version = "0.12.0" version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#676a0906244d9ff41d32821d997df4aefa967bed" source = "git+https://github.com/pop-os/libcosmic#e90b584d91e3f48c842aaeb24f7f9805f388f115"
dependencies = [ dependencies = [
"bitflags 1.3.2", "bitflags 1.3.2",
"bytemuck", "bytemuck",
@ -2614,7 +2611,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_renderer" name = "iced_renderer"
version = "0.12.0" version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#676a0906244d9ff41d32821d997df4aefa967bed" source = "git+https://github.com/pop-os/libcosmic#e90b584d91e3f48c842aaeb24f7f9805f388f115"
dependencies = [ dependencies = [
"iced_graphics", "iced_graphics",
"iced_tiny_skia", "iced_tiny_skia",
@ -2626,7 +2623,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_runtime" name = "iced_runtime"
version = "0.12.0" version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#676a0906244d9ff41d32821d997df4aefa967bed" source = "git+https://github.com/pop-os/libcosmic#e90b584d91e3f48c842aaeb24f7f9805f388f115"
dependencies = [ dependencies = [
"iced_accessibility", "iced_accessibility",
"iced_core", "iced_core",
@ -2638,7 +2635,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_sctk" name = "iced_sctk"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#676a0906244d9ff41d32821d997df4aefa967bed" source = "git+https://github.com/pop-os/libcosmic#e90b584d91e3f48c842aaeb24f7f9805f388f115"
dependencies = [ dependencies = [
"enum-repr", "enum-repr",
"float-cmp", "float-cmp",
@ -2664,7 +2661,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_style" name = "iced_style"
version = "0.12.0" version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#676a0906244d9ff41d32821d997df4aefa967bed" source = "git+https://github.com/pop-os/libcosmic#e90b584d91e3f48c842aaeb24f7f9805f388f115"
dependencies = [ dependencies = [
"iced_core", "iced_core",
"once_cell", "once_cell",
@ -2674,7 +2671,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_tiny_skia" name = "iced_tiny_skia"
version = "0.12.0" version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#676a0906244d9ff41d32821d997df4aefa967bed" source = "git+https://github.com/pop-os/libcosmic#e90b584d91e3f48c842aaeb24f7f9805f388f115"
dependencies = [ dependencies = [
"bytemuck", "bytemuck",
"cosmic-text", "cosmic-text",
@ -2691,7 +2688,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_wgpu" name = "iced_wgpu"
version = "0.12.0" version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#676a0906244d9ff41d32821d997df4aefa967bed" source = "git+https://github.com/pop-os/libcosmic#e90b584d91e3f48c842aaeb24f7f9805f388f115"
dependencies = [ dependencies = [
"bitflags 1.3.2", "bitflags 1.3.2",
"bytemuck", "bytemuck",
@ -2710,7 +2707,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_widget" name = "iced_widget"
version = "0.12.0" version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#676a0906244d9ff41d32821d997df4aefa967bed" source = "git+https://github.com/pop-os/libcosmic#e90b584d91e3f48c842aaeb24f7f9805f388f115"
dependencies = [ dependencies = [
"iced_renderer", "iced_renderer",
"iced_runtime", "iced_runtime",
@ -2803,7 +2800,7 @@ checksum = "d2abdd3a62551e8337af119c5899e600ca0c88ec8f23a46c60ba216c803dcf1a"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.48", "syn 2.0.50",
] ]
[[package]] [[package]]
@ -3107,7 +3104,7 @@ checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
[[package]] [[package]]
name = "libcosmic" name = "libcosmic"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#676a0906244d9ff41d32821d997df4aefa967bed" source = "git+https://github.com/pop-os/libcosmic#e90b584d91e3f48c842aaeb24f7f9805f388f115"
dependencies = [ dependencies = [
"apply", "apply",
"ashpd", "ashpd",
@ -3408,7 +3405,7 @@ checksum = "49e7bc1560b95a3c4a25d03de42fe76ca718ab92d1a22a55b9b4cf67b3ae635c"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.48", "syn 2.0.50",
] ]
[[package]] [[package]]
@ -3724,7 +3721,7 @@ dependencies = [
"proc-macro-error", "proc-macro-error",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.48", "syn 2.0.50",
] ]
[[package]] [[package]]
@ -3760,7 +3757,7 @@ checksum = "e05d1c929301fee6830dafa764341118829b2535c216b0571e3821ecac5c885b"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.48", "syn 2.0.50",
] ]
[[package]] [[package]]
@ -3871,7 +3868,7 @@ dependencies = [
"phf_shared", "phf_shared",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.48", "syn 2.0.50",
] ]
[[package]] [[package]]
@ -3914,15 +3911,15 @@ dependencies = [
[[package]] [[package]]
name = "pkg-config" name = "pkg-config"
version = "0.3.29" version = "0.3.30"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb" checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec"
[[package]] [[package]]
name = "png" name = "png"
version = "0.17.11" version = "0.17.13"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1f6c3c3e617595665b8ea2ff95a86066be38fb121ff920a9c0eb282abcd1da5a" checksum = "06e4b0d3d1312775e782c86c91a111aa1f910cbb65e1337f9975b5f9a554b5e1"
dependencies = [ dependencies = [
"bitflags 1.3.2", "bitflags 1.3.2",
"crc32fast", "crc32fast",
@ -3949,9 +3946,9 @@ dependencies = [
[[package]] [[package]]
name = "polling" name = "polling"
version = "3.4.0" version = "3.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "30054e72317ab98eddd8561db0f6524df3367636884b7b21b703e4b280a84a14" checksum = "24f040dee2588b4963afb4e420540439d126f73fdacf4a9c486a96d840bac3c9"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
"concurrent-queue", "concurrent-queue",
@ -4027,9 +4024,9 @@ dependencies = [
[[package]] [[package]]
name = "profiling" name = "profiling"
version = "1.0.14" version = "1.0.15"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0f0f7f43585c34e4fdd7497d746bc32e14458cf11c69341cc0587b1d825dde42" checksum = "43d84d1d7a6ac92673717f9f6d1518374ef257669c24ebc5ac25d5033828be58"
[[package]] [[package]]
name = "ptr_meta" name = "ptr_meta"
@ -4372,7 +4369,7 @@ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"rust-embed-utils", "rust-embed-utils",
"syn 2.0.48", "syn 2.0.50",
"walkdir", "walkdir",
] ]
@ -4476,9 +4473,9 @@ dependencies = [
[[package]] [[package]]
name = "ryu" name = "ryu"
version = "1.0.16" version = "1.0.17"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c" checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1"
[[package]] [[package]]
name = "same-file" name = "same-file"
@ -4524,29 +4521,29 @@ checksum = "58bf37232d3bb9a2c4e641ca2a11d83b5062066f88df7fed36c28772046d65ba"
[[package]] [[package]]
name = "serde" name = "serde"
version = "1.0.196" version = "1.0.197"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32" checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2"
dependencies = [ dependencies = [
"serde_derive", "serde_derive",
] ]
[[package]] [[package]]
name = "serde_derive" name = "serde_derive"
version = "1.0.196" version = "1.0.197"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67" checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.48", "syn 2.0.50",
] ]
[[package]] [[package]]
name = "serde_json" name = "serde_json"
version = "1.0.113" version = "1.0.114"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "69801b70b1c3dac963ecb03a364ba0ceda9cf60c71cfe475e99864759c8b8a79" checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0"
dependencies = [ dependencies = [
"itoa", "itoa",
"ryu", "ryu",
@ -4561,7 +4558,7 @@ checksum = "0b2e6b945e9d3df726b65d6ee24060aff8e3533d431f677a9695db04eff9dfdb"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.48", "syn 2.0.50",
] ]
[[package]] [[package]]
@ -4897,9 +4894,9 @@ dependencies = [
[[package]] [[package]]
name = "syn" name = "syn"
version = "2.0.48" version = "2.0.50"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" checksum = "74f1bdc9872430ce9b75da68329d1c1746faf50ffac5f19e02b71e37ff881ffb"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -4915,7 +4912,7 @@ dependencies = [
"proc-macro-error", "proc-macro-error",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.48", "syn 2.0.50",
] ]
[[package]] [[package]]
@ -4926,7 +4923,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.48", "syn 2.0.50",
] ]
[[package]] [[package]]
@ -5033,14 +5030,14 @@ checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.48", "syn 2.0.50",
] ]
[[package]] [[package]]
name = "thread_local" name = "thread_local"
version = "1.1.7" version = "1.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
"once_cell", "once_cell",
@ -5174,7 +5171,7 @@ dependencies = [
"serde", "serde",
"serde_spanned", "serde_spanned",
"toml_datetime", "toml_datetime",
"toml_edit 0.22.5", "toml_edit 0.22.6",
] ]
[[package]] [[package]]
@ -5210,15 +5207,15 @@ dependencies = [
[[package]] [[package]]
name = "toml_edit" name = "toml_edit"
version = "0.22.5" version = "0.22.6"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "99e68c159e8f5ba8a28c4eb7b0c0c190d77bb479047ca713270048145a9ad28a" checksum = "2c1b5fd4128cc8d3e0cb74d4ed9a9cc7c7284becd4df68f5f940e1ad123606f6"
dependencies = [ dependencies = [
"indexmap", "indexmap",
"serde", "serde",
"serde_spanned", "serde_spanned",
"toml_datetime", "toml_datetime",
"winnow 0.6.0", "winnow 0.6.2",
] ]
[[package]] [[package]]
@ -5240,7 +5237,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.48", "syn 2.0.50",
] ]
[[package]] [[package]]
@ -5383,9 +5380,9 @@ checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f"
[[package]] [[package]]
name = "unicode-normalization" name = "unicode-normalization"
version = "0.1.22" version = "0.1.23"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5"
dependencies = [ dependencies = [
"tinyvec", "tinyvec",
] ]
@ -5398,9 +5395,9 @@ checksum = "e4259d9d4425d9f0661581b804cb85fe66a4c631cadd8f490d1c13a35d5d9291"
[[package]] [[package]]
name = "unicode-script" name = "unicode-script"
version = "0.5.5" version = "0.5.6"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7d817255e1bed6dfd4ca47258685d14d2bdcfbc64fdc9e3819bd5848057b8ecc" checksum = "ad8d71f5726e5f285a935e9fe8edfd53f0491eb6e9a5774097fdabee7cd8c9cd"
[[package]] [[package]]
name = "unicode-segmentation" name = "unicode-segmentation"
@ -5578,7 +5575,7 @@ dependencies = [
"once_cell", "once_cell",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.48", "syn 2.0.50",
"wasm-bindgen-shared", "wasm-bindgen-shared",
] ]
@ -5612,7 +5609,7 @@ checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.48", "syn 2.0.50",
"wasm-bindgen-backend", "wasm-bindgen-backend",
"wasm-bindgen-shared", "wasm-bindgen-shared",
] ]
@ -6220,9 +6217,9 @@ dependencies = [
[[package]] [[package]]
name = "winnow" name = "winnow"
version = "0.6.0" version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6b1dbce9e90e5404c5a52ed82b1d13fc8cfbdad85033b6f57546ffd1265f8451" checksum = "7a4191c47f15cc3ec71fcb4913cb83d58def65dd3787610213c649283b5ce178"
dependencies = [ dependencies = [
"memchr", "memchr",
] ]
@ -6288,7 +6285,7 @@ dependencies = [
[[package]] [[package]]
name = "xdg-shell-wrapper-config" name = "xdg-shell-wrapper-config"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/pop-os/xdg-shell-wrapper#f7e2fac29229e31c9f50884fbf910ff8ff7ab6bd" source = "git+https://github.com/pop-os/xdg-shell-wrapper#224ada13d8ac53fec7854e82a731919366f5c74c"
dependencies = [ dependencies = [
"serde", "serde",
"wayland-protocols-wlr", "wayland-protocols-wlr",
@ -6341,9 +6338,9 @@ checksum = "ec7a2a501ed189703dba8b08142f057e887dfc4b2cc4db2d343ac6376ba3e0b9"
[[package]] [[package]]
name = "xxhash-rust" name = "xxhash-rust"
version = "0.8.8" version = "0.8.10"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "53be06678ed9e83edb1745eb72efc0bbcd7b5c3c35711a860906aed827a13d61" checksum = "927da81e25be1e1a2901d59b81b37dd2efd1fc9c9345a55007f09bf5a2d3ee03"
[[package]] [[package]]
name = "yazi" name = "yazi"
@ -6371,7 +6368,7 @@ checksum = "9e6936f0cce458098a201c245a11bef556c6a0181129c7034d10d76d1ec3a2b8"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.48", "syn 2.0.50",
"synstructure", "synstructure",
] ]
@ -6465,7 +6462,7 @@ checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.48", "syn 2.0.50",
] ]
[[package]] [[package]]
@ -6485,7 +6482,7 @@ checksum = "e6a647510471d372f2e6c2e6b7219e44d8c574d24fdc11c610a61455782f18c3"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.48", "syn 2.0.50",
"synstructure", "synstructure",
] ]
@ -6519,7 +6516,7 @@ checksum = "7b4e5997cbf58990550ef1f0e5124a05e47e1ebd33a84af25739be6031a62c20"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.48", "syn 2.0.50",
] ]
[[package]] [[package]]

View file

@ -29,3 +29,10 @@ rev = "2e9bf9f"
[profile.release] [profile.release]
opt-level = 3 opt-level = 3
# For development and testing purposes
# [patch.'https://github.com/pop-os/libcosmic']
# # libcosmic = { git = "https://github.com/pop-os/libcosmic?rev=slider", branch = "slider" }
# # cosmic-config = { git = "https://github.com/pop-os/libcosmic?rev=slider", branch = "slider" }
# libcosmic = { path = "../libcosmic" }
# cosmic-config = { path = "../libcosmic/cosmic-config" }

View file

@ -2,10 +2,10 @@ use cosmic::{
cctk::sctk::reexports::client::{backend::ObjectId, protocol::wl_output::WlOutput, Proxy}, cctk::sctk::reexports::client::{backend::ObjectId, protocol::wl_output::WlOutput, Proxy},
cosmic_config::{self, CosmicConfigEntry}, cosmic_config::{self, CosmicConfigEntry},
iced::Length, iced::Length,
iced_widget::slider,
theme, theme,
widget::{ widget::{
button, container, dropdown, horizontal_space, icon, list, row, settings, text, toggler, button, container, dropdown, horizontal_space, icon, list, row, settings, slider, text,
toggler,
}, },
Element, Element,
}; };
@ -208,6 +208,7 @@ pub(crate) fn style<
slider(0..=100, (panel_config.opacity * 100.0) as i32, |v| { slider(0..=100, (panel_config.opacity * 100.0) as i32, |v| {
Message::Opacity(v as f32 / 100.0) Message::Opacity(v as f32 / 100.0)
}) })
.breakpoints(&[50])
.into(), .into(),
text(fl!("number", HashMap::from_iter(vec![("number", 100)]))).into(), text(fl!("number", HashMap::from_iter(vec![("number", 100)]))).into(),
]) ])

View file

@ -38,7 +38,6 @@ pub enum Message {
PinchToZoom(bool), PinchToZoom(bool),
PrimaryButtonSelected(cosmic::widget::segmented_button::Entity, bool), PrimaryButtonSelected(cosmic::widget::segmented_button::Entity, bool),
SetAcceleration(bool, bool), SetAcceleration(bool, bool),
SetDoubleClickSpeed(u32, bool),
SetMouseSpeed(f64, bool), SetMouseSpeed(f64, bool),
SetNaturalScroll(bool, bool), SetNaturalScroll(bool, bool),
SetScrollFactor(f64, bool), SetScrollFactor(f64, bool),
@ -143,10 +142,6 @@ impl Page {
x.acceleration.get_or_insert(AccelConfig::default()).speed = value; x.acceleration.get_or_insert(AccelConfig::default()).speed = value;
}), }),
Message::SetDoubleClickSpeed(_value, _touchpad) => {
// TODO
}
Message::DisableWhileTyping(disabled, touchpad) => { Message::DisableWhileTyping(disabled, touchpad) => {
self.update_input(touchpad, |conf| { self.update_input(touchpad, |conf| {
conf.disable_while_typing = Some(disabled); conf.disable_while_typing = Some(disabled);

View file

@ -1,5 +1,6 @@
use apply::Apply; use apply::Apply;
use cosmic::widget::{self, settings}; use cosmic::iced::Alignment;
use cosmic::widget::{self, row, settings, text};
use cosmic::Element; use cosmic::Element;
use cosmic_comp_config::input::AccelProfile; use cosmic_comp_config::input::AccelProfile;
use cosmic_settings_page::Section; use cosmic_settings_page::Section;
@ -52,6 +53,7 @@ fn mouse() -> Section<crate::pages::Message> {
]) ])
.view::<Page>(|binder, _page, section| { .view::<Page>(|binder, _page, section| {
let input = binder.page::<super::Page>().expect("input page not found"); let input = binder.page::<super::Page>().expect("input page not found");
let theme = cosmic::theme::active();
settings::view_section(&section.title) settings::view_section(&section.title)
.add(settings::item( .add(settings::item(
@ -60,19 +62,27 @@ fn mouse() -> Section<crate::pages::Message> {
.minimum_button_width(0) .minimum_button_width(0)
.on_activate(|x| Message::PrimaryButtonSelected(x, false)), .on_activate(|x| Message::PrimaryButtonSelected(x, false)),
)) ))
.add( .add(settings::item::builder(&*MOUSE_SPEED).control({
settings::item::builder(&*MOUSE_SPEED).control(widget::slider( let value = (input
1.0..=80.0, .input_default
(input .acceleration
.input_default .as_ref()
.acceleration .map_or(0.0, |x| x.speed)
.as_ref() + 1.0)
.map_or(0.0, |x| x.speed) * 50.0;
+ 1.0)
* 50.0, let slider = widget::slider(10.0..=80.0, value, |value| {
|value| Message::SetMouseSpeed((value / 50.0) - 1.0, false), Message::SetMouseSpeed((value / 50.0) - 1.0, false)
)), })
) .width(250.0)
.breakpoints(&[45.0]);
row::with_capacity(2)
.align_items(Alignment::Center)
.spacing(theme.cosmic().space_s())
.push(text(format!("{:.0}", value.round())))
.push(slider)
}))
.add( .add(
settings::item::builder(&*MOUSE_ACCELERATION) settings::item::builder(&*MOUSE_ACCELERATION)
.description(&*super::ACCELERATION_DESC) .description(&*super::ACCELERATION_DESC)
@ -94,37 +104,41 @@ fn scrolling() -> Section<crate::pages::Message> {
Section::default() Section::default()
.title(fl!("scrolling")) .title(fl!("scrolling"))
.descriptions(vec![ .descriptions(vec![
fl!("scrolling", "speed").into(), super::SCROLLING_SPEED.as_str().into(),
fl!("scrolling", "natural").into(), super::SCROLLING_NATURAL.as_str().into(),
fl!("scrolling", "natural-desc").into(), super::SCROLLING_NATURAL_DESC.as_str().into(),
]) ])
.view::<Page>(|binder, _page, section| { .view::<Page>(|binder, _page, section| {
let descriptions = &section.descriptions;
let input = binder.page::<super::Page>().expect("input page not found"); let input = binder.page::<super::Page>().expect("input page not found");
let theme = cosmic::theme::active();
settings::view_section(&section.title) settings::view_section(&section.title)
.add(settings::item( .add(settings::item(&*super::SCROLLING_SPEED, {
&*descriptions[0], let value = input
// TODO show numeric value .input_default
// TODO desired range? .scroll_config
widget::slider( .as_ref()
1.0..=100.0, .and_then(|x| x.scroll_factor)
input .unwrap_or(1.)
.input_default .log(2.)
.scroll_config * 10.0
.as_ref() + 50.0;
.and_then(|x| x.scroll_factor)
.unwrap_or(1.) let slider = widget::slider(1.0..=100.0, value, |value| {
.log(2.) Message::SetScrollFactor(2f64.powf((value - 50.0) / 10.0), false)
* 10.0 })
+ 50.0, .width(250.0)
|value| Message::SetScrollFactor(2f64.powf((value - 50.0) / 10.0), false), .breakpoints(&[50.0]);
),
)) row::with_capacity(2)
.align_items(Alignment::Center)
.spacing(theme.cosmic().space_s())
.push(text(format!("{:.0}", value.round())))
.push(slider)
}))
.add( .add(
settings::item::builder(&*descriptions[1]) settings::item::builder(&*super::SCROLLING_NATURAL)
.description(&*descriptions[2]) .description(&*super::SCROLLING_NATURAL_DESC)
.toggler( .toggler(
input input
.input_default .input_default

View file

@ -1,4 +1,5 @@
use cosmic::widget::{self, settings, text}; use cosmic::iced::Alignment;
use cosmic::widget::{self, row, settings, text};
use cosmic::{Apply, Element}; use cosmic::{Apply, Element};
use cosmic_comp_config::input::{AccelProfile, ScrollMethod}; use cosmic_comp_config::input::{AccelProfile, ScrollMethod};
use cosmic_settings_page::Section; use cosmic_settings_page::Section;
@ -67,6 +68,7 @@ fn touchpad() -> Section<crate::pages::Message> {
]) ])
.view::<Page>(|binder, _page, section| { .view::<Page>(|binder, _page, section| {
let input = binder.page::<super::Page>().expect("input page not found"); let input = binder.page::<super::Page>().expect("input page not found");
let theme = cosmic::theme::active();
settings::view_section(&section.title) settings::view_section(&section.title)
.add(settings::item( .add(settings::item(
@ -75,19 +77,27 @@ fn touchpad() -> Section<crate::pages::Message> {
.minimum_button_width(0) .minimum_button_width(0)
.on_activate(|x| Message::PrimaryButtonSelected(x, true)), .on_activate(|x| Message::PrimaryButtonSelected(x, true)),
)) ))
.add( .add(settings::item::builder(&*TOUCHPAD_SPEED).control({
settings::item::builder(&*TOUCHPAD_SPEED).control(widget::slider( let value = (input
10.0..=90.0, .input_touchpad
(input .acceleration
.input_touchpad .as_ref()
.acceleration .map_or(0.0, |x| x.speed)
.as_ref() + 1.0)
.map_or(0.0, |x| x.speed) * 50.0;
+ 1.0)
* 50.0, let slider = widget::slider(10.0..=90.0, value, |value| {
|value| Message::SetMouseSpeed((value / 50.0) - 1.0, true), Message::SetMouseSpeed((value / 50.0) - 1.0, true)
)), })
) .width(250.0)
.breakpoints(&[50.0]);
row::with_capacity(2)
.align_items(Alignment::Center)
.spacing(theme.cosmic().space_s())
.push(text(format!("{:.0}", value.round())))
.push(slider)
}))
.add( .add(
settings::item::builder(&*TOUCHPAD_ACCELERAION) settings::item::builder(&*TOUCHPAD_ACCELERAION)
.description(&*super::ACCELERATION_DESC) .description(&*super::ACCELERATION_DESC)
@ -156,26 +166,33 @@ fn scrolling() -> Section<crate::pages::Message> {
let page = binder let page = binder
.page::<super::Page>() .page::<super::Page>()
.expect("input devices page not found"); .expect("input devices page not found");
let theme = cosmic::theme::active();
settings::view_section(&section.title) settings::view_section(&section.title)
// Scroll speed slider // Scroll speed slider
.add(settings::item( .add(settings::item(&*super::SCROLLING_SPEED, {
&*super::SCROLLING_SPEED, let value = page
// TODO show numeric value .input_touchpad
// TODO desired range? .scroll_config
widget::slider( .as_ref()
1.0..=1000.0, .and_then(|x| x.scroll_factor)
page.input_touchpad .unwrap_or(1.)
.scroll_config .log(2.)
.as_ref() * 10.0
.and_then(|x| x.scroll_factor) + 50.0;
.unwrap_or(1.)
.log(2.) let slider = widget::slider(1.0..=100.0, value, |value| {
* 10.0 Message::SetScrollFactor(2f64.powf((value - 50.0) / 10.0), true)
+ 50.0, })
|value| Message::SetScrollFactor(2f64.powf((value - 50.0) / 10.0), true), .width(250.0)
), .breakpoints(&[50.0]);
))
row::with_capacity(2)
.align_items(Alignment::Center)
.spacing(theme.cosmic().space_s())
.push(text(format!("{:.0}", value.round())))
.push(slider)
}))
// Natural scrolling toggle // Natural scrolling toggle
.add( .add(
settings::item::builder(&*super::SCROLLING_NATURAL) settings::item::builder(&*super::SCROLLING_NATURAL)