1
我正在編寫使用自己的文件類型的應用程序。我想將文件關聯與桌面環境集成。我知道這可以完成with a command10,但它應該如何與autotools集成?如何使用自動工具註冊「Linux」文件關聯
目前,我的應用可以安裝在沒有root的情況下,例如~/.local
。保持此功能將很好。
我正在編寫使用自己的文件類型的應用程序。我想將文件關聯與桌面環境集成。我知道這可以完成with a command10,但它應該如何與autotools集成?如何使用自動工具註冊「Linux」文件關聯
目前,我的應用可以安裝在沒有root的情況下,例如~/.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文件格式的更多詳情,請參閱the tutorial。
現在您需要弄清楚將XML文件安裝到哪裏。在我的項目中,我提供--with-xdgdatadir
選項給configure
,這是留給讀者的一個練習。默認情況下,XDGDATADIR
應該是${prefix}/share
(即${datarootdir}
)。將以下內容添加到您的Makefile.am
:
[email protected]@
mimedir=$(xdgdatadir)/mime
xmldir=$(mimedir)/packages
xml_DATA = myapp.xml
這將確保MIME數據安裝正確。
最後,有必要確保在make install
和make uninstall
上更新MIME數據庫。將update-mime-database
工具的支票添加到您的configure.ac
。然後添加以下內容到您的Makefile.am
:
install-data-hook:
$(UPDATE_MIME_DATABASE) "$(DESTDIR)$(mimedir)"
uninstall-hook:
$(UPDATE_MIME_DATABASE) "$(DESTDIR)$(mimedir)"
我希望能回答你的問題。