No problem on macOS 10.11.6 "El Capitan", Racket 6.10, or on macOS 10.13.4 "High Sierra", Racket 6.12.
On May 7, 2018, at 8:46 PM, Alex Harsanyi wrote: > I have a problem with the Racket GUI where the main application window looses > focus if two dialog boxes are opened than closed. The problem occurs when the > main window opens the first dialog box and the first dialog box opens the > second one on top of it. Once both dialog boxes are closed, the main window > looses focus and goes to the bottom of the window stack (i.e. behind other > windows). This does not seem to happen if only one dialog box is opened than > closed -- in that case the main window will have the focus. > > Could someone confirm if this behaviour is seen on other platforms (I use > Windows), and perhaps offer a workaround? > > I attached a sample application that illustrates the problem below and you can > also find the code here: > https://gist.github.com/alex-hhh/20b3f1000813677330bbd2b85c57d319 > > Too see the problem, this code needs to be compiled into a stand-alone > executable (using the Racket/Create Executable... from DrRacket). > > #lang racket > (require racket/gui) > > (define toplevel (new frame% > [label "Hello World"] > [width 800] > [height 600])) > (define dialog-1 (new dialog% > [parent toplevel] > [label "Dialog 1"] > [width 400] > [height 300])) > (define dialog-2 (new dialog% > [parent dialog-1] > [label "Dialog 2"] > [width 200] > [height 150])) > > (define (on-open-dialog1 button event) > (send dialog-1 show #t)) > > (define (on-close-dialog1 button event) > (send dialog-1 show #f)) > > (define (on-open-dialog2 button event) > (send dialog-2 show #t)) > > (define (on-close-dialog2 button event) > (send dialog-2 show #f)) > > (define b1 (new button% > [parent toplevel] > [label "Open Dialog 1..."] > [callback on-open-dialog1])) > (define b2 (new button% > [parent dialog-1] > [label "Open Dialog 2..."] > [callback on-open-dialog2])) > (define b3 (new button% > [parent dialog-1] > [label "Close Dialog 1"] > [callback on-close-dialog1])) > (define b4 (new button% > [parent dialog-2] > [label "Close Dialog 2"] > [callback on-close-dialog2])) > > (send toplevel show #t) > > Thanks, > Alex. > > -- > You received this message because you are subscribed to the Google Groups > "Racket Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to racket-users+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.