[UI improvement] Put wb selector, menubar and doc tabs in 'Top bar''

Have some feature requests, feedback, cool stuff to share, or want to know where FreeCAD is going? This is the place.
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
User avatar
paddle
Veteran
Posts: 1365
Joined: Mon Feb 03, 2020 4:47 pm

[UI improvement] Put wb selector, menubar and doc tabs in 'Top bar''

Post by paddle »

This has been suggested by @Dmtiir and I seem to recall it was part of @Aleks UI proposal. I'm just creating a topic for this very specific proposal within their offered changes such that this specific can be discussed, and hopefully merged.

Proposal : Put the workbench selector, the menu bar (File, Edit, View...) and the document tabs all in the currently unused 'Top bar'
UI offered.png
UI offered.png (273.99 KiB) Viewed 866 times

For comparaison, here's the current UI :
current UI.png
current UI.png (261.14 KiB) Viewed 866 times

The main benefits of this proposal :
- Highlight the WB selector, making it much more obvious for new users. And for all, easier to reach automatically with the mouse as its position will be more stable.
- Remove the menu bar and the tab bar, increasing the 3D viewing area. Especially on small 16/9 screens it would be very useful.

Downside :
I can't think of any.

Your thoughts?

And who wants to code it and do the PR? @Dmtiir after you recovered?
User avatar
NewJoker
Veteran
Posts: 2978
Joined: Sun Oct 11, 2020 7:49 pm

Re: [UI improvement] Put wb selector, menubar and doc tabs in 'Top bar''

Post by NewJoker »

Making the workbench selector more visible (moving it to the left and up to the maximum) is definitely a good idea. Currently, it's a bit hidden and some new users can't find it at first.

Tabs make sense both when they are at the bottom of the window (like in Excel) and when they are at the top of it (like in web browsers). I can't decide which version is better (when it comes to visibility and accessibility, not taking into account the occupied space of the 3D viewport) but I think that I'd rather stay with the current design since it might be somewhat more difficult to find tabs among all these buttons at the top of the window.

I'm not sure about moving all this stuff to the topmost bar (the one with application's name and minimize/maximize/close buttons). Is it even possible on Windows and practiced in other software ? It seems that all applications have an empty topmost bar with only the name of the software and the actual interface starts below it with File, Edit, View and other buttons. For example:

scilab.png
scilab.png (9.62 KiB) Viewed 829 times
User avatar
paddle
Veteran
Posts: 1365
Joined: Mon Feb 03, 2020 4:47 pm

Re: [UI improvement] Put wb selector, menubar and doc tabs in 'Top bar''

Post by paddle »

NewJoker wrote: Thu Jul 21, 2022 9:07 am Making the workbench selector more visible (moving it to the left and up to the maximum) is definitely a good idea. Currently, it's a bit hidden and some new users can't find it at first.

Tabs make sense both when they are at the bottom of the window (like in Excel) and when they are at the top of it (like in web browsers). I can't decide which version is better (when it comes to visibility and accessibility, not taking into account the occupied space of the 3D viewport) but I think that I'd rather stay with the current design since it might be somewhat more difficult to find tabs among all these buttons at the top of the window.

I'm not sure about moving all this stuff to the topmost bar (the one with application's name and minimize/maximize/close buttons). Is it even possible on Windows and practiced in other software ? It seems that all applications have an empty topmost bar with only the name of the software and the actual interface starts below it with File, Edit, View and other buttons. For example:


scilab.png
Tabs under the 3d view makes sens conceptually indeed. If it didn't eat space I would prefer that way. But it eats viewing space. And viewing space is all that matter to me in a cad software. I think it would be very easy to get used to tabs on top. Paint.net has tabs on top for instance and I got used to it very easily.

I think tabs should be easily visually identifiable, in which case they wouldn't be hard to find. Or maybe aligned on the right, rather than on the left next to the menubar.

As to is it possible to use the topbar, I'm now on visual studio and it's using the topbar so I guess it must be possible. Question is rather can it be done with QT.
Last edited by paddle on Thu Jul 21, 2022 9:28 am, edited 2 times in total.
User avatar
NewJoker
Veteran
Posts: 2978
Joined: Sun Oct 11, 2020 7:49 pm

Re: [UI improvement] Put wb selector, menubar and doc tabs in 'Top bar''

Post by NewJoker »

paddle wrote: Thu Jul 21, 2022 9:17 am Tabs under the 3d view makes sens conceptually indeed. If it didn't eat space I would prefer that way. But it eats viewing space. And viewing space is all that matter to me in a cad software. I think it would be very easy to get used to tabs on top. Paint.net has tabs on top for instance and I got used to it very easily.
Right, the top bar can be a good location for tabs. Maybe they could just be placed closer to the viewport.

paddle wrote: Thu Jul 21, 2022 9:17 am As to is it possible to use the topbar, I'm now on visual studio and it's using the topbar so I guess it must be possible. Question is rather can it be done with QT.
Interesting, I didn't know that Visual Studio looks like this. Isn't it somehow related to the dark theme ? Maybe it looks better then. But since it's practiced in other software, it might be worth considering for FreeCAD.
User avatar
paddle
Veteran
Posts: 1365
Joined: Mon Feb 03, 2020 4:47 pm

Re: [UI improvement] Put wb selector, menubar and doc tabs in 'Top bar''

Post by paddle »

