-
Notifications
You must be signed in to change notification settings - Fork 9k
Description
An idea I've been toying around with for a while, but haven't formalized.
"Toasts" are an Android UI paradigm - a transient notification that can be displayed to the user. These toasts can't be interacted with, and dismiss themselves after a brief timeout.

WinUI doesn't have Toasts, but it does have the TeachingTip. in the future, WinUI is planning on building this auto-dismiss behavior into the TeachingTip itself, but we're impatient.

Use cases that would be good for this:
- A. Enable auto-elevation for a profile #8514 - When we open a tab in another elevated window, it might be nice to display a toast to the user "A new tab was created in an elevated window"
- B. As mentioned in Spec for Windows Terminal Window Management #8135: we'll need a little UI element for displaying the Window IDs/names. Maybe a window-level toast would work?
- C. Similar to the above, inspired by moveFocus to panel using number #5803, Add support for
focus-panesubcommand #5464, Support for navigating panes by MRU #8183: display a toast in each pane showing the Pane IDs - D. inspired by discussion in Implement ConEmu's OSC 9;9 to set the CWD #8330: in that PR, we'll fall back to the profile's
startingDirectoryif the provided directory doesn't exist. In that case, we could display a toast to the user as well. - E. Feature Request: Show terminal size when resizing the window Feature Request: Show terminal size when resizing the window #2833
- Maybe? This might not be the best example for a toast.
- F. Add support for OSC777 - send notification #14425 (comment) - display the notification as a Toast, instead of an OS-level notification
- Add an option to show notification when copying content #17561: We thought about it, but also these Toasts are FAR too heavy for as lightweight a thing as we need for that.
From the above, there are two kinds of scenarios where we want Toasts: control-level and window-level.
- A, B, D are all window-level. There's one Toast visible, at the window level. Changing tabs wouldn't hide this toast (this is important for D, where the toast would be fired as the new tab is opening, and we probably want the toast to persist in both the original tab and the tab that's created).
- C is a control-level toast. Each pane would display a toast. Changing tabs would hide these toasts.
I'm not prescribing any interactable UI in these toasts, but TeachingTips do allow buttons and other rich content.
I'm sure there are other things we could do too. This issue is so I don't lose track of the possible scenarios.
Other things:
- Something like "Unable to rename window. Another window with that name already exists."