Screendraging and requesters

A forum for general AmigaOS 4.x support questions that are not platform-specific
Post Reply
hotrod
Posts: 53
Joined: Tue Jun 21, 2011 10:17 pm

Screendraging and requesters

Post by hotrod »

I'm wondering if this behaviour is normal:

I use workbench with this screenmode; 1920x1080, 32-bit. I use DOpus 4 with this screenmode; 1920x1080, 16-bit. I unarchived a file to the RAM-disk using DOpus 4, dragged down the screen to get access to workbench, installed the program and choosed to delete the drawer using the contextmenu from workbench. When the requester appeared AOS switched to the Workbench screen and when I hit the delete button it switched back to the way it was before; the screen dragged down with DOpus 4 being in front of Workbench.

So the question is, why did it switch to the Workbench screen when the requester appeared?
Peter Gordon
AmigaOS Core Developer
AmigaOS Core Developer
Posts: 10
Joined: Sat Jun 18, 2011 8:49 am

Re: Screendraging and requesters

Post by Peter Gordon »

Requesters bring the screen to the front when they open, to avoid the situation where a requester opens on a hidden screen and the user doesn't realise.

I don't think they take into account whether or not they are visible due to screen dragging. Unfortunately, there is no API to say "is this window visible, taking screen dragging into account". Maybe there should be.
hotrod
Posts: 53
Joined: Tue Jun 21, 2011 10:17 pm

Re: Screendraging and requesters

Post by hotrod »

Peter Gordon wrote:Requesters bring the screen to the front when they open, to avoid the situation where a requester opens on a hidden screen and the user doesn't realise.

I don't think they take into account whether or not they are visible due to screen dragging. Unfortunately, there is no API to say "is this window visible, taking screen dragging into account". Maybe there should be.
That's what I assumed and I'm not sure but this behaviour is new compared to AOS 3.x? To be honest I haven't used screendragging that much in 4.x and in 3.x I stopped using it when I went from CV64/3D to PCI-cards simply because the feature wasn't available anymore. I seem to recall though that the old requesters stayed in the background so to speak.

Maybe a function could be used that puts the requester in the upper left corner when screendraging is used? Or some other more elegant solution. I think it works well when all screens are at the same depth and resolution, it's just when the physical screen got to resync it doesn't look very good. Personaly I don't like when this happens when I'm not prepared and are focused on what I'm doing, it gives me a headache.

Yes some function to move the requester in case of screendragging would be better IMO.
Post Reply