Workspaces: add main and child windows.
authorBrecht Van Lommel <brechtvanlommel@gmail.com>
Tue, 3 Jul 2018 13:34:26 +0000 (15:34 +0200)
committerBrecht Van Lommel <brechtvanlommel@gmail.com>
Wed, 4 Jul 2018 16:40:33 +0000 (18:40 +0200)
commit4e2228525fc9bbcff58e315c5e3bbc193cd63a0b
tree20138d75e3185172eabe84a31ee49b6ec990fcfc
parent2bef8ca1b8e0e51f1e09216d2a42f7fc0b7d723a
Workspaces: add main and child windows.

* Main windows show a topbar and statusbar, and select a workspace and
  scene. They are created with Window > New Main Window.

* Child windows do not show a topbar or statusbar. These follow the
  workspace and scene of their parent main window. Created with Window >
  New Window or View > Duplicate Area into New Window.

* The purpose of this change is to support multi monitor setups where you
  just want to put more editors on the other monitors. Without multiple
  topbars and statusbars, working within a single workspace and scene.
  Creating multiple main windows is intended to be a concious choice to
  do different tasks in different workspaces and scenes.

* Note these changes do not currently affect how the operating system
  treats the windows.

* When changing the workspace, the layout in all child windows changes.
  This makes sense if we consider child windows to be just a way to
  extend the main window across more monitors. In some case it may be
  useful to keep the same layout though, we can add an option for this
  depending on user feedback.
21 files changed:
release/scripts/startup/bl_ui/space_topbar.py
source/blender/blenkernel/intern/scene.c
source/blender/blenloader/intern/readfile.c
source/blender/editors/include/ED_scene.h
source/blender/editors/include/ED_screen.h
source/blender/editors/scene/scene_edit.c
source/blender/editors/screen/screen_edit.c
source/blender/editors/screen/screen_ops.c
source/blender/editors/screen/workspace_edit.c
source/blender/editors/space_outliner/outliner_select.c
source/blender/editors/space_outliner/outliner_tools.c
source/blender/makesdna/DNA_windowmanager_types.h
source/blender/makesrna/intern/rna_main_api.c
source/blender/makesrna/intern/rna_wm.c
source/blender/windowmanager/WM_api.h
source/blender/windowmanager/intern/wm.c
source/blender/windowmanager/intern/wm_event_system.c
source/blender/windowmanager/intern/wm_operators.c
source/blender/windowmanager/intern/wm_stereo.c
source/blender/windowmanager/intern/wm_window.c
source/blender/windowmanager/wm_window.h