Tray Icon feature improvements and follow-ups #14252

Open
opened 2026-01-31 04:05:09 +00:00 by claunia · 11 comments
Owner

Originally created by @leonMSFT on GitHub (Jun 17, 2021).

This issue is mainly for me to keep track of what could/should/would be done to improve on the Tray Icon feature.

Current Tray Icon Behavior

Left-Click = Summon MRU window.
Right-Click = Open Context Menu.

Current Context Menu
 ________________
| Focus Terminal |
| -------------- |    ______________________________
| Windows->      |   |Window {ID} - <unnamed window>|
|________________|   |Named Window 1                |
                     |Named Window 2                |
                     |______________________________|

Clicking on any of the Window items in the Windows submenu will summon that particular window.

What's to come?

"So close I can taste it" : things I'm prioritizing

  • Summon only minimized windows
  • Quit All
  • Quit just the selected window
  • Summon All
  • Restore All to taskbar
  • Create new Window

"Further away so I can't taste it yet" : nice to haves or may be a bit more involved.

  • Get rid of the ugly Win32 menu and use WinUI's MenuFlyout
  • Customize left-click on icon behavior
  • Browse tab names of the selected window
  • Custom actions in the context menu
  • How to gel with StartOnUserLogin setting?
  • WT中使用WSL,ALT无法正确使用 (#10660)
  • #12933
    • wasn't mentioned anywhere in #9274 shockingly, coulda swore we discussed this.

"Follow Ups from PRs":

  • Make quake window dropdown duration not magic number.
  • Settings should refer to Notification Area by correct name (not ‘tray’) #11101

References

#5727 - Initial Feature Request
#10368 - Initial Tray Icon PR
Tray Icon Spec Section

Originally created by @leonMSFT on GitHub (Jun 17, 2021). This issue is mainly for me to keep track of what could/should/would be done to improve on the Tray Icon feature. ## Current Tray Icon Behavior `Left-Click` = Summon MRU window. `Right-Click` = Open **Context Menu**. ``` Current Context Menu ________________ | Focus Terminal | | -------------- | ______________________________ | Windows-> | |Window {ID} - <unnamed window>| |________________| |Named Window 1 | |Named Window 2 | |______________________________| ``` Clicking on any of the Window items in the Windows submenu will summon that particular window. ## What's to come? **"So close I can taste it"** : things I'm prioritizing - [ ] Summon _only_ minimized windows - [ ] Quit All - [ ] Quit just the selected window - [x] Summon All - [ ] Restore All to taskbar - [ ] Create new Window **"Further away so I can't taste it yet"** : nice to haves or may be a bit more involved. - [ ] Get rid of the ugly Win32 menu and use WinUI's MenuFlyout - [ ] Customize left-click on icon behavior - [ ] Browse tab names of the selected window - [ ] Custom actions in the context menu - [ ] How to gel with `StartOnUserLogin` setting? - [x] #10660 - [ ] #12933 - wasn't mentioned anywhere in #9274 shockingly, coulda swore we discussed this. **"Follow Ups from PRs"**: - [ ] Make quake window dropdown duration not magic number. - [x] Settings should refer to Notification Area by correct name (not ‘tray’) #11101 ## References #5727 - Initial Feature Request #10368 - Initial Tray Icon PR [Tray Icon Spec Section](https://github.com/microsoft/terminal/blob/main/doc/specs/%23653%20-%20Quake%20Mode/%23653%20-%20Quake%20Mode.md#minimize-to-tray)
claunia added the Product-TerminalArea-UserInterfaceIssue-Scenario labels 2026-01-31 04:05:09 +00:00
Author
Owner

@mdtauk commented on GitHub (Jun 17, 2021):

Can I just check, will this be a WinUI MenuFlyout control, an OS Xaml control, or a Win32 Context Menu?

@mdtauk commented on GitHub (Jun 17, 2021): Can I just check, will this be a WinUI MenuFlyout control, an OS Xaml control, or a Win32 Context Menu?
Author
Owner

@leonMSFT commented on GitHub (Jun 17, 2021):

Currently it's a Win32 context menu

@leonMSFT commented on GitHub (Jun 17, 2021): Currently it's a Win32 context menu
Author
Owner

@mdtauk commented on GitHub (Jun 17, 2021):

Currently it's a Win32 context menu

Boo, but I guess it can't be helped?

@mdtauk commented on GitHub (Jun 17, 2021): > Currently it's a Win32 context menu Boo, but I guess it can't be helped?
Author
Owner

@leonMSFT commented on GitHub (Jun 17, 2021):

I'm unclear about how it would be done, but using WinUI's MenuFlyout was something I was thinking about when I first started. In the interest of simplicity for the first pass I stuck with the Win32 version. I'll go ahead and add this to the"others" section though! I'd love to make the context menu look a bit more captivating.😁

@leonMSFT commented on GitHub (Jun 17, 2021): I'm unclear about how it would be done, but using WinUI's MenuFlyout was something I was thinking about when I first started. In the interest of simplicity for the first pass I stuck with the Win32 version. I'll go ahead and add this to the"others" section though! I'd love to make the context menu look a bit more captivating.😁
Author
Owner

@WSLUser commented on GitHub (Jun 18, 2021):

Quit All
Quit just the selected window
Summon All

Can you also add "Summon just the selected window" to this list?

@WSLUser commented on GitHub (Jun 18, 2021): > Quit All > Quit just the selected window > Summon All Can you also add "Summon just the selected window" to this list?
Author
Owner

@orcmid commented on GitHub (Jun 18, 2021):

@leonMSFT, thank you for the link to the #653 Quake Mode specification. That's super-informative and shows me I have much to read before kvetching about something Terminal (including process model 2.0.)

I notice something that spun my head around though. There is mention of what users want and what users do. It strikes me that identification of that community might be relevant, and whatever the UX conflict might be with different classes of users who may be exposed to they mysteries of the [system] tray. It may be that all this is to benefit power/IT users and developers who incorporate heavy console session work in their daily efforts. There might be no intersection with what we think of as the ginormous population of ordinary and casual users.

I am somewhat unhappy about how producers exploit the tray, especially because tray items get hidden from the visible strip. The Discord app is my poster-child for this. I have to go find it in the pop-up to make it quit. I am someone who doesn't want to leave Discord and its notices running all the time. I have found no way to have it not do that. I have not seen any such behavior with Microsoft Teams.

Another example is a "new" feature that has arisen, the appearance of an MSN News thingy adjacent to the system-tray strip. Not part of the system tray (nothing appears there), and not part of the task bar either. It took me forever to figure out it was about MSN News and that I could reduce it to a small newspaper icon by removing interests. I have found no way to kill the beast. (Well, I did uninstall MSN News, but the beast lives on. I will restart to see whether this disappears or if I have to abandon Edge too. Edit: I finally found the way to kill it, and I am not re-installing Microsoft News. So there :))

