Files
ytLlive/Themes/index.md
T
gramps a74162e34e Resolution dropdown, list-focus preservation, unified dark theme, startup logging, and memory map
- Bottom-bar resolution dropdown (1080p60/1080p30/720p60/480p30) with tooltip
  on finding upload bandwidth; disabled while live; no in-app speed test
- FocusPreservingListBox keeps selection/focus coherent when a selected
  scene/source is deleted (skip hidden scenes; leave list when empty)
- Themes/Controls.xaml: single dark-theme dictionary merged once in App.xaml;
  custom ComboBox template fixes SelectionBoxItem rendering; GoLiveWindow and
  ReuseImageDialog consolidated onto shared styles
- AppLog file logger + AppDomain/Dispatcher exception hooks; checkpointed
  MainWindow/VM/dialog constructors (caught MenuItemRole.Separator XAML crash)
- Memory map: schema.md conventions, per-directory index.md, updated ai.md/
  TASKS.md/README.md (OAuth creds real; token persistence still pending)
2026-08-06 08:33:05 -07:00

1.2 KiB

Themes — index

The single source of the dark UI theme. See schema.md for the memory-map conventions.

File Purpose
Controls.xaml All custom control styles/templates: YtButton, YtButtonSecondary, IconButton, YtTextBox, YtComboBox, scrollbar/slider/tooltip/context-menu/menu-item/separator/list-item (implicit where app-wide), YtListBoxItem, YtLabel, SectionHeader

How it's wired:

  • Merged once in App.xaml — app-wide. New windows get the theme automatically; do not re-merge per-window.
  • Palette: window #1a1a2e, fields #0f3460, borders #2a3a5e, popups #16213e, accent #e94560, hover #26ffffff, text #e0e0e0.

Gotchas learned the hard way:

  • MenuItemRole has no Separator value — separators are standalone Separator controls with their own implicit style.
  • A custom ComboBox template must put the ContentPresenter (SelectionBoxItem) inside the ComboBox template, not the ToggleButton template — the latter resolves against the wrong TemplatedParent and renders nothing.

Related: Helpers/index.md (custom controls the theme styles), the XAML files at repo root that consume these styles.