Fensterpositionen von OS X speichern lassen

Ich möchte die ganzen Preferences der Fensterpositionen und Größen OS X überlassen.
Es gibt zwar Threads darüber, die führen aber zu keinem Ergebnis für 32bit und 64 bit…

Also, wie kann ich die von OS X speichern lassen??

Ungetestet mal so dahingetippt:

Declare Sub saveFrameUsingName lib "AppKit.framework" selector "saveFrameUsingName:" (Id as Integer, name as CFStringRef) Declare Function setFrameUsingName lib "AppKit.framework" selector "setFrameUsingName:" (id as Integer, name as CFStringRef) As Boolean

Speichern also

saveFrameUsingName (mywindow.handle, "SpeicherName")

Und laden mittels

if setFrameUsingName(myWindow.handle, "SpeicherName") then // Hat geklappt End if

Funktioniert das alte nicht mehr ?

Window.Open

#if TargetCocoa then Declare function setFrameAutosaveName lib "cocoa" selector _ "setFrameAutosaveName:" ( NSWindowHandle as integer, AutosaveName as _ CFStringRef ) as boolean call setFrameAutosaveName( me.Handle, App.ExecutableFile.Name) #endif

Oh ja! Hatte ich auch gesucht, mich aber davon irritieren lassen, dass in der Dokumentation nur ein {get} in der Dokumentation steht. Ist aber nach wie vor eine Property.

Wobei das in meinen Augen echt irreführend ist:

[quote]Declaration
@property(readonly, copy) NSWindowFrameAutosaveName frameAutosaveName;
Discussion
Assigning a value to this property reloads the associated frame, which can result in moving the window to that frame’s location.[/quote]

[quote=363767:@Axel Schneider]Funktioniert das alte nicht mehr ?

Window.Open

#if TargetCocoa then Declare function setFrameAutosaveName lib "cocoa" selector _ "setFrameAutosaveName:" ( NSWindowHandle as integer, AutosaveName as _ CFStringRef ) as boolean call setFrameAutosaveName( me.Handle, App.ExecutableFile.Name) #endif[/quote]

Funktioniert leider nicht mit meheren Monitoren, das Fenster erscheint immer auf dem Hauptschirm …

Kennt jemand eine Lösung, die auch auf mehreren Monitoren funktioniert?