add option to freeze layout of dock widgets
Closed this issue · 7 comments
disable toggling between floating and docked, prevent rearranging dock widgets
Freezing only makes sense in combination with lock_perspective. Else the user can open a new plugin but is unable to rearrange the widgets. On the other hand lock_perspective makes perfect sense even without freezing the layout.
@jkirchhoff @marluwie FYI
I just tried this out in jade and many configuration options aren't covered by the --lock-perspective
:
This is no lock:
This is with lock:
Shouldn't the lock prevent undocking and make the toggle dockable button, minimize, and maximize buttons disappear?
(I would like to go even further and get rid of the menu bar entirely in order to reclaim that screen real estate, but perhaps that would be a different option)
The command line option "lock perspective" is only meant to keep the set of running plug-ins fixed, not freeze the widgets in place:
-l, --lock-perspective lock the GUI to the used perspective (hide menu bar and close buttons of plugins) (This still allows to move/resize dockwidgets, but not open/close)
There could be an additional option to freeze the layout, which should only be allowed when the perspective is also locked (see Dirk's comment above).
You could make a PR with that functionality!
But hiding the whole title bar is not really an option as it is needed to identify the widgets and also the settings button of some plug-ins is located there.
I misunderstood before but I now see in the commit above there is a --freeze-layout
option that was added 03e3e1d#diff-d600e8ab3bcb5a1a27a67b4bc6f1e65cR81 and I've tried it and it does work (in combination with -l as described). And it is documented in rqt --help
.
I do have use cases for hiding the whole title bar, I made pr #82 for it.
I'm seeing File and Help still visible when using -l now - this is using Ubuntu 16.04 with latest kinetic or lunar released packages, or qt_gui_core kinetic-devel either current or going back as far as 4568b4c. Maybe something changed with qt?
The option --freeze-layout
is silently ignored when using --standalone
, what's the reasoning behind this?
When running rqt -ht -t -l -f --standalone plugin
I get close to fullscreen "kiosk" behavior, however there is a very small (1 or 2 pixel) click target above the widget that can be used to drag it out of place.
Despite only a single widget running (standalone), the DockWidget
still needs its QDockWidget.DockWidgetMovable
and QDockWidget.DockWidgetFloatable
features disabled to fully fix it in place.