Currently, only the configuration of the last closed window is stored. That is a limitation in a multi-monitor environment. Our sessions system should be updated as follows.
Terminology:
Workspace: the layout of dockers, etc. for a single window (no change)
Window layout: a set of windows and the geometry, positions, screen and used workspace for each
Session: open documents & views, and the window layout in use
We should be able to:
- on startup...
- restore windows (ie. the window layout)
- restore the workspace per window
- restore open files (session)
- windows should remember which display they were on, even if their logical numbering changes
- save a named window layout
- restore a window layout
- have window layout react to changes in monitor orientation, either automatically or by saving a per-orientation version of the layout.
- save and restore named sessions
- make a window to automatically show the active document (when it changes in another window)
- easily page through multiple documents (e.g. comic book pages)
- make a workspace follow focus, ie. swap to any newly actived window
- automatically show a newly opened image in all windows
Open questions
- How should windows behave when a (secondary) display is unplugged and later reconnected?
- How should windows behave when screen orientation changes?
- Do users need a per-window option to automatically show the active document?