Skip to content

feat(ui): add option to disable menu popup animations (#3737)#3744

Closed
leno23 wants to merge 1 commit into
icsharpcode:masterfrom
leno23:feat/disable-menu-animations-3737
Closed

feat(ui): add option to disable menu popup animations (#3737)#3744
leno23 wants to merge 1 commit into
icsharpcode:masterfrom
leno23:feat/disable-menu-animations-3737

Conversation

@leno23

@leno23 leno23 commented May 17, 2026

Copy link
Copy Markdown

Summary

Fixes #3737.

Adds Enable menu animations to Display options (under Other). When unchecked, menu and submenu popups use PopupAnimation.None instead of the default fade-in.

  • New installs default to the current OS menu animation preference.
  • The setting is persisted in ILSpy.xml and applied at startup and when changed in options.

Test plan

  • Open View → Options → Display and toggle Enable menu animations; open top-level menus and submenus (e.g. View → Theme) and confirm instant vs animated open.
  • Restart ILSpy and confirm the preference is restored.
  • CI build (no local .NET SDK in contributor environment; relying on GitHub Actions)

Expose EnableMenuAnimations in Display settings (defaults to the OS
preference). When disabled, menu and submenu popups open instantly
without fade animation via SystemParameters.MenuPopupAnimation.
@siegfriedpammer

Copy link
Copy Markdown
Member

Note

This comment was generated by Claude (claude-fable-5 via Claude Code) and is posted on its behalf after reading it.

Thanks for taking a look at #3737. We are closing this PR for two reasons:

1. It does not compile — the central API call is hallucinated. MenuPopupAnimationHelper.cs calls SystemParameters.OverrideMetadata(SystemParameters.MenuPopupAnimationKey, new FrameworkPropertyMetadata(...)), which does not exist in WPF: OverrideMetadata is a DependencyProperty method, and MenuPopupAnimationKey is a ResourceKey, not a dependency property. Building ILSpy/ILSpy.csproj at the PR head fails with CS0117. Please build before submitting; the repo compiles with TreatWarningsAsErrors, so anything that does not build locally cannot pass CI either.

2. It no longer applies — ILSpy's UI is now Avalonia, not WPF. This branch is based on a master from before the Avalonia 12 port landed; it patches files that no longer exist (App.xaml.cs, DisplaySettingsPanel.xaml, Util/SettingsService.cs) and relies on WPF-only concepts (SystemParameters, PopupAnimation) that have no Avalonia equivalent.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Disable menu animations

2 participants