Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable dragging tabs between windows #14901

Merged
merged 277 commits into from
Mar 30, 2023
Merged
Show file tree
Hide file tree
Changes from 209 commits
Commits
Show all changes
277 commits
Select commit Hold shift + click to select a range
713ea71
Revert "this is important for moving, yknow, the panes"
zadjii-msft Feb 3, 2023
57d1dd4
[ainulindale] Clean tear down the `App` when the process exits
zadjii-msft Feb 3, 2023
631f690
remove the old control when the content gets moved
zadjii-msft Feb 3, 2023
17057d1
(maybe valaquenta) well, the keybindings stuff is... better?
zadjii-msft Feb 3, 2023
427a4a5
[ainulindale] "fix" hot reload
zadjii-msft Feb 3, 2023
40046c3
one shot one opportunity
zadjii-msft Jul 15, 2022
a20201f
[silmarillion] Update the validation for the moveTab action
zadjii-msft Feb 6, 2023
c282797
[silmarillion] Detach on moveTab, but not on drag
zadjii-msft Feb 6, 2023
ba7b5ae
[silmarillion] Pull DetachTab into a method
zadjii-msft Feb 6, 2023
828695e
Detaching during tearout too
zadjii-msft Feb 6, 2023
380f029
[silmarillion] Update the validation for the moveTab action
zadjii-msft Feb 6, 2023
11f6561
[silmarillion] Detach on moveTab, but not on drag
zadjii-msft Feb 6, 2023
c82051f
[silmarillion] Pull DetachTab into a method
zadjii-msft Feb 6, 2023
ad1f331
Merge branch 'dev/migrie/oop/3/quenta-silmarillion' into dev/migrie/o…
zadjii-msft Feb 6, 2023
ee63aff
this fixes the selection crash. This makes sense - the original TermC…
zadjii-msft Feb 6, 2023
e288205
Interestingly, the order matters
zadjii-msft Feb 7, 2023
c9ed8dc
When we detach a tab, Close()ing the control shouldn't close the cont…
zadjii-msft Feb 7, 2023
1cef94e
Don't add multiple event handlers for the core
zadjii-msft Feb 7, 2023
eea6a7b
Add auto_revokers to all TermControl ev handlers, but that wasn't wha…
zadjii-msft Feb 7, 2023
7bad8c9
make pane brushes a member variable, which is good enough
zadjii-msft Feb 7, 2023
700aadc
[ainulindale] This I'm confident fixes some of the x-thread errors, b…
zadjii-msft Feb 7, 2023
38b28e5
[foreward]? This is literally never used. This can go in main.
zadjii-msft Feb 7, 2023
e3fa46f
This might all be wrong
zadjii-msft Feb 7, 2023
81524ea
Revert "This might all be wrong"
zadjii-msft Feb 7, 2023
2122eec
[ainulindale] Expand commands in the AppLogic, not on each page
zadjii-msft Feb 7, 2023
47336c0
[ainulindale] Clean tear down the `App` when the process exits
zadjii-msft Feb 3, 2023
9924e23
[ainulindale] "fix" hot reload
zadjii-msft Feb 3, 2023
f06e484
[ainulindale] This I'm confident fixes some of the x-thread errors, b…
zadjii-msft Feb 7, 2023
2822c36
[ainulindale] Expand commands in the AppLogic, not on each page
zadjii-msft Feb 7, 2023
f27db59
Merge branch 'dev/migrie/oop/3/ainulindale' into dev/migrie/oop/3/val…
zadjii-msft Feb 7, 2023
a7353ac
Merge branch 'dev/migrie/oop/3/valaquenta' into dev/migrie/oop/3/quen…
zadjii-msft Feb 7, 2023
337b7b5
Merge branch 'dev/migrie/oop/3/quenta-silmarillion' into dev/migrie/o…
zadjii-msft Feb 7, 2023
2332f0c
Don't try to snap on create if we're not prepared to snap
zadjii-msft Feb 8, 2023
4e7da2e
I guess this is just dead now
zadjii-msft Feb 8, 2023
23c4d4c
Move the initialization of the showHide Throttler after we init the d…
zadjii-msft Feb 8, 2023
761bd6a
This one was dead code, 34 TODOs left
zadjii-msft Feb 8, 2023
93e9dc5
I guess we need to just hardcode these sizes. Sad, but okay.
zadjii-msft Feb 8, 2023
d5396d1
UWP is dead
zadjii-msft Feb 8, 2023
07ff418
Plumb initial load result into the window on startup
zadjii-msft Feb 8, 2023
40fdbc1
Hey this comment was TODOne, 29 TODOs left
zadjii-msft Feb 8, 2023
4db381e
not totally happy with this, but I understand why. 29 TODOs left
zadjii-msft Feb 8, 2023
64257d8
This straight up isn't even used in main anymore, 26 TODOs left
zadjii-msft Feb 8, 2023
3026922
Fix the window name not updating as it changed. Added some notes, so,…
zadjii-msft Feb 8, 2023
84e228f
Start to move window restoration into the Emperor
zadjii-msft Feb 8, 2023
dc1ae9a
Starting to move these things to the right places
zadjii-msft Feb 8, 2023
8bb8391
move more window persist code around.
zadjii-msft Feb 8, 2023
0f4c4d8
It persists, but it doesn't restore yet.
zadjii-msft Feb 8, 2023
a5a9930
Hey look I brought two windows back into existence!...
zadjii-msft Feb 8, 2023
6e6d14e
We're getting closer to loading up the previous state, but it doesn't…
zadjii-msft Feb 8, 2023
3fb8e8c
Hey this worked!
zadjii-msft Feb 8, 2023
4d5f6d2
cleanup. 18 TODOs remain
zadjii-msft Feb 8, 2023
a7379ca
It so SO works
zadjii-msft Feb 9, 2023
0b79e81
Summoning works, except for making new windows, but DANG
zadjii-msft Feb 9, 2023
950ce6c
make pane brushes a member variable, which is good enough
zadjii-msft Feb 7, 2023
055da35
Readd ShouldImmediatelyHandoffToElevated
zadjii-msft Feb 9, 2023
b0726c2
Handle Quit actions
zadjii-msft Feb 9, 2023
e214624
Re-add support for the notification icon.
zadjii-msft Feb 9, 2023
c69f0bc
Quake logic seems to work again.
zadjii-msft Feb 9, 2023
7e91bdb
This actually seems to make the lifetime management worse - we just d…
zadjii-msft Feb 9, 2023
0395dc4
Revert "This actually seems to make the lifetime management worse - w…
zadjii-msft Feb 9, 2023
f904e5d
I give up and am moving on to the next TODOs. 8 TODOs remain
zadjii-msft Feb 10, 2023
4548729
Some additional cleanup of the WindowManager code
zadjii-msft Feb 10, 2023
7660937
and with that, we're ready to cleanup for review.
zadjii-msft Feb 10, 2023
0ad5b59
I think it's ready for review
zadjii-msft Feb 10, 2023
cfa6108
Merge remote-tracking branch 'origin/main' into dev/migrie/oop/3/fore…
zadjii-msft Feb 10, 2023
e40575b
let's do it
zadjii-msft Feb 10, 2023
dffb416
Merge branch 'dev/migrie/oop/3/foreword' into dev/migrie/oop/3/ainuli…
zadjii-msft Feb 10, 2023
a769933
merges are hard some times
zadjii-msft Feb 10, 2023
c065897
Merge branch 'dev/migrie/oop/3/ainulindale' into dev/migrie/oop/3/val…
zadjii-msft Feb 11, 2023
0ce6309
Merge branch 'dev/migrie/oop/3/valaquenta' into dev/migrie/oop/3/quen…
zadjii-msft Feb 13, 2023
65084c8
Merge branch 'dev/migrie/oop/3/quenta-silmarillion' into dev/migrie/o…
zadjii-msft Feb 13, 2023
33685d9
bwahahahahaha
zadjii-msft Feb 13, 2023
a4f19a9
spel
zadjii-msft Feb 13, 2023
1ec8c0d
Merge branch 'dev/migrie/oop/3/foreword' into dev/migrie/oop/3/ainuli…
zadjii-msft Feb 13, 2023
2621519
cleanup for review
zadjii-msft Feb 13, 2023
603a2ce
spel
zadjii-msft Feb 13, 2023
a9ac218
runformat
zadjii-msft Feb 13, 2023
82224bc
this was usnused
zadjii-msft Feb 13, 2023
d9d4d2e
get the tests to build, at least
zadjii-msft Feb 13, 2023
3f9deca
Merge branch 'dev/migrie/oop/3/foreword' into dev/migrie/oop/3/ainuli…
zadjii-msft Feb 13, 2023
0f0316f
Merge branch 'dev/migrie/oop/3/ainulindale' into dev/migrie/oop/3/val…
zadjii-msft Feb 13, 2023
68fad33
Merge branch 'dev/migrie/oop/3/valaquenta' into dev/migrie/oop/3/quen…
zadjii-msft Feb 13, 2023
f080261
Merge branch 'dev/migrie/oop/3/quenta-silmarillion' into dev/migrie/o…
zadjii-msft Feb 13, 2023
4eba01f
[valaquenta] Lifetime manage controls
zadjii-msft Feb 13, 2023
7d903de
[silmarillion] Fix moving a tab with panes. Now, the non-first panes …
zadjii-msft Feb 13, 2023
7734600
[valaquenta] Lifetime manage controls
zadjii-msft Feb 13, 2023
2262f55
Merge branch 'dev/migrie/oop/3/valaquenta' into dev/migrie/oop/3/quen…
zadjii-msft Feb 14, 2023
3988a1c
[silmarillion] Fix moving a tab with panes. Now, the non-first panes …
zadjii-msft Feb 13, 2023
83da057
Merge branch 'dev/migrie/oop/3/quenta-silmarillion' into dev/migrie/o…
zadjii-msft Feb 14, 2023
2873511
Don't add multiple event handlers for the core
zadjii-msft Feb 7, 2023
855a79d
Add auto_revokers to all TermControl ev handlers, but that wasn't wha…
zadjii-msft Feb 7, 2023
4b22963
notes
zadjii-msft Feb 14, 2023
d06ad8b
spel
zadjii-msft Feb 14, 2023
8cac90f
Merge branch 'dev/migrie/oop/3/valaquenta' into dev/migrie/oop/3/quen…
zadjii-msft Feb 14, 2023
e5f9880
cleanup to get ready for review
zadjii-msft Feb 14, 2023
f10dfac
some reliability when moving tabs that currently have output across t…
zadjii-msft Feb 14, 2023
118bffa
fix the tests
zadjii-msft Feb 14, 2023
aa8b0c5
Merge branch 'dev/migrie/oop/3/foreword' into dev/migrie/oop/3/ainuli…
zadjii-msft Feb 14, 2023
bc80943
the tests all...pass?
zadjii-msft Feb 14, 2023
667b658
I'm committing everything just in case, but I'm gonna revert and just…
zadjii-msft Feb 15, 2023
2bc578b
Revert "I'm committing everything just in case, but I'm gonna revert …
zadjii-msft Feb 15, 2023
62a4ee0
https://media.tenor.com/knFWHfkiwoUAAAAC/im-fine-hades.gif
zadjii-msft Feb 15, 2023
091f32c
a comment to go with the parent commit
zadjii-msft Feb 15, 2023
ecab57f
that was quite silly
zadjii-msft Feb 16, 2023
13257da
0 TODOs remain
zadjii-msft Feb 16, 2023
f9caf19
Merge branch 'dev/migrie/oop/3/ainulindale' into dev/migrie/oop/3/val…
zadjii-msft Feb 16, 2023
9da1192
Merge branch 'dev/migrie/oop/3/valaquenta' into dev/migrie/oop/3/quen…
zadjii-msft Feb 16, 2023
0e0d857
Select the right tab before spliting it; movePane with a single pane …
zadjii-msft Feb 17, 2023
091660e
cleanup and comments before the PR
zadjii-msft Feb 17, 2023
1f8766e
shockingly few spel
zadjii-msft Feb 17, 2023
951ece1
Merge branch 'dev/migrie/oop/3/quenta-silmarillion' into dev/migrie/o…
zadjii-msft Feb 17, 2023
c2a2caf
Fixes for a bad merge
zadjii-msft Feb 21, 2023
b41ae71
Everything-is-awful.wav
zadjii-msft Feb 21, 2023
c6cce0f
Revert "Everything-is-awful.wav"
zadjii-msft Feb 21, 2023
2537342
On drop, ask the sender to send content to us.
zadjii-msft Feb 22, 2023
0cf13d8
Notes, cleanup. 6 TODOs remain
zadjii-msft Feb 22, 2023
6586c4a
Use the correct tab when dragging ; check the PID too
zadjii-msft Feb 22, 2023
d67815b
Try to drag/drop to the rigt place in the tab row, only to discover t…
zadjii-msft Feb 23, 2023
b5dbae9
OMEGA BODGE
zadjii-msft Feb 23, 2023
9ec9da3
ACTUALLY put the tab in the right place after dropping
zadjii-msft Feb 23, 2023
70450af
0 TODOs left
zadjii-msft Feb 23, 2023
614ec58
spel? I think that's it?
zadjii-msft Feb 23, 2023
b1a867d
[silmarillion] Disable the UIA renderer before detaching
zadjii-msft Feb 23, 2023
7649725
[ainulindale] The Terminal shouldn't crash on a WM_SETTINGCHANGE
zadjii-msft Feb 23, 2023
9a47396
[ainulindale] The Terminal shouldn't crash on a WM_SETTINGCHANGE
zadjii-msft Feb 23, 2023
d2a5a4a
[silmarillion] Disable the UIA renderer before detaching
zadjii-msft Feb 23, 2023
273f2a8
Merge remote-tracking branch 'origin/main' into dev/migrie/oop/3/fore…
zadjii-msft Feb 23, 2023
c79f27c
std::vectors are better
zadjii-msft Feb 27, 2023
b75fb24
Merge branch 'dev/migrie/oop/3/foreword' into dev/migrie/oop/3/ainuli…
zadjii-msft Feb 27, 2023
cacb822
Dustin wanted a setting to opt-in to isolated mode, and this seems to…
zadjii-msft Feb 27, 2023
6934bc8
Merge branch 'dev/migrie/oop/3/ainulindale' into dev/migrie/oop/3/val…
zadjii-msft Feb 27, 2023
34bc66f
Merge branch 'dev/migrie/oop/3/valaquenta' into dev/migrie/oop/3/quen…
zadjii-msft Feb 27, 2023
257fe33
Merge branch 'dev/migrie/oop/3/quenta-silmarillion' into dev/migrie/o…
zadjii-msft Feb 27, 2023
74260ce
some gross dead code
zadjii-msft Feb 28, 2023
b589d09
Lots of PR nits
zadjii-msft Feb 28, 2023
0199aba
the last nits, I think
zadjii-msft Feb 28, 2023
5e23a72
Merge branch 'dev/migrie/oop/3/foreword' into dev/migrie/oop/3/ainuli…
zadjii-msft Feb 28, 2023
ada3f42
well that is an underwhelming codeformat commit. Thanks VS
zadjii-msft Feb 28, 2023
5164bff
hey that's a good point carlos
zadjii-msft Feb 28, 2023
7e2eb0d
Apply suggestions from code review
zadjii-msft Mar 2, 2023
5c852c3
some smaller nits
zadjii-msft Mar 2, 2023
1e331a0
Merge branch 'dev/migrie/oop/3/ainulindale' of https://github.com/mic…
zadjii-msft Mar 2, 2023
8e2c7a7
some cleanup
zadjii-msft Mar 2, 2023
08f6a53
This is gross but reduces the number of redundant copies of these bru…
zadjii-msft Mar 2, 2023
8803324
spelling is hard
zadjii-msft Mar 2, 2023
b983c69
Merge branch 'dev/migrie/oop/3/foreword' into dev/migrie/oop/3/ainuli…
zadjii-msft Mar 2, 2023
48aa555
Merge branch 'dev/migrie/oop/3/ainulindale' into dev/migrie/oop/3/val…
zadjii-msft Mar 2, 2023
2c15f97
Merge branch 'dev/migrie/oop/3/valaquenta' into dev/migrie/oop/3/quen…
zadjii-msft Mar 2, 2023
7591b0f
Fix a UiaEngine race that would absolutely block self-host
zadjii-msft Mar 2, 2023
59d6ff2
Merge branch 'dev/migrie/oop/3/quenta-silmarillion' into dev/migrie/o…
zadjii-msft Mar 2, 2023
3aa083b
sure. It doesn't matter'
zadjii-msft Mar 2, 2023
491fa62
I'm not dead yet
zadjii-msft Mar 2, 2023
9a9fa43
[ainulindale] Prevent a race between the Emperor and the window logic…
zadjii-msft Mar 6, 2023
11ef8ef
Merge branch 'dev/migrie/oop/3/ainulindale' into dev/migrie/oop/3/val…
zadjii-msft Mar 6, 2023
d545c4b
Merge branch 'dev/migrie/oop/3/valaquenta' into dev/migrie/oop/3/quen…
zadjii-msft Mar 6, 2023
230d68b
Merge branch 'dev/migrie/oop/3/quenta-silmarillion' into dev/migrie/o…
zadjii-msft Mar 6, 2023
b24cf61
some of the more minor cleanup elements
zadjii-msft Mar 7, 2023
3fa1017
one fewer IReference, thank gods
zadjii-msft Mar 7, 2023
5fe3fa5
some cleanup around expanding commands
zadjii-msft Mar 8, 2023
b0ca581
.detach so we don't std::explode()
zadjii-msft Mar 8, 2023
74af809
mmmm fresh cut code
zadjii-msft Mar 8, 2023
547b2c9
you never get used either
zadjii-msft Mar 8, 2023
6f6880c
this is more idomatic locking cause it's actually locking
zadjii-msft Mar 8, 2023
1dc2436
weak refs for fun and profit
zadjii-msft Mar 8, 2023
6e4b2e1
Guess what's LOAD BEARING
zadjii-msft Mar 9, 2023
7721813
pr nits
zadjii-msft Mar 9, 2023
6dead99
PR nits
zadjii-msft Mar 9, 2023
434abc2
Remove the need for TerminalPage to know the number of open windows
zadjii-msft Mar 9, 2023
1b59eb9
save this for later, we should only need ot look it up once
zadjii-msft Mar 9, 2023
39a9450
to wit, also make sure that there is a tablayout
zadjii-msft Mar 9, 2023
44b238e
Redo how ownership of WindowProperties works. This is cleaner by a go…
zadjii-msft Mar 9, 2023
073350e
fix the tests too
zadjii-msft Mar 10, 2023
ca511c9
this is why I don't use VS
zadjii-msft Mar 10, 2023
f70775a
I don't trust you phyllis
zadjii-msft Mar 10, 2023
81140a5
Merge branch 'dev/migrie/oop/3/foreword' into dev/migrie/oop/3/ainuli…
zadjii-msft Mar 10, 2023
339972e
tests build and pass again
zadjii-msft Mar 10, 2023
6d04353
yea we can fold this in
zadjii-msft Mar 10, 2023
1138416
hey let's make sure it still works
zadjii-msft Mar 10, 2023
9957e5c
I think that's the last of the nits
zadjii-msft Mar 10, 2023
c8ce5b4
Merge branch 'dev/migrie/oop/3/ainulindale' into dev/migrie/oop/3/val…
zadjii-msft Mar 10, 2023
514556f
Merge branch 'dev/migrie/oop/3/valaquenta' into dev/migrie/oop/3/quen…
zadjii-msft Mar 10, 2023
e23980c
Merge branch 'dev/migrie/oop/3/quenta-silmarillion' into dev/migrie/o…
zadjii-msft Mar 10, 2023
6aec80b
A hotfix for the selfhost build
zadjii-msft Mar 13, 2023
9316f5b
These are pretty minor for what is a pretty minor PR
zadjii-msft Mar 13, 2023
b72ef73
Merge branch 'dev/migrie/oop/3/valaquenta' into dev/migrie/oop/3/quen…
zadjii-msft Mar 13, 2023
6107495
minor pr nits
zadjii-msft Mar 13, 2023
d886c65
This actually can't be const
zadjii-msft Mar 13, 2023
1cc3100
halt, explain yourself
zadjii-msft Mar 13, 2023
0808f94
Merge remote-tracking branch 'origin/main' into dev/migrie/oop/3/fore…
zadjii-msft Mar 17, 2023
5b3dc08
last nits, let's do this
zadjii-msft Mar 17, 2023
59b07f1
Merge branch 'dev/migrie/oop/3/foreword' into dev/migrie/oop/3/ainuli…
zadjii-msft Mar 17, 2023
7142ae8
[ainulindale] fix defterm
zadjii-msft Mar 16, 2023
d55bb43
[ainulindale] windows should get activated when they're created
zadjii-msft Mar 16, 2023
11f9957
[ainulindale] Friendship ended with callbacks
zadjii-msft Mar 17, 2023
55ee49b
Merge remote-tracking branch 'origin/main' into dev/migrie/oop/3/ainu…
zadjii-msft Mar 17, 2023
fe2ee91
Merge remote-tracking branch 'origin/dev/migrie/oop/3/ainulindale' in…
zadjii-msft Mar 17, 2023
a201c18
Merge branch 'dev/migrie/oop/3/valaquenta' into dev/migrie/oop/3/quen…
zadjii-msft Mar 17, 2023
d607ede
Merge branch 'dev/migrie/oop/3/quenta-silmarillion' into dev/migrie/o…
zadjii-msft Mar 17, 2023
1e4cc33
Merge remote-tracking branch 'origin/main' into dev/migrie/oop/3/ainu…
zadjii-msft Mar 17, 2023
5a420d8
Merge remote-tracking branch 'origin/dev/migrie/oop/3/ainulindale' in…
zadjii-msft Mar 20, 2023
24da827
Merge branch 'main' into dev/migrie/oop/3/valaquenta
zadjii-msft Mar 20, 2023
4950382
Merge branch 'dev/migrie/oop/3/valaquenta' into dev/migrie/oop/3/quen…
zadjii-msft Mar 20, 2023
279bd31
Merge branch 'dev/migrie/oop/3/quenta-silmarillion' into dev/migrie/o…
zadjii-msft Mar 20, 2023
8a9d248
some nits
zadjii-msft Mar 20, 2023
b02b935
easier nits
zadjii-msft Mar 21, 2023
f73ec9a
fix the tests
zadjii-msft Mar 21, 2023
3659744
why not just use uints?
zadjii-msft Mar 21, 2023
e334bfb
Merge branch 'dev/migrie/oop/3/valaquenta' into dev/migrie/oop/3/quen…
zadjii-msft Mar 21, 2023
3af4d94
I don't know how to stl
zadjii-msft Mar 21, 2023
56c12ab
Merge branch 'dev/migrie/oop/3/valaquenta' into dev/migrie/oop/3/quen…
zadjii-msft Mar 21, 2023
87e5283
all my homies love numeric ids
zadjii-msft Mar 21, 2023
f2b2c74
Merge branch 'dev/migrie/oop/3/quenta-silmarillion' into dev/migrie/o…
zadjii-msft Mar 22, 2023
697b420
notes from PR
zadjii-msft Mar 22, 2023
2984502
Merge branch 'dev/migrie/oop/3/valaquenta' into dev/migrie/oop/3/quen…
zadjii-msft Mar 22, 2023
cf89ce3
Merge remote-tracking branch 'origin/main' into dev/migrie/oop/3/quen…
zadjii-msft Mar 22, 2023
9179992
Fix `wt -w _quake` by not throwing when setting the window name
zadjii-msft Mar 22, 2023
3626795
runformat
zadjii-msft Mar 22, 2023
e9f2a34
Merge remote-tracking branch 'origin/main' into dev/migrie/oop/3/quen…
zadjii-msft Mar 23, 2023
697201e
Merge branch 'dev/migrie/oop/3/quenta-silmarillion' into dev/migrie/o…
zadjii-msft Mar 23, 2023
7ecf006
seriously, fixed for real this time
zadjii-msft Mar 23, 2023
8b1b458
Merge branch 'dev/migrie/oop/3/quenta-silmarillion' into dev/migrie/o…
zadjii-msft Mar 23, 2023
d20694b
hey they still pass
zadjii-msft Mar 23, 2023
240ecad
Merge remote-tracking branch 'origin/main' into dev/migrie/oop/3/quen…
zadjii-msft Mar 24, 2023
0cc0cb6
Merge branch 'dev/migrie/oop/3/quenta-silmarillion' into dev/migrie/o…
zadjii-msft Mar 24, 2023
70fd182
Smaller PR nits
zadjii-msft Mar 27, 2023
b034378
null out _interactivity when a control detaches
zadjii-msft Mar 28, 2023
ec0fe79
This is safe now? @lhecker to sanity check
zadjii-msft Mar 28, 2023
6b8c54f
spel
zadjii-msft Mar 28, 2023
56c83d0
yea this'll work - warn if the user tries to get cheeky and put __con…
zadjii-msft Mar 28, 2023
45374e8
wrap these bits up as a method so it's a wee bit more sane
zadjii-msft Mar 28, 2023
31e904a
There's no reason that this should have entirely broken moving panes.…
zadjii-msft Mar 28, 2023
a86fd20
Revert "There's no reason that this should have entirely broken movin…
zadjii-msft Mar 28, 2023
56a52d9
This is a real low point. Yea this one hurts
zadjii-msft Mar 28, 2023
0391a26
Revert "Revert "There's no reason that this should have entirely brok…
zadjii-msft Mar 28, 2023
4184a18
this was a crash
zadjii-msft Mar 28, 2023
b1043f5
just nits
zadjii-msft Mar 28, 2023
ecaca16
sure
zadjii-msft Mar 28, 2023
20628ad
Merge branch 'dev/migrie/oop/3/quenta-silmarillion' into dev/migrie/o…
zadjii-msft Mar 28, 2023
ae74565
Merge remote-tracking branch 'origin/dev/migrie/oop/3/quenta-silmaril…
zadjii-msft Mar 29, 2023
b4769b9
Merge branch 'dev/migrie/oop/3/akallabeth' of https://github.com/micr…
zadjii-msft Mar 29, 2023
1f0b958
[silmarillion] Yikes I've really had a hard time with this.
zadjii-msft Mar 29, 2023
08732fe
[silmarillion] Wow, we didn't need _recentlyDetached at all, did we
zadjii-msft Mar 29, 2023
a9b591f
Merge branch 'dev/migrie/oop/3/quenta-silmarillion' of https://github…
zadjii-msft Mar 29, 2023
8ce6752
Merge branch 'dev/migrie/oop/3/quenta-silmarillion' into dev/migrie/o…
zadjii-msft Mar 29, 2023
8344c01
[alkallabeth] I got distracted and totally botched that, didn't I
zadjii-msft Mar 29, 2023
e02637d
Fix the positioning of the dropped tab
zadjii-msft Mar 29, 2023
07ee7d6
Merge remote-tracking branch 'origin/main' into dev/migrie/oop/3/quen…
zadjii-msft Mar 30, 2023
721a0ec
spell?
zadjii-msft Mar 30, 2023
982fa5a
Merge branch 'dev/migrie/oop/3/quenta-silmarillion' into dev/migrie/o…
zadjii-msft Mar 30, 2023
a77ea00
Merge remote-tracking branch 'origin/main' into dev/migrie/oop/3/akal…
zadjii-msft Mar 30, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/actions/spelling/allow/apis.txt
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,7 @@ rcx
REGCLS
RETURNCMD
rfind
RLO
ROOTOWNER
roundf
RSHIFT
Expand Down
4 changes: 2 additions & 2 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"C_Cpp.loggingLevel": "None",
"files.associations": {
"xstring": "cpp",
"*.idl": "cpp",
"*.idl": "midl3",
"array": "cpp",
"future": "cpp",
"istream": "cpp",
Expand Down Expand Up @@ -106,4 +106,4 @@
"**/packages/**": true,
"**/Generated Files/**": true
}
}
}
7 changes: 6 additions & 1 deletion doc/cascadia/profiles.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -1822,7 +1822,7 @@
"name": {
"type": "string",
"description": "The name of the theme. This will be displayed in the settings UI.",
"not": {
"not": {
"enum": [ "light", "dark", "system" ]
}
},
Expand Down Expand Up @@ -2092,6 +2092,11 @@
"description": "When set to true, the terminal will focus the pane on mouse hover.",
"type": "boolean"
},
"compatibility.isolatedMode": {
"default": false,
"description": "When set to true, Terminal windows will not be able to interact with each other (including global hotkeys, tab drag/drop, running commandlines in existing windows, etc.). This is a compatibility escape hatch for users who are running into certain windowing issues.",
"type": "boolean"
},
"copyFormatting": {
"default": true,
"description": "When set to `true`, the color and font formatting of selected text is also copied to your clipboard. When set to `false`, only plain text is copied to your clipboard. An array of specific formats can also be used. Supported array values include `html` and `rtf`. Plain text is always copied.",
Expand Down
128 changes: 91 additions & 37 deletions src/cascadia/LocalTests_TerminalApp/SettingsTests.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,26 @@ namespace TerminalAppLocalTests
}
}
}
void _logCommands(winrt::Windows::Foundation::Collections::IVector<Command> commands, const int indentation = 1)
{
if (indentation == 1)
{
Log::Comment((commands.Size() == 0) ? L"Commands:\n <none>" : L"Commands:");
}
for (const auto& cmd : commands)
{
Log::Comment(fmt::format(L"{0:>{1}}* {2}",
L"",
indentation,
cmd.Name())
.c_str());

if (cmd.HasNestedCommands())
{
_logCommandNames(cmd.NestedCommands(), indentation + 2);
}
}
}
};

void SettingsTests::TestIterateCommands()
Expand Down Expand Up @@ -164,14 +184,15 @@ namespace TerminalAppLocalTests
VERIFY_ARE_EQUAL(L"${profile.name}", realArgs.TerminalArgs().Profile());
}

auto expandedCommands = winrt::TerminalApp::implementation::TerminalPage::_ExpandCommands(nameMap, settings.ActiveProfiles().GetView(), settings.GlobalSettings().ColorSchemes());
_logCommandNames(expandedCommands.GetView());
const auto& expandedCommands{ settings.GlobalSettings().ActionMap().ExpandedCommands() };
_logCommands(expandedCommands);

VERIFY_ARE_EQUAL(0u, settings.Warnings().Size());
VERIFY_ARE_EQUAL(3u, expandedCommands.Size());

{
auto command = expandedCommands.Lookup(L"iterable command profile0");
auto command = expandedCommands.GetAt(0);
VERIFY_ARE_EQUAL(L"iterable command profile0", command.Name());
VERIFY_IS_NOT_NULL(command);
auto actionAndArgs = command.ActionAndArgs();
VERIFY_IS_NOT_NULL(actionAndArgs);
Expand All @@ -189,7 +210,8 @@ namespace TerminalAppLocalTests
}

{
auto command = expandedCommands.Lookup(L"iterable command profile1");
auto command = expandedCommands.GetAt(1);
VERIFY_ARE_EQUAL(L"iterable command profile1", command.Name());
VERIFY_IS_NOT_NULL(command);
auto actionAndArgs = command.ActionAndArgs();
VERIFY_IS_NOT_NULL(actionAndArgs);
Expand All @@ -207,7 +229,8 @@ namespace TerminalAppLocalTests
}

{
auto command = expandedCommands.Lookup(L"iterable command profile2");
auto command = expandedCommands.GetAt(2);
VERIFY_ARE_EQUAL(L"iterable command profile2", command.Name());
VERIFY_IS_NOT_NULL(command);
auto actionAndArgs = command.ActionAndArgs();
VERIFY_IS_NOT_NULL(actionAndArgs);
Expand Down Expand Up @@ -287,14 +310,16 @@ namespace TerminalAppLocalTests
VERIFY_ARE_EQUAL(L"${profile.name}", realArgs.TerminalArgs().Profile());
}

auto expandedCommands = winrt::TerminalApp::implementation::TerminalPage::_ExpandCommands(nameMap, settings.ActiveProfiles().GetView(), settings.GlobalSettings().ColorSchemes());
_logCommandNames(expandedCommands.GetView());
const auto& expandedCommands{ settings.GlobalSettings().ActionMap().ExpandedCommands() };
_logCommands(expandedCommands);

VERIFY_ARE_EQUAL(0u, settings.Warnings().Size());
VERIFY_ARE_EQUAL(3u, expandedCommands.Size());

{
auto command = expandedCommands.Lookup(L"Split pane, profile: profile0");
auto command = expandedCommands.GetAt(0);
VERIFY_ARE_EQUAL(L"Split pane, profile: profile0", command.Name());

VERIFY_IS_NOT_NULL(command);
auto actionAndArgs = command.ActionAndArgs();
VERIFY_IS_NOT_NULL(actionAndArgs);
Expand All @@ -312,7 +337,9 @@ namespace TerminalAppLocalTests
}

