Ticket #32543

ウィンドウ表示位置指定

Open Date: 2013-12-08 20:53 Last Update: 2014-01-04 00:50

Reporter:
Owner:
Status:
Closed
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
Fixed
File:
None

Details

Mac版にて、ウィンドウ表示位置を指定したいとのユーザ要望を受けた。 現状のMac版は、スクリーン中央にウィンドウを表示するように実装している。

Ticket History (3/5 Histories)

2013-12-08 20:53 Updated by: yknk
  • New Ticket "ウィンドウ表示位置指定" created
2013-12-08 20:57 Updated by: yknk
Comment

対策

ユーザは、MIDITrailのプロパティリストファイルに、MIDITrailのウィンドウ左上の スクリーン座標(x,y)を登録する。 MIDITrailはプロパティリストファイルに座標が登録されている場合は、 その座標にMIDITrailのウィンドウを表示する。 座標が登録されていなければ、従来通りスクリーン中央にウィンドウを表示する。

View
    WindowPosition
        X = 100
        Y = 200

         Screen
 0----X---------------+
 |    |               |
 Y----+--------+      |
 |    | Window |      |
 |    |        |      |
 |    +--------+      |
 |                    |
 +--------------------+

プロパティリストファイルの編集は、Property List Editorまたは ユーザが独自に開発したプログラムから編集してもらうことを想定している。

~/Library/Preferences/jp.sourceforge.users.yknk.MIDITrail.plist

2013-12-29 03:31 Updated by: yknk
Comment

対策詳細

MIDITrailApp::

  • _CreateWindow ウィンドウ位置設定メソッド_SetWindowPositionを呼び出す。
  • _SetWindowPosition メソッド追加。ユーザ設定(plist)からウィンドウ位置を取得し、メインウィンドウ制御に登録する。

MTMainWindowCtrl

  • setWindowPosition メソッド追加。メインウィンドウの位置を設定する。
  • showWindow ウィンドウ位置設定時は、スクリーン中央移動を抑止する。
2013-12-29 03:44 Updated by: yknk
Comment

調査メモ

plistファイルの削除

10.8以降ではplistファイルを削除しても、初期状態に戻らない。 (~/Library/Preferences/jp.sourceforge.users.yknk.MIDITrail.plist) OS側がキャッシュしているため、次のコマンドで削除する必要がある。

defaults delete jp.sourceforge.users.yknk.MIDITrail

OSのウィンドウ復元機能

10.7以降でアプリ終了時のウィンドウ位置を記憶する機能が追加されている。

  • 10.6
    • システム環境設定:アピアランス:特に設定なし
    • plistで指定したウィンドウ位置は反映される。
  • 10.7
    • システム環境設定:一般:「アプリケーションを終了して再度開くときにウインドウを復元」
    • デフォルトでONになっている。 optionキーを押しながら終了メニューを選択すると、ウィンドウ位置を記憶しないようだ。
    • このチェックを外せば、plistで指定したウィンドウ位置が反映される。
  • 10.8, 10.9
    • システム環境設定:一般:「アプリケーションを終了するときにウインドウを閉じる」 「選択すると、開いていた書類とウインドウは、アプリケーションの再開時には復元されません。」
    • デフォルトでONになっている
    • plistで指定したウィンドウ位置は反映される。
2014-01-04 00:50 Updated by: yknk
  • Resolution Update from None to Fixed
  • Status Update from Open to Closed
  • Ticket Close date is changed to 2014-01-04 00:50

Attachment File List

No attachments

Edit

Please login to add comment to this ticket » Login