two monitors-(QMainWindowLayout::tabPosition called with out-of-bounds value '0')

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!
User avatar
bambuko
Veteran
Posts: 2165
Joined: Thu Oct 24, 2019 12:53 pm
Location: UK, England, North Devon

two monitors-(QMainWindowLayout::tabPosition called with out-of-bounds value '0')

Post by bambuko »

Rather than hijack somebody else's thread on similar topic (viewtopic.php?t=76857#p668176),
here is my own woes when trying to configure two monitors setup :?
I tried moving Property view, Report view, Combo view and Selection view panels to my second/right screen.
When trying to set panels size by dragging the bottom of selected panel I end up with the top of the panel going beyond screen
making it impossible to pick and drag this panel.

Here is my setup:

Screenshot_20230317_092656.png
Screenshot_20230317_092656.png (43.88 KiB) Viewed 798 times

and what things look like after panels are moved to the right window.
all panels beyond my reach after I tried to resize them

right_screen.jpg
right_screen.jpg (429.16 KiB) Viewed 798 times

so I restart FreeCAD and all the panels that should be on right hand screen
are now back on the left hand screen (attached to the top of the screen :( )

left_screen.jpg
left_screen.jpg (669.5 KiB) Viewed 798 times

when ffafing around with panels I noticed this message:

10:11:11 QMainWindowLayout::tabPosition called with out-of-bounds value '0'


Now it could be my Linux, it could be my setup but... another CAD system I use copes with my two screens painlessly, easily and succesfuly.
I mention it NOT to put down FreeCAD, but to suggest that the problem is unlikely to be my hardware/OS ?

BTW it is possible to get there...
I was a bit more successful (although not easy either...) with my link branch setup ;)
two_monitors.png
two_monitors.png (743.9 KiB) Viewed 798 times
if anybody can offer advice I would be grateful :ugeek:
P.S.
@drmacro I am still trying to make your shortcut suggestion to work :?

Code: Select all

OS: Debian GNU/Linux 11 (bullseye) (KDE/plasma)
Word size of FreeCAD: 64-bit
Version: 0.21.0.31917 (Git) AppImage
Build type: Release
Branch: master
Hash: 4639283b459f9ff9093e289908cc003db8745b82
Python 3.10.9, Qt 5.15.6, Coin 4.0.0, Vtk 9.1.0, OCC 7.6.3
Locale: English/United Kingdom (en_GB)
Installed mods: 
  * ToolViewReverse_ToolBar
  * DynamicData 2.46.0
  * sheetmetal 0.2.49
  * Assembly3 0.11.3
  * fasteners 0.3.40
  * ThreadProfile 1.81.0
  * Manipulator 1.4.3
I am using Link branch and Assembly3
you can also download ... and try it here
excellent Assembly3 tutorials here
Syres
Veteran
Posts: 2893
Joined: Thu Aug 09, 2018 11:14 am

Re: two monitors-(QMainWindowLayout::tabPosition called with out-of-bounds value '0')

Post by Syres »

It's a Qt 5.15.x and above issue affecting all Qt based apps such as Cura, Krita to the best of knowledge. The Cura recommendation is to run one monitor!!
User avatar
bambuko
Veteran
Posts: 2165
Joined: Thu Oct 24, 2019 12:53 pm
Location: UK, England, North Devon

Re: two monitors-(QMainWindowLayout::tabPosition called with out-of-bounds value '0')

Post by bambuko »

Syres wrote: Fri Mar 17, 2023 11:00 am ...recommendation is to run one monitor!!
thanks :?
interesting...
this is NBG :mrgreen:
I need to find a way to get two monitors working...


The only way I have managed so far, is by bringing panels back into main/left screen for adjusting, before moving them to the right screen

two_monitors-master.png
two_monitors-master.png (787.37 KiB) Viewed 732 times
I am using Link branch and Assembly3
you can also download ... and try it here
excellent Assembly3 tutorials here
drmacro
Veteran
Posts: 8870
Joined: Sun Mar 02, 2014 4:35 pm

Re: two monitors-(QMainWindowLayout::tabPosition called with out-of-bounds value '0')

Post by drmacro »

Alt + RMB
Attachments
Peek 2023-03-17 09-04.gif
Peek 2023-03-17 09-04.gif (257.13 KiB) Viewed 707 times
Star Trek II: The Wrath of Khan: Spock: "...His pattern indicates two-dimensional thinking."
User avatar
bambuko
Veteran
Posts: 2165
Joined: Thu Oct 24, 2019 12:53 pm
Location: UK, England, North Devon

Re: two monitors-(QMainWindowLayout::tabPosition called with out-of-bounds value '0')

Post by bambuko »

