独自のファイル タイプを使用するアプリケーションを作成しています。ファイルの関連付けをデスクトップ環境に統合したいと考えています。これはcommandで実行できることは知っていますが、どのように autotools と統合する必要がありますか?
現在、私のアプリはルートなしでインストールできます~/.local
。この機能は残しておいてよかったです。
独自のファイル タイプを使用するアプリケーションを作成しています。ファイルの関連付けをデスクトップ環境に統合したいと考えています。これはcommandで実行できることは知っていますが、どのように autotools と統合する必要がありますか?
現在、私のアプリはルートなしでインストールできます~/.local
。この機能は残しておいてよかったです。
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)"
それがあなたの質問に答えることを願っています。