Global Top-Bar - Initial Implementation
This adds the initial implementation of the new global top-bar, as decided on during the 2.8 UI workshop (see https://wiki.blender.org/index.php/Dev:2.8/UI/Workshop_Writeup#Global_Bars).
Main Features/Changes for Users
- Add horizontal bar at top of all non-temp windows, consisting out of two horizontal sub-bars.
- Upper sub-bar contains global menus (File, Edit, etc.), tabs for workspaces, render engine and scene selector.
- Lower sub-bar contains object mode selector, operator redo buttons, screen-layout and render-layer selector.
- Individual sections of the topbar are individually scrollable.
- Workspace tabs can be double- or ctrl-clicked for renaming and contain 'x' icon for deleting.
- Top Bar should scale nicely with DPI.
Technical Features/Changes
- Support for global areas (horizontal-only for now). They are part of the window, not part of the screen-layout.
- Removes all info editors when reading old files, they'll get an entirely new purpose
- New space-type "Top Bar". (Shouldn't be selectabe through menu - see TODOs)
TODO
Feature-wise:
- Split operator settings into basic and advanced settings. (D2883)
Add "More" button to top-bar for advanced operator settings.- Show buttons for operator settings while using modal operators.
- Add a way to hide the top-bar (needs discussion on if we want this and how it should work).
Add a way to delete workspaces from tabs (not directly topbar related but should be done for merge).- Polish operator settings buttons (better grouping, better spacing, etc).
- Increase height of second bar to distinguish from headers.
Code-wise:
- Disallow changing editors into topbar through UI (hide from menu) and Python.
- Solve context issues with operator settings (e.g. changing settings after translate prints errors to console).
- Integrate layout based regions (regions that auto resize to content bounds) a bit nicer.
- Fix glitches with HiDPI screens. (Might be fixed now, needs confirmation)
- Some general fixes & cleanup.