{
auto command = expandedCommands.Lookup(L"Split pane, profile: profile1");
auto command = expandedCommands.GetAt(1);
VERIFY_ARE_EQUAL(L"Split pane, profile: profile1", command.Name());

VERIFY_IS_NOT_NULL(command);
auto actionAndArgs = command.ActionAndArgs();
VERIFY_IS_NOT_NULL(actionAndArgs);
Expand All @@ -330,7 +357,9 @@ namespace TerminalAppLocalTests
}

{
auto command = expandedCommands.Lookup(L"Split pane, profile: profile2");
auto command = expandedCommands.GetAt(2);
VERIFY_ARE_EQUAL(L"Split pane, profile: profile2", command.Name());

VERIFY_IS_NOT_NULL(command);
auto actionAndArgs = command.ActionAndArgs();
VERIFY_IS_NOT_NULL(actionAndArgs);
Expand Down Expand Up @@ -412,14 +441,16 @@ namespace TerminalAppLocalTests
VERIFY_ARE_EQUAL(L"${profile.name}", realArgs.TerminalArgs().Profile());
}

auto expandedCommands = winrt::TerminalApp::implementation::TerminalPage::_ExpandCommands(nameMap, settings.ActiveProfiles().GetView(), settings.GlobalSettings().ColorSchemes());
_logCommandNames(expandedCommands.GetView());
const auto& expandedCommands{ settings.GlobalSettings().ActionMap().ExpandedCommands() };
_logCommands(expandedCommands);

