Sorry, a few artifacts from a previous version snuck in there. Here is the
latest.
on setWindowInScreen pStackName
-- the stack rect
put the rect of stack pStackName into tStackRect
-- the rect of the screen the stack belongs to
put the screen of stack pStackName into tScreenNum
put line tScreenNum of the working screenrects into tScreenRect
-- Check for window off screen
IF item 1 of tStackRect < item 1 of tScreenRect THEN \
set the left of stack pStackName to item 1 of tScreenRect
IF item 2 of tStackRect < item 2 of tScreenRect THEN \
set the top of stack pStackName to (item 2 of tScreenRect)
IF item 3 of tStackRect > item 3 of tScreenRect THEN \
set the right of stack pStackName to item 3 of tScreenRect
IF item 4 of tStackRect > item 4 of tScreenRect THEN \
set the bottom of stack pStackName to (item 4 of tScreenRect)
-- the new screenRect
return the rect of stack pStackName
end setWindowInScreen
Bob S
> On Mar 30, 2022, at 09:04 , Bob Sneidar via use-livecode
> <[email protected]> wrote:
>
> Hi all.
>
> For those dealing with the stack appearing offscreen, here is a handy handler
> for moving the stack so that it is fully visible to the screen it belongs to.
> Note that the screen it belongs to is determined by the loc of the stack.
> Maybe this should be added to the Master Library?
>
> Bob S
>
>
> on setWindowInScreen pStackName
> -- the stack rect
> put the rect of stack pStackName into tStackRect
>
> -- the rect of the screen the stack belongs to
> put the screen of stack pStackName into tScreenNum
> put line tScreenNum of the working screenrects into tScreenRect
>
> -- is stack within the screenRect
>
> -- Check for window off screen
> IF item 1 of tStackRect < item 1 of tScreenRect THEN \
> set the left of stack pStackName to item 1 of tScreenRect
> IF item 2 of tStackRect < item 2 of tScreenRect THEN \
> set the top of stack pStackName to (item 2 of tScreenRect + 42)
> IF item 3 of tStackRect > item 3 of tScreenRect THEN \
> set the right of stack pStackName to item 3 of tScreenRect
> IF item 4 of tStackRect > item 4 of tScreenRect THEN \
> set the bottom of stack pStackName to (item 4 of tScreenRect - 40)
>
> -- the new screenRect
> return the rect of stack pStackName
> end setWindowInScreen
>
>
> _______________________________________________
> use-livecode mailing list
> [email protected]
> Please visit this url to subscribe, unsubscribe and manage your subscription
> preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
_______________________________________________
use-livecode mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode