I find it confusing from the point of user experience that tab reordering is visually implemented as regular drag and drop. It makes me feel that in addition to reordering I can:
a) detach a tab into its own window, like I'm used to do with web browser tabs;
b) drag a tab from one terminal window to other and thus move the tab between windows (again, like in web browsers);
c) and some users may even expect that they can drop a tab into some other app (e.g. embed it into a word document).
My opinion on this is unless implementing features mentioned above is on the roadmap, tab reordering should not allow dragging a tab outside of the tab panel. Instead, the tab being moved should slide within the tab row. A good example is how the tabs are visually sliding during reordering in MS Edge (Chromium version).
We should add a setting to the TabView that enables drag reordering of tabs, but only within the tab row itself. For applications that don't support tab tear-out, but do want to support tab reordering, this would possibly be a more intuitive experiences.
Right now, we're creating our TabView the following way:
I would have imagined that CanReorderTabs="True", CanDragTabs="False", AllowDropTabs="False", or some other combination of those properties would have resulted in the behavior we're looking for.
Proposal: TabView should have a mode for locking tab dragging within the tab row
Summary
This is a proposal based on https://github.com/microsoft/terminal/issues/3734
We should add a setting to the TabView that enables drag reordering of tabs, but only within the tab row itself. For applications that don't support tab tear-out, but do want to support tab reordering, this would possibly be a more intuitive experiences.
Right now, we're creating our TabView the following way:
I would have imagined that
CanReorderTabs="True", CanDragTabs="False", AllowDropTabs="False"
, or some other combination of those properties would have resulted in the behavior we're looking for.