New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix playback history window doesn't respect reduce motion, #4870 #4871
base: develop
Are you sure you want to change the base?
Conversation
This commit will: - Add a new class OutlineView that extends NSOutlineView adding support for reducing motion - Change HistoryWindowController.xib to use OutlineView instead of NSOutlineView This suppresses the sliding animation when collapsing and expanding rows in the playback history window.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reduce motion doesn't mean "turn off all animations", it means "avoid problematic transitions that are likely to cause people to feel disoriented". This animation provides important context to a user interaction and seems like a poor choice to disable unless it is causing issues for people.
Apple has recognized that sliding is causing issues for such people. The Human Interface Guidelines in the Motion section provides this guidance:
I couldn't find an easy way to make NSOutlineView first fade the item before making it just disappear. Is there a way to do that? I could break the connection with the macOS reduce motion setting and create a |
IMO if you think this would be a problem, we should file a feedback and get Apple to implement it in NSOutlineView rather than trying to roll it ourselves. |
I am going to move this to a draft until I have time to add an IINA setting for controlling animations. It used to be that people sensitive to motion were using the But recently I have noticed changes. My guess is that two things have brought some attention to this problem. The first was the need to support the CSS
I don't remember Apple ever mentioning eliminate animations in the HIG before. I'm hoping Apple is starting to recognize the problems sliding and zooming trigger in some people. It definitely would be good to get Apple to enhance |
This commit will change IINA to adhere to the Apple Human Interface Guidelines with respects to the macOS "Reduce motion" setting. With these changes IINA will reduce, not eliminate, animations when the macOS reduce motion setting is enabled. When this setting is enabled IINA will fade in the sidebar instead of sliding it into view. All other changes to animation behavior, such as how IINA transitions in and out of full screen mode, are provide by AppKit. For users who are hyper sensitive to motion this commit adds an "Enable animations" setting to the UI settings tab in a new "Animations" section at the bottom of the panel. Disabling this setting will eliminate many, but not all, animated transition effects.
With Reviewers should take a close look at the |
This commit will change IINA to adhere to the Apple Human Interface Guidelines with respects to the macOS "Reduce motion" setting. With these changes IINA will reduce, not eliminate, animations when the macOS reduce motion setting is enabled. When this setting is enabled IINA will fade in the sidebar instead of sliding it into view. All other changes to animation behavior, such as how IINA transitions in and out of full screen mode, are provide by AppKit. For users who are hyper sensitive to motion this commit adds an "Enable animations" setting to the UI settings tab in a new "Animations" section at the bottom of the panel. Disabling this setting will eliminate many, but not all, animated transition effects.
After thinking about the code some more I made one more fix. |
Trying out the built product, the fade effect seems to be working as desired... But I see you're only manipulating |
I originally attempted to just use |
I really don't think this is necessary. For one, I support @saagarjha's opinion. We really shouldn't mess |
This commit will change IINA to adhere to the Apple Human Interface Guidelines with respects to the macOS Reduced motion setting. With these changes IINA will reduce, not eliminate, animations when the macOS Reduced motion setting is enabled. When this setting is enabled IINA will fade in the sidebar instead of sliding it into view. All other changes to animation behavior, such as how IINA transitions in and out of full screen mode, are provide by AppKit.
For users who are hyper sensitive to motion this commit adds an
Enable animations
setting to theUI
settings tab in a newAnimations
section at the bottom of the panel. Disabling this setting will eliminate many, but not all, animated transition effects.Description: