OSDN Ticket Archive


Ticket #32543

ウィンドウ表示位置指定

登録: 2013-12-08 20:53 最終更新: 2014-01-04 00:50

報告者:
yknk
担当者:
yknk
チケットの種類:
機能リクエスト
状況:
完了
コンポーネント:
MIDITrail Ver.1.2.x for Mac OS X
マイルストーン:
Version 1.2.1 for Mac OS X (完了済み)
優先度:
5 - 中
重要度:
5 - 中
解決法:
修正済み
ファイル:
なし

詳細

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

チケットの履歴

2013-12-08 20:53 更新者: yknk
  • 新しいチケット "ウィンドウ表示位置指定" が作成されました
2013-12-08 20:57 更新者: yknk
コメント

対策

ユーザは、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 更新者: yknk
コメント

対策詳細

MIDITrailApp::

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

MTMainWindowCtrl

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

調査メモ

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 更新者: yknk
  • 解決法なし から 修正済み に更新されました
  • 状況オープン から 完了 に更新されました
  • チケット完了時刻2014-01-04 00:50 に更新されました

添付ファイルリスト

添付ファイルはありません