-
Notifications
You must be signed in to change notification settings - Fork 9.1k
Open
Labels
Area-RemotingCommunication layer between windows. Often for windowing behavior, quake mode, etc.Communication layer between windows. Often for windowing behavior, quake mode, etc.Issue-ScenarioProduct-TerminalThe new Windows Terminal.The new Windows Terminal.
Milestone
Description
[Original thread: #766] [Spec: {none}] [Initial PR: #10972] [Multiple windows PR: #11083]
This thread is being used to track all the component work for restoring the window state. Additionally related threads:
- Enable Terminal to persist / restore instance settings #766 - Restore the layout, position of windows
- This is partially implemented in Persist window layout on window close #10972
- Persist window layout cont. save multiple windows #11083 handles this for multiple windows.
- Restore previously closed session's state (Buffer contents) #961 - Restore the contents of the buffer when resuming a tab.
- This is not about restoring the process state entirely, since that's impossible. Simply the text content is good enough.
- Stashing this in JSON doesn't really make sense - imagine
SHRT_MAXlines of text + attributes in a json string.
- Feature Request - Restore closed tab #960 - Re-open a recently closed tab
- This means we shouldn't just discard the terminal control when closing a pane/tab. This is similar to the ctrl+shift+t shortcut in (Chromium) browsers
- Likely best to wait for Add support for tab tearoff and tab merge #1256 and Scenario: Windows Terminal 2.0 Process Model Improvements #5000 to sort themselves out before starting this one.
- Move the commandline args to their own project #8841 and Add startupActions to SUI #8812 need to merge, so we can properly reflect all these options in the SUI.
- Add a "Quit" action #11081
- Preserve WT_SESSION across restarts #6362
2.0 Bugs
these are all presuming that #10972 merges basically as is
- We should wrap this feature up in a Preview-only feature flag (no external community member should have to deal with that)
- Opening an elevated window will automatically re-open all the unelevated window state (as elevated!). This is because there are separate monarchs for elevated and unelevated windows.
- Elevated windows should probably just participate at all in persist/restore for now. That's okay. We may revisit after https://github.com/microsoft/terminal/projects/5#card-67023745
- How do we persist something like
wt -- cmd.exe? That won't have a profile, only aNewTerminalArgs, that we don't cache at runtime- We've mentioned in team syncs before that we may need to keep the
NewTerminalArgsaround when spawning a
- We've mentioned in team syncs before that we may need to keep the
- Same idea with a defterm connection - We won't be able to restore defterm panes at all, because we have no idea what profile they were. Right?
- How exactly does this work with the
_quakewindow? Should that participate in the session restore? Probably, yea. - Window names need to be persisted as well.
- Closing the last window with
ClosePanewill clear out any persisted layout.- This is by design
- Similarly with closing the last tab by clicking the
xon the tab itself. Doesn't seem to save the window layout in that case.- This is by design
- If you have a profile with a
background, then the colorscheme will blow away the profile's background on restore. - Terminal doesn't remember maximized, focus, fullscreen states Terminal doesn't remember maximized, focus, fullscreen states #11426
- Windows Terminal failed to restore the position in the 2nd or 3rd monitor with maximized window mode. #11639
- Terminal should also restore runtime tab titles #11878
- Move tab to new window, launch position, center on launch? #18670
- Tab position is not restored for
restoreLastClosedaction #12902 - Opening a new terminal window does not restore the previous window's size and position on the screen #12633
- The size of a focus mode window is wrong after a session restore. I believe this is actually the same root cause as:
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Area-RemotingCommunication layer between windows. Often for windowing behavior, quake mode, etc.Communication layer between windows. Often for windowing behavior, quake mode, etc.Issue-ScenarioProduct-TerminalThe new Windows Terminal.The new Windows Terminal.
