続・ZEditorの関連付け

龍さん(id:shachicoco)や、会長さん(id:kaichosan)から反応があったので、アイコンをZEditorに変えるついでに、メモ帳から関連付けを外したり、アンインストール時に元に戻す手順を追加してみる。
インストール直前に実行されるスクリプト preinstはこんな感じ。

echo >> zeditor.desktop
grep ^MimeType textedit.desktop | sed -e s/TextEditor/zeditor/ >> zeditor.desktop
grep -v ^MimeType textedit.desktop > /tmp/textedit.desktop
cp /tmp/textedit.desktop textedit.desktop
  • 最初にZEditorのdesktopファイル末尾に改行が入ってないので追加。
  • メモ帳のdesktopファイルからMimeTypeで始まる行を抽出(検索文字列の先頭の「^」は行頭の意味を持つ文字)して、アイコン名のTextEditorをzeditorに変更してZEditorのdesktopファイルに追加。
  • メモ帳のdesktopファイルからMimeTypeで始まる行以外を抽出(-vオプションで検索文字列を含まない出力となる)して、/tmpに保存。
  • /tmpに保存したものをメモ帳のdesktopファイルとして上書き。

アンインストール直後に実行されるスクリプト postrmはこんな感じ。

grep ^MimeType zeditor.desktop | sed -e s/zeditor/TextEditor/ >> textedit.desktop
grep -v ^MimeType zeditor.desktop > /tmp/zeditor.desktop
cp /tmp/zeditor.desktop zeditor.desktop
  • ZEditorのdesktopファイルからMimeTypeで始まる行を抽出して、アイコン名のzeditorをTextEditorに変更してメモ帳のdesktopファイルに追加。
  • ZEditorのdesktopファイルからMimeTypeで始まる行以外を抽出して、/tmpに保存。
  • /tmpに保存したものをZEditorのdesktopファイルとして上書き。

こんな具合でいいかな?と。メモ帳およびZEditorのアイコンがアプリケーションのタブに無い場合(他のタブに動かしてたり、削除した場合)は正常に動作しないので注意。
どっちのスクリプトも先頭にBourneシェル(/bin/sh)で動作するシェルスクリプトである旨を示す「#!/bin/sh」と、作業ディレクトリの移動のための「cd /opt/QtPalmtop/apps/Applications」を入れておく必要がある。
一応、上記手順で作成したパッケージを下記に置いておきます。
http://www.areanine.gr.jp/~nyano/archives/slzaurus/zeditor-relation_0.0.2_arm.ipk
個人的にはちゃんと/opt/QtPalmtop/appsディレクトリ下にある全てのdesktopファイルからMimeType=textを含むファイルを抽出して、該当箇所を削除した後、全てのdesktopファイルからExec=zeditorを含むファイルを抽出して、いずれかにMimeType=textなどの行を追記してやれば、どんな状況にも対応できて綺麗なんだけどねー。