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

WIP: Enter PIP when Inactive #2632

Draft
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

dsdshcym
Copy link

@dsdshcym dsdshcym commented Nov 3, 2019

  • This change has been discussed with the author.
  • It implements / fixes issue #.

Description:
Hi, there!

This PR adds enterPIPWhenInactive feature to IINA, which I think would be really useful for multitasking.
iina

A few todos:

  1. add preference toggle
  2. call enterPIP & exitPIP less aggressively (now, exitPIP would be called when dragging the PIP window)

Let me know what you think about this feature and what I need to do next, thank you!

@anohren
Copy link
Contributor

anohren commented Nov 3, 2019

Can you list the benefits explicitly?

Personally I think a subset of this feature would be useful, which I describe in #2326. Though, to switch to PiP any time the window loses focus seems a bit too coarse a behavior to me, and I imagine I would be taken by surprise by the feature from time to time.

Sometimes it's necessary to react to unexpected events in other apps without necessarily wanting to. If that in turn entails side effects where windows fly across the screen it could ironically become a damper for interacting briefly with other apps, instead of encouraging and empowering multitasking.

One problematic use case would be if we're in a split-screen configuration. As soon as you focus on the other app you'll find yourself in split screen with an empty window. Probably not what was intended.

I haven't tried it though. Perhaps it is useful to people who prefer all their windows on a single desktop.

#2350 is the solution I'm currently using in order to quickly and purposefully switch to/from PiP, without gotchas. I find that it brings both a sense of speed and control.

@dsdshcym
Copy link
Author

dsdshcym commented Nov 5, 2019

@anohren

Yes, I totally agree that to switch to PiP any time the window loses focus is too coarse. That's why I listed the two todos above (preference toggle & switch to PiP less aggressively)

To make the goal more explicit here: I think of this feature as pauseWhenInactive, which is a preference IINA already provides. It should be an opt-in feature, so people who don't need this feature won't be surprised, and people who need this feature can turn it on.

To answer your first question, I think the main benefit is to be able to multitasking with a single display setup. The workflow would be: watching a video in fullscreen, switching to a message app, and the video would automatically be in PiP so I can still see the video.

Thanks for you reply! And if you can give it a try, that would be great. :)

@anohren
Copy link
Contributor

anohren commented Nov 5, 2019

That's why I listed the two todos above (preference toggle & switch to PiP less aggressively)

I can only speak for myself, but I don't consider the possibility to enable a feature as it being more fine-grained. It just makes it...usable.

The second item, "exitPIP would be called when dragging the PIP window", simply sounds like a bug that needs fixing -- also not something I would call making the feature more fine-grained. Or did you have more improvements in mind here that you didn't mention?

By fine-grained I mean how sensitive the feature is to the context in which it is intended to activate automatically.

I think the main benefit is to be able to multitasking with a single display setup. The workflow would be: watching a video in fullscreen, switching to a message app, and the video would automatically be in PiP so I can still see the video.

Ok, I see. Qualifying the use case with a single monitor setup definitely simplifies things. I have some followup questions:

  1. Most of the benefit can currently already be had by explicitly enabling PiP. How is this feature so much better that it weighs up the possible cons (which haven't been listed)?

  2. For instance, is there any possibility that someone who has enabled the feature will forget that they enabled it? If you forgot about it, how frustrated would you become if the app did things seemingly on its own without being asked? This might not be a problem, I don't know. It's just a general danger when apps do things automatically.

  3. PiP seems to activate also when the window is not in fullscreen. Is that just as desirable as when switching from fullscreen to another space?

  4. What about interacting with another app in split screen?

Don't get me wrong. I would potentially use such a feature -- as I mentioned I've suggested something similar -- but it doesn't mean I immediately think it would be beneficial to push it out to everyone. It depends on how easy it is to shoot yourself in the foot with it, be it accidentally or through forgetfulness.

Right now I can imagine some hidden frustration even for those who made the conscious choice to activate this feature, since it fires in so many situations that might not be ideal (I've mentioned two). When they get bitten -- not if but when -- will they continue to use it?

I might try it next time I do a build.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants