Project

General

Profile

Defect #506

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

Added by yusuke kokubo almost 9 years ago. Updated almost 9 years ago.

Status:
終了(Closed)
Priority:
通常(Normal)
Assignee:
Category:
ALL
Target version:
Start date:
08/02/2010
Due date:
% Done:

100%

Estimated time:

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

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

Related issues

Related to RedmineAir - Feature #510: バージョン番号にHudsonのビルド番号を入れる終了(Closed)08/07/2010

Actions

History

#1

Updated by Akiko Takano almost 9 years ago

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

#2

Updated by Yasuhiro Morikawa almost 9 years ago

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

#3

Updated by Yasuhiro Morikawa almost 9 years ago

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

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

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

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

#4

Updated by yusuke kokubo almost 9 years ago

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

#5

Updated by Akiko Takano almost 9 years ago

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

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

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

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

#6

Updated by Akiko Takano almost 9 years ago

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

#7

Updated by yusuke kokubo almost 9 years ago

  • Assignee set to Go Maeda

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

#8

Updated by Go Maeda almost 9 years ago

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

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

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

#9

Updated by Go Maeda almost 9 years ago

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

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

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

#10

Updated by Go Maeda almost 9 years ago

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

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

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

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

#11

Updated by yusuke kokubo almost 9 years ago

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

#12

Updated by Go Maeda almost 9 years ago

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

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

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

#13

Updated by Akiko Takano almost 9 years ago

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

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

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

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

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

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

Updated by Go Maeda almost 9 years ago

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

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

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

Macにおける終了メニュー

強制終了画面

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

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

#15

Updated by yusuke kokubo almost 9 years ago

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

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

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

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

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

#16

Updated by Akiko Takano almost 9 years ago

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

#17

Updated by Go Maeda almost 9 years ago

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

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

#18

Updated by Akiko Takano almost 9 years ago

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

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

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

#19

Updated by Yasuhiro Morikawa almost 9 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などを参考に書いてみてます。

参考までに。

#20

Updated by Haru Iida almost 9 years ago

Go Maeda は書きました:

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

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

"0.0.1 build 40"

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

#21

Updated by yusuke kokubo almost 9 years ago

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

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

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

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

#22

Updated by Haru Iida almost 9 years ago

yusuke kokubo は書きました:

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

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

#512 で対応しました。

#23

Updated by yusuke kokubo almost 9 years ago

#512 で対応しました。

ありがとうございます。

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

#24

Updated by yusuke kokubo almost 9 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

#25

Updated by yusuke kokubo almost 9 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をお使いの方は最新のバージョンで試していただいてよろしいでしょうか。

#26

Updated by Go Maeda almost 9 years ago

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

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

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

#27

Updated by yusuke kokubo almost 9 years ago

  • Status changed from 担当(Assigned) to 解決(Resolved)

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

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

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

#28

Updated by yusuke kokubo almost 9 years ago

  • Status changed from 解決(Resolved) to 終了(Closed)
  • % Done changed from 0 to 100

Also available in: Atom PDF