I'm trying to set the default application for R noweb files but fail to find the place where this is specified. The reason for this is that my file managers seem to determine the file type by filename extension (.Rnw) rather than or in addition to the scheme specified by freedesktop.org (that is: mimeapps.list, mimeinfo.cache, defaults.list...)
I tried pcmanfm and thunar as file managers. They agree in determination of the file type but differ from the xdg-mime query filetype utility. See below for minimal example and config files.
Moreover, the xdg-mime utility seems to ignore the local mimeapps.list, yet the filemanager honours it.
The question is: Is my assumption right that file types are determined by name extension in these file managers and where do I find the associated configuration?
I use Awesome WM as window manager an pcmanfm as desktop manager.
Update: I found this tutorial on file extensions in pcmanfm, but my problem is still that mime type and inferred type by pcmanfm don't match (rnoweb.Rnw is MIME type text/plain, rnoweb0.Rnw is inode/x-empty, yet pcmanfm lists both as R Sweave file)
Update2 [SOLVED]:
@mji proposed an xml file to be put in ~/.local/share/mime/packages. This file already exists as /usr/share/mime/text/x-r-sweave.Rnw. It turns out that changing the <comment> tag in that file changes the Description column in thunar and pcmanfm. It also assigns the MIME type x-r-sweave to the files. I found this already in my question, but overlooked it (I searched for x-r-noweb)
Minimal example:
I created four files in an empty directory. Two empty, two with sample content:
touch plain0 rnoweb0.Rnw
cat > plain <<EOF
text
EOF
cat > rnoweb.Rnw <<EOF
<<>>=
1+1
@
EOF
I run xdg-mime query filetype and xdg-mime query default on these files to obtain the following results:
filename MIME type Default app
-------------------------------------------------
plain text/plain medit.desktop
plain0 inode/x-empty
rnoweb0.Rnw inode/x-empty
rnoweb.Rnw text/plain medit.desktop
However, thunar and pcmanfm list the type of the *.Rnw files as "R Sweave file" and the plain* files as plain text document ("Einfaches Textdokument" in German). Default application listed in the file managers is RStudio for the *.Rnw and GVim for plain*.
Plain text files are opened with GVim, disagreeing with the xdg-mime utility but in accordance to settings in my local .local/share/applications/mimeapps.list
The only files on my system matching locate mimeinfo and locate mimeapps are
/etc/xdg/mimeapps.list
/usr/share/applications/mimeinfo.cache
~/.local/share/applications/mimeapps.list
~/.local/share/applications/mimeinfo.cache
grepping for the ocurrence of rstudio (rstudio.desktop) in these files yields (similar results summarized in {...})
/usr/share/applications/mimeinfo.cache
application/x-r-data=rstudio.desktop;
application/x-r-project=rstudio.desktop;
text/css=rstudio.desktop;
text/html=firefox.desktop;abiword.desktop;calibre-ebook-edit.desktop;rstudio.desktop;elinks.desktop;
text/javascript=rstudio.desktop;
text/x-R=rstudio.desktop;
text/x-markdown=rstudio.desktop;
text/x-r=rstudio.desktop;
text/x-r-{doc,markdown,history,html,presentation,profile,source,sweave}\
=rstudio.desktop;
text/x-tex=texstudio.desktop;gvim.desktop;rstudio.desktop;
no other files mentioned in XDG spec contain any occurrence of rstudio.
grepping for the text/plain MIME type, I obtain:
/etc/xdg/mimeapps.list : text/plain=medit.desktop;
/usr/share/applications/mimeinfo.cache : text/plain=medit.desktop;libreoffice-writer.desktop;gvim.desktop;abiword.desktop;
~/.local/share/applications/mimeapps.list : text/plain=gvim.desktop
~/.local/share/applications/mimeapps.list : text/plain=gvim.desktop;