プロジェクト

全般

プロフィール

Defect #506

完了

アプリケーションを終了できない?

yusuke kokubo さんが13年以上前に追加. 13年以上前に更新.

ステータス:
終了(Closed)
優先度:
通常(Normal)
担当者:
カテゴリ:
ALL
対象バージョン:
開始日:
2010/08/02
期日:
進捗率:

100%

予定工数:

説明

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

なにかわかる方いらっしゃいますか?


ファイル

スクリーンショット(2010-08-02_22.26.30).png (112 KB) スクリーンショット(2010-08-02_22.26.30).png Yasuhiro Morikawa, 2010/08/02 22:27
patch.txt (1.7 KB) patch.txt Akiko Takano, 2010/08/03 02:33
redmineair.air (654 KB) redmineair.air パッチを当ててビルドしてみました。 Akiko Takano, 2010/08/03 12:38
quit_menu.png (62.5 KB) quit_menu.png Macにおける終了メニュー Go Maeda, 2010/08/04 14:17
kill_process.png (55.1 KB) kill_process.png 強制終了画面 Go Maeda, 2010/08/04 14:17
redmineair_prevents_logout.png (30.1 KB) redmineair_prevents_logout.png RedmineAirを強制終了させなければログアウト不可 Go Maeda, 2010/08/04 14:17

関連するチケット 1 (0件未完了1件完了)

関連している RedmineAir - Feature #510: バージョン番号にHudsonのビルド番号を入れる終了(Closed)Haru Iida2010/08/07

操作

Akiko Takano さんが13年以上前に更新

私もMacユーザではないので、変わるかどうか不明ですが...。
NativeApplication.nativeApplication.exit() に変えてみるとどうでしょうか。
ためしにコンパイルできるか確認してみますね。
動作的に変わるかわからないのですが、Windowsで問題なければ一度コミットしてみます。

Yasuhiro Morikawa さんが13年以上前に更新

自分の環境がMacなので、確認してみますね。バージョンは0.0.1?

Yasuhiro Morikawa さんが13年以上前に更新

とりあえず、0.0.1で確認しました。

redmineair→redmineairを終了ではredmineairは終了しないので、Dockを右クリックして、exitを押す必要がありますね(スナップショット参照)。

メニューの終了から終了した場合は終了させるようにしておくとよいのでしょうか。

あと、設定画面に終了ボタンがあると良いのかもしれませんね。

yusuke kokubo さんが13年以上前に更新

お二人とも確認と対応ありがとうございます。
自分がmacユーザーではないので試せないのですが
バージョンは0.0.1でもtrunkでも同様みたいです。

Akiko Takano さんが13年以上前に更新

morikawaさん、スクリーンショットありがとうございます。
なるほど、Macは標準で『終了』メニューがくっついて来るんですね。

OSで標準で付いてくる『終了』メニューでも、exitと同じ動作にするのであれば、こんな感じでしょうか...。
(あと、Macの場合はexitメニューは表示させないようにするといいのかな)

NativeApplication.nativeApplication.addEventListener(Event.EXITING, function(event:Event):void{
      saveStickies();
      NativeApplication.nativeApplication.exit();        
});

ビルドは出来たので、パッチを添付します。
もし必要なら、コミットするか、手元でビルドしたものを添付しますね。

Akiko Takano さんが13年以上前に更新

担当は難しいのですが、とりあえずビルドしたものを添付します。
これ以上はMac環境が無いと無理なので、こちらの検証からは外れますね。

yusuke kokubo さんが13年以上前に更新

  • 担当者Go Maeda にセット

とりあえずakikoさんにビルドしてもらったものを試していただいてよいですか? > 前田さん

Go Maeda さんが13年以上前に更新

本チケットに添付のもので試してみました。現象変わらずです。

  • メニューの「RedmineAir」→「RedmineAirを終了」 不可 (ウィンドウは閉じる)
  • Dockのアイコンを右クリック → 「終了」不可 (ウィンドウは閉じる)

常駐系アプリを落として再度試してみます。

Go Maeda さんが13年以上前に更新

