うおぉぉぉ!全然進まなかった。
結局インストーラはシェルスクリプトで書いているんだが。
とりあえずなんとかなったのをココにバックアップ。
#! /bin/sh
# -r オプションで削除
if test $# = 1; then
if test $1 = -r; then
rm -r /usr/share/y901x
rm /usr/bin/y901x
rm /usr/share/applications/y901.desktop
rm /usr/share/pixmaps/y901x.xpm
fi
else
# 拡張子があるものだけ /usr/share にコピー
if ! test -d /usr/share/y901x; then
mkdir /usr/share/y901x
fi
cp -f *.* /usr/share/y901x/
# /usr/bin に作成
touch /usr/bin/y901x
chmod 755 /usr/bin/y901x
cat << _EOS_ > /usr/bin/y901x
#! /bin/sh
exec python /usr/share/y901x/y901main.py \$@
_EOS_
# .desktop 作成、MimeType は Totem コピペ
touch /usr/share/applications/y901.desktop
cat << _EOSB_ > /usr/share/applications/y901.desktop
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Terminal=false
Icon[ja_JP]=y901x
Name[ja_JP]=Y901x
Exec=y901x %U
Comment[ja_JP]=わいきゅうまるいちえっくす
Name=Y901x
Comment=y901x
Icon=y901x
StartupNotify=true
Categories=GNOME;GTK;AudioVideo;Video;Player;X-Ximian-Main;X-Red-Hat-Base;
MimeType=application/ogg;application/ram;(以下略
_EOSB_
# アイコンのコピー
cp -f y901x.xpm /usr/share/pixmaps/
fi
ヒアドキュメントとやらに詰まりまくった。
MimeType を入れただけでは「別のアプリで開く」でしか登録ができないなぁ。
Nautilus の右メニューに入れるにはどうすれば…まだ勉強が足らない。
それよりやはりカレントディレクトリをスクリプトで変更はやはりまずい。
そうすると glade ファイルの読み込みはどうすればいいんかいなぁ?
try:
self.widgets = gtk.glade.XML("/usr/share/hoge/a.glade", "b")
except:
self.widgets = gtk.glade.XML("a.glade", "b")
しか思いつかないし見つからないんだが…まだ勉強が足らない。
てか $@ でコマンドラインオプションを送るとリストで届くんだね。
コマンドラインオプションを付けると解析はどうすれば…まだ勉強が足らない。
アイコンデザインが…いつものことだ。
やりたいこと以外で詰まって全然進展しない!
まぁプログラミングってそういうもんですけどね。
Tips サイトは多いのに何も有効なアプリを公開していない人が多い理由はコレだよ。
追記
手抜きっぽいインストーラ
でなんとかなったぞい!
Nautilus への右メニューへは一度「別のアプリで開く」を行えば登録される。
ということでこの件は終わらせよう、先へ進めない。
UpdateManager のソースがマジで参考になったんだが、コレって Python 製なんだね。
何故こういうトコを強調して日本での Python 普及を唱える人が出ないのやら。
Mono の覚書のほうがアクセスが多いのがオイラは超気に入らないんだよ!