terminal/doc/specs
Mike Griese f7b0f7444a
Spec for Elevation QOL improvements (#8455)
### ⇒ [doc link](https://github.com/microsoft/terminal/blob/dev/migrie/s/1032-elevation-qol/doc/specs/%235000%20-%20Process%20Model%202.0/%231032%20-%20Elevation%20Quality%20of%20Life%20Improvements.md) ⇐


## Summary of the Pull Request

Despite my best efforts to mix elevation levels in a single Terminal window, it seems that there's no way to do that safely. With the dream of mixed elevation dead, this spec outlines a number of quality-of-life improvements we can make to the Terminal today. These should make using the terminal in elevated scenarios better, since we can't have M/E.

### Abstract

> For a long time, we've been researching adding support to the Windows Terminal
> for running both unelevated and elevated (admin) tabs side-by-side, in the same
> window. However, after much research, we've determined that there isn't a safe
> way to do this without opening the Terminal up as a potential
> escalation-of-privilege vector.
> 
> Instead, we'll be adding a number of features to the Terminal to improve the
> user experience of working in elevated scenarios. These improvements include:
> 
> * A visible indicator that the Terminal window is elevated ([#1939])
> * Configuring the Terminal to always run elevated ([#632])
> * Configuring a specific profile to always open elevated ([#632])
> * Allowing new tabs, panes to be opened elevated directly from an unelevated
>   window
> * Dynamic profile appearance that changes depending on if the Terminal is
>   elevated or not. ([#1939], [#8311])


## PR Checklist
* [x] Specs: #1032, #632
* [x] References: #5000, #4472, #2227, #7240, #8135, #8311
* [x] I work here

## Detailed Description of the Pull Request / Additional comments
_\*<sup>\*</sup><sub>\*</sub> read the spec  <sub>\*</sub><sup>\*</sup>\*_

### Why are these two separate documents?

I felt that the spec that is currently in review in #7240 and this doc should remain separate, yet closely related documents. #7240 is more about showing how this large set of problems discussed in #5000 can all be solved technically, and how those solutions can be used together. It establishes that none of the proposed solutions for components of #5000 will preclude the possibility of other components being solved. What it does _not_ do however is drill too deeply on the user experience that will be built on top of those architectural changes. 

This doc on the other hand focuses more closely on a pair of scenarios, and establishes how those scenarios will work technically, and how they'll be exposed to the user.
2021-08-25 12:42:55 -05:00
..
#605 - Search DOC: Fix camelCase (or capitalization) (#10318) 2021-06-04 16:06:10 -07:00
#653 - Quake Mode Add "monitor": "any"|"toCurrent"|"toMouse" setting to globalSummon (#10092) 2021-05-17 12:57:08 +00:00
#885 - Terminal Settings Model [Spec] Settings Model - Actions (#9428) 2021-05-05 04:49:06 +00:00
#1043 - Set the initial position of the Terminal DOC: Fix camelCase (or capitalization) (#10318) 2021-06-04 16:06:10 -07:00
#1235 - Azure cloud shell connector Run all images through ImgBot (#8169) 2020-11-05 18:03:40 -08:00
#1337 - Per-Profile Tab Colors Add a spec for per-profile tab colors (#7134) 2020-08-03 15:01:36 -05:00
#1502 - Advanced Tab Switcher Run all images through ImgBot (#8169) 2020-11-05 18:03:40 -08:00
#1564 - Settings UI Settings UI inheritance spec (#8269) 2020-12-11 10:42:57 -08:00
#1571 - New Tab Menu Customization Run all images through ImgBot (#8169) 2020-11-05 18:03:40 -08:00
#2871 - Pane Navigation Add a spec for pane navigation (#8375) 2021-01-11 12:16:44 -06:00
#4191 - Formatted Copy Run all images through ImgBot (#8169) 2020-11-05 18:03:40 -08:00
#5000 - Process Model 2.0 Spec for Elevation QOL improvements (#8455) 2021-08-25 12:42:55 -05:00
#6899 - Action IDs Run all images through ImgBot (#8169) 2020-11-05 18:03:40 -08:00
#6900 - Actions Page Actions page design spec (#9427) 2021-08-24 14:03:14 -07:00
drafts Finalize Command Palette Spec (#5674) 2020-06-11 21:33:20 +00:00
#532 - Panes and Split Windows.md Fix a bunch of spelling errors across the project (#4295) 2020-02-10 20:40:01 +00:00
#597 - Tab Sizing.md Update #597 - Tab Sizing.md 2021-02-09 10:50:20 -08:00
#607 - Commandline Arguments for the Windows Terminal.md ci: spelling: update to 0.0.13 and include advice (#5211) 2020-04-01 12:15:42 -07:00
#754 - Cascading Default Settings.md Fix a bunch of spelling errors across the project (#4295) 2020-02-10 20:40:01 +00:00
#976 - VT52 escape sequences.md Fix a bunch of spelling errors across the project (#4295) 2020-02-10 20:40:01 +00:00
#980 - SnapOnOutput.md Add a spec for output snapping (#2529) 2020-07-07 21:45:16 +00:00
#1142 - Keybinding Arguments.md Fix a bunch of spelling errors across the project (#4295) 2020-02-10 20:40:01 +00:00
#1790 - Font features and axes-spec.md Spec for font features and axes of variation (#10457) 2021-07-09 21:01:04 +00:00
#2046 - Command Palette.md Spec for unified keybindings and commands, and synthesized action names (#6532) 2020-06-22 15:41:45 -05:00
#2046 - Unified keybindings and commands, and synthesized action names.md Prepare for the primary branch name to change to main (#7985) 2020-10-21 17:29:36 -07:00
#2325 - Default Profile Settings.md Fix a bunch of spelling errors across the project (#4295) 2020-02-10 20:40:01 +00:00
#2557 - Settings Keybinding.md Add Mini-Spec for openSettings (#5915) 2020-06-11 10:12:08 -07:00
#2563 - closeOnExit and TerminalConnection evolution.md Fix a bunch of spelling errors across the project (#4295) 2020-02-10 20:40:01 +00:00
#3062 - Appearance configuration object for profiles.md Spec: Appearance configuration objects for profiles (#8345) 2021-02-06 00:05:17 +00:00
#4999 - Improved keyboard handling in Conpty.md Spec for Improved keyboard handling in Conpty (#5887) 2020-06-04 12:42:33 +00:00
#8324 - Application State (TSM).md doc: Add a spec for Application State (#7972) 2020-12-03 17:52:03 -08:00
Keybindings-spec.md First draft of a spec for panes with non-terminal content (#1080) 2020-06-05 11:14:01 -07:00
Proto extensions-spec.md Proto extensions spec (#7584) 2020-11-05 21:43:16 +00:00
settings-spec-template.md Add a template for discussing a settings change (#8376) 2020-12-01 14:16:24 -06:00
spec-template.md Fix a bunch of spelling errors across the project (#4295) 2020-02-10 20:40:01 +00:00
TerminalSettings-spec.md First draft of a spec for panes with non-terminal content (#1080) 2020-06-05 11:14:01 -07:00