Welcome to the law of unintended consequences.

@orcmid commented on GitHub (Jun 18, 2021): @leonMSFT, thank you for the link to the [#653 Quake Mode](https://github.com/microsoft/terminal/blob/main/doc/specs/%23653%20-%20Quake%20Mode/%23653%20-%20Quake%20Mode.md) specification. That's super-informative and shows me I have much to read before kvetching about something Terminal (including [process model 2.0](https://github.com/microsoft/terminal/blob/main/doc/specs/%235000%20-%20Process%20Model%202.0/%235000%20-%20Process%20Model%202.0.md).) I notice something that spun my head around though. There is mention of what users want and what users do. It strikes me that identification of that community might be relevant, and whatever the UX conflict might be with different classes of users who may be exposed to they mysteries of the [system] tray. It may be that all this is to benefit power/IT users and developers who incorporate heavy console session work in their daily efforts. There might be no intersection with what we think of as the ginormous population of ordinary and casual users. I am somewhat unhappy about how **producers** exploit the tray, especially because tray items get hidden from the visible strip. The Discord app is my poster-child for this. I have to go find it in the pop-up to make it quit. I am someone who doesn't want to leave Discord and its notices running all the time. I have found no way to have it not do that. I have not seen any such behavior with Microsoft Teams. Another example is a "new" feature that has arisen, the appearance of an MSN News thingy adjacent to the system-tray strip. Not part of the system tray (nothing appears there), and not part of the task bar either. It took me forever to figure out it was about MSN News and that I could reduce it to a small newspaper icon by removing interests. I have found no way to kill the beast. (Well, I did uninstall MSN News, but the beast lives on. I will restart to see whether this disappears or if I have to abandon Edge too. Edit: I finally found the way to kill it, and I am not re-installing Microsoft News. So there :)) Welcome to the law of unintended consequences.
Author
Owner

@leonMSFT commented on GitHub (Jun 18, 2021):

Can you also add "Summon just the selected window" to this list?

That functionality is already in the initial PR but I forgot to mention it here! You can just click on any particular Window menu item in the Windows submenu to summon it.

There is mention of what users want and what users do. It strikes me that identification of that community might be relevant, and whatever the UX conflict might be with different classes of users who may be exposed to they mysteries of the [system] tray. It may be that all this is to benefit power/IT users and developers who incorporate heavy console session work in their daily efforts. There might be no intersection with what we think of as the ginormous population of ordinary and casual users.

It's definitely difficult to design and implement features in a way that we and all our users (casual, power, and anyone in between) would be delighted by. Community feedback helps guide us, but we still try to account for the tons of users that don't interact with us on Github. Designing for that happy medium and for what we think is right for the Terminal is the goal but it might not hit the mark on first try. I'm still going to be iterating on this feature, so I very much appreciate feedback like yours! 😄

The Discord app is my poster-child for this. I have to go find it in the pop-up to make it quit. I am someone who doesn't want to leave Discord and its notices running all the time. I have found no way to have it not do that.

Discord does have a setting that turns off their "Minimize To Tray" behavior (User Settings -> Windows Settings), but it is on by default.

@leonMSFT commented on GitHub (Jun 18, 2021): > Can you also add "Summon just the selected window" to this list? That functionality is already in the initial PR but I forgot to mention it here! You can just click on any particular Window menu item in the Windows submenu to summon it. >There is mention of what users want and what users do. It strikes me that identification of that community might be relevant, and whatever the UX conflict might be with different classes of users who may be exposed to they mysteries of the [system] tray. It may be that all this is to benefit power/IT users and developers who incorporate heavy console session work in their daily efforts. There might be no intersection with what we think of as the ginormous population of ordinary and casual users. It's definitely difficult to design and implement features in a way that we and all our users (casual, power, and anyone in between) would be delighted by. Community feedback helps guide us, but we still try to account for the tons of users that don't interact with us on Github. Designing for that happy medium and for what we think is right for the Terminal is the goal but it might not hit the mark on first try. I'm still going to be iterating on this feature, so I very much appreciate feedback like yours! 😄 > The Discord app is my poster-child for this. I have to go find it in the pop-up to make it quit. I am someone who doesn't want to leave Discord and its notices running all the time. I have found no way to have it not do that. Discord does have a setting that turns off their "Minimize To Tray" behavior (User Settings -> Windows Settings), but it is on by default.
Author
Owner

@HeyItsJono commented on GitHub (May 23, 2022):

Thanks for your hard work on this.

Does #12933 imply that Windows Terminal will persist in the system tray on closure of all open panes? Because this would be ideal, that way we can exit any running sessions and still have a terminal easily summonable via the global summon hotkey to start a new session.

Currently closing all open sessions/panes just closes Windows Terminal and it has to be run again to re-activate the global summon hotkey.

@HeyItsJono commented on GitHub (May 23, 2022): Thanks for your hard work on this. Does #12933 imply that Windows Terminal will persist in the system tray on closure of all open panes? Because this would be ideal, that way we can exit any running sessions and still have a terminal easily summonable via the global summon hotkey to start a new session. Currently closing all open sessions/panes just closes Windows Terminal and it has to be run again to re-activate the global summon hotkey.
Author
Owner

@zadjii-msft commented on GitHub (May 23, 2022):

@HeyItsJono Maybe, but I think the issue you're really looking for is #9996. That's at least the one I'm using for tracking "let the global hotkey work even if there isn't a running terminal window".

@zadjii-msft commented on GitHub (May 23, 2022): @HeyItsJono Maybe, but I think the issue you're really looking for is #9996. That's at least the one I'm using for tracking "let the global hotkey work even if there isn't a running terminal window".
Author
Owner

@Raton-Laveur commented on GitHub (Oct 12, 2022):

I'm confused regarding the alwaysShowNotificationIcon and minimizeToNotificationArea both set as false, since it still shows up in the notification area and the taskbar icon. Current 1.15.2712.0 behavior is:

aith

  • Windows Startup: no notification icon (of course if startOnUserLogin is false)
  • Start Terminal: icon appears on taskbar and notification area
  • Notification icon right click states both Quake mode and current window
  • Closing current window leaves notification icon since quake mode is still alive

So how do we get completely rid of notification icon?

@Raton-Laveur commented on GitHub (Oct 12, 2022): I'm confused regarding the alwaysShowNotificationIcon and minimizeToNotificationArea both set as false, since it still shows up in the notification area and the taskbar icon. Current 1.15.2712.0 behavior is: ![aith](https://user-images.githubusercontent.com/17532038/195434692-22c086fc-ad6e-4837-b245-610c940fb729.png) - Windows Startup: no notification icon (of course if startOnUserLogin is false) - Start Terminal: icon appears on taskbar and notification area - Notification icon right click states both Quake mode and current window - Closing current window leaves notification icon since quake mode is still alive So how do we get completely rid of notification icon?
Author
Owner

@DHowett commented on GitHub (Oct 12, 2022):

Right now there is no way to disable it while a Quake mode window is available.

@DHowett commented on GitHub (Oct 12, 2022): Right now there is no way to disable it while a Quake mode window is available.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#14252