Como faço para recuperar todas as ações de arquivo "abrir com" por API?

1

Gostaria de expor as ações do gerenciador de arquivos do Ubuntu no meu aplicativo (por arquivo).

No Windows, você teria que analisar o registro (bastante simples), mas não tenho idéia sobre o Debian ou o Ubuntu. Eu não me importo com o esforço de programação e gostaria de saber sobre possíveis atalhos (comandos shell). Existe algo como uma API de plataforma ou devo apenas começar a olhar para o código-fonte do Nautilus? Eu estou supondo que talvez haja um mapeamento de mímica em algum lugar e eu poderia despejá-lo com o gnome-conf.

Obrigado, qualquer dica é bem-vinda.

    
por xamiro 04.03.2016 / 01:16

1 resposta

1

Para open-with , o Nautilus usa GTK e GIO :

O GTK fornece a interface GtkAppChooser e suas implementações para serem usadas em uma GUI.

Em um nível mais baixo, há o GIO com coisas como g_file_query_default_handler () para obter o aplicativo padrão para um arquivo ou g_app_info_get_all_for_type () para obter todos os aplicativos registrados para um determinado tipo MIME.

Depois de ter o GAppInfo para um aplicativo, você pode usar g_app_info_launch () para abrir um arquivo com esse aplicativo.

Dependendo da linguagem de programação que você usa, pode haver documentos melhores, como a Referência da API de introspecção do Python GObject

Para o shell, há xdg-open para abrir um arquivo com o aplicativo padrão, e xdg-mime para fazer coisas com o MIME tipos.

Se você quiser saber todos os detalhes sobre o tratamento de MIME no Linux, consulte Banco de dados MIME-info compartilhado e Associação entre tipos MIME e aplicativos

nautilus-extra-action contém pequenos programas (geralmente shell scripts) para a extensão Nautilus-Actions . Para usá-los, seu programa também precisa implementar algo como o Nautilus-Actions.

    
por Florian Diesch 04.03.2016 / 02:48