racket / drracket

DrRacket, IDE for Racket
http://www.racket-lang.org/
Other
444 stars 93 forks source link

Pressing the X for a failed test run makes DrRacket go into fullscreen when it shouldn't #639

Closed ParkerHGordon closed 6 months ago

ParkerHGordon commented 9 months ago

Hi, thanks for looking at this! I'm on a windows 10 laptop, doing shplait homework. DrRacket version 8.10

Since Shplait code doesn't stretch very wide usually, I had my screen split with DrRacket taking up the right half and the homework details on the left for quick easy reference. When I get failing tests I usually click the 'X' that'll take me to the code that failed, and rather unexpectedly it maximized DrRacket. This is consistent and seems to happen every time I click the X.

This doesn't seem intentional and is prohibiting me from putting DrRacket where I want it. Not a huge deal, but thought I might as well report it. Thanks again!

rfindler commented 9 months ago

Hi-- can you make a screen recording to help me understand what's going on more clearly?

ParkerHGordon commented 9 months ago

Sure! Here it is: https://youtu.be/NmMg1rYAlwI

I will add, I tried this in a blank project that only had #lang shplait and the same failing test in it, and in that scenario the window did not maximize. It only maximizes in this big file for some reason

Thanks again for looking at it

sorawee commented 9 months ago

Seems like a Windows-only issue. I can't reproduce it on Mac.

rfindler commented 9 months ago

I tried in a windows 10 vm with racket 8.10 but wasn't able to reproduce this behavior, unfortunately.

I do see that the callback for the button is eventually calling show on the frame and I wonder if, for some reason, that method call is causing the window to be maximized on your machine. Can you run this program and try the same steps you were doing in the video, except instead of clicking on the red icon, click the show button? (That is, take the window and move it over to the side so that it takes up half of the screen, as you'd done?)

#lang racket/gui
(define f (new frame% [label ""][width 600][height 800]))
(define b (new button% [parent f] [callback (λ x (send f show #t))] [label "show"]))
(send f show #t)
rfindler commented 6 months ago

If you are still running into trouble and have time to help us track this one down, please feel free to reopen this one but we're not able to make this bad behavior happen, I'm sorry to say.