You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Introduce abstraction layer between TermControl and TerminalCore (aka Interactivity) #6842
We have some redundant code between the WPF Control and the UWP TermControl. This indicates a missing layer of abstraction between the TerminalCore and the TermControl. Some benefits that we could/would get from introducing an "interactivity" layer includes...
Alright, as of 2ac8318, this is fundamentally pulled into 3 files, but there's still a lot of work to do. I'm using this comment to track that.
Move ControlCore and ControlInteractivity to Microsoft.Terminal.Core so I can unittest them
didn't exactly do that, because that was WAY crazier. But we got tests!
Mousewheel transparency is busted
Acrylic actually doesn't work at all
Manually print hyperlink to console
auto-detecting hyperlinks doesn't work
oh good this actually has a TODO!
Trying to make a second selection while one is active is weird
Actually making a second selection while one is active is impossible? (OH BUT IT'S BUSTED IN 1.8.892.0 AND 1.8.921.0 - fixed in Fix marking of new selection start #9727)
multi-click selection does seem to work
The scrollbar never moves!
Scrolling with the mouse is fine. With the trackpad though: Scrolling up seems to work, but scrolling down is very unsmooth
OH GOD just typing dir (presumably causing a scroll) HANGS THE TERMINAL
wheel scrolling of the font size seems to work
keybinding changing of the font size seems to work
changing DPI seems fine
Find dialog opens, works
Closing a tab with right-click close tab reliably crashes the Terminal
some crash in ITerminalConnection)->remove_TerminalOutput(impl::bind_in(token))); when exiting with VS debugger attached
The _connection is already null in ControlCore::Close
Remove Windows::UI::Input::PointerPoint
PointerPressed
PointerMoved
PointerReleased
MouseWheel
Touched
TouchMoved
TouchReleased
single click = no selection
single click and drag = selection starting from first point
single click in unfocused pane and drag = focus pane, selection starting from first point
double-click = selects a whole word
triple-click = selects a whole line
double-click and drag = selects a whole word, drag selects whole words
triple-click and drag = selects a whole line, drag selects whole lines
Shift single-click = defines start point
second Shift single-click = defines end point
Shift double-click = selects entire word
Shift triple-click = selects entire line
Shift double-click and drag = selects entire word, drag selects whole words
With existing selection: single-click outside the selection and drag = establishes a new selection starting from the click point
toggling renderer settings at runtime (without a shader set unset<->retro)
toggling renderer settings at runtime (with a shader set unset<->shader)
Hot reloading settings
Font
Antialiasing ❌ OH NO - seemingly a DPI change fixes this though. So something in the stack there is wrong. Not triggering a redraw, but triggering a font change?
Actually, this NEVER hot reloaded! We need to force the _d2dDeviceContext to the new setting
Background color
BG image
retro effect
Acrylic opacity
Scheme
CopyOnSelect
Hot reloading the settings seemed to make text with a background color disappear. But it didn't happen in both windows. ?
this never reprod again. Must've been something else.
Setting the taskbar progress to indeterminate changes the taskbar, but not the tab icon
Set the taskbar progress to indeterminate in one tab, and switch to another tab. The taskbar still shows indeterminate. Neither tab has the spinner icon.
Set the taskbar progress to indeterminate in one pane, and switch to another pane. The taskbar still shows indeterminate. Neither pane gets the spinner icon.
Activity
zadjii-msft commentedon Mar 31, 2021
Alright, as of 2ac8318, this is fundamentally pulled into 3 files, but there's still a lot of work to do. I'm using this comment to track that.
ControlCoreandControlInteractivitytoMicrosoft.Terminal.Coreso I can unittest themTODO!1.8.892.0AND1.8.921.0- fixed in Fix marking of new selection start #9727)dir(presumably causing a scroll) HANGS THE TERMINALITerminalConnection)->remove_TerminalOutput(impl::bind_in(token)));when exiting with VS debugger attached_connectionis already null inControlCore::CloseWindows::UI::Input::PointerPointPointerPressedPointerMovedPointerReleasedMouseWheelTouchedTouchMovedTouchReleased_d2dDeviceContextto the new settingPost- 5dc1632
Other scenarios to check:
Tests to write:
ControlCore, then dtoring itCreate a control unittesting project (#9677)
DHowett commentedon Apr 22, 2021
Split `TermControl` into a Core, Interactivity, and Control layer (#9820