made drs remember the frame's position and use it for the initial position

svn: r6676
This commit is contained in:
Robby Findler 2007-06-16 19:02:12 +00:00
parent ce0b5fec2f
commit 70b48d535f
2 changed files with 18 additions and 3 deletions

View File

@ -57,6 +57,12 @@
(finder:default-filters))) (finder:default-filters)))
(application:current-app-name (string-constant drscheme)) (application:current-app-name (string-constant drscheme))
(preferences:set-default 'drscheme:frame:initial-position #f
(λ (x) (or (not x)
(and (pair? x)
(number? (car x))
(number? (cdr x))))))
(preferences:set-default 'drscheme:limit-memory #f (preferences:set-default 'drscheme:limit-memory #f
(λ (x) (or (boolean? x) (λ (x) (or (boolean? x)
(integer? x) (integer? x)

View File

@ -1157,6 +1157,9 @@ module browser threading seems wrong.
file-menu:get-revert-item file-menu:get-revert-item
file-menu:get-print-item) file-menu:get-print-item)
(define/override (on-move x y)
(preferences:set 'drscheme:frame:initial-position (cons x y)))
;; logging : (union #f string[directory-name]) ;; logging : (union #f string[directory-name])
(field [logging #f] (field [logging #f]
[definitions-log-counter 0] ;; number [definitions-log-counter 0] ;; number
@ -3607,9 +3610,15 @@ module browser threading seems wrong.
[else [else
(create-new-drscheme-frame name)])])) (create-new-drscheme-frame name)])]))
(define first-frame? #t)
(define (create-new-drscheme-frame filename) (define (create-new-drscheme-frame filename)
(let* ([drs-frame% (drscheme:get/extend:get-unit-frame)] (let* ([drs-frame% (drscheme:get/extend:get-unit-frame)]
[frame (new drs-frame% (filename filename))]) [frame (new drs-frame% (filename filename))])
(send (send frame get-interactions-text) initialize-console) (send (send frame get-interactions-text) initialize-console)
(when first-frame?
(let ([pos (preferences:get 'drscheme:frame:initial-position)])
(when pos
(send frame move (car pos) (cdr pos)))))
(set! first-frame? #f)
(send frame show #t) (send frame show #t)
frame)))) frame))))