From afff0793aad053d66f655a9ee9d4628584886e29 Mon Sep 17 00:00:00 2001 From: Ashley Wulber Date: Wed, 15 May 2024 16:54:52 -0400 Subject: [PATCH] feat: applet text scaling based on panel size --- Cargo.lock | 119 ++++++++++-------- cosmic-applet-time/src/window.rs | 14 +-- .../src/components/app.rs | 2 +- cosmic-panel-button/src/main.rs | 2 +- 4 files changed, 75 insertions(+), 62 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 909cea20..8e7f8929 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1176,7 +1176,7 @@ dependencies = [ [[package]] name = "cosmic-config" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic#92920046425515645d7715310ce3648a34b47b2c" +source = "git+https://github.com/pop-os/libcosmic#54eb5487b4d57d3203c5e9af33fbcebcecf04a00" dependencies = [ "atomicwrites", "cosmic-config-derive", @@ -1198,7 +1198,7 @@ dependencies = [ [[package]] name = "cosmic-config-derive" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic#92920046425515645d7715310ce3648a34b47b2c" +source = "git+https://github.com/pop-os/libcosmic#54eb5487b4d57d3203c5e9af33fbcebcecf04a00" dependencies = [ "quote", "syn 1.0.109", @@ -1221,7 +1221,7 @@ dependencies = [ [[package]] name = "cosmic-notifications-config" version = "0.1.0" -source = "git+https://github.com/pop-os/cosmic-notifications#f72b3169a8aa4ff455ac84f7d1ffe1fcb1b9fdf1" +source = "git+https://github.com/pop-os/cosmic-notifications#1a1bbfaf8fd04d0831d77f452779d9a09b2c6d6e" dependencies = [ "cosmic-config", "serde", @@ -1230,7 +1230,7 @@ dependencies = [ [[package]] name = "cosmic-notifications-util" version = "0.1.0" -source = "git+https://github.com/pop-os/cosmic-notifications#f72b3169a8aa4ff455ac84f7d1ffe1fcb1b9fdf1" +source = "git+https://github.com/pop-os/cosmic-notifications#1a1bbfaf8fd04d0831d77f452779d9a09b2c6d6e" dependencies = [ "bytemuck", "fast_image_resize", @@ -1314,7 +1314,7 @@ dependencies = [ [[package]] name = "cosmic-theme" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic#92920046425515645d7715310ce3648a34b47b2c" +source = "git+https://github.com/pop-os/libcosmic#54eb5487b4d57d3203c5e9af33fbcebcecf04a00" dependencies = [ "almost", "cosmic-config", @@ -1453,7 +1453,7 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f731440b39c73910e253cb465ec1fac97732b3c7af215639881ec0c2a38f4f69" dependencies = [ - "darling 0.20.8", + "darling 0.20.9", "itertools", "proc-macro2", "quote", @@ -1483,12 +1483,12 @@ dependencies = [ [[package]] name = "darling" -version = "0.20.8" +version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54e36fcd13ed84ffdfda6f5be89b31287cbb80c439841fe69e04841435464391" +checksum = "83b2eb4d90d12bdda5ed17de686c2acb4c57914f8f921b8da7e112b5a36f3fe1" dependencies = [ - "darling_core 0.20.8", - "darling_macro 0.20.8", + "darling_core 0.20.9", + "darling_macro 0.20.9", ] [[package]] @@ -1501,21 +1501,21 @@ dependencies = [ "ident_case", "proc-macro2", "quote", - "strsim", + "strsim 0.10.0", "syn 1.0.109", ] [[package]] name = "darling_core" -version = "0.20.8" +version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c2cf1c23a687a1feeb728783b993c4e1ad83d99f351801977dd809b48d0a70f" +checksum = "622687fe0bac72a04e5599029151f5796111b90f1baaa9b544d807a5e31cd120" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", - "strsim", + "strsim 0.11.1", "syn 2.0.63", ] @@ -1532,11 +1532,11 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.20.8" +version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f" +checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" dependencies = [ - "darling_core 0.20.8", + "darling_core 0.20.9", "quote", "syn 2.0.63", ] @@ -1650,7 +1650,7 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4e8ef033054e131169b8f0f9a7af8f5533a9436fadf3c500ed547f730f07090d" dependencies = [ - "darling 0.20.8", + "darling 0.20.9", "proc-macro2", "quote", "syn 2.0.63", @@ -2680,7 +2680,7 @@ dependencies = [ "serde", "serde_derive", "thiserror", - "toml 0.8.12", + "toml 0.8.13", "unic-langid", ] @@ -2722,7 +2722,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "strsim", + "strsim 0.10.0", "syn 2.0.63", "unic-langid", ] @@ -2766,7 +2766,7 @@ dependencies = [ [[package]] name = "iced" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic#92920046425515645d7715310ce3648a34b47b2c" +source = "git+https://github.com/pop-os/libcosmic#54eb5487b4d57d3203c5e9af33fbcebcecf04a00" dependencies = [ "dnd", "iced_accessibility", @@ -2784,7 +2784,7 @@ dependencies = [ [[package]] name = "iced_accessibility" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic#92920046425515645d7715310ce3648a34b47b2c" +source = "git+https://github.com/pop-os/libcosmic#54eb5487b4d57d3203c5e9af33fbcebcecf04a00" dependencies = [ "accesskit", "accesskit_unix", @@ -2793,7 +2793,7 @@ dependencies = [ [[package]] name = "iced_core" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic#92920046425515645d7715310ce3648a34b47b2c" +source = "git+https://github.com/pop-os/libcosmic#54eb5487b4d57d3203c5e9af33fbcebcecf04a00" dependencies = [ "bitflags 2.5.0", "dnd", @@ -2815,7 +2815,7 @@ dependencies = [ [[package]] name = "iced_futures" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic#92920046425515645d7715310ce3648a34b47b2c" +source = "git+https://github.com/pop-os/libcosmic#54eb5487b4d57d3203c5e9af33fbcebcecf04a00" dependencies = [ "futures", "iced_core", @@ -2828,7 +2828,7 @@ dependencies = [ [[package]] name = "iced_graphics" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic#92920046425515645d7715310ce3648a34b47b2c" +source = "git+https://github.com/pop-os/libcosmic#54eb5487b4d57d3203c5e9af33fbcebcecf04a00" dependencies = [ "bitflags 2.5.0", "bytemuck", @@ -2852,7 +2852,7 @@ dependencies = [ [[package]] name = "iced_renderer" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic#92920046425515645d7715310ce3648a34b47b2c" +source = "git+https://github.com/pop-os/libcosmic#54eb5487b4d57d3203c5e9af33fbcebcecf04a00" dependencies = [ "iced_graphics", "iced_tiny_skia", @@ -2864,7 +2864,7 @@ dependencies = [ [[package]] name = "iced_runtime" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic#92920046425515645d7715310ce3648a34b47b2c" +source = "git+https://github.com/pop-os/libcosmic#54eb5487b4d57d3203c5e9af33fbcebcecf04a00" dependencies = [ "dnd", "iced_accessibility", @@ -2878,7 +2878,7 @@ dependencies = [ [[package]] name = "iced_sctk" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic#92920046425515645d7715310ce3648a34b47b2c" +source = "git+https://github.com/pop-os/libcosmic#54eb5487b4d57d3203c5e9af33fbcebcecf04a00" dependencies = [ "enum-repr", "float-cmp", @@ -2904,7 +2904,7 @@ dependencies = [ [[package]] name = "iced_style" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic#92920046425515645d7715310ce3648a34b47b2c" +source = "git+https://github.com/pop-os/libcosmic#54eb5487b4d57d3203c5e9af33fbcebcecf04a00" dependencies = [ "iced_core", "once_cell", @@ -2914,7 +2914,7 @@ dependencies = [ [[package]] name = "iced_tiny_skia" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic#92920046425515645d7715310ce3648a34b47b2c" +source = "git+https://github.com/pop-os/libcosmic#54eb5487b4d57d3203c5e9af33fbcebcecf04a00" dependencies = [ "bytemuck", "cosmic-text", @@ -2931,7 +2931,7 @@ dependencies = [ [[package]] name = "iced_wgpu" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic#92920046425515645d7715310ce3648a34b47b2c" +source = "git+https://github.com/pop-os/libcosmic#54eb5487b4d57d3203c5e9af33fbcebcecf04a00" dependencies = [ "bitflags 2.5.0", "bytemuck", @@ -2943,14 +2943,21 @@ dependencies = [ "log", "lyon", "once_cell", + "raw-window-handle 0.6.1", "resvg", + "rustix 0.38.34", + "smithay-client-toolkit", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-sys", "wgpu", ] [[package]] name = "iced_widget" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic#92920046425515645d7715310ce3648a34b47b2c" +source = "git+https://github.com/pop-os/libcosmic#54eb5487b4d57d3203c5e9af33fbcebcecf04a00" dependencies = [ "dnd", "iced_renderer", @@ -3228,7 +3235,7 @@ checksum = "ae743338b92ff9146ce83992f766a31066a91a8c84a45e0e9f21e7cf6de6d346" [[package]] name = "libcosmic" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic#92920046425515645d7715310ce3648a34b47b2c" +source = "git+https://github.com/pop-os/libcosmic#54eb5487b4d57d3203c5e9af33fbcebcecf04a00" dependencies = [ "apply", "ashpd 0.7.0", @@ -3450,9 +3457,9 @@ dependencies = [ [[package]] name = "lyon_path" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca507745ba7ccbc76e5c44e7b63b1a29d2b0d6126f375806a5bbaf657c7d6c45" +checksum = "9c08a606c7a59638d6c6aa18ac91a06aa9fb5f765a7efb27e6a4da58700740d7" dependencies = [ "lyon_geom", "num-traits", @@ -4591,9 +4598,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.16" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "092474d1a01ea8278f69e6a358998405fae5b8b963ddaeb2b0b04a128bf1dfb0" +checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" [[package]] name = "rustybuzz" @@ -4656,9 +4663,9 @@ checksum = "d369a96f978623eb3dc28807c4852d6cc617fed53da5d3c400feff1ef34a714a" [[package]] name = "serde" -version = "1.0.201" +version = "1.0.202" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "780f1cebed1629e4753a1a38a3c72d30b97ec044f0aef68cb26650a3c5cf363c" +checksum = "226b61a0d411b2ba5ff6d7f73a476ac4f8bb900373459cd00fab8512828ba395" dependencies = [ "serde_derive", ] @@ -4677,9 +4684,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.201" +version = "1.0.202" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5e405930b9796f1c00bee880d03fc7e0bb4b9a11afc776885ffe84320da2865" +checksum = "6048858004bcff69094cd972ed40a32500f153bd3be9f716b2eed2e8217c4838" dependencies = [ "proc-macro2", "quote", @@ -4711,9 +4718,9 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "0.6.5" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1" +checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0" dependencies = [ "serde", ] @@ -4945,6 +4952,12 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + [[package]] name = "strum" version = "0.26.2" @@ -4969,9 +4982,9 @@ dependencies = [ [[package]] name = "svg_fmt" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f83ba502a3265efb76efb89b0a2f7782ad6f2675015d4ce37e4b547dda42b499" +checksum = "20e16a0f46cf5fd675563ef54f26e83e20f2366bcf027bcb3cc3ed2b98aaf2ca" [[package]] name = "svgtypes" @@ -5053,7 +5066,7 @@ dependencies = [ "cfg-expr", "heck 0.5.0", "pkg-config", - "toml 0.8.12", + "toml 0.8.13", "version-compare", ] @@ -5296,21 +5309,21 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.12" +version = "0.8.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9dd1545e8208b4a5af1aa9bbd0b4cf7e9ea08fabc5d0a5c67fcaafa17433aa3" +checksum = "a4e43f8cc456c9704c851ae29c67e17ef65d2c30017c17a9765b89c382dc8bba" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.12", + "toml_edit 0.22.13", ] [[package]] name = "toml_datetime" -version = "0.6.5" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" +checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" dependencies = [ "serde", ] @@ -5328,9 +5341,9 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.22.12" +version = "0.22.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3328d4f68a705b2a4498da1d580585d39a6510f98318a2cec3018a7ec61ddef" +checksum = "c127785850e8c20836d49732ae6abfa47616e60bf9d9f57c43c250361a9db96c" dependencies = [ "indexmap", "serde", diff --git a/cosmic-applet-time/src/window.rs b/cosmic-applet-time/src/window.rs index 281085b9..44cb75c8 100644 --- a/cosmic-applet-time/src/window.rs +++ b/cosmic-applet-time/src/window.rs @@ -250,7 +250,7 @@ impl cosmic::Application for Window { }; Element::from( row!( - cosmic::widget::text(self.now.format(format).to_string()).size(14), + self.core.applet.text(self.now.format(format).to_string()), container(vertical_space(Length::Fixed( (self.core.applet.suggested_size(true).1 + 2 * self.core.applet.suggested_padding(true)) @@ -262,14 +262,14 @@ impl cosmic::Application for Window { } else { let mut date_time_col = if self.config.military_time { column![ - text(self.now.format("%H").to_string()).size(14), - text(self.now.format("%M").to_string()).size(14), + self.core.applet.text(self.now.format("%H").to_string()), + self.core.applet.text(self.now.format("%M").to_string()) ] } else { column![ - text(self.now.format("%I").to_string()).size(14), - text(self.now.format("%M").to_string()).size(14), - text(self.now.format("%p").to_string()).size(14), + self.core.applet.text(self.now.format("%I").to_string()), + self.core.applet.text(self.now.format("%M").to_string()), + self.core.applet.text(self.now.format("%p").to_string()), ] } .align_items(Alignment::Center) @@ -283,7 +283,7 @@ impl cosmic::Application for Window { .symbolic(true), ); for d in self.now.format("%x").to_string().split('/') { - date_time_col = date_time_col.push(text(d.to_string()).size(14)); + date_time_col = date_time_col.push(self.core.applet.text(d.to_string())); } } Element::from( diff --git a/cosmic-applet-workspaces/src/components/app.rs b/cosmic-applet-workspaces/src/components/app.rs index c2367c1c..e992e210 100644 --- a/cosmic-applet-workspaces/src/components/app.rs +++ b/cosmic-applet-workspaces/src/components/app.rs @@ -136,7 +136,7 @@ impl cosmic::Application for IcedWorkspacesApplet { PanelAnchor::Top | PanelAnchor::Bottom ); let buttons = self.workspaces.iter().filter_map(|w| { - let content = text(w.0.clone()).font(FONT_BOLD).size(16); + let content = self.core.applet.text(w.0.clone()).font(FONT_BOLD); let content = row!( content, diff --git a/cosmic-panel-button/src/main.rs b/cosmic-panel-button/src/main.rs index 21bddf5d..04d0ca98 100644 --- a/cosmic-panel-button/src/main.rs +++ b/cosmic-panel-button/src/main.rs @@ -103,7 +103,7 @@ impl cosmic::Application for Button { ) } else { let content = row!( - text(&self.desktop.name).size(14.0), + self.core.applet.text(&self.desktop.name), vertical_space(Length::Fixed( (self.core.applet.suggested_size(true).1 + 2 * self.core.applet.suggested_padding(true)) as f32