Skip to content
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

OSC responds to mouse when behind the OSD #4612

Closed
low-batt opened this issue Sep 11, 2023 · 8 comments · Fixed by #4637
Closed

OSC responds to mouse when behind the OSD #4612

low-batt opened this issue Sep 11, 2023 · 8 comments · Fixed by #4637

Comments

@low-batt
Copy link
Contributor

System and IINA version:

  • macOS 13.5
  • IINA 1.3.3

Expected behavior:
OSC does not respond to mouse when behind the OSD.

Actual behavior:
As can be seen here even though the OSC was behind the OSD it responded to the mouse position and displayed a thumbnail, blocking a portion of the OSD:
osc-thumbnail

  • [x ] MPV does not have this problem.

How often does this happen?
Every time.

@svobs
Copy link
Contributor

svobs commented Sep 11, 2023

Good catch! But fixing this will need to account for the fix required for #4156.

The fix for that defect will require the floating OSC to have higher priority than the OSD in the Z order (i.e., closer to the user's eyeballs than the OSD). And the thumbnail image needs to be "above", or higher priority, than the floating OSC, or else it will get clipped by the OSC. So OSD < OSC < Thumbnail. But the Download Subtitles pop-over is being inserted into the low-priority OSD.

It makes sense for the thumbnail to take priority over the OSD because it's a direct response to user input, unlike the OSD. But along similar logic, the Download Subtitles pop-over should have even higher priority because it requires user action to dismiss. The best fix is to move the Download Subtitles pop-over out of of the OSD. There's no ready spot to drop it into other than by creating a new view on-the-fly as a subview of the window's contentView.

@low-batt
Copy link
Contributor Author

I was going to ask you about getting a separate individual fix for issue #4156. From what I recall the fix for that was bundled in with other fixes in PR #4180 and problems found caused that PR to be put in draft state.

As can happen with software the OSD was extended into a control for at least two IINA features, subtitles download and screenshot preview. Another problem with this is that IINA allows you to disable IINA's OSD in favor of mpv's OSD. Some users do that, likely because mpv's OSD provides more configuration options. The result is that I heard from one user that thought that the subtitles download feature was totally broken because "nothing happened".

Major changes are planned for the online subtitles download. The current implementation is considered legacy. The plan is to switch to plugins. I'm unsure what that means for the OSD interface. The OSD interface leaves lot to be desired. It is not showing a lot of the information. It is truncating the file names. It probably should support pagging.

As for the problem at hand. I suspect the intention is for the OSD to be in front of the OSC. With the floating layout it is easy to avoid this by moving where the OSC is. But I'd expect the top layout to be a problem. Need to hear from the senior developers as to what they think on this one.

@svobs
Copy link
Contributor

svobs commented Sep 14, 2023

I was going to ask you about getting a separate individual fix for issue #4156.

Yeah that is reasonable.

I may end up closing PR #4180. In fixing that one, I ended up rolling several new UI features together all at once. It ended up taking huge amounts of time (way more than I expected) to iterate and refine every detail. But it would have taken many times longer to add them one at a time, because due to the interlocking nature of all the panels and animations, each feature would need (close to) a full refactor of the window if done one at a time. Unfortunately that also means they can't be easily broken up into separate PRs without a ton of rewrites. But a giant PR isn't feasible either.

Need to know the core devs' intent for the depth order of these views. The fix will end up very different depending on that.

@low-batt
Copy link
Contributor Author

I will try and get an answer.

@low-batt
Copy link
Contributor Author

The answer is that the OSD must be in front of the OSC.

uiryuu pushed a commit that referenced this issue Jan 14, 2024
…: (OSC responds to mouse hover when behind OSD) (#4637)

* Fix bug: floating OSC would not respond to click where OSD was last shown

* Fix bug: OSC responds to mouse when behind the OSD

* Seek time & thumbnail display: fix typo, add check for occlusion by sidebar, + minor cleanup
@svobs
Copy link
Contributor

svobs commented Mar 18, 2024

@low-batt this needs fixed/implemented label

@low-batt
Copy link
Contributor Author

@svobs Thanks for pointing that out. I missed this one.

@low-batt
Copy link
Contributor Author

low-batt commented Jun 9, 2024

This was fixed in IINA 1.3.5.

@low-batt low-batt closed this as completed Jun 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants