Panels behave differently when not docked

Post here for help on using FreeCAD's graphical user interface (GUI).
Forum rules
and Helpful information
IMPORTANT: Please click here and read this first, before asking for help

Also, be nice to others! Read the FreeCAD code of conduct!
drmacro
Veteran
Posts: 8975
Joined: Sun Mar 02, 2014 4:35 pm

Panels behave differently when not docked

Post by drmacro »

If I have the Properties panel and the Selection panel undocked, outside the main window. I get the following behaviour:

When FC looses focus and another application both panels fall behind the new app's window (this is as it should be)

When FC regains focus, the Selection panel pops in front, but the Properties panel does not.

This is inconsistent.

I think the correct behaviour should be both pop in front when FC gets focus.

This is with the configuration below (i.e. Debian, but works fine on Ubuntu though).

After turning off OpenGL in Preferences make no panel to front on get focus. Then setting it back, it remains that no panels receive focus when FC does. (At least now it is consistent :lol: )

Is it possible some other setting, FC or system, is effecting this?

OS: Debian GNU/Linux 10 (buster) (XFCE/lightdm-xsession)
Word size of FreeCAD: 64-bit
Version: 0.20.26507 (Git)
Build type: Release
Branch: master
Hash: 9d70589d6c2f08f3339c40e9b990fde5863b45b7
Python version: 3.7.3
Qt version: 5.11.3
Coin version: 4.0.0a
OCC version: 7.6.0
Locale: English/UnitedStates (en_US)
Star Trek II: The Wrath of Khan: Spock: "...His pattern indicates two-dimensional thinking."
openBrain
Veteran
Posts: 9041
Joined: Fri Nov 09, 2018 5:38 pm
Contact:

Re: Panels behave differently when not docked

Post by openBrain »

drmacro wrote: Mon Nov 29, 2021 2:03 pm When FC regains focus, the Selection panel pops in front, but the Properties panel does not.
I can't reproduce. Probably it has been fixed somewhere in between Qt 5.12 and Qt 5.15.
Or it is DE specific.
Anyway, would you be able to compile a tentative fix ?
drmacro
Veteran
Posts: 8975
Joined: Sun Mar 02, 2014 4:35 pm

Re: Panels behave differently when not docked

Post by drmacro »

openBrain wrote: Wed Dec 01, 2021 10:45 am ...I can't reproduce. Probably it has been fixed somewhere in between Qt 5.12 and Qt 5.15.
Or it is DE specific.
I suspect DE specific, or possibly multi-monitor. I can't reproduce on a single monitor system (Manjaro OS).
Anyway, would you be able to compile a tentative fix ?
I think so. Just need to do git pull specifying the particular branch right?
Star Trek II: The Wrath of Khan: Spock: "...His pattern indicates two-dimensional thinking."
openBrain
Veteran
Posts: 9041
Joined: Fri Nov 09, 2018 5:38 pm
Contact:

Re: Panels behave differently when not docked

Post by openBrain »

drmacro wrote: Wed Dec 01, 2021 1:07 pm I think so. Just need to do git pull specifying the particular branch right?
Nope. Ideally you should cherry-pick from my repo but it can be a mess if you are not so used to git.
I'll create a draft PR and give you procedure to test. ;)
openBrain
Veteran
Posts: 9041
Joined: Fri Nov 09, 2018 5:38 pm
Contact:

Re: Panels behave differently when not docked

Post by openBrain »

drmacro wrote: Wed Dec 01, 2021 1:07 pm I think so. Just need to do git pull specifying the particular branch right?
OK, I created draft PR5216, so to try it :

Code: Select all

git fetch origin pull/5216/head:PR5216 #if origin is your own fork, use 'upstream' instead of 'origin'
git checkout PR5216
Then run your normal build process.

When you're done with testing, you can delete the local branch with

Code: Select all

git branch -D PR5216
drmacro
Veteran
Posts: 8975
Joined: Sun Mar 02, 2014 4:35 pm

Re: Panels behave differently when not docked

Post by drmacro »

openBrain wrote: Wed Dec 01, 2021 1:27 pm
drmacro wrote: Wed Dec 01, 2021 1:07 pm I think so. Just need to do git pull specifying the particular branch right?
OK, I created draft PR5216, so to try it :

Code: Select all

git fetch origin pull/5216/head:PR5216 #if origin is your own fork, use 'upstream' instead of 'origin'
git checkout PR5216
Then run your normal build process.

When you're done with testing, you can delete the local branch with

Code: Select all

git branch -D PR5216
Hmm...for my edification (and maybe peace of mind). I keep, I think, the origin source in a local directory. Daily I do "git pull", then in a local build directory do the cmake and make.

Normally for all other trial builds I create a new local directory for the source and build. Typically with a "git clone <git> <local dir>"

Basically I want to understand how I get back to what I have before the fetch (assuming following your instructions).

Sorry, I have the O'Reilly git manual and this stuff still eludes me. Ok the day I'm reading and doing it, but, 6 weeks later...deer in the headlights. :? :(
Star Trek II: The Wrath of Khan: Spock: "...His pattern indicates two-dimensional thinking."
openBrain
Veteran
Posts: 9041
Joined: Fri Nov 09, 2018 5:38 pm
Contact:

Re: Panels behave differently when not docked

Post by openBrain »

drmacro wrote: Wed Dec 01, 2021 1:42 pm Hmm...for my edification (and maybe peace of mind). I keep, I think, the origin source in a local directory. Daily I do "git pull", then in a local build directory do the cmake and make.

Normally for all other trial builds I create a new local directory for the source and build. Typically with a "git clone <git> <local dir>"

Basically I want to understand how I get back to what I have before the fetch (assuming following your instructions).
No problem. Can you give me your

Code: Select all

git remote -v
and

Code: Select all

git branch
so I can make better than a general "not so clear" answer ?
drmacro
Veteran
Posts: 8975
Joined: Sun Mar 02, 2014 4:35 pm

Re: Panels behave differently when not docked

Post by drmacro »

Code: Select all

$git remote -v
origin	https://github.com/FreeCAD/FreeCAD.git (fetch)
origin	https://github.com/FreeCAD/FreeCAD.git (push)
$ git branch
* master
Star Trek II: The Wrath of Khan: Spock: "...His pattern indicates two-dimensional thinking."
openBrain
Veteran
Posts: 9041
Joined: Fri Nov 09, 2018 5:38 pm
Contact:

Re: Panels behave differently when not docked

Post by openBrain »

drmacro wrote: Wed Dec 01, 2021 1:51 pm

Code: Select all

$git remote -v
origin	https://github.com/FreeCAD/FreeCAD.git (fetch)
origin	https://github.com/FreeCAD/FreeCAD.git (push)
$ git branch
* master
OK, so your origin is on FreeCAD master repo.
So basically what will happen :

Code: Select all

git fetch origin pull/5216/head:PR5216
Will fetch the PR I created (actually just the difference with master, saves bandwidth) in a new branch called 'PR5216' --what is after the colon sign-- so you will get something like :
$ git branch
* master
* PR5216
Then

Code: Select all

git checkout PR5216
will switch your local copy to the newly created branch (so code with my PR included).
Just compile and run
When it's done, switch back to master branch with

Code: Select all

git checkout master
And finally delete the PR branch with

Code: Select all

git branch -D PR5216
And you're back to original state as if you had never tested the PR :)
drmacro
Veteran
Posts: 8975
Joined: Sun Mar 02, 2014 4:35 pm

Re: Panels behave differently when not docked

Post by drmacro »

Unfortunately it made no difference. Selection view, Report view, Python console all pop forward but not Properties. :(

OS: Debian GNU/Linux 10 (buster) (XFCE/lightdm-xsession)
Word size of FreeCAD: 64-bit
Version: 0.20.26519 +1 (Git)
Build type: Release
Branch: PR5216
Hash: fb94b177cbb6bb37113404d0daa1516ee29b11aa
Python version: 3.7.3
Qt version: 5.11.3
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/UnitedStates (en_US)
Star Trek II: The Wrath of Khan: Spock: "...His pattern indicates two-dimensional thinking."
Post Reply