calibre doesnt determine it, Qt determines it and it used to use xdg-open, though I havent looked at its source code recently. My long standing recommendation on Linux is to just write your own xdg-open script, put it somewhere in PATH ahead of the system one, and free yourself from all that useless XDG baggage forever.
|