NewJoker wrote: Thu Jul 21, 2022 9:24 am Interesting, I didn't know that Visual Studio looks like this. Isn't it somehow related to the dark theme ? Maybe it looks better then. But since it's practiced in other software, it might be worth considering for FreeCAD.
It's apparantly not straight-forward with QT, but is still possible. Apparantly the problem is that when you use the frameless window, you need to reimplement the window functions (close, maximise, reduce, and apparantly more complex things like aero something). So to get it right on all platforms it needs some in-depth work. I found some code for windows and mac, but they are not talking about linux : https://github.com/dfct/TrueFramelessWindow
User avatar
obelisk79
Veteran
Posts: 1032
Joined: Thu Sep 24, 2020 9:01 pm

Re: [UI improvement] Put wb selector, menubar and doc tabs in 'Top bar''

Post by obelisk79 »

as-presented in the mockup I don't think either of those is a positive improvement. If anything, the workbench selector would look better on the status bar at the bottom right next to the navigation style selector, but even that doesn't seem particularly great in my mind. If moving the document tabs to be situated above the toolbars then they no longer really seem to fit as 'tabs'.

I'm all for optimizing the usage of screen pixels, but I am concerned if these changes may actually be a step-backwards in terms of both form and function just to get some work-area back.

In conjunction with these, I think eliminating the menu bar completely and turning it into an icon (FC Logo?) where all of the options are accessible that way would perhaps help your suggestion fit the UI better in addition to still reclaiming pixels. Putting the workbench selector into a part of the UI where it can't be moved or hidden might not be the best idea either, there are a lot of resulting problems that come along with that and brings a whole slew of other UI/UX implications into question which then brings up the whole debate about overhauling the UI.

Tread carefully, there be dragons ahead, imo.
Last edited by obelisk79 on Thu Jul 21, 2022 10:33 am, edited 1 time in total.
User avatar
onekk
Veteran
Posts: 6098
Joined: Sat Jan 17, 2015 7:48 am
Contact:

Re: [UI improvement] Put wb selector, menubar and doc tabs in 'Top bar''

Post by onekk »

Probably moving something where the icon and "window management" button are placed, is not feasible as it left (at least on Linux) to the "Window Manager" (being it part of the DE or not).

Probably modifying the way the manubar is "composed" in the UI will add some level of complexity as it sould be that a new "container" will be needed to accomodate the "menubar" and "WB toolbar" in the UI.

I've scratched only the surface of FC UI, but it is not the most plain organizations, with proper names and so on, try to copy the following code in the Python Console:

Code: Select all

import FreeCAD
import FreeCADGui

mw = FreeCADGui.getMainWindow()

for wdg in mw.children():
    print(wdg.objectName())
And you will see that the "named objects" are only these:

Code: Select all

11:33:57  _layout
11:33:57  statusBar
11:33:57  actionTimer
11:33:57  statusTimer
11:33:57  activityTimer
11:33:57  Report view
11:33:57  File
11:33:57  Workbench
11:33:57  Macro
11:33:57  View
11:33:57  Structure
11:33:57  Navigation
11:33:57  Selection view
11:33:57  Combo View
11:33:57  Python console
11:33:57  recentFiles
11:33:57  recentMacros
out of the 183 objects returned using:

Code: Select all

print(len(mw.children()))
on these FC Version

Code: Select all

OS: Artix Linux (openbox)
Word size of FreeCAD: 64-bit
Version: 0.21.29321 (Git)
Build type: Release
Branch: master
Hash: 8ee773362e08d703bce9cfdcefd8e4ad424a7d44
Python 3.9.13, Qt 5.12.9, Coin 4.0.0, Vtk 9.1.0, OCC 7.5.3
Locale: Italian/Italy (it_IT)
Installed mods: 
  * test_wb
  * fcgear 1.0.0
  * Curves 0.4.1
  * Help 1.0.3

Probably one little improvement, should be assing a new item in the menubar, like on some other software where the windows are selectable from a dropdown list, it should take no vertical space as it will be a popup list when you click on the "Windows" or "Documents" menubar item.


My two cents.

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/
Jee-Bee
Veteran
Posts: 2566
Joined: Tue Jun 16, 2015 10:32 am
Location: Netherlands

Re: [UI improvement] Put wb selector, menubar and doc tabs in 'Top bar''

Post by Jee-Bee »

For me personal it don't matter if the tabs are where they are now, or directly above the window. I don't want cross over the icons. In my experience specially with finalizing the everything there is a lot of switching between the different models and drawings.

I think if you want to gain more space it is more efficient to look into the toolbars. One example: Since we have the navi-cube now -is it necessary to have 7 view icons in that bar?

EDIT: Why not add the tabs with the bottom line where the mouse-selector, zoom-factor and some sketch info is visible?
User avatar
onekk
Veteran
Posts: 6098
Joined: Sat Jan 17, 2015 7:48 am
Contact:

Re: [UI improvement] Put wb selector, menubar and doc tabs in 'Top bar''

Post by onekk »

I don't know, but toolbars could be switched off.

I have had problems with Navicube and fonts, icons for predefined views are handy, probably having them available in other ways, maybe under a menu item or in Navicube context menu (probably there is already such if things, but having the icons I usually use these).

To save real estate there are a bunch of ways, and probably some of them could be only obtained asking fir advices from main developers as some internals are not easily available in term of documentation.

Even the inner workings of menubar is obscure to me on some aspects (I have not found a reliable way to place a menu item where I want).

Only some thoughts.

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
Jolbas
Posts: 327
Joined: Sat Mar 26, 2022 7:48 am
Location: Sweden

Re: [UI improvement] Put wb selector, menubar and doc tabs in 'Top bar''

Post by Jolbas »

I would like an option to not display the document tabs at all. I use the Tree View to switch document. . Moving it to the main mesnu bar would not work for me on Mac if I have more than a few documents open.
The idea to make the workbench selector a fixed part of the main menu bar is good but not necessary. I already have it fixed on the top left position of the toolbars.
Post Reply