VERIFY_ARE_EQUAL(0u, settings.Warnings().Size());
VERIFY_ARE_EQUAL(3u, expandedCommands.Size());

{
auto command = expandedCommands.Lookup(L"iterable command profile0");
auto command = expandedCommands.GetAt(0);
VERIFY_ARE_EQUAL(L"iterable command profile0", command.Name());

VERIFY_IS_NOT_NULL(command);
auto actionAndArgs = command.ActionAndArgs();
VERIFY_IS_NOT_NULL(actionAndArgs);
Expand All @@ -437,7 +468,9 @@ namespace TerminalAppLocalTests
}

{
auto command = expandedCommands.Lookup(L"iterable command profile1\"");
auto command = expandedCommands.GetAt(1);
VERIFY_ARE_EQUAL(L"iterable command profile1\"", command.Name());

VERIFY_IS_NOT_NULL(command);
auto actionAndArgs = command.ActionAndArgs();
VERIFY_IS_NOT_NULL(actionAndArgs);
Expand All @@ -455,7 +488,9 @@ namespace TerminalAppLocalTests
}

{
auto command = expandedCommands.Lookup(L"iterable command profile2");
auto command = expandedCommands.GetAt(2);
VERIFY_ARE_EQUAL(L"iterable command profile2", command.Name());

VERIFY_IS_NOT_NULL(command);
auto actionAndArgs = command.ActionAndArgs();
VERIFY_IS_NOT_NULL(actionAndArgs);
Expand Down Expand Up @@ -527,14 +562,15 @@ namespace TerminalAppLocalTests
VERIFY_ARE_EQUAL(0u, settings.Warnings().Size());
VERIFY_ARE_EQUAL(3u, settings.ActiveProfiles().Size());

auto expandedCommands = winrt::TerminalApp::implementation::TerminalPage::_ExpandCommands(settings.ActionMap().NameMap(), settings.ActiveProfiles().GetView(), settings.GlobalSettings().ColorSchemes());
_logCommandNames(expandedCommands.GetView());
const auto& expandedCommands{ settings.GlobalSettings().ActionMap().ExpandedCommands() };
_logCommands(expandedCommands);

VERIFY_ARE_EQUAL(0u, settings.Warnings().Size());
VERIFY_ARE_EQUAL(1u, expandedCommands.Size());

auto rootCommand = expandedCommands.Lookup(L"Connect to ssh...");
auto rootCommand = expandedCommands.GetAt(0);
VERIFY_IS_NOT_NULL(rootCommand);
VERIFY_ARE_EQUAL(L"Connect to ssh...", rootCommand.Name());
auto rootActionAndArgs = rootCommand.ActionAndArgs();
VERIFY_IS_NOT_NULL(rootActionAndArgs);
VERIFY_ARE_EQUAL(ShortcutAction::Invalid, rootActionAndArgs.Action());
Expand Down Expand Up @@ -621,14 +657,16 @@ namespace TerminalAppLocalTests
VERIFY_ARE_EQUAL(0u, settings.Warnings().Size());
VERIFY_ARE_EQUAL(3u, settings.ActiveProfiles().Size());

auto expandedCommands = winrt::TerminalApp::implementation::TerminalPage::_ExpandCommands(settings.ActionMap().NameMap(), settings.ActiveProfiles().GetView(), settings.GlobalSettings().ColorSchemes());
_logCommandNames(expandedCommands.GetView());
const auto& expandedCommands{ settings.GlobalSettings().ActionMap().ExpandedCommands() };
_logCommands(expandedCommands);

VERIFY_ARE_EQUAL(0u, settings.Warnings().Size());
VERIFY_ARE_EQUAL(1u, expandedCommands.Size());

auto grandparentCommand = expandedCommands.Lookup(L"grandparent");
auto grandparentCommand = expandedCommands.GetAt(0);
VERIFY_IS_NOT_NULL(grandparentCommand);
VERIFY_ARE_EQUAL(L"grandparent", grandparentCommand.Name());

auto grandparentActionAndArgs = grandparentCommand.ActionAndArgs();
VERIFY_IS_NOT_NULL(grandparentActionAndArgs);
VERIFY_ARE_EQUAL(ShortcutAction::Invalid, grandparentActionAndArgs.Action());
Expand Down Expand Up @@ -744,17 +782,22 @@ namespace TerminalAppLocalTests
VERIFY_ARE_EQUAL(0u, settings.Warnings().Size());
VERIFY_ARE_EQUAL(3u, settings.ActiveProfiles().Size());

auto expandedCommands = winrt::TerminalApp::implementation::TerminalPage::_ExpandCommands(settings.ActionMap().NameMap(), settings.ActiveProfiles().GetView(), settings.GlobalSettings().ColorSchemes());
_logCommandNames(expandedCommands.GetView());
const auto& expandedCommands{ settings.GlobalSettings().ActionMap().ExpandedCommands() };
_logCommands(expandedCommands);

VERIFY_ARE_EQUAL(0u, settings.Warnings().Size());

VERIFY_ARE_EQUAL(3u, expandedCommands.Size());

for (auto name : std::vector<std::wstring>({ L"profile0", L"profile1", L"profile2" }))
const std::vector<std::wstring> profileNames{ L"profile0", L"profile1", L"profile2" };
for (auto i = 0u; i < profileNames.size(); i++)
{
winrt::hstring commandName{ name + L"..." };
auto command = expandedCommands.Lookup(commandName);
const auto& name{ profileNames[i] };
winrt::hstring commandName{ profileNames[i] + L"..." };

auto command = expandedCommands.GetAt(i);
VERIFY_ARE_EQUAL(commandName, command.Name());

VERIFY_IS_NOT_NULL(command);
auto actionAndArgs = command.ActionAndArgs();
VERIFY_IS_NOT_NULL(actionAndArgs);
Expand Down Expand Up @@ -880,14 +923,16 @@ namespace TerminalAppLocalTests
VERIFY_ARE_EQUAL(0u, settings.Warnings().Size());
VERIFY_ARE_EQUAL(3u, settings.ActiveProfiles().Size());

auto expandedCommands = winrt::TerminalApp::implementation::TerminalPage::_ExpandCommands(settings.ActionMap().NameMap(), settings.ActiveProfiles().GetView(), settings.GlobalSettings().ColorSchemes());
_logCommandNames(expandedCommands.GetView());
const auto& expandedCommands{ settings.GlobalSettings().ActionMap().ExpandedCommands() };
_logCommands(expandedCommands);

VERIFY_ARE_EQUAL(0u, settings.Warnings().Size());
VERIFY_ARE_EQUAL(1u, expandedCommands.Size());

auto rootCommand = expandedCommands.Lookup(L"New Tab With Profile...");
auto rootCommand = expandedCommands.GetAt(0);
VERIFY_IS_NOT_NULL(rootCommand);
VERIFY_ARE_EQUAL(L"New Tab With Profile...", rootCommand.Name());

auto rootActionAndArgs = rootCommand.ActionAndArgs();
VERIFY_IS_NOT_NULL(rootActionAndArgs);
VERIFY_ARE_EQUAL(ShortcutAction::Invalid, rootActionAndArgs.Action());
Expand Down Expand Up @@ -982,13 +1027,16 @@ namespace TerminalAppLocalTests
VERIFY_ARE_EQUAL(0u, settings.Warnings().Size());
VERIFY_ARE_EQUAL(3u, settings.ActiveProfiles().Size());

auto expandedCommands = winrt::TerminalApp::implementation::TerminalPage::_ExpandCommands(settings.ActionMap().NameMap(), settings.ActiveProfiles().GetView(), settings.GlobalSettings().ColorSchemes());
_logCommandNames(expandedCommands.GetView());
const auto& expandedCommands{ settings.GlobalSettings().ActionMap().ExpandedCommands() };
_logCommands(expandedCommands);

VERIFY_ARE_EQUAL(0u, settings.Warnings().Size());
VERIFY_ARE_EQUAL(1u, expandedCommands.Size());

auto rootCommand = expandedCommands.Lookup(L"New Pane...");
auto rootCommand = expandedCommands.GetAt(0);
VERIFY_IS_NOT_NULL(rootCommand);
VERIFY_ARE_EQUAL(L"New Pane...", rootCommand.Name());

VERIFY_IS_NOT_NULL(rootCommand);
auto rootActionAndArgs = rootCommand.ActionAndArgs();
VERIFY_IS_NOT_NULL(rootActionAndArgs);
Expand Down Expand Up @@ -1205,8 +1253,8 @@ namespace TerminalAppLocalTests
VERIFY_ARE_EQUAL(L"${scheme.name}", realArgs.TerminalArgs().Profile());
}

auto expandedCommands = winrt::TerminalApp::implementation::TerminalPage::_ExpandCommands(nameMap, settings.ActiveProfiles().GetView(), settings.GlobalSettings().ColorSchemes());
_logCommandNames(expandedCommands.GetView());
const auto& expandedCommands{ settings.GlobalSettings().ActionMap().ExpandedCommands() };
_logCommands(expandedCommands);

VERIFY_ARE_EQUAL(3u, expandedCommands.Size());

Expand All @@ -1215,7 +1263,9 @@ namespace TerminalAppLocalTests
// just easy tests to write.

{
auto command = expandedCommands.Lookup(L"iterable command Campbell");
auto command = expandedCommands.GetAt(0);
VERIFY_ARE_EQUAL(L"iterable command Campbell", command.Name());

VERIFY_IS_NOT_NULL(command);
auto actionAndArgs = command.ActionAndArgs();
VERIFY_IS_NOT_NULL(actionAndArgs);
Expand All @@ -1233,7 +1283,9 @@ namespace TerminalAppLocalTests
}

{
auto command = expandedCommands.Lookup(L"iterable command Campbell PowerShell");
auto command = expandedCommands.GetAt(1);
VERIFY_ARE_EQUAL(L"iterable command Campbell PowerShell", command.Name());

VERIFY_IS_NOT_NULL(command);
auto actionAndArgs = command.ActionAndArgs();
VERIFY_IS_NOT_NULL(actionAndArgs);
Expand All @@ -1251,7 +1303,9 @@ namespace TerminalAppLocalTests
}

{
auto command = expandedCommands.Lookup(L"iterable command Vintage");
auto command = expandedCommands.GetAt(2);
VERIFY_ARE_EQUAL(L"iterable command Vintage", command.Name());

VERIFY_IS_NOT_NULL(command);
auto actionAndArgs = command.ActionAndArgs();
VERIFY_IS_NOT_NULL(actionAndArgs);
Expand Down
Loading