diff --git a/assets/icons/folder-closed.svg b/assets/icons/folder-closed.svg index c38c3d9a..238f7f2b 100644 --- a/assets/icons/folder-closed.svg +++ b/assets/icons/folder-closed.svg @@ -1 +1 @@ - + diff --git a/assets/icons/folder.svg b/assets/icons/folder.svg index cd3dc093..cc1085ef 100644 --- a/assets/icons/folder.svg +++ b/assets/icons/folder.svg @@ -1 +1 @@ - + diff --git a/assets/icons/git-branch.svg b/assets/icons/git-branch.svg index 459edbfa..2c377698 100644 --- a/assets/icons/git-branch.svg +++ b/assets/icons/git-branch.svg @@ -1 +1 @@ - + diff --git a/assets/icons/info.svg b/assets/icons/info.svg index 63ac0e3c..20df845b 100644 --- a/assets/icons/info.svg +++ b/assets/icons/info.svg @@ -1 +1 @@ - + diff --git a/src/ui/file_tree.rs b/src/ui/file_tree.rs index 53d9a0cd..e594548a 100644 --- a/src/ui/file_tree.rs +++ b/src/ui/file_tree.rs @@ -11,7 +11,7 @@ use crate::ui::file_copy; use crate::ui::host_ops::{ByHost, HostId, HostOps, InFlight, SharedHost, WatchSub}; use crate::ui::host_registry::HostRegistry; use crate::ui::i18n::{L10nKey, t, t_fmt}; -use crate::ui::right_panel::git_badge; +use crate::ui::right_panel::{ROW_GLYPH, git_badge}; use crate::ui::scm::status::{status_color, status_glyph}; use gpui::prelude::*; use gpui::{ @@ -1798,7 +1798,7 @@ impl Tty7App { .cursor_pointer() .when(selected, |d| d.bg(gpui::rgb(sf.selected))) .when(!selected, |d| d.hover(|s| s.bg(gpui::rgb(sf.hover)))) - .child(Icon::new(icon).xsmall().text_color(if is_dir { + .child(Icon::new(icon).size(px(ROW_GLYPH)).text_color(if is_dir { cx.theme().foreground } else { muted @@ -2081,7 +2081,7 @@ impl gpui::Render for DragGhost { .border_1() .border_color(cx.theme().border) .text_sm() - .child(Icon::new(IconName::File).xsmall()) + .child(Icon::new(IconName::File).size(px(ROW_GLYPH))) .child(SharedString::from(self.name.clone())) } } diff --git a/src/ui/right_panel.rs b/src/ui/right_panel.rs index f1f3913e..2114d704 100644 --- a/src/ui/right_panel.rs +++ b/src/ui/right_panel.rs @@ -46,6 +46,19 @@ pub(crate) const META_MONO: f32 = META - STEP; /// sidebar's group headings, which are the same thing one panel over. pub(crate) const HEADING: f32 = 11. * STEP; +/// The leading glyph on a panel row — the file tree's folder and file marks. +/// +/// Pixels, not rems, because glyphs in this window are sized off the tile +/// ladder in `app.rs` (`TILE_GLYPH` 13, `TILE_GLYPH_XS` 11) rather than off the +/// text ramp above. A row that reached for gpui-component's rem sizes instead +/// could never agree with the tab tiles it sits under: at the default +/// `ui_font_size` of 16 that ladder offers `xsmall` 12 and `small` 14 and +/// nothing between, so the tree's glyph came out either a step under the +/// chrome — reading as a speck beside a 14px name — or a step over it, which +/// puts a row of content above the navigation that owns it. 13 is the tab +/// tile's own glyph size, so the two agree by construction. +pub(crate) const ROW_GLYPH: f32 = crate::ui::app::TILE_GLYPH; + // The right panel's type ramp: four steps, a point apart, that the Info and // Source Control tabs both draw from so switching between them does not change // the apparent size of the panel. The Files tab, in `file_tree.rs`, reaches the