microsoft / terminal

The new Windows Terminal and the original Windows console host, all in the same place!
MIT License
95.72k stars 8.33k forks source link

Profile icons not displayed on Task bar #16233

Open pschaeflein opened 1 year ago

pschaeflein commented 1 year ago

Windows Terminal version

1.18.2822.0

Windows build number

10.0.22621

Other Software

DevHome: 0.601.297.0

Not sure if the issue is with DevDrive, or just having two drives.

Steps to reproduce

Pin Terminal to the task bar. Or launch terminal so the icon is visible on the task bar.

Install terminal from Store.

Create profiles that have a starting directory on drive D:. For the icon, select an image on drive C:, or specify an internet address (for example, https://github.com/Azure/bicep/blob/main/docs/images/BicepLogoImage.png?raw=true)

Expected Behavior

Prior to creating a DevDrive, all icons displayed correctly.

Actual Behavior

Right-click on the Terminal icon in the task bar. Profile icons only show if the icon file is on the same drive as the startup directory, or an OOB icon (for example, ms-appx://ProfileIcons/pwsh.png.

image

In the above image, the icon for the "CLI" and "Manager" profiles are on drive D:. The third profile uses "ms-appx://ProfileIcons/pwsh.png" All others are drive C: or internet address.

Note:

When viewing the profiles from the selector menu (the inverted carat in the menu bar) and from the Settigns page, all icons show as expected.

carlos-zamora commented 1 year ago

Thanks for filing! Could you share your settings.json with us? If you don't want to share it publicly, you're welcome to send it to us privately over email.

pschaeflein commented 1 year ago

I've sanitized my settings.

The attached results in this:

image

The second item (Ngrok) reflects the issue. If I move the icon file to drive D:, it renders correctly

settings.json

lhecker commented 1 year ago

The Azurite icon is broken because the taskbar jump list doesn't support internet addresses for icons and we don't download them automatically. (In fact there have been voices to disallow internet addresses for icons all together, as it's somewhat of a minor privacy/security concern to have a full on HTTP client running on externally given addresses.)

The SharePoint shell seems to be broken because we use a custom "Emoji" icon from the private use areas (U+E756). It's the black and white cmd.exe "C:\" style icon, which is used by default unless you assign an icon yourself. And that can't work for the jump list either, because it doesn't know about our private use areas. 👉 TODO: Should we only use proper icon file paths in our defaults.json?

The Ngrok icon might be broken because it's in your OneDrive folder and the OneDrive directory is a virtualized filesystem. But if I try this myself on my own PC (Win11 23H2, everything up to date), I can't reproduce any issues there, even if I select "Free up space" on my icon file... What else could cause this? 🤔

daveolker commented 7 months ago

I'm having a similar problem, but with the "Terminal" icon itself. When I right-click the terminal in the task bar I get:

image

The Ubuntu profile was also blank but I resolved that by changing the profile icon to a local file instead of a Web address. I have the icon file for the Windows Terminal but I don't see where in settings.json or anywhere else to configure the local icon for Windows Terminal so that it appears in the right-click menu.