Setting mpv as default Tracker video player

I’m sorry for asking already answered questions. OscarL told me on github that the Tracker bug stopping this working is this:

https://dev.haiku-os.org/ticket/11893

EDIT

nephele says thats not the issue.

That was my understanding at the time, @danboid (“OscarL” in disguise here), because I assumed apps setting B_ARGS_ONLY should work that way. Seems it doesn’t.

And while @nephele might be right in pointing out a bug/missing feature on mpv’s port… not being able to associate files ↔ programs this way (by just calling them with file names as arguments) does understandably sounds like a bug/missing feature in Tracker/Haiku.

Not supporting that means we have to do extra work on every ported app we want to use this way. Not so convenient.

3 Likes

Haiku expects one of two cases:

  • The application uses BApplication. In this case arguments are sent by the B_ARGV_RECEIVED message or, if the app supports it, B_REFS_RECEIVED
  • Otherwise, it is some command line tool, args are sent using argc/argv arguments to main

But, some ported apps do have a BApplication yet they expect arguments passed in the legacy way. Tracker has no way to know that, unless we determine some app flag combination to indicate it, or maybe add a new application flag for it

5 Likes

Yes. However not doing this work means the app will never work with drag and drop anyway. The “supply arguments once then never again” case may have been fine for unix for commandline apps. but for gui apps, in my opinion, there is no reason to support this. Most toolkits already support the way haiku does it (among other things because macos expects this too), if applications have an interest to be cross platform they can implement these things, if not they don’t need to. There is no reason we have to port everything, in some cases applications will simply be too foreign to properly integrate into the OS.

1 Like