terminal/src/cascadia/Remoting
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
..
dll Implement PGO in pipelines for AMD64 architecture; supply training test scenarios (#10071) 2021-05-13 21:12:30 +00:00
Resources/en-US Add Microsoft.Terminal.Remoting.dll (#8607) 2021-01-07 22:59:37 +00:00
CommandlineArgs.cpp Add support for running a commandline in another WT window (#8898) 2021-02-10 11:28:09 +00:00
CommandlineArgs.h Add support for running a commandline in another WT window (#8898) 2021-02-10 11:28:09 +00:00
FindTargetWindowArgs.cpp Add support for running a commandline in another WT window (#8898) 2021-02-10 11:28:09 +00:00
FindTargetWindowArgs.h Add support for naming windows with the -w parameter (#9300) 2021-03-17 19:28:01 +00:00
init.cpp Add support for running a commandline in another WT window (#8898) 2021-02-10 11:28:09 +00:00
Microsoft.Terminal.RemotingLib.vcxproj Add desktop param to globalSummon; set _quake = toCurrent (#9954) 2021-04-28 17:25:48 -05:00
Monarch.cpp Set keyword flags on all tracelog events (#10098) 2021-05-14 23:14:26 +00:00
Monarch.h Add globalSummon action (#9854) 2021-04-28 17:13:28 -05:00
Monarch.idl Add desktop param to globalSummon; set _quake = toCurrent (#9954) 2021-04-28 17:25:48 -05:00
MonarchFactory.h Add Microsoft.Terminal.Remoting.dll (#8607) 2021-01-07 22:59:37 +00:00
packages.config Update C++/WinRT to 2.0.210309.3 (#9437) 2021-03-10 16:04:59 -06:00
pch.cpp Add Microsoft.Terminal.Remoting.dll (#8607) 2021-01-07 22:59:37 +00:00
pch.h Add support for the windowingBehavior setting (#9118) 2021-02-19 21:09:17 +00:00
Peasant.cpp Set keyword flags on all tracelog events (#10098) 2021-05-14 23:14:26 +00:00
Peasant.h Add desktop param to globalSummon; set _quake = toCurrent (#9954) 2021-04-28 17:25:48 -05:00
Peasant.idl Add "monitor": "any"|"toCurrent"|"toMouse" setting to globalSummon (#10092) 2021-05-17 12:57:08 +00:00
ProposeCommandlineResult.cpp Add support for running a commandline in another WT window (#8898) 2021-02-10 11:28:09 +00:00
ProposeCommandlineResult.h Add support for naming windows with the -w parameter (#9300) 2021-03-17 19:28:01 +00:00
RenameRequestArgs.cpp Add support for renaming windows (#9662) 2021-04-02 16:00:04 +00:00
RenameRequestArgs.h Add support for renaming windows (#9662) 2021-04-02 16:00:04 +00:00
SummonWindowBehavior.cpp Add desktop param to globalSummon; set _quake = toCurrent (#9954) 2021-04-28 17:25:48 -05:00
SummonWindowBehavior.h Add "monitor": "any"|"toCurrent"|"toMouse" setting to globalSummon (#10092) 2021-05-17 12:57:08 +00:00
SummonWindowSelectionArgs.cpp Add globalSummon action (#9854) 2021-04-28 17:13:28 -05:00
SummonWindowSelectionArgs.h Add desktop param to globalSummon; set _quake = toCurrent (#9954) 2021-04-28 17:25:48 -05:00
WindowActivatedArgs.cpp Add support for running a commandline in another WT window (#8898) 2021-02-10 11:28:09 +00:00
WindowActivatedArgs.h Update C++/WinRT to 2.0.210309.3 (#9437) 2021-03-10 16:04:59 -06:00
WindowManager.cpp Set keyword flags on all tracelog events (#10098) 2021-05-14 23:14:26 +00:00
WindowManager.h Add globalSummon action (#9854) 2021-04-28 17:13:28 -05:00
WindowManager.idl Add globalSummon action (#9854) 2021-04-28 17:13:28 -05:00