diff options
| author | cashmere <cashmere1337@riseup.net> | 2026-10-23 12:08:32 +0200 |
|---|---|---|
| committer | cashmere <cashmere1337@riseup.net> | 2026-10-23 12:08:32 +0200 |
| commit | edd7d36cdc6f6e4be6d2b1e78ce8fd5b66485b92 (patch) | |
| tree | 7e510ebd2ea83ea14846a2bde62e724b296acb67 /src/bar.rs | |
| parent | 4901b5d77d73db59f0c1545719ec6d1404aad979 (diff) | |
| download | i3bar-mango-edd7d36cdc6f6e4be6d2b1e78ce8fd5b66485b92.tar.gz | |
Diffstat (limited to 'src/bar.rs')
| -rw-r--r-- | src/bar.rs | 21 |
1 files changed, 21 insertions, 0 deletions
@@ -297,6 +297,27 @@ impl Bar { // Display tags let mut offset_left = 0.0; + + // display custom logo set by user + if let Some(name) = &ss.config.logo && let Some(icon) = ss.icon_cache.get(name, self.height) + { + offset_left += 8.0; + let icon_size = height_f - 4.0; + let scale = icon_size / (icon.width() as f64).max(icon.height() as f64); + + let icon_w = icon.width() as f64 * scale; + let icon_h = icon.height() as f64 * scale; + cairo_ctx.save().unwrap(); + cairo_ctx.translate( + offset_left + (icon_size - icon_w) / 2.0, + (height_f - icon_h) / 2.0, + ); + cairo_ctx.scale(scale, scale); + cairo_ctx.set_source_surface(icon, 0.0, 0.0).unwrap(); + cairo_ctx.paint().unwrap(); + cairo_ctx.restore().unwrap(); + offset_left += icon_size + 8.0; + } self.tags_btns.clear(); for (i, (id, color, computed)) in self.tags_computed.iter().enumerate() { let left_joined = i != 0 && self.tags_computed[i - 1].1 == *color; |
