-
-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
Close hide filename in upper left (suppress OSD), #4197 #4991
base: develop
Are you sure you want to change the base?
Conversation
This commit will: - Add the settings disableOSDFileStartMsg, disableOSDPauseResumeMsgs, disableOSDSeekMsg and disableOSDSpeedMsg - Add a new isDisabled property to OSDMessage - Change PlayerCore.sendOSD to not display the OSD message if it has been disabled - Add a "Suppress message for" disclosure triangle in the On Screen Display section of the UI tab that holds checkboxes for the OSD messages that can be disabled These changes add settings that allow the user to keep the OSD enabled while suppressing some of the OSD messages. This is useful in certain applications such as looping in a kiosk or scrubbing through a video without distractions.
Nice idea. Can I suggest inverting the state so each checkbox represents an "enable" instead of a "suppress"? I believe there is a school of thought that toggle controls are more intuitive when there their "on" state matches the "on" state of the action they represent (and/or that reducing negations improves ease of understanding). I was hoping to find this mentioned in Apple's HIG but they are unfortunately silent on it. |
I agree that having settings that enable messages would be more intuitive. I did not do that because that would require more work now and require continuing work as new OSD messages are added. Although restrictive, the "suppress" design limits the work and still addresses the problem posed by the issue. I envisioned an "enable" approach as a part of a much more extensive feature set that allowed additional OSD configuration abilities similar to what can be done with mpv's OSD configuration. There is another change that is needed to address the issue. We need to add an Another reason to add an Do you want to take on adding |
I think it would be better to let users to select what they message they want to show for all message types. We can make a dedicate page for this and start a sheet window when the user click on a "Configure OSD" button for example. Although I did't try to accomplish this nor know the code complexity in order to achieve this feature. |
I was hoping to get this PR merged first before fixing another OSD defect that makes it clear it can not be all OSD messages. We have a few OSD "messages" that must not be suppressed by A solution that exposes all (excluding the mandatory ones) OSD messages really should be data driven, so adding a new enum to If we are doing significant work on OSD messages it really should including features like mpv has. With the plugin system we should be able to support parameterized expressions like mpv does. Of course this is even more work. At the moment we have a lot of other more important changes that need to be made. So this proposal is all about covering the most common case with minimum work expecting it will be replaced by a significant enhancement to OSD abilities in the future. |
I went ahead and posted PR #4992 which is about the problem with disabling the OSD breaking the |
Not sure I see this reasoning. The "default" for things without checkboxes isn't tied to anything. And in fact, an individual checkbox can be the inverse of its stored pref value binding by using the value transformer
Complete tangent, but such work would be the perfect time to migrate the OSD to a more modern framework like SwiftUI or Javascript...
I think that is one of those features where 90% of the effort is modifying the settings UI. I can work on implementing it sometime in the next few weeks if you like. |
This commit will:
disableOSDFileStartMsg
,disableOSDPauseResumeMsgs
,disableOSDSeekMsg
anddisableOSDSpeedMsg
isDisabled
property toOSDMessage
PlayerCore.sendOSD
to not display the OSD message if it has been disabledSuppress message for
disclosure triangle in theOn Screen Display
section of theUI
tab that holds checkboxes for the OSD messages that can be disabledThese changes add settings that allow the user to keep the OSD enabled while suppressing some of the OSD messages. This is useful in certain applications such as looping in a kiosk or scrubbing through a video without distractions.
Description: