[PR #15863] WIP: POC: bottom tabs (and "future of terminal UX" toughts) #30762

Open
opened 2026-01-31 09:42:48 +00:00 by claunia · 0 comments
Owner

Original Pull Request: https://github.com/microsoft/terminal/pull/15863

State: closed
Merged: No


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:

image

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(?) microsoft/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!

**Original Pull Request:** https://github.com/microsoft/terminal/pull/15863 **State:** closed **Merged:** No --- ## 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: ![image](https://github.com/microsoft/terminal/assets/4115323/bb8d5eb2-7ffc-4dd8-ae46-703cea3ee6bd) ## References and Relevant Issues - microsoft/microsoft-ui-xaml#7032 - #8888 - #10000 - #11111 - #13392 ## 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): - [x] switching the order of the titlebar and the content pane is rather straightforward - [x] 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(?)** microsoft/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!
claunia added the pull-request label 2026-01-31 09:42:48 +00:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#30762