another try at fixing gtk dialog placement
original commit: 647ce060ab1abe89eb22d0f974b93d619d2fc612
This commit is contained in:
parent
a4305ae6a2
commit
e2687511b3
|
@ -57,10 +57,7 @@
|
|||
(super direct-show on?))
|
||||
|
||||
(define/override (center dir wrt)
|
||||
;; We're supposed to use gtk_window_set_position() for dialogs,
|
||||
;; but we must be doing something else wrong so that it doesn't
|
||||
;; work.
|
||||
(if #f ; (eq? dir 'both)
|
||||
(if (eq? dir 'both)
|
||||
(gtk_window_set_position (get-gtk)
|
||||
(if (get-parent)
|
||||
GTK_WIN_POS_CENTER_ON_PARENT
|
||||
|
|
|
@ -180,6 +180,8 @@
|
|||
(define/override (get-dialog-level) 0)
|
||||
(define/public (frame-relative-dialog-status win) #f)
|
||||
|
||||
(define/override (get-unset-pos) -11111)
|
||||
|
||||
(define/override (center dir wrt)
|
||||
(let ([w-box (box 0)]
|
||||
[h-box (box 0)]
|
||||
|
|
|
@ -287,11 +287,13 @@
|
|||
[extra-gtks extra-gtks]
|
||||
[parent parent])
|
||||
|
||||
(define save-x 0)
|
||||
(define save-y 0)
|
||||
(define save-x (get-unset-pos))
|
||||
(define save-y (get-unset-pos))
|
||||
(define save-w 0)
|
||||
(define save-h 0)
|
||||
|
||||
(define/public (get-unset-pos) 0)
|
||||
|
||||
(connect-size-allocate gtk)
|
||||
|
||||
(when add-to-parent?
|
||||
|
@ -399,8 +401,8 @@
|
|||
|
||||
(unless no-show? (show #t))
|
||||
|
||||
(define/public (get-x) save-x)
|
||||
(define/public (get-y) save-y)
|
||||
(define/public (get-x) (if (= save-x -11111) 0 save-x))
|
||||
(define/public (get-y) (if (= save-y -11111) 0 save-y))
|
||||
(define/public (get-width) save-w)
|
||||
(define/public (get-height) save-h)
|
||||
|
||||
|
|
|
@ -345,7 +345,7 @@
|
|||
(set! last-height correct-h)
|
||||
(set! already-trying? #t)
|
||||
(enforce-size -1 -1 -1 -1 1 1)
|
||||
(set-size -1 -1 correct-w correct-h)
|
||||
(set-size -11111 -11111 correct-w correct-h)
|
||||
(enforce-size min-w min-h
|
||||
(if sx? -1 min-w) (if sy? -1 min-h)
|
||||
1 1)
|
||||
|
|
Loading…
Reference in New Issue
Block a user