-
Notifications
You must be signed in to change notification settings - Fork 8.4k
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
WIP: POC: bottom tabs (and "future of terminal UX" toughts) #15863
WIP: POC: bottom tabs (and "future of terminal UX" toughts) #15863
Conversation
contentRow in NonClientIslandWindow.cpp
WHOA |
Does it work with separate title bar (presumably at the top) and tab bar (at the bottom)? |
Okay, there's a lot to unpack here. In general, we like to try to avoid giant threads that pile a bunch of unrelated topics into one - they tend to get highly unwieldly quick. I'm gonna try and reply to each of the bullets in your OP here, in order. In general though, aside from #835 we should probably move those discussions back out into linked threads.
As a brief intermission, I think it's okay to merge (some form of this) with the current appearance, under something like a These are the less-on-topic bits that should probably go to their own threads:
Back to the more on-topic bits: I'm gonna convert this to a draft and block it, based on the fact that we definitely need a setting for it. But I'm not opposed to merging this with the current design. Maybe as a canary-only feature (#15865). Footnotes
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
as mentioned - hook it up to a theme setting. You'll probably want to look at MTSMSettings.h
, and AppHost::_updateTheme
as reference points.
This pull request has been automatically marked as stale because it has been marked as requiring author feedback but has not had any activity for 7 days. It will be closed if no further activity occurs within 7 days of this comment. |
This pull request has been automatically marked as stale because it has been marked as requiring author feedback but has not had any activity for 7 days. It will be closed if no further activity occurs within 7 days of this comment. |
Summary of the Pull Request
Mocking up a switchable 'titlebarRow' and 'contentRow' in
NonClientIslandWindow.cpp
...it was both easier than expected and works better than expected:
References and Relevant Issues
Detailed Description of the Pull Request / Additional comments
This is just a very-very crude POC, just to see if it's possible in the current implementation to place the tabs at the bottom, and mainly as an attempt to induce thought and spark discussion about ideas for streamlining UX around the
_quakeMode
window, particularly in relation to the settings panel (also considering the clutter of other terminal windows active at the same time, like elevated ones)Checklists, Todos, etc., ... (as food for thought):
switching the order of the titlebar and the content pane is rather straightforward
window is draggable by the bottom titlebar, window controls work, tab drag and drop works between windows
however, in it's current form it's far from being complete, both functionality/implementation and usability/design wise
(dependency(?) Question: Is winui also adopting the new Microsoft Edge TabBar style? microsoft-ui-xaml#7032
(bug) tab tear-off sometimes places the bottom-titlebar below visible bounds.
(to-do) setting UI for displaying the tabs on bottom for the Quake Mode window only (maybe for all terminal windows?)
(to-discuss) allow the Settings Pane to pop up/over the Quake Mode window (or All terminal windows)
in it's own, possibly centered / default-sized window (in a
_settingsMode
window, so to speak)....as currently the wide + narrow shape of the quake mode window hinders the usability of the settings panel embedded in a tab. (see window shapes in the above screenshot at 1920×1080, also considering keeping the current '1-column' design philosophy of the settings panel (which would lead to many of the options not being very visible at first glance, and would leave a lot of horizontal screen estate wasted)
(to-develop) unifying the elevated and non-elevated terminal processes into one window (using the shield icon per tab)
for example, and if possible, by proxying elevated terminal I/O using named pipes for IPC with a non-elevated monarch?
Thanks for bearing with me, and kudos for an already immensely useful app!