自分で書いた幾つかのスクリプトは、KeyRemap4MacBookのサポートによって、キーボードから直接起動したい。それについて、KeyRemap4MacBook-jpで、hisayaさんから高山さんのサイト;
をお教え戴いていたが、My flipped around Logicool Keyboard K811 with Logi...の工作に時間が取られて手が出なかった。
工作が一段落付いたので、このテーマに手を出す事にした。
初めてなので、高山さんの資料を読み、流れを頭にいれてから、[まとめ]サンプル・プログラム「FirefoxProfileManager.app.zip」に付いての説明書き;
気を良くして、全部手動で書いてみたが、エラーが多くて閉口した。で調べると、
というアプリケーションがあった。これはただ直接呼べるアプリケーション化だけではなくて、「Status menu」からも呼びさせる様になるようだ。
そこで2つ作ってみたが、一勝一敗であった。まあ、段々と整備しよう;
実は、KeyRemap4MacBookから直接起動するので、アイコンは要らないのですが、初めて作ったアプリケーションなので、笑……。
その後、スクリプトのplatypusを使ったりしたが、使用条件が厳しそうなのので、シェルスクリプト型の支援を探したら;
----
この記事の履歴
をお教え戴いていたが、My flipped around Logicool Keyboard K811 with Logi...の工作に時間が取られて手が出なかった。
工作が一段落付いたので、このテーマに手を出す事にした。
初めてなので、高山さんの資料を読み、流れを頭にいれてから、[まとめ]サンプル・プログラム「FirefoxProfileManager.app.zip」に付いての説明書き;
- このサンプルを落として、 core.sh と icon.icon を差し替えれば OK。
気を良くして、全部手動で書いてみたが、エラーが多くて閉口した。で調べると、
というアプリケーションがあった。これはただ直接呼べるアプリケーション化だけではなくて、「Status menu」からも呼びさせる様になるようだ。
そこで2つ作ってみたが、一勝一敗であった。まあ、段々と整備しよう;
実は、KeyRemap4MacBookから直接起動するので、アイコンは要らないのですが、初めて作ったアプリケーションなので、笑……。
その後、スクリプトのplatypusを使ったりしたが、使用条件が厳しそうなのので、シェルスクリプト型の支援を探したら;
- シェルスクリプトをMacのアプリケーション化するシェルスクリプト ← かるくマックさん
#!/bin/sh
#http://karukumac.blogspot.jp/2013/02/mac.html
# mkshellapp.sh - make application from shell_script
#
# ss2app: 2013-04-28(Sun) 20:02:07 by mNeji
#
# これからアプリケーションを作りたいディレクトリ、HOGEを作って置き、
# スクリプト、hoge.shと、其の画像アイコン、hoge.icnsをHOGEの中に用意する。
# 通常の画像ファイルを.icnsに変換するのは;
# iConvertのオンライン・サービスが便利:
# http://iconverticons.com/online/#
# TerminalでHOGEに移動して;
# 「$ ss2app hoge.sh 」を実行すると、
# hoge.appが生成され、
# hoge.sh,hoge.icnsはhoge.appの内部に移動する。
PROG=`basename $0`
USAGE="Usage: $PROG shell_script"
case $# in
1) scr="$1" ;;
*) echo $USAGE >&2
exit 2 ;;
esac
app_name=`basename "$scr" .sh`.app
#app_icon="applcon.icns"
app_icon=`basename "$scr" .sh`.icns
mkdir -p "$app_name"/Contents/MacOS
mkdir -p "$app_name"/Contents/Resources
if [ -x "$scr" ]; then
cp -p "$scr" "$app_name"/Contents/MacOS
rm -f "$scr"
else
echo "Error: $PROG: $scr is not found or not executable." 2>&1
exit 1
fi
if [ -f "$app_icon" ]; then
cp -p "$app_icon" "$app_name"/Contents/Resources
rm -f "$app_icon"
else
echo "Error: $PROG: $app_icon is not found." 2>&1
exit 1
fi
cat << EOF > "$app_name"/Contents/Info.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleExecutable</key>
<string>`basename "$scr"`</string>
<key>CFBundleIconFile</key>
<string>${app_icon}</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleSignature</key>
<string>????</string>
</dict>
</plist>
EOF
echo "$PROG: $app_name successfully created."
----
この記事の履歴
- 開始 2013-04-27(土) 15:45
- 追加 2013-04-28(Sun) 20:36 mkshellapp.sh → ss2app