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.