-
Notifications
You must be signed in to change notification settings - Fork 737
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Stethoscope resize behaviour change #6289
base: develop
Are you sure you want to change the base?
Stethoscope resize behaviour change #6289
Conversation
documentation update for the method .scope to define the location of scope window
documentation update for the method .scope to define the scope window location
update .scope method to locate scope window position
added variables to have a singleton plotTreeWindow and a singleton scopeWindowDefined
changed position argument in scope method to bounds
The position arguments for the server scope method and the function scope method are changed to bounds. And the server scope is changed so that it displays only one scope and works fine when users use manually assigned bounds and the default bound value of nil in succession.
has been modified to show only one boundary and to work fine when users are using manually assigned bounds and the default boundary value of nil, one after the other. Also, pressing m will change its size based on user-defined bounds, if any.
position argument for scope method is changed to bounds, so the documentation is updated
added bounds argument to the method `.plotTree`
documentation update for the added argument `bounds` for the method `.plotTree`
added point to define the server meter position.
documentation update for the added position argument for .meter method.
spaces within curly brackets are added
The behaviour of resizing has been corrected. It now retains the position as before if the new width and height do not exceed the screen boundary. If the new height exceeds the screen boundary, the vertical point is modified so that it does not exceed the screen boundary. If the new width exceeds the screen boundary, then the horizontal point is modified so that it does not exceed the screen boundary.
added the behaviour of change size if the new size exceeds the screen boundary.
The implementation of .scope has been simplified.
The implementation of .scope has been simplified.
added bounds for scope argument for Bus
bounds = nil in arg -> bounds
position = nil in arg -> position
…tethoscope.bounds)
Please add a description of this PR, rather than linking to another, as this is now separate from that one. |
I'll reiterate my comment from the previous PR: IMO modifications of the requested size based on screen bounds is error prone and may surprise the user. We found previously that setting geometry based on Window.screenBounds can have unpredictable results when using multiple monitors (a bug you helped uncover, thanks ;)). And in general the user may have a reason for setting bounds in unusual ways, and can handle limiting to screen bounds themselves if they'd like. Open to other opinions on this though. |
Done.
As far as I can tell, the norm for width and height is taken from the main display selected in the system settings. This means that if a user presses m when the stethoscope shows an expanded display, it may be in a different position to what the user expects. |
Purpose and Motivation
split from #6281
This changes the resizing behaviour of Stethoscope. Currently, pressing m doubles or undoes the size without changing the left and top positions. With this PR, if the doubled size exceeds the screen boundary, the left and/or top position will be moved so that the right and/or bottom boundary does not exceed the screen boundary.
demo video:
https://www.dropbox.com/scl/fi/26952qepzu3iczj9bi0cq/s.bounds_-behaviour.mov?rlkey=suub8zyf6ujpksc7ugieggp02&dl=0
Types of changes
To-do list