drmacro wrote: Fri Mar 17, 2023 1:02 pmAlt + RMB
doesn't work for me :oops:

the other question, please:
if I drag a bottom edge of the panel until it comes to the bottom of the screen,
rather stop at this point, the movement switches to the top edge,
which starts going up (until it goes beyond the top edge of the screen :evil: )

and one more question, please:
just got everything set up fine...
re-started FreeCAD and all is back on one screen with all panels docked back :twisted:


BTW this last behaviour is only in the master (link branch is fine in this respect - but they are different so not surprising)
I am using Link branch and Assembly3
you can also download ... and try it here
excellent Assembly3 tutorials here
drmacro
Veteran
Posts: 8870
Joined: Sun Mar 02, 2014 4:35 pm

Re: two monitors-(QMainWindowLayout::tabPosition called with out-of-bounds value '0')

Post by drmacro »

bambuko wrote: Fri Mar 17, 2023 4:31 pm
drmacro wrote: Fri Mar 17, 2023 1:02 pmAlt + RMB
doesn't work for me :oops:

the other question, please:
if I drag a bottom edge of the panel until it comes to the bottom of the screen,
rather stop at this point, the movement switches to the top edge,
which starts going up (until it goes beyond the top edge of the screen :evil: )

and one more question, please:
just got everything set up fine...
re-started FreeCAD and all is back on one screen with all panels docked back :twisted:


BTW this last behaviour is only in the master (link branch is fine in this respect - but they are different so not surprising)
I am in Debian/XFCE. Maybe that's it.
Star Trek II: The Wrath of Khan: Spock: "...His pattern indicates two-dimensional thinking."
User avatar
bambuko
Veteran
Posts: 2165
Joined: Thu Oct 24, 2019 12:53 pm
Location: UK, England, North Devon

Re: two monitors-(QMainWindowLayout::tabPosition called with out-of-bounds value '0')

Post by bambuko »

drmacro wrote: Fri Mar 17, 2023 5:26 pm I am in Debian/XFCE. Maybe that's it.
I suspected that might be the case...
I am Debian/KDE

but... I have tried it on another distro
Ubuntu/Pantheon
and both master and link branch work fine :o

Code: Select all

OS: Ubuntu Core 20 (Pantheon/pantheon)
Word size of FreeCAD: 64-bit
Version: 2023.131.14555 (Git shallow)
Build type: Release
Branch: (HEAD detached at 2023.01.31-edge)
Hash: 73c4ca254c5de8849d104973482e98399fb24863
Python version: 3.8.10
Qt version: 5.15.5
Coin version: 4.0.1
OCC version: 7.6.3
Locale: English/United Kingdom (en_GB)
I am using Link branch and Assembly3
you can also download ... and try it here
excellent Assembly3 tutorials here
hko
Posts: 96
Joined: Thu Apr 23, 2020 10:44 pm

Re: two monitors-(QMainWindowLayout::tabPosition called with out-of-bounds value '0')

Post by hko »

bambuko wrote: Fri Mar 17, 2023 4:31 pm
drmacro wrote: Fri Mar 17, 2023 1:02 pmAlt + RMB
doesn't work for me :oops:
Might be Super (which is confusingly called Meta in KDE settings... in any case, the "Windows key") + RMB by default. At least it was in my Kubuntu 22.04, where it can be configured between Alt and Meta(=Super) in System Settings -> Window Management -> Window behaviour -> Window Actions.

I can't reproduce the problems you've listed (in Kubuntu 22.04).

I was able to make FreeCAD crash once (backtrace below) when dragging detached Combo View back to the main FreeCAD window. I haven't been able to reproduce that either.

Code: Select all

