create new filetype com a extensão existente

3

Eu fiz um aplicativo Qt, vamos chamá-lo de "alpha", que abre e gera .zip arquivos. Então, basicamente, meus arquivos criados pelo aplicativo têm a extensão .alpha , mas são basicamente .zip files. Como associo .alpha arquivos ao meu aplicativo "alpha"? Atualmente, por padrão, os arquivos .alpha abrem com o gerenciador de archive (porque o sistema os vê como .zip files).

Eu olhei para muitas soluções possíveis, sem sucesso. Eu tentei os métodos abaixo:

  1. Eu criei um arquivo alpha.xml em /usr/share/mime/packages

    <?xml version="1.0" encoding="UTF-8"?>
    <mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
        <mime-type type="application/alpha">
            <comment>ALPHA File</comment>
            <glob pattern="*.alpha"/>
        </mime-type>
    </mime-info>
    

    Agora, quando clico em abc.alpha file, recebo um erro dizendo:

    Could not display "abc.alpha". There is no application installed for "ALPHA File" files.
    
  2. Eu editei o arquivo /etc/mime.types para incluir a seguinte linha:

    application/alpha                zip
    
  3. Eu criei o arquivo alpha.desktop - isso funciona bem, já que ALPHA agora é mostrado em "abrir com outros aplicativos". No entanto, ainda não consigo clicar duas vezes em um arquivo .alpha para abri-lo no meu programa.

Como eu resolvo isso? Agradecemos antecipadamente.

    
por akashrajkn 18.03.2016 / 14:09

1 resposta

2

De aplicativos padrão do Archlinux :

  1. Crie seu arquivo xml em ~/.local/share/mime/packages (acho que /usr/share/mime/packages também está bom, mas não testei)

    mkdir -p ~/.local/share/mime/packages
    touch ~/.local/share/mime/packages/application-alpha.xml
    
  2. Edite o application-alpha.xml :

    <?xml version="1.0" encoding="UTF-8"?>
    <mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
        <mime-type type="application/alpha">
            <comment>alpha file</comment>
            <glob-deleteall/>
            <glob pattern="*.alpha"/>
        </mime-type>
    </mime-info>
    
  3. Agora crie o arquivo da área de trabalho ~/.local/share/applications/alpha.desktop :

    [Desktop Entry]
    Name=Alpha
    Exec=/PATH/TO/YOUR/alpha
    MimeType=application/alpha
    Terminal=false
    Type=Application
    

    adicione o caminho de execução correto ao seu aplicativo alfa e, se esse aplicativo de console alterar o Terminal para verdadeiro.

  4. Atualize agora os aplicativos e o banco de dados mime com:

    update-desktop-database ~/.local/share/applications
    update-mime-database    ~/.local/share/mime
    

Agora, se você clicar duas vezes no arquivo abc.alpha, /PATH/TO/YOUR/alpha app deverá abrir o arquivo.

    
por incBrain 18.03.2016 / 15:35