ログイン時に自動起動する項目がないゲストアカウントでログインしましたが、結果は同じでした。

私のマシンにインストールされているAirアプリは他にはPixelPerfectとTweetDeckがあるのですが、これらは問題なく終了させることができます。

PixelPerfect:
http://www.adobe.com/devnet/air/flex/samples.html

Go Maeda さんが13年以上前に更新

Macで終了できない現象は、ビルド40から発生しています。

http://hudson.r-labs.org/hudson/job/RedmineAir/40/

ビルド39では正常に終了できます。

http://hudson.r-labs.org/hudson/job/RedmineAir/39/

yusuke kokubo さんが13年以上前に更新

ちょうど自分がアプリを常駐化させるために終了イベントを無視するようにしてからみたいですね^^;
ちょっと気になったのですが、この対応は0.0.1では入ってないはずですけど、0.0.1でも同様の現象になるのでしたっけ?

Go Maeda さんが13年以上前に更新

改めて下記URLからダウンロードした0.0.1をインストールしてみたところ、現象発生しませんでした。

http://www.r-labs.org/projects/redmineair/wiki/GettingStart

trunkを使っていたものの、バージョン情報の表示だけを見て"0.0.1"と報告していました。誤った情報で混乱させてしまい失礼しました。

Akiko Takano さんが13年以上前に更新

前田さん、kokuboさん、ありがとうございます。
Macのデフォルトの『終了』メニューを使うと良いかと思って、添付したビルドでは右クリック(コンテキストメニュー)はつけないでおいてしまいました。

ソースを見直したら、タスクトレイへの常駐は、メインのアプリを閉じて終了させているわけではなく、visible=falseにしているだけなんですね、なるほど。(実際はClosingしてないですね)
動作としては、終了は終了(プロセスも付箋の画面もみんな終了)、というほうがいいかなと思います。

私もTweetDecを使っているのですが、設定画面でこのあたりの動作が選べますね。

  • Close時はアプリも全終了
  • Close時は通知エリアを隠す

このあたりは個人設定(プリファレンス)っぽい感じなので、そこまで設定できるようになるまでは、こういうほうがいいのかなと思っています。(Macユーザの方にとって一番自然な方法がいいかと思います)

  • 画面を閉じたらアプリ終了
  • コンテキストメニューは、終了、もしくはメイン画面を隠す(付箋のみ表示)

Go Maeda さんが13年以上前に更新

Macのアプリとして違和感ないのは以下の動作です。

  1. 画面を閉じてもアプリは終了しない(現状のRedmineAirと同様)。
  2. メニューの「終了」またはDockアイコン右クリックの終了でアプリ終了

現状の問題点は、RedmineAirのメニューの「終了」を選んだりショートカットキーの Command + Q を押しても終了させることができないことです。強制終了以外にアプリケーションを終了させることができません。

Macにおける終了メニュー

強制終了画面

RedmineAirの強制終了を行わなければ、OSのシャットダウンやログアウトも行うことができません。以下のような画面が表示されてしまいます。

RedmineAirを強制終了させなければログアウト不可

yusuke kokubo さんが13年以上前に更新

とりあえず現状直す必要がある点として

メニューの「終了」またはDockアイコン右クリックの終了でアプリ終了

だと思いました。
Macをまともに触ったことすらないので前田さんに貼りつけていただいた
画像でうっすらイメージするしかないのですが

  • メニューの「終了」
  • Dockアイコン右クリックの「終了」

をそれぞれ対応する方法があればそうしたいです。

Akiko Takano さんが13年以上前に更新

ここが参考になるかもしれませんので、貼っておきますね。
http://blog.quq.jp/2009/06/correspondence-of-end-with-adobeair-altf4-and-commandq/

Go Maeda さんが13年以上前に更新

本件の検証のためにRedmineAirのビルド環境を作りたいのですが、「Adobe AIR SDK」があればよいでしょうか? どなたかご指導いただけますでしょうか。

現在、AIR SDKをダウンロードしてbinディレクトリにパスを通して、adtやadlコマンドが実行できる状態にしてあります。Google Codeからtrunkのソースコードもチェックアウト済みです。

