terminal/src/cascadia
Mike Griese 3866771b1b
Add "monitor": "any"|"toCurrent"|"toMouse" setting to globalSummon (#10092)
#### ⚠️ this pr targets #9977

## Summary of the Pull Request

This adds support for part of the `monitor` property for `globalSummon`. It also goes a little off-spec:

```json
"monitor": "any"|"toCurrent"|"toMouse"
```

* `monitor`: This controls the monitor that the window will be summoned from/to
  - `"any"`: Summon the MRU window, regardless of which monitor it's currently on.
  - `"toCurrent"`/omitted: (_default_): Summon the MRU window **TO** the monitor with the current **foreground** window.
  - [**NEW**] `"toMouse"`: Summon the MRU window **TO** the monitor where the **mouse** cursor is.

When I was playing with this, It felt like `toMouse` was always what I wanted, not `toCurrent`. We can always just comment that out if we think that's contentious - I'm aware I didn't originally spec that.

## References
* Original thread: #653
* Spec: #9274 
* megathread: #8888

## PR Checklist
* [x] Closes https://github.com/microsoft/terminal/projects/5#card-60325291
* [x] I work here
* [ ] Tests added/passed
* [ ] Requires documentation to be updated 😢 

## Detailed Description of the Pull Request / Additional comments

I made `toMouse` the default because it felt better. fite-me.jpg 

## Validation Steps Performed
my ever evolving blob:

```jsonc
    { "keys": "ctrl+`", "command": { "action": "quakeMode" } },
    { "keys": "ctrl+1", "command": { "action": "globalSummon" } },
    // { "keys": "ctrl+2", "command": { "action": "globalSummon", "desktop": "toCurrent" } },
    // { "keys": "ctrl+2", "command": { "action": "globalSummon", "toggleVisibility": false } },
    // { "keys": "ctrl+2", "command": { "action": "globalSummon", "dropdownDuration": 2000 } },
    { "keys": "ctrl+2", "command": { "action": "globalSummon", "monitor": "any" } },
    // { "keys": "ctrl+3", "command": { "action": "globalSummon", "desktop": "onCurrent" } },
    { "keys": "ctrl+3", "command": { "action": "globalSummon", "monitor": "toMouse" } },
    // { "keys": "ctrl+4", "command": { "action": "globalSummon", "desktop": "any" } },
    { "keys": "ctrl+4", "command": { "action": "globalSummon", "monitor": "toMouse", "dropdownDuration": 500 } },
    { "keys": "ctrl+5", "command": { "action": "globalSummon", "dropdownDuration": 500 } },
```
2021-05-17 12:57:08 +00:00
..
CascadiaPackage Remove bug fixes which aren't needed in VS 16.9 (#9953) 2021-04-28 10:43:05 +00:00
inc Add globalSummon action (#9854) 2021-04-28 17:13:28 -05:00
LocalTests_SettingsModel Introduce ActionMap to Terminal Settings Model (#9621) 2021-05-04 21:50:13 -07:00
LocalTests_TerminalApp Introduce ActionMap to Terminal Settings Model (#9621) 2021-05-04 21:50:13 -07:00
PublicTerminalCore Exclude more rarely-used stuff from Windows headers (#8513) 2020-12-11 19:35:23 +00:00
Remoting Add "monitor": "any"|"toCurrent"|"toMouse" setting to globalSummon (#10092) 2021-05-17 12:57:08 +00:00
ShellExtension Move Branding into common props (#9668) 2021-03-30 18:08:53 -05:00
TerminalApp Fix tabColor arg crash in CommandPalette (#10096) 2021-05-16 21:51:51 -05:00
TerminalAzBridge Update C++/WinRT to 2.0.210309.3 (#9437) 2021-03-10 16:04:59 -06:00
TerminalConnection Implement PGO in pipelines for AMD64 architecture; supply training test scenarios (#10071) 2021-05-13 21:12:30 +00:00
TerminalControl Add a setting to disable URL detection (#10022) 2021-05-17 04:20:09 +00:00
TerminalCore Add a setting to disable URL detection (#10022) 2021-05-17 04:20:09 +00:00
TerminalSettingsEditor Add a setting to disable URL detection (#10022) 2021-05-17 04:20:09 +00:00
TerminalSettingsModel Add "monitor": "any"|"toCurrent"|"toMouse" setting to globalSummon (#10092) 2021-05-17 12:57:08 +00:00
UnitTests_Control Add a setting to disable URL detection (#10022) 2021-05-17 04:20:09 +00:00
UnitTests_Remoting When the window is summoned and is already active, minimize it. (#9963) 2021-04-28 18:57:14 -05:00
UnitTests_TerminalCore Add a setting to disable URL detection (#10022) 2021-05-17 04:20:09 +00:00
ut_app Introduce ActionMap to Terminal Settings Model (#9621) 2021-05-04 21:50:13 -07:00
WindowsTerminal Add "monitor": "any"|"toCurrent"|"toMouse" setting to globalSummon (#10092) 2021-05-17 12:57:08 +00:00
WindowsTerminal_UIATests Implement PGO in pipelines for AMD64 architecture; supply training test scenarios (#10071) 2021-05-13 21:12:30 +00:00
WindowsTerminalUniversal Rename Microsoft.Terminal.TerminalControl to .Control; Split into dll & lib (#9472) 2021-03-17 20:47:24 +00:00
WinRTUtils Remove bug fixes which aren't needed in VS 16.9 (#9953) 2021-04-28 10:43:05 +00:00
WpfTerminalControl [WPF] Allows setting the WPF control background when setting the terminal theme (#10026) 2021-05-04 21:18:25 +00:00
WpfTerminalTestNetCore Auto-format our XAML files and enforce in CI (#9589) 2021-03-29 17:09:38 -05:00
wt Build and ship an actual binary named wt that just launches WT (#6860) 2020-07-10 22:41:37 +00:00
CascadiaResources.build.items Introduce TerminalSettingsModel project (#7667) 2020-10-06 09:56:59 -07:00