#0  /lib/x86_64-linux-gnu/libc.so.6(+0x42520) [0x1493b0842520]
#1  /lib/x86_64-linux-gnu/libQt5Widgets.so.5(+0x299ab6) [0x1493b2099ab6]
#2  /lib/x86_64-linux-gnu/libQt5Widgets.so.5(+0x2d4aab) [0x1493b20d4aab]
#3  /lib/x86_64-linux-gnu/libQt5Core.so.5(+0x2f17c8) [0x1493b12f17c8]
#4  0x1493b10b29dc in QAbstractAnimation::stop() from /lib/x86_64-linux-gnu/libQt5Core.so.5+0x1fc
#5  /lib/x86_64-linux-gnu/libQt5Core.so.5(+0xb2bfc) [0x1493b10b2bfc]
#6  0x1493b10b1493 in QUnifiedTimer::updateAnimationTimers(long long) from /lib/x86_64-linux-gnu/libQt5Core.so.5+0xc3
#7  0x1493b10b3271 in QAnimationDriver::advanceAnimation(long long) from /lib/x86_64-linux-gnu/libQt5Core.so.5+0x21
#8  0x1493b12e733f in QObject::event(QEvent*) from /lib/x86_64-linux-gnu/libQt5Core.so.5+0x1cf
#9  0x1493b1f6c713 in QApplicationPrivate::notify_helper(QObject*, QEvent*) from /lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x83
#10  0x1493b57770ee in Gui::GUIApplication::notify(QObject*, QEvent*) from /usr/local/freecad/lib/libFreeCADGui.so+0x114
#11  0x1493b12b9e3a in QCoreApplication::notifyInternal2(QObject*, QEvent*) from /lib/x86_64-linux-gnu/libQt5Core.so.5+0x13a
#12  0x1493b13123eb in QTimerInfoList::activateTimers() from /lib/x86_64-linux-gnu/libQt5Core.so.5+0x3db
#13  /lib/x86_64-linux-gnu/libQt5Core.so.5(+0x312d34) [0x1493b1312d34]
#14  /lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x26b) [0x1493af11bd3b]
#15  /lib/x86_64-linux-gnu/libglib-2.0.so.0(+0xaa6c8) [0x1493af1706c8]
#16  /lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_iteration+0x33) [0x1493af1193e3]
#17  0x1493b13130b8 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) from /lib/x86_64-linux-gnu/libQt5Core.so.5+0x68
#18  0x1493b12b875b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) from /lib/x86_64-linux-gnu/libQt5Core.so.5+0x12b
#19  0x1493b12c0cf4 in QCoreApplication::exec() from /lib/x86_64-linux-gnu/libQt5Core.so.5+0x94
#20  0x1493b561c78d in Gui::Application::runApplication() from /usr/local/freecad/lib/libFreeCADGui.so+0x29b7
#21  /usr/local/freecad/bin/FreeCAD(+0x2ddde) [0x55dbc5432dde]
#22  /lib/x86_64-linux-gnu/libc.so.6(+0x29d90) [0x1493b0829d90]
#23  /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x80) [0x1493b0829e40]
#24  /usr/local/freecad/bin/FreeCAD(+0x2cfc5) [0x55dbc5431fc5]

Code: Select all

OS: Ubuntu 22.04.2 LTS (KDE/plasma)
Word size of FreeCAD: 64-bit
Version: 0.21.0.32335 (Git)
Build type: Debug
Branch: master
Hash: c1751bde4a47c0c44b9d22cb176ae0cbcdfa53c5
Python 3.10.6, Qt 5.15.3, Coin 4.0.0, Vtk 7.1.1, OCC 7.5.1
Locale: English/United States (en_US)
User avatar
onekk
Veteran
Posts: 6146
Joined: Sat Jan 17, 2015 7:48 am
Contact:

Re: two monitors-(QMainWindowLayout::tabPosition called with out-of-bounds value '0')

Post by onekk »

Different DE or WM use different shortcuts.

So you have to check them.

In Linux better to say "the scope" of the shortcut than the shortcut key.

Plus every DE or WM uses a library to implement the windows, some use xcb, some others use gtk (with different flavours 2, 3 4), some use Xlibs.

You milage may vary, but KDE is using Qt so it seem a slighly better choice when dealing with a Qt GUI like FreeCAD gui, but it depends...

Qt has some centralized way to store some settings, usually in an hidden file as example it remember something about the File Open Dialog.

Once I was tell that xcb based WM are good at managing multiple monitors as they are used by hackers, but they are usually tiling window managers snd usually driven by keystrokes sequences, with little mouse interactiond so probably not too friendly to use.

See maybe "awesome WM"

Hope it helps on some extent.

Regards

Carlo D.
GitHub page: https://github.com/onekk/freecad-doc.
- In deep articles on FreeCAD.
- Learning how to model with scripting.
- Various other stuffs.

Blog: https://okkmkblog.wordpress.com/
User avatar
bambuko
Veteran
Posts: 2165
Joined: Thu Oct 24, 2019 12:53 pm
Location: UK, England, North Devon

Re: two monitors-(QMainWindowLayout::tabPosition called with out-of-bounds value '0')

Post by bambuko »

@hko and @drmacro
thank you guys!
WIN+RMB works perfectly in both KDE and Pantheon
that makes life so much easier... :D you made an old man happy :lol:

@hko most of my problems and suspect behaviour is in Debian rather than in EOS(Ubuntu)
so I am not really surprised that you cannot replicate it

@onekk Qt and KDE seem to be my personal suspects in this affair (particularly Qt) - as you say "it depends" ;)
https://awesomewm.org/ - that seems very interesting and well worth further investigation. Thank you for the pointer!
What is DE? please :?
I am using Link branch and Assembly3
you can also download ... and try it here
excellent Assembly3 tutorials here
Post Reply