BoneFish v6.3.1
v6.3.1 — Fix: Icon Sidebar Tofu (Global Font Override) 🔤
Release date: 2026-07-22
🐛 Bug — Global TextBlock Style Merusak SymbolIcon
Global Style TargetType="TextBlock" di App.xaml meng-override FontFamily untuk semua TextBlock,
termasuk yang dipakai internal WPF UI's SymbolIcon untuk render icon glyph (Segoe Fluent Icons).
Karena JetBrains Mono tidak punya glyph icon, semua ikon sidebar muncul sebagai kotak kosong (tofu).
🔧 Fix — Ganti dari Implicit Style ke Attached Property Inheritance
Akar masalah:
- Implicit Style (
Style TargetType="TextBlock") → precedence lebih tinggi dari TemplatedParent template properties - SymbolIcon internal template set
FontFamily="Segoe Fluent Icons"via TemplatedParent — tapi kalah sama implicit style
Perbaikan:
| Sebelum (❌) | Sesudah (✅) |
|---|---|
App.xaml: Style TargetType="TextBlock" (blanket override) |
Dihapus |
MainWindow.xaml root Grid |
+TextElement.FontFamily="{StaticResource JetBrainsMonoRegular}" |
12 file halaman Pages/*.xaml (root ui:UiPage) |
+TextElement.FontFamily="{StaticResource JetBrainsMonoRegular}" |
Mengapa ini bekerja:
TextElement.FontFamily adalah inherited attached property — prioritinya lebih rendah dari eksplisit
FontFamily="Segoe Fluent Icons" yang di-set di template SymbolIcon. Regular TextBlocks tanpa FontFamily
eksplisit mewarisi JetBrains Mono, sementara SymbolIcon tetap pakai Segoe Fluent Icons.
✅ Verifikasi
- Semua 10 ikon sidebar muncul normal (bukan kotak kosong) ✅
- Font JetBrains Mono di teks label/heading tetap utuh di semua halaman ✅
- Build 0 error, 0 warning ✅
Files Changed (14 files)
| File | Perubahan |
|---|---|
Bloxstrap/App.xaml |
Hapus Style TargetType="TextBlock" global |
Bloxstrap/UI/Elements/Settings/MainWindow.xaml |
+TextElement.FontFamily di root Grid |
Bloxstrap/UI/Elements/Settings/Pages/FastFlagsPage.xaml |
+TextElement.FontFamily |
Bloxstrap/UI/Elements/Settings/Pages/ExperimentalPage.xaml |
+TextElement.FontFamily |
Bloxstrap/UI/Elements/Settings/Pages/IntegrationsPage.xaml |
+TextElement.FontFamily |
Bloxstrap/UI/Elements/Settings/Pages/BootstrapperPage.xaml |
+TextElement.FontFamily |
Bloxstrap/UI/Elements/Settings/Pages/ChannelPage.xaml |
+TextElement.FontFamily |
Bloxstrap/UI/Elements/Settings/Pages/AppearancePage.xaml |
+TextElement.FontFamily |
Bloxstrap/UI/Elements/Settings/Pages/ShortcutsPage.xaml |
+TextElement.FontFamily |
Bloxstrap/UI/Elements/Settings/Pages/ModsPage.xaml |
+TextElement.FontFamily |
Bloxstrap/UI/Elements/Settings/Pages/FastFlagEditorPage.xaml |
+TextElement.FontFamily |
Bloxstrap/UI/Elements/Settings/Pages/FastFlagEditorWarningPage.xaml |
+TextElement.FontFamily |
Bloxstrap/UI/Elements/Settings/Pages/FastFlagsDisabled.xaml |
+TextElement.FontFamily |
Bloxstrap/UI/Elements/Settings/Pages/GlobalSettingsPage.xaml |
+TextElement.FontFamily |