Estou tentando definir o aplicativo padrão para os arquivos R noweb, mas não consigo encontrar o local onde isso é especificado. A razão para isso é que meus gerenciadores de arquivos parecem determinar o tipo de arquivo por extensão de nome de arquivo (.Rnw) em vez de ou além do esquema especificado por freedesktop.org (isto é: mimeapps.list, mimeinfo.cache, defaults.list ...)
Eu tentei pcmanfm e thunar como gerenciadores de arquivos. Eles concordam na determinação do tipo de arquivo, mas diferem do utilitário xdg-mime query filetype
. Veja abaixo exemplos mínimos e arquivos de configuração.
Além disso, o utilitário xdg-mime
parece ignorar o local mimeapps.list
, mas o gerenciador de arquivos o honra.
A pergunta é: A minha suposição é a de que os tipos de arquivo são determinados pela extensão de nome nesses gerenciadores de arquivos e onde eu encontro a configuração associada?
Eu uso o Awesome WM como gerenciador de janelas como pcmanfm
como gerenciador de área de trabalho.
Atualização: encontrei este tutorial sobre extensões de arquivo em pcmanfm , mas meu problema ainda é o tipo mime e o tipo inferido por pcmanfm
não correspondem ( rnoweb.Rnw
é tipo MIME text/plain
, rnoweb0.Rnw
is inode/x-empty
, ainda pcmanfm
lista ambos como R Sweave file
)
Update2 [RESOLVIDO]:
@mji propôs um arquivo xml para ser colocado em ~/.local/share/mime/packages
. Este arquivo já existe como /usr/share/mime/text/x-r-sweave.Rnw
. Acontece que a alteração da tag <comment>
nesse arquivo altera a coluna Descrição no thunar e no pcmanfm. Ele também atribui o tipo MIME x-r-sweave
aos arquivos. Eu encontrei isso já na minha pergunta, mas esqueci isso (eu procurei por x-r-noweb
)
Exemplo mínimo:
Eu criei quatro arquivos em um diretório vazio. Dois vazios, dois com conteúdo de amostra:
touch plain0 rnoweb0.Rnw
cat > plain <<EOF
text
EOF
cat > rnoweb.Rnw <<EOF
<<>>=
1+1
@
EOF
Eu corro xdg-mime query filetype
e xdg-mime query default
nesses arquivos para obter os seguintes resultados:
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
No entanto, thunar
e pcmanfm
listam o tipo dos arquivos *.Rnw
como "Arquivo R Sweave" e os arquivos plain*
como documento de texto simples ("Einfaches Textdokument" em alemão). O aplicativo padrão listado nos gerenciadores de arquivos é RStudio
para *.Rnw
e GVim para plain*
.
Arquivos de texto simples são abertos com o GVim, discordando do utilitário xdg-mime
, mas de acordo com as configurações do meu local .local/share/applications/mimeapps.list
Os únicos arquivos no meu sistema que correspondem a locate mimeinfo
e locate mimeapps
são
/etc/xdg/mimeapps.list
/usr/share/applications/mimeinfo.cache
~/.local/share/applications/mimeapps.list
~/.local/share/applications/mimeinfo.cache
grep
ping para a ocorrência de rstudio
(rstudio.desktop) nesses arquivos resulta (resultados semelhantes resumidos em {...}
)
/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;
nenhum outro arquivo mencionado na especificação XDG contém qualquer ocorrência de rstudio
.
grep
ping para o tipo text/plain
MIME, obtenho:
/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;