Home

xmn / bettertrumpet

publicxammen/BetterTrumpet· sync paused
Overview Code History Branches Pull requestsIssuesInsights
master
HomeOverview Code PRsIssues

feat: portable engines for mixer size, tray icon, folder UX, device toast, focus-lost, and RDP volume

last month

62de2e9
Authored
Cursor Agent8/14/2026, 3:22:56 PM
Extract Windows-free logic into EarTrumpet/Logic so the Linux self-test can cover
the code paths that do not need WASAPI or WPF. Wire the engines into settings
and session handling:

- #40 restore Open Mixer size in many-devices mode
- #39 move the legacy tray icon to Appearance
- #30 hide the empty app-rules hint when folder defaults exist
- #36 opt-in toast on default-device change
- #33 opt-in mute/attenuate when an app loses focus
- #7 remember mstsc/msrdc volume across reconnects

Co-authored-by: xmn <xammen@users.noreply.github.com>

Parent421635b

27 files changed
  • AGENTS.md+9−2
  • EarTrumpet/App.xaml.cs+24−0
  • EarTrumpet/AppSettings.cs+47−57
  • EarTrumpet/CLI/CliHandler.cs+8−72
  • EarTrumpet/DataModel/SettingsExportService.cs+13−0
  • EarTrumpet/Logic/AppIdentity.cs+135−0
  • EarTrumpet/Logic/DefaultDeviceChangePolicy.cs+31−0
  • EarTrumpet/Logic/FocusLostSupervisor.cs+108−0
EarTrumpet/Logic/FocusLostVolumePolicy.cs
+100
−0
  • EarTrumpet/Logic/FolderVolumeRuleMatcher.cs+197−0
  • EarTrumpet/Logic/RemoteDesktopIdentity.cs+52−0
  • EarTrumpet/Logic/VolumeWriteScope.cs+40−0
  • EarTrumpet/Logic/WindowSizePolicy.cs+54−0
  • EarTrumpet/Properties/Resources.Designer.cs+30−0
  • EarTrumpet/Properties/Resources.fr-FR.resx+30−0
  • EarTrumpet/Properties/Resources.resx+30−0
  • EarTrumpet/UI/Helpers/FocusLostService.cs+137−0
  • EarTrumpet/UI/ViewModels/DeviceViewModel.cs+16−0
  • EarTrumpet/UI/ViewModels/EarTrumpetAppRulesSettingsPageViewModel.cs+6−32
  • EarTrumpet/UI/ViewModels/EarTrumpetColorsSettingsPageViewModel.cs+6−0
  • EarTrumpet/UI/ViewModels/EarTrumpetLegacySettingsPageViewModel.cs+3−9
  • EarTrumpet/UI/ViewModels/EarTrumpetMouseSettingsPageViewModel.cs+26−0
  • EarTrumpet/UI/Views/FullWindow.xaml.cs+11−0
  • EarTrumpet/UI/Views/SettingsWindow.xaml+84−5
  • tools/linux-self-test/Program.cs+166−1
  • tools/linux-self-test/linux-self-test.csproj+12−4
  • tools/run-linux-self-test.sh+1−1