PowerToys
PowerToys copied to clipboard
Option to hide the tray icon
Hiding the tray icon is not in our list of priorities because it's not adding any new functionality. Since this is an open source project, we welcome community contributions.
Constrains
- This option will be merged after the Stability Release https://github.com/microsoft/PowerToys/wiki/Roadmap
- It will be merged after we drop support for the old settings app https://github.com/microsoft/PowerToys/issues/9417 to reduce the amount of documentation/coding/testing.
Steps
Removing the tray icon requires a set of steps that can be implemented ahead of adding the actual option to hide the icon.
UI elements
- [ ] create a new icon for the bug report tool
Documentation
- [ ] functional specification for the changes affecting the bug report tool
- [ ] user documentation for the changes affecting the bug report tool
- [ ] functional specification for the change affecting the
Exit
command - [ ] user documentation for the change affecting the
Exit
command - [ ] functional specification for the changes affecting future tray icon context menu items (to start modules such Color Picker and PT Run)
- [ ] functional documentation for the settings option to hide the tray icon
Implementation
- [ ] implement the functional specification for the changes affecting the bug report tool (e.g. add bug report tool to installer)
- [ ] implement the functional specification for the change affecting the
Exit
command - [ ] implement the settings option to hide the tray icon
it's not adding any new functionality.
Lack of clutter is functional.
Special handling of the bug report tool is not required. Follow the model outlined in the linked thread; the option to hide the tray icon, only hides it when the first instance is run. Launching a second instance will cause the first instance to be displayed as normal. Now, menus work as normal. The app without this option behaves entirely normally, and this is pseudo-standard for systray apps to the point that documentation is not necessary.
@xcasxcursex this issue is for the implementation of the feature, not for general discussion, I will hide your comment and mine. Thank you.
My comments are in regards to this issue, the issue itself. It outlines an excessively delayed implementation for an illogical reasoning and then outlines and excessively complex implementation when the simple one is well known.
The steps section can be replaced with two steps:
Documentation
functional documentation for the settings option to hide the tray icon
Implementation
implement the settings option to hide the tray icon
@xcasxcursex
It outlines an excessively delayed implementation for an illogical reasoning
You are making wrong assumptions on how PowerToys works, and proposing general ideas that simply don't apply to the PowerToys scenario. If you are really interested to contribute to the project, take the time to ask how PowerToys works. Thank you.
This cloud also apply to awake too.
I'm a bit confused, is this ready to work on?
I'm a bit confused, is this ready to work on?
@chingucoding This issue does welcome all community pull requests. :D Let us know if you do like to contribute to this. Thanks!
I'm a bit confused, is this ready to work on?
@chingucoding This issue does welcome all community pull requests. :D Let us know if you do like to contribute to this. Thanks!
Great, sure I can take a shot at it @franky920920 :)
Due to time issues and issues with working on the project, I'll discontinue working on this.
This is a feature already implemented deep in some Windows menu and can be set for all possible tray icons. Searching for how to hide tray icons online will help. I apologise for wasting time asking for this feature.
Not sure if this request is even possible... I haven't seen any app that does this yet, so I asked SO https://stackoverflow.com/questions/71866456/is-it-possible-to-have-a-windows-app-that-does-not-have-an-icon-or-tray-icon-but and if the consensus there is it is not possible then we can close this off.
Not sure if this request is even possible... I haven't seen any app that does this yet, so I asked SO https://stackoverflow.com/questions/71866456/is-it-possible-to-have-a-windows-app-that-does-not-have-an-icon-or-tray-icon-but and if the consensus there is it is not possible then we can close this off.
I think you might have misunderstood the request. It is absolutely possible for a running application to not have a system tray icon.
The request is to disable the system tray icon for powertoys
I'm waiting for bring hide the tray icon.
Hey guys, I just stumbled across a workaround that somewhat addresses this issue! It would still be ideal to have a proper option to disable the system tray icon though.
Each of the PowerToy modules are installed as a separate exe, in their respective folders, here for example: C:\Program Files\PowerToys\modules
These modules (the few I've tested, FancyZones, ColorPicker, and PowerRename) appear to work just fine without the main PowerToys launcher exe. That's what displays that systray icon.
This means you can disable PowerToys from running at startup, and manually set the individual PowerToys modules you use to run at startup, and no system tray icon.
Hope this helps!
Hey guys, I just stumbled across a workaround that somewhat addresses this issue! It would still be ideal to have a proper option to disable the system tray icon though.
Each of the PowerToy modules are installed as a separate exe, in their respective folders, here for example: C:\Program Files\PowerToys\modules
These modules (the few I've tested, FancyZones, ColorPicker, and PowerRename) appear to work just fine without the main PowerToys launcher exe. That's what displays that systray icon.
This means you can disable PowerToys from running at startup, and manually set the individual PowerToys modules you use to run at startup, and no system tray icon.
Hope this helps!
Assuming this works, you may alternately be able to simply use a delayed startup script to kill PowerToys.exe. This way, you could launch it and enable/disable features whenever you want without having to individually enable/disable them for startup. PowerToys.exe would launch normally, run whatever ones you have enabled, then after a few minutes it would be killed. Also, if you do choose to add the individual .exe's to startup, be careful which ones you add. I have PowerRename and Image Resizer enabled, but neither are normally running, likely because they're added to the context menu when enabled in PowerToys then run when selected from there. So you probably don't want to add them to startup, only the ones that are always running in the background.
Good call, the only module I really use is Fancy Zones for my multiple screens, so it's the only one I've thoroughly tested and that works fine.
Unfortunately. I've found that when you kill the powertoys.exe task, it also kills all powertoys tasks.
Interestingly enough, when you 'Exit' powertoys from the system tray icon, it only closes itself, and the modules that were opened along with it. The powertoys modules that were opened on startup remained running.
All of the exe's are running as the same user. I've also tried several command line arguments to quit, exit, etc on the powertoys exe, but they do nothing.
You're right. So a delayed kill isn't an option, you have to add each module you want to startup individually. Not a big deal, though, and the only real solution thus far. I enabled all modules and checked which ones had running processes to see which you'd want to add to startup (assuming you want to use them) and which you shouldn't. Here's the breakdown:
Add:
- PowerToys.AlwaysOnTop.exe
- PowerToys.Awake.exe
- PowerToys.ColorPickerUI.exe
- PowerToys.FancyZones.exe
- PowerToys.KeyboardManagerEngine.exe
- PowerToys.PowerLauncher.exe
Don't add:
- PowerToys.exe - should be obvious but still mentioning
- PowerToys.Settings.exe - also should be obvious
- PowerToys.ImageResizer.exe - dll is added to startup when enabled in settings
- MouseUtils (Mouse utilities) - only dll's, so also should be obvious
- PowerToys.PowerRename.exe - dll is added to startup when enabled in settings
- PowerToys.ShortcutGuide.exe - not sure how this runs, can't find it in startup anywhere and am currently running a full registry search, but it works even after killing PowerToys.exe, so should hopefully work after taking it out of startup
- VideoConference (Video Conference Mute) - only dll's
Adding the desired ones to startup is an easy task, but if there's demand I can throw together a script to automate it.
Good call, the only module I really use is Fancy Zones for my multiple screens, so it's the only one I've thoroughly tested and that works fine.
Unfortunately. I've found that when you kill the powertoys.exe task, it also kills all powertoys tasks.
Interestingly enough, when you 'Exit' powertoys from the system tray icon, it only closes itself, and the modules that were opened along with it. The powertoys modules that were opened on startup remained running.
All of the exe's are running as the same user. I've also tried several command line arguments to quit, exit, etc on the powertoys exe, but they do nothing.
Maybe Powertoys should just be a "page in the store" and each individual utility is an app that would make it easier to maintain. Especially since they're more or less independent. The idea of powertoys back in the day is to have a single place to get a common set of utilities that were vetted by Microsoft, but now that there's a "store" it may not be as relevant so long as PowerToys is prominent. Much like Office.
Good call, the only module I really use is Fancy Zones for my multiple screens, so it's the only one I've thoroughly tested and that works fine. Unfortunately. I've found that when you kill the powertoys.exe task, it also kills all powertoys tasks. Interestingly enough, when you 'Exit' powertoys from the system tray icon, it only closes itself, and the modules that were opened along with it. The powertoys modules that were opened on startup remained running. All of the exe's are running as the same user. I've also tried several command line arguments to quit, exit, etc on the powertoys exe, but they do nothing.
Maybe Powertoys should just be a "page in the store" and each individual utility is an app that would make it easier to maintain. Especially since they're more or less independent. The idea of powertoys back in the day is to have a single place to get a common set of utilities that were vetted by Microsoft, but now that there's a "store" it may not be as relevant so long as PowerToys is prominent. Much like Office.
True, but it's nice to have one central location to configure all of them. It's something that could be argued either way: currently it can be seen as a bloated tool that comes with several things whereas a user might only want a couple, but it also makes it more convenient in a lot of ways. The bigger concern about doing as you suggest is that I suspect that would only exacerbate this issue, as each individual one would likely have its own tray icon. Yikes. I think Blazein's solution, assuming it works (I haven't had a chance to test it yet), is a pretty good one, and easy enough to do. It's just a shame it's necessary.
YES PLEASE!!!
I believe every app should allow this or even better, should be a Windows thing to allow you to hide any tray icon permanently, Spotify is another one that really annoys me. Anyway, there are several programs that allow you to hide the tray icon and if you want to bring the configuration/dashboard/whatever you just click the app/executable again which won't run a second instance of the app opening instead the configuration window, PowerToys could follow a similar approach. Edit: also the icon is ugly that's probably why everyone wants to hide it.
Without a tray icon there is no tray menu and the window does not have a (custom) menu either, so no File > Exit.
How do you expect to exit the PowerToys (runner) ?
@Jay-o-Way There is a "menu" or a location to place the "Exit the applcation" if you are forgetting it. 🤔
Or you can place it under general, adding a new section at the topmost area. This would be alongside the toggle to "hide the tray icon" and the warning that "you can only exit the application inside the application whenever you hide the tray icon"
@RinMinase that is a Navigation menu - it's possible, but it has a very different intention...
@vertigo220 @bolololololo you can thumb-down all you want, but how about answering the question?
@Jay-o-Way Ask a question worth answering and I will. A thumbs down was already more effort on my part than that comment deserved.
Besides what @RinMinase suggested, which I think is the best approach, I believe whoever is using PowerToys and specifically hiding the tray icon is enough of an advanced user to know how to use Task Manager > End Task. The main reason everyone is annoyed by the icon is that it doesn't offer any functionality besides allowing the user to close the program or view documentation/report bug (things that can already be accessed from the dashboard), and all the PowerToys features should be already built-in into Windows so the icon is extremely useless (and ugly).
Anybody with Windows 11 can already do this natively:
- Go to the Windows settings for the tray area
- set PT icon (or any) to "off" to move it to the overflow
- set overflow menu to "off" to hide it completely
FYI @BLM16 @crutkas
Task Manager > End Task
That is equivalent to "hold down the on/off button to shutdown your computer" or just pull the power cord.
Anybody with Windows 11 can already do this natively:
- Go to the Windows settings for the tray area
- set PT icon (or any) to "off" to move it to the overflow
- set overflow menu to "off" to hide it completely
FYI @BLM16 @crutkas
I use the overflow menu, and that is where PT is. I don't want it in that menu, but I do want the menu.