Windows always float on top

Report crashes, strange behaviour, or apparent bugs
Post Reply
kubark42
Posts: 15
Joined: 10 Dec 2014, 18:34

Windows always float on top

Post by kubark42 »

On OSX 10.10, all V-REP's child windows float on top of all other programs, no matter which program is selected.

Expected behavior: When clicking on a non-VREP program, the program should go above all V-REP widgets.

FWIW, I've seen this behavior before in other Qt programs. You might have to do some searching to figure out where in the code the float-on-top property needs to be changed for OSX.

coppelia
Site Admin
Posts: 10362
Joined: 14 Dec 2012, 00:25

Re: Windows always float on top

Post by coppelia »

Hello,

yes, we are aware of this problem. Have a look here and here. It seems there is no elegant workaround to that problem, so we are using a dialog of type Qt::Tool instead of Qt::Dialog: this way the dialog doesn't disappear behind its parent when the parent is in focus. But on the other hand, the dialog stays always in front.

Any better alternative or suggestion is welcome.

Cheers

kubark42
Posts: 15
Joined: 10 Dec 2014, 18:34

Re: Windows always float on top

Post by kubark42 »

Gotcha. Thanks for the in-depth explanation.

The "Mac way" of handling floating tool bars is to have them disappear when the focus is taken by another application. Do you think that would be a possible fix? When I've got a dual-monitor setup it doesn't bother me so much, but on a laptop having the windows float on top can really get in the way of other windows.

coppelia
Site Admin
Posts: 10362
Joined: 14 Dec 2012, 00:25

Re: Windows always float on top

Post by coppelia »

It is not a fix, but in next release you will be able to choose whether the non-modal dialogs will be of type Qt::Tool (as it is now), or of type Qt::Dialog (which will avoid having the dialogs stay on top of all applications. They will however also not stay in front of their parent window). This can be adjusted (from V-REP 3.2.0) in the file vrep.app/Contants/MacOS/system/usrset.txt: simply set variable macChildDialogType=1.

Cheers

Post Reply