On Sun, Feb 21, 2010 at 05:33:35PM +0100, Damian wrote: > On Sun, Feb 21, 2010 at 4:05 PM, Willie Wong <ww...@math.princeton.edu> wrote: > > On Sun, Feb 21, 2010 at 03:45:14PM +0100, Damian wrote: > >> So I tried to see how xdg-open works, but the man page didn't give me > >> any useful information. The related command, xdg-mime, doesn't work as > >> I expected. > > > > I asked a similar question a week or so back. > I searched in my mails but I couldn't find it. Sorry, I probably > didn't enter a relevant search string. > > >> But xdg-open (and therefore beagle-search) still refuses to open jpeg > >> images with geeqie. > >> > >> Any ideas? > > > > xdg-open is just a shell script. If you are interested, take a look at > > less `which xdg-open` > > and you will be enlightened as to why it is a complete piece of crap > > unless you are using KDE, GNOME, or XFCE. (Hint, notice how nowhere in > > the script does it read whatever you modified with xdg-mime.) > > > > A possible way to work around it (depends on your application, which, > > in your case, is beagle, which I am not familiar with) is to go into > > the offending application that is calling xdg-open and see if you can > > configure MIME types in there yourself. The application that made me > > look this up, Jabref, does allow that configuration. Your mileage can > > of course vary. > Thanks Willie for your answer. > > Sadly beagle-search doesn't offer any option. The developers must use > only gnome. > > I guess I will have so find another beagle front end, or choose a > different desktop search engine.
xdg-open tries to determine the desktop enviroment you are running and uses its way to open files... If you are in a kde session, it will just run kfmclient XXX (kde way to open files in their application), for gnome it will use gnome-open or something... So even if you are not logged in a "full" gnome or kde session, but have some of its packages installed, you can "trick" xdg-open to use that enviroment for kde just export KDE_FULL_SESSION=true, for gnome GNOME_DESKTOP_SESSION_ID=something so you can run beagle-search with GNOME_DESKTOP_SESSION_ID=something beagle-search you have to set which applications to use in corresponding config (for kde, just run konqueror/dolphin and right click a file, don't know for gnome) for kde, you need the package kde-base/kfmclient, which should depend juast on kdelibs, for gnome-open you need gnome-base/libgnome, which shouldn't have much dependences that you don't have allready if you have some gtk app.. btw, gnome-open/kfcmclient will open files in any available program that correctly registers its mime-types, not only in kde/gnome apps..., so you really need only kfmclient/libnome to use it... one last remark, if set KDE_FULL_SESSION/GNOME_DESKTOP_SESSION_ID for xdg-open and it starts a gnome/kde app, that app might think that there are some desktop specific things running, that are not, though I haven't seen any real problems with it... You might however just edit the "detectDE" function in xdg-open to always behave like gnome/kde without settings the variables... yoyo PS the idea of xdg-open using a browser, when it cannont detect which DE are you running, is that a browser usually knows how to open which files... and you should have your preffered browser set in $BROWSER...