chore(core/eckhart): make hyphen font one level darker
What changed, and why it matters
This commit only changes the colors used for text and hyphenation in the user interface of a Trezor hardware wallet theme. It makes some text and hyphen colors slightly darker for visual consistency. There is no security relevance in this change.
No security action needed. Treat as normal UI theming maintenance.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The commit adjusts TextStyle definitions in the Eckhart UI theme for Trezor firmware. It changes the hyphen color parameter (typically the fourth and fifth arguments to TextStyle::new) from lighter greys or foreground colors to one shade darker across multiple text styles. This is a cosmetic/theming change with no functional, cryptographic, or security behavior modified.
Changed components
core/embed/rust/src/ui/layout_eckhart/theme/firmware.rscore/embed/rust/src/ui/layout_eckhart/theme/mod.rsInspect captured patch +52 / −56
diff --git a/core/embed/rust/src/ui/layout_eckhart/theme/firmware.rs b/core/embed/rust/src/ui/layout_eckhart/theme/firmware.rs
index b4b47330..061c7102 100644
--- a/core/embed/rust/src/ui/layout_eckhart/theme/firmware.rs
+++ b/core/embed/rust/src/ui/layout_eckhart/theme/firmware.rs
@@ -25,92 +25,78 @@ pub const TEXT_SUPER_BIG: TextStyle = TextStyle::new(
fonts::FONT_SATOSHI_EXTRALIGHT_72,
GREY_EXTRA_LIGHT,
BG,
- GREY_EXTRA_LIGHT,
- GREY_EXTRA_LIGHT,
+ GREY_LIGHT,
+ GREY_LIGHT,
);
/// TT Satoshi Extra Light - 46 (Char keyboard, Backup check)
pub const TEXT_BIG: TextStyle = TextStyle::new(
fonts::FONT_SATOSHI_EXTRALIGHT_46,
GREY_EXTRA_LIGHT,
BG,
- GREY_EXTRA_LIGHT,
- GREY_EXTRA_LIGHT,
-);
-/// TT Satoshi Regular - 38 (Screen text, Menu item label)
-pub const TEXT_REGULAR: TextStyle = TextStyle::new(
- fonts::FONT_SATOSHI_REGULAR_38,
- GREY_LIGHT,
- BG,
GREY_LIGHT,
GREY_LIGHT,
);
+/// TT Satoshi Regular - 38 (Screen text, Menu item label)
+pub const TEXT_REGULAR: TextStyle =
+ TextStyle::new(fonts::FONT_SATOSHI_REGULAR_38, GREY_LIGHT, BG, GREY, GREY);
/// TT Satoshi Medium - 26 (Screen text, Button label, Input value)
-pub const TEXT_MEDIUM: TextStyle = TextStyle::new(
+pub const TEXT_MEDIUM: TextStyle =
+ TextStyle::new(fonts::FONT_SATOSHI_MEDIUM_26, GREY_LIGHT, BG, GREY, GREY);
+
+pub const TEXT_MEDIUM_GREY: TextStyle = TextStyle::new(
fonts::FONT_SATOSHI_MEDIUM_26,
- GREY_LIGHT,
+ GREY,
BG,
- GREY_LIGHT,
- GREY_LIGHT,
+ GREY_DARK,
+ GREY_DARK,
);
-pub const TEXT_MEDIUM_GREY: TextStyle =
- TextStyle::new(fonts::FONT_SATOSHI_MEDIUM_26, GREY, BG, GREY, GREY);
-
/// TT Satoshi Regular - 22 (Screen title, Hint, PageCounter, Secondary info)
/// with negative line spacing to make it more compact
-pub const TEXT_SMALL: TextStyle =
- TextStyle::new(fonts::FONT_SATOSHI_REGULAR_22, GREY, BG, GREY, GREY).with_line_spacing(-4);
+pub const TEXT_SMALL: TextStyle = TextStyle::new(
+ fonts::FONT_SATOSHI_REGULAR_22,
+ GREY,
+ BG,
+ GREY_DARK,
+ GREY_DARK,
+)
+.with_line_spacing(-4);
/// Roboto Mono Medium - 38 (Number value)
pub const TEXT_MONO_MEDIUM: TextStyle = TextStyle::new(
fonts::FONT_MONO_MEDIUM_38,
GREY_EXTRA_LIGHT,
BG,
- GREY_EXTRA_LIGHT,
- GREY_EXTRA_LIGHT,
-)
-.with_line_breaking(LineBreaking::BreakAtWhitespace);
-
-pub const TEXT_MONO_MEDIUM_LIGHT: TextStyle = TextStyle::new(
- fonts::FONT_MONO_MEDIUM_38,
- GREY_LIGHT,
- BG,
GREY_LIGHT,
GREY_LIGHT,
)
.with_line_breaking(LineBreaking::BreakAtWhitespace);
+pub const TEXT_MONO_MEDIUM_LIGHT: TextStyle =
+ TextStyle::new(fonts::FONT_MONO_MEDIUM_38, GREY_LIGHT, BG, GREY, GREY)
+ .with_line_breaking(LineBreaking::BreakAtWhitespace);
+
pub const TEXT_MONO_MEDIUM_LIGHT_DATA: TextStyle =
TEXT_MONO_MEDIUM_LIGHT.with_line_breaking(LineBreaking::BreakWordsNoHyphen);
/// Roboto Mono Light - 30 (Address, data)
-pub const TEXT_MONO_LIGHT: TextStyle = TextStyle::new(
- fonts::FONT_MONO_LIGHT_30,
- GREY_LIGHT,
- BG,
- GREY_LIGHT,
- GREY_LIGHT,
-)
-.with_line_breaking(LineBreaking::BreakWordsNoHyphen);
+pub const TEXT_MONO_LIGHT: TextStyle =
+ TextStyle::new(fonts::FONT_MONO_LIGHT_30, GREY_LIGHT, BG, GREY, GREY)
+ .with_line_breaking(LineBreaking::BreakWordsNoHyphen);
pub const TEXT_REGULAR_WARNING: TextStyle =
- TextStyle::new(fonts::FONT_SATOSHI_REGULAR_38, RED, BG, GREY, GREY);
+ TextStyle::new(fonts::FONT_SATOSHI_REGULAR_38, RED, BG, FG, FG);
pub const TEXT_MEDIUM_EXTRA_LIGHT: TextStyle = TextStyle::new(
fonts::FONT_SATOSHI_MEDIUM_26,
GREY_EXTRA_LIGHT,
BG,
- GREY_EXTRA_LIGHT,
- GREY_EXTRA_LIGHT,
-);
-
-pub const TEXT_SMALL_LIGHT: TextStyle = TextStyle::new(
- fonts::FONT_SATOSHI_REGULAR_22,
- GREY_LIGHT,
- BG,
GREY_LIGHT,
GREY_LIGHT,
-)
-.with_line_spacing(-4);
+);
+
+pub const TEXT_SMALL_LIGHT: TextStyle =
+ TextStyle::new(fonts::FONT_SATOSHI_REGULAR_22, GREY_LIGHT, BG, GREY, GREY)
+ .with_line_spacing(-4);
/// Makes sure that the displayed text (usually address) will get divided into
/// smaller chunks.
@@ -131,23 +117,33 @@ pub const TEXT_MONO_EXTRA_LIGHT: TextStyle = TextStyle::new(
fonts::FONT_MONO_LIGHT_30,
GREY_EXTRA_LIGHT,
BG,
- GREY_EXTRA_LIGHT,
- GREY_EXTRA_LIGHT,
+ GREY_LIGHT,
+ GREY_LIGHT,
);
pub const TEXT_CHECKLIST_INACTIVE: TextStyle = TextStyle::new(
fonts::FONT_SATOSHI_MEDIUM_26,
GREY_DARK,
BG,
+ GREY_EXTRA_DARK,
+ GREY_EXTRA_DARK,
+);
+
+pub const TEXT_MENU_ITEM_SUBTITLE: TextStyle = TextStyle::new(
+ fonts::FONT_SATOSHI_REGULAR_22,
+ GREY,
+ BG,
GREY_DARK,
GREY_DARK,
);
-pub const TEXT_MENU_ITEM_SUBTITLE: TextStyle =
- TextStyle::new(fonts::FONT_SATOSHI_REGULAR_22, GREY, BG, GREY, GREY);
-
-pub const TEXT_MENU_ITEM_SUBTITLE_GREEN: TextStyle =
- TextStyle::new(fonts::FONT_SATOSHI_REGULAR_22, GREEN, BG, GREEN, GREEN);
+pub const TEXT_MENU_ITEM_SUBTITLE_GREEN: TextStyle = TextStyle::new(
+ fonts::FONT_SATOSHI_REGULAR_22,
+ GREEN,
+ BG,
+ GREEN_DARK,
+ GREEN_DARK,
+);
const fn label_title(color: Color) -> TextStyle {
TextStyle::new(fonts::FONT_SATOSHI_REGULAR_22, color, BG, color, color).with_line_spacing(-4)
diff --git a/core/embed/rust/src/ui/layout_eckhart/theme/mod.rs b/core/embed/rust/src/ui/layout_eckhart/theme/mod.rs
index 5125386f..1511c415 100644
--- a/core/embed/rust/src/ui/layout_eckhart/theme/mod.rs
+++ b/core/embed/rust/src/ui/layout_eckhart/theme/mod.rs
@@ -154,9 +154,9 @@ include_icon!(
// bootloader and firmware
pub const TEXT_NORMAL: TextStyle =
- TextStyle::new(fonts::FONT_SATOSHI_REGULAR_38, GREY_LIGHT, BG, FG, FG);
+ TextStyle::new(fonts::FONT_SATOSHI_REGULAR_38, GREY_LIGHT, BG, GREY, GREY);
pub const TEXT_SMALL: TextStyle =
- TextStyle::new(fonts::FONT_SATOSHI_MEDIUM_26, GREY_LIGHT, BG, FG, FG);
+ TextStyle::new(fonts::FONT_SATOSHI_MEDIUM_26, GREY_LIGHT, BG, GREY, GREY);
pub const TEXT_SMALL_RED: TextStyle = TextStyle {
text_color: RED,
..TEXT_SMALL
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.