I'm trying to create a custom "open with" dialog that allows the user to open a file with a not-yet-installed application. In Ubuntu, is it possible to obtain a list of programs that can be used to open a file? I need to find a list of downloadable programs (instead of installed programs) that can open a file, from the command line.
PackageKit allows you to search for applications by mime-type. Sadly, the Ubuntu devs haven't put much effort into integrating PackageKit with Ubuntu by default, but it still works surprisingly well.
First, make sure you've installed the graphical toolkit for PackageKit, gnome-packagekit-tools .
My guess is you would need to compile the information yourself. You would need to compile the file types and associations with programs in the package manager. A lengthy task, but I'd be happy to help. Sounds like a worth while project. We could even open source the task and get others to help. You can go to my site and send me an email from the contact form.
Other then that known file types are stored internally in most linux distros to a smaller degree. Here is a question that addresses that Where are file associations stored?