1

独自のファイル タイプを使用するアプリケーションを作成しています。ファイルの関連付けをデスクトップ環境に統合したいと考えています。これはcommandで実行できることは知っていますが、どのように autotools と統合する必要がありますか?

現在、私のアプリはルートなしでインストールできます~/.local。この機能は残しておいてよかったです。

4

1 に答える 1

3

myapp.xml目的のMIMEデータを含むをプロジェクトに追加します。次のようになります。

<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
  <mime-type type="image/png">
     <comment xml:lang="en">PNG image</comment>
     <comment xml:lang="af">png beeld</comment>
     ...
     <magic priority="50">
            <match type="string" value="\x89PNG" offset="0"/>
     </magic>
     <glob pattern="*.png"/>
  </mime-type>
</mime-info>

XMLファイルの形式の詳細については、チュートリアルを参照してください。

次に、XMLファイルをどこにインストールするかを理解する必要があります。私のプロジェクトでは、読者に演習として残されている--with-xdgdatadirオプションを提供しています。configureデフォルトでは、 (つまり)でXDGDATADIRある必要があります。以下をあなたのに追加してください:${prefix}/share${datarootdir}Makefile.am

xdgdatadir=@XDGDATADIR@
mimedir=$(xdgdatadir)/mime
xmldir=$(mimedir)/packages
xml_DATA = myapp.xml

これにより、MIMEデータが正しくインストールされます。

最後に、MIMEデータベースがとで更新されていることを確認する必要がmake installありmake uninstallます。update-mime-databaseツールのチェックをに追加しますconfigure.ac。次に、以下を追加しますMakefile.am

install-data-hook:
    $(UPDATE_MIME_DATABASE) "$(DESTDIR)$(mimedir)"

uninstall-hook:
    $(UPDATE_MIME_DATABASE) "$(DESTDIR)$(mimedir)"

それがあなたの質問に答えることを願っています。

于 2011-06-27T08:26:03.600 に答える