Defect #506
closedアプリケーションを終了できない?
Description
Mac環境でお使いの方でRedmineAirを正常終了できないと報告をもらいました。
http://twitter.com/g_maeda/status/20102879730
http://twitter.com/g_maeda/status/20103805111
Macのことはよくわからないのですが
Macの場合はDockIconに格納されて操作するようになってると思います。
http://www.r-labs.org/projects/redmineair/repository/entry/trunk/src/redmineair.as#L124
なにかわかる方いらっしゃいますか?
Files
Updated by Akiko Takano over 12 years ago
私もMacユーザではないので、変わるかどうか不明ですが...。
NativeApplication.nativeApplication.exit() に変えてみるとどうでしょうか。
ためしにコンパイルできるか確認してみますね。
動作的に変わるかわからないのですが、Windowsで問題なければ一度コミットしてみます。
Updated by Yasuhiro Morikawa over 12 years ago
自分の環境がMacなので、確認してみますね。バージョンは0.0.1?
Updated by Yasuhiro Morikawa over 12 years ago
とりあえず、0.0.1で確認しました。
redmineair→redmineairを終了ではredmineairは終了しないので、Dockを右クリックして、exitを押す必要がありますね(スナップショット参照)。
メニューの終了から終了した場合は終了させるようにしておくとよいのでしょうか。
あと、設定画面に終了ボタンがあると良いのかもしれませんね。
Updated by yusuke kokubo over 12 years ago
お二人とも確認と対応ありがとうございます。
自分がmacユーザーではないので試せないのですが
バージョンは0.0.1でもtrunkでも同様みたいです。
Updated by Akiko Takano over 12 years ago
morikawaさん、スクリーンショットありがとうございます。
なるほど、Macは標準で『終了』メニューがくっついて来るんですね。
OSで標準で付いてくる『終了』メニューでも、exitと同じ動作にするのであれば、こんな感じでしょうか...。
(あと、Macの場合はexitメニューは表示させないようにするといいのかな)
NativeApplication.nativeApplication.addEventListener(Event.EXITING, function(event:Event):void{ saveStickies(); NativeApplication.nativeApplication.exit(); });
ビルドは出来たので、パッチを添付します。
もし必要なら、コミットするか、手元でビルドしたものを添付しますね。
Updated by Akiko Takano over 12 years ago
- File redmineair.air redmineair.air added
担当は難しいのですが、とりあえずビルドしたものを添付します。
これ以上はMac環境が無いと無理なので、こちらの検証からは外れますね。
Updated by yusuke kokubo over 12 years ago
- Assignee set to Go Maeda
とりあえずakikoさんにビルドしてもらったものを試していただいてよいですか? > 前田さん
Updated by Go Maeda over 12 years ago
本チケットに添付のもので試してみました。現象変わらずです。
- メニューの「RedmineAir」→「RedmineAirを終了」 不可 (ウィンドウは閉じる)
- Dockのアイコンを右クリック → 「終了」不可 (ウィンドウは閉じる)
常駐系アプリを落として再度試してみます。
Updated by Go Maeda over 12 years ago
ログイン時に自動起動する項目がないゲストアカウントでログインしましたが、結果は同じでした。
私のマシンにインストールされているAirアプリは他にはPixelPerfectとTweetDeckがあるのですが、これらは問題なく終了させることができます。
PixelPerfect:
http://www.adobe.com/devnet/air/flex/samples.html
Updated by Go Maeda over 12 years ago
Updated by yusuke kokubo over 12 years ago
ちょうど自分がアプリを常駐化させるために終了イベントを無視するようにしてからみたいですね^^;
ちょっと気になったのですが、この対応は0.0.1では入ってないはずですけど、0.0.1でも同様の現象になるのでしたっけ?
Updated by Go Maeda over 12 years ago
改めて下記URLからダウンロードした0.0.1をインストールしてみたところ、現象発生しませんでした。
http://www.r-labs.org/projects/redmineair/wiki/GettingStart
trunkを使っていたものの、バージョン情報の表示だけを見て"0.0.1"と報告していました。誤った情報で混乱させてしまい失礼しました。
Updated by Akiko Takano over 12 years ago
前田さん、kokuboさん、ありがとうございます。
Macのデフォルトの『終了』メニューを使うと良いかと思って、添付したビルドでは右クリック(コンテキストメニュー)はつけないでおいてしまいました。
ソースを見直したら、タスクトレイへの常駐は、メインのアプリを閉じて終了させているわけではなく、visible=falseにしているだけなんですね、なるほど。(実際はClosingしてないですね)
動作としては、終了は終了(プロセスも付箋の画面もみんな終了)、というほうがいいかなと思います。
私もTweetDecを使っているのですが、設定画面でこのあたりの動作が選べますね。
- Close時はアプリも全終了
- Close時は通知エリアを隠す
このあたりは個人設定(プリファレンス)っぽい感じなので、そこまで設定できるようになるまでは、こういうほうがいいのかなと思っています。(Macユーザの方にとって一番自然な方法がいいかと思います)
- 画面を閉じたらアプリ終了
- コンテキストメニューは、終了、もしくはメイン画面を隠す(付箋のみ表示)
Updated by Go Maeda over 12 years ago
- File quit_menu.png quit_menu.png added
- File kill_process.png kill_process.png added
- File redmineair_prevents_logout.png redmineair_prevents_logout.png added
Macのアプリとして違和感ないのは以下の動作です。
- 画面を閉じてもアプリは終了しない(現状のRedmineAirと同様)。
- メニューの「終了」またはDockアイコン右クリックの終了でアプリ終了
現状の問題点は、RedmineAirのメニューの「終了」を選んだりショートカットキーの Command + Q を押しても終了させることができないことです。強制終了以外にアプリケーションを終了させることができません。
RedmineAirの強制終了を行わなければ、OSのシャットダウンやログアウトも行うことができません。以下のような画面が表示されてしまいます。
Updated by yusuke kokubo over 12 years ago
とりあえず現状直す必要がある点として
メニューの「終了」またはDockアイコン右クリックの終了でアプリ終了
だと思いました。
Macをまともに触ったことすらないので前田さんに貼りつけていただいた
画像でうっすらイメージするしかないのですが
- メニューの「終了」
- Dockアイコン右クリックの「終了」
をそれぞれ対応する方法があればそうしたいです。
Updated by Akiko Takano over 12 years ago
ここが参考になるかもしれませんので、貼っておきますね。
http://blog.quq.jp/2009/06/correspondence-of-end-with-adobeair-altf4-and-commandq/
Updated by Go Maeda over 12 years ago
本件の検証のためにRedmineAirのビルド環境を作りたいのですが、「Adobe AIR SDK」があればよいでしょうか? どなたかご指導いただけますでしょうか。
現在、AIR SDKをダウンロードしてbinディレクトリにパスを通して、adtやadlコマンドが実行できる状態にしてあります。Google Codeからtrunkのソースコードもチェックアウト済みです。
Updated by Akiko Takano over 12 years ago
Viewに関する調整だと、Flex(Flash)Builderのプロジェクトタイプが必要ですね。
修正が必要なのは、redmineair.as が大部分で、あとはredmineair.mxmlの冒頭くらいかと思います。
Eclipseなどの調整はすこし設定などに時間がかかるかと思います。
JDKとANT、それからFlexSDK&AIR SDKがあれば、Haruさんの用意してくださったbuild.xmlとプロパティファイルを修正して、最低限ビルドとパッケージ(*.air)の作成が出来ます。
Wikiに書きますので、それでも良ければ。
Updated by Yasuhiro Morikawa over 12 years ago
私もMacユーザなので一言。
Macにおける終了or画面のclose処理は
1. command + Q --- アプリケーションの終了
2. command + W --- アプリケーションの最小化
3. 左上(Macの上部)メニューからの終了 --- アプリケーションの終了
4. 左上(Macの上部)メニューからの隠す --- アプリケーションの最小化
5. Dockメニューからの終了 --- アプリケーションの終了
6. Dockメニューからの隠す --- アプリケーションの最小化
7. アプリケーションの[×] --- アプリケーションの最小化
8. アプリケーションの[-] --- アプリケーションの最小化
上記のようにアプリケーション自体を終了する動作は、1,3,5になりますねー。
TweetDeckやSaezuriなどを参考に書いてみてます。
参考までに。
Updated by Haru Iida over 12 years ago
Go Maeda は書きました:
trunkを使っていたものの、バージョン情報の表示だけを見て"0.0.1"と報告していました。誤った情報で混乱させてしまい失礼しました。
確かにバージョンの表示だけ見ても何を使っているのか判りにくいですね。
バージョンにHudsonのビルド番号を入れましょうか?
"0.0.1 build 40"
みたいに。
Hudson側の設定で対応できますよ。
Updated by yusuke kokubo over 12 years ago
trunkを使っていたものの、バージョン情報の表示だけを見て"0.0.1"と報告していました。誤った情報で混乱させてしまい失礼しました。
いえいえリリースマネージできてなかった問題なのでぼくのミスです…。
確かにバージョンの表示だけ見ても何を使っているのか判りにくいですね。
バージョンにHudsonのビルド番号を入れましょうか?
おおっ。
簡単にできるならお願いしていいですか。
Updated by Haru Iida over 12 years ago
yusuke kokubo は書きました:
確かにバージョンの表示だけ見ても何を使っているのか判りにくいですね。
バージョンにHudsonのビルド番号を入れましょうか?おおっ。
簡単にできるならお願いしていいですか。
#512 で対応しました。
Updated by yusuke kokubo over 12 years ago
#512 で対応しました。
ありがとうございます。
この問題ちょっと停滞し始めているので、
打開策が難しいようならMacの場合だけwindow.close()で
e.preventDefault();
をしないようにして当面しのごうかと思ってます…。
Updated by yusuke kokubo over 12 years ago
Go Maeda は書きました:
本件の検証のためにRedmineAirのビルド環境を作りたいのですが、「Adobe AIR SDK」があればよいでしょうか? どなたかご指導いただけますでしょうか。
wikiにまとめてもらったので
お時間あるときに試してみてください。
http://www.r-labs.org/projects/redmineair/wiki/%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83
Updated by yusuke kokubo over 12 years ago
- Status changed from 新規(New) to 担当(Assigned)
http://blog.quq.jp/2009/06/correspondence-of-end-with-adobeair-altf4-and-commandq/
ここを参考にMac向けに
stage.nativeWindow.addEventListener(Event.CLOSE, appExit)
を追加してみました。
Macをお使いの方は最新のバージョンで試していただいてよろしいでしょうか。
Updated by Go Maeda over 12 years ago
以下の操作で正しく終了できることを確認しました。対応ありがとうございました。
- Command+Q
- メニュー「RedmineAir」→「RedmineAirの終了」
- ウィンドウのクローズ
ウィンドウのクローズ時は以前のようにDockに残るのが理想ですが、ウィンドウの最小化で邪魔にならないように隠すことはできますので、現状の動作でも大きな問題はないと考えます(Macのアプリの動作としては若干違和感はあります)。
Updated by yusuke kokubo over 12 years ago
- Status changed from 担当(Assigned) to 解決(Resolved)
ウィンドウのクローズ時は以前のようにDockに残るのが理想ですが、ウィンドウの最小化で邪魔にならないように隠すことはできますので、現状の動作でも大きな問題はないと考えます(Macのアプリの動作としては若干違和感はあります)。
windowのcloseでは終了しないと思ってたので予想外ですが
最悪の状態は回避できたみたいですね。
とりあえず今回はこれで終了してまた別途対応を検討する必要がありそうです。
Updated by yusuke kokubo over 12 years ago
- Status changed from 解決(Resolved) to 終了(Closed)
- % Done changed from 0 to 100