Skip to content
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

Tray Icon feature improvements and follow-ups #10448

Open
3 of 15 tasks
leonMSFT opened this issue Jun 17, 2021 · 11 comments
Open
3 of 15 tasks

Tray Icon feature improvements and follow-ups #10448

leonMSFT opened this issue Jun 17, 2021 · 11 comments
Labels
Area-User Interface Issues pertaining to the user interface of the Console or Terminal Issue-Scenario Product-Terminal The new Windows Terminal.
Milestone

Comments

@leonMSFT
Copy link
Contributor

leonMSFT commented 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.

"Follow Ups from PRs":

References

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

@leonMSFT leonMSFT added Area-User Interface Issues pertaining to the user interface of the Console or Terminal Product-Terminal The new Windows Terminal. Issue-Task It's a feature request, but it doesn't really need a major design. labels Jun 17, 2021
@leonMSFT leonMSFT self-assigned this Jun 17, 2021
@ghost ghost added the Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting label Jun 17, 2021
@leonMSFT leonMSFT added this to the Terminal v2.0 milestone Jun 17, 2021
@leonMSFT leonMSFT removed the Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting label Jun 17, 2021
@mdtauk
Copy link

mdtauk commented Jun 17, 2021

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

@leonMSFT
Copy link
Contributor Author

Currently it's a Win32 context menu

@mdtauk
Copy link

mdtauk commented Jun 17, 2021

Currently it's a Win32 context menu

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

@leonMSFT
Copy link
Contributor Author

leonMSFT commented 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.😁

@WSLUser
Copy link
Contributor

WSLUser commented Jun 18, 2021

Quit All
Quit just the selected window
Summon All

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

@orcmid

This comment has been minimized.

@leonMSFT
Copy link
Contributor Author

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.

ghost pushed a commit that referenced this issue Aug 12, 2021
A brief summary of the behavior of the tray icon:
- There will only ever be one tray icon representing all windows.
- Left-Click on a Tray Icon brings up the MRU window.
- Right-Click on a Tray Icon brings up a Context Menu:
```
Focus Terminal
----------------
Windows --> Window ID 1 - <unnamed window>
            Named Window
            Named Window Again
 ```
- Focus Terminal will bring up the MRU window.
- Clicking on any of the Window "names" in the submenu will summon the window.

## Settings Changes

Two new global settings are introduced: `alwaysShowTrayIcon` and `minimizeToTray`. Here's a chart explaining the behavior with the two settings.

|                      | `alwaysShowTrayIcon:true`                                          | `alwaysShowTrayIcon:false`                                         |
|----------------------|------------------------------------------------------------------|------------------------------------------------------------------|
| `minimizeToTray:true`  | tray icon is always shown. minimize button will hide the window. | tray icon is always shown. minimize button will hide the window. |
| `minimizeToTray:false` | tray icon is always shown.                                       | tray icon is not shown ever.                                     |

Closes #5727

## References
[Spec for Minimize to Tray](https://github.com/microsoft/terminal/blob/main/doc/specs/%23653%20-%20Quake%20Mode/%23653%20-%20Quake%20Mode.md#minimize-to-tray)
Docs PR - MicrosoftDocs/terminal#352
#10448 - My list of TODOs
@zadjii-msft zadjii-msft added Issue-Scenario and removed Issue-Task It's a feature request, but it doesn't really need a major design. labels Oct 5, 2021
@zadjii-msft zadjii-msft modified the milestones: Terminal v2.0, Megathreads Jan 4, 2022
@HeyItsJono
Copy link

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.

@zadjii-msft
Copy link
Member

@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".

@Raton-Laveur
Copy link

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?

@DHowett
Copy link
Member

DHowett commented Oct 12, 2022

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-User Interface Issues pertaining to the user interface of the Console or Terminal Issue-Scenario Product-Terminal The new Windows Terminal.
Projects
None yet
Development

No branches or pull requests

8 participants