Akiko Takano さんが13年以上前に更新

Viewに関する調整だと、Flex(Flash)Builderのプロジェクトタイプが必要ですね。
修正が必要なのは、redmineair.as が大部分で、あとはredmineair.mxmlの冒頭くらいかと思います。

Eclipseなどの調整はすこし設定などに時間がかかるかと思います。

JDKとANT、それからFlexSDK&AIR SDKがあれば、Haruさんの用意してくださったbuild.xmlとプロパティファイルを修正して、最低限ビルドとパッケージ(*.air)の作成が出来ます。
Wikiに書きますので、それでも良ければ。

Yasuhiro Morikawa さんが13年以上前に更新

私も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などを参考に書いてみてます。

参考までに。

Haru Iida さんが13年以上前に更新

Go Maeda は書きました:

trunkを使っていたものの、バージョン情報の表示だけを見て"0.0.1"と報告していました。誤った情報で混乱させてしまい失礼しました。

確かにバージョンの表示だけ見ても何を使っているのか判りにくいですね。
バージョンにHudsonのビルド番号を入れましょうか?

"0.0.1 build 40"

みたいに。
Hudson側の設定で対応できますよ。

yusuke kokubo さんが13年以上前に更新

trunkを使っていたものの、バージョン情報の表示だけを見て"0.0.1"と報告していました。誤った情報で混乱させてしまい失礼しました。

いえいえリリースマネージできてなかった問題なのでぼくのミスです…。

確かにバージョンの表示だけ見ても何を使っているのか判りにくいですね。
バージョンにHudsonのビルド番号を入れましょうか?

おおっ。
簡単にできるならお願いしていいですか。

Haru Iida さんが13年以上前に更新

yusuke kokubo は書きました:

確かにバージョンの表示だけ見ても何を使っているのか判りにくいですね。
バージョンにHudsonのビルド番号を入れましょうか?

おおっ。
簡単にできるならお願いしていいですか。

#512 で対応しました。

yusuke kokubo さんが13年以上前に更新

#512 で対応しました。

ありがとうございます。

この問題ちょっと停滞し始めているので、
打開策が難しいようならMacの場合だけwindow.close()で
e.preventDefault();
をしないようにして当面しのごうかと思ってます…。

yusuke kokubo さんが13年以上前に更新

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

yusuke kokubo さんが13年以上前に更新

  • ステータス新規(New) から 担当(Assigned) に変更

http://blog.quq.jp/2009/06/correspondence-of-end-with-adobeair-altf4-and-commandq/

ここを参考にMac向けに
stage.nativeWindow.addEventListener(Event.CLOSE, appExit)
を追加してみました。

Macをお使いの方は最新のバージョンで試していただいてよろしいでしょうか。

Go Maeda さんが13年以上前に更新

以下の操作で正しく終了できることを確認しました。対応ありがとうございました。

  • Command+Q
  • メニュー「RedmineAir」→「RedmineAirの終了」
  • ウィンドウのクローズ

ウィンドウのクローズ時は以前のようにDockに残るのが理想ですが、ウィンドウの最小化で邪魔にならないように隠すことはできますので、現状の動作でも大きな問題はないと考えます(Macのアプリの動作としては若干違和感はあります)。

yusuke kokubo さんが13年以上前に更新

  • ステータス担当(Assigned) から 解決(Resolved) に変更

ウィンドウのクローズ時は以前のようにDockに残るのが理想ですが、ウィンドウの最小化で邪魔にならないように隠すことはできますので、現状の動作でも大きな問題はないと考えます(Macのアプリの動作としては若干違和感はあります)。

windowのcloseでは終了しないと思ってたので予想外ですが
最悪の状態は回避できたみたいですね。

とりあえず今回はこれで終了してまた別途対応を検討する必要がありそうです。

yusuke kokubo さんが13年以上前に更新

  • ステータス解決(Resolved) から 終了(Closed) に変更
  • 進捗率0 から 100 に変更

他の形式にエクスポート: Atom PDF