It is currently February 4th, 2023, 1:52 am

[BUG] TrayIcon=0 and Game Mode's Unload All Skins keeps the tray icon hidden

Report bugs with the Rainmeter application and suggest features.
User avatar
Jeff
Posts: 283
Joined: September 3rd, 2018, 11:18 am

[BUG] TrayIcon=0 and Game Mode's Unload All Skins keeps the tray icon hidden

Post by Jeff »

Fixed here, here and here.

Steps to reproduce
  1. Add TrayIcon=0 to the settings file
  2. Go to Game Mode, set a process to test with, notepad.exe
  3. Set On Start action to Unload All Skins
  4. Close the Manage Rainmeter Window
  5. Rainmeter tray icon remains hidden in the notification tray area when Notepad is open

Some more complicated (usually paid or commercial) Suites usually change the TrayIcon option to be 0 to hide the fact their app works using Rainmeter.
For those who have ventured in Rainmeter though and played with it's settings, they could get in a situation where they have activated Game Mode and left the default setting for the On Start action.
If they add a process name that runs at all time, like conhost.exe or csrss.exe, and close the Manage Rainmeter window, they are now in a situation where the Rainmeter icon is gone and no other way to control the app.
(except command line, but we assume the normal user dosen't know what !RefreshApp is)

(This was found by Orb, over on the Discord server, who hid the normal Rainmeter tray icon using that option in order to use death.crafter's TrayIcon plugin for customized tray icons on his skins)
(I also found out there is no blacklist for the process list so rainmeter.exe crashes Rainmeter, hehe)
Last edited by Jeff on January 6th, 2023, 12:15 am, edited 3 times in total.
User avatar
Brian
Developer
Posts: 2562
Joined: November 24th, 2011, 1:42 am
Location: Utah

Re: [BUG] TrayIcon=0 and Game Mode's Unload All Skins keeps the tray icon hidden

Post by Brian »

Jeff wrote: January 1st, 2023, 5:10 pm Steps to reproduce
  1. Add TrayIcon=0 to the settings file
  2. Go to Game Mode, set a process to test with, notepad.exe
  3. Set On Start action to Unload All Skins
  4. Close the Manage Rainmeter Window
  5. Rainmeter tray icon remains hidden in the notification tray area when Notepad is open

Some more complicated (usually paid or commercial) Suites usually change the TrayIcon option to be 0 to hide the fact their app works using Rainmeter.
For those who have ventured in Rainmeter though and played with it's settings, they could get in a situation where they have activated Game Mode and left the default setting for the On Start action.
If they add a process name that runs at all time, like conhost.exe or csrss.exe, and close the Manage Rainmeter window, they are now in a situation where the Rainmeter icon is gone and no other way to control the app.
(except command line, but we assume the normal user dosen't know what !RefreshApp is)

(This was found by Orb, over on the Discord server, who hid the normal Rainmeter tray icon using that option in order to use death.crafter's TrayIcon plugin for customized tray icons on his skins)
(I also found out there is no blacklist for the process list so rainmeter.exe crashes Rainmeter, hehe)
Thanks! This has fixed for the next release! (Also, you can no longer have "Rainmeter.exe" in the process list).
Jeff wrote: January 1st, 2023, 5:10 pm (except command line, but we assume the normal user dosen't know what !RefreshApp is)
Actually, while in Game Mode, no bangs at all work from the command line. I have added the ability to use !Quit from the command line while in Game Mode. Note: This only affects the situation where the OnStartAction is "Unload all skins". If loading a layout, all bangs should work fine from the command line.

-Brian
User avatar
Jeff
Posts: 283
Joined: September 3rd, 2018, 11:18 am

Re: [BUG] TrayIcon=0 and Game Mode's Unload All Skins keeps the tray icon hidden

Post by Jeff »

Nice, hope the fix catches "Rainmeter.exe" and may not accidentally catch other stuff like an addon named "PostRESTRainmeter.exe" (knowing the line is formatted like proces092459123=rainmeter.exe, it probably won't).
I think !Quit is okay, !RefreshApp or others (tbh no other bang would make sense) are up to the dev team to decide.
Marked thread as fixed/checked.
User avatar
Brian
Developer
Posts: 2562
Joined: November 24th, 2011, 1:42 am
Location: Utah

Re: [BUG] TrayIcon=0 and Game Mode's Unload All Skins keeps the tray icon hidden

Post by Brian »

Jeff wrote: January 6th, 2023, 12:13 am Nice, hope the fix catches "Rainmeter.exe" and may not accidentally catch other stuff like an addon named "PostRESTRainmeter.exe" (knowing the line is formatted like proces092459123=rainmeter.exe, it probably won't).
It only checks if the entire line (in the Game Mode tab "Process List" list) is "Rainmeter.exe" (case insensitive of course). So "PostRESTRainmeter.exe" should be fine.

-Brian
User avatar
Active Colors
Moderator
Posts: 1216
Joined: February 16th, 2012, 3:32 am
Location: Berlin, Germany

Re: [BUG] TrayIcon=0 and Game Mode's Unload All Skins keeps the tray icon hidden

Post by Active Colors »

Brian wrote: January 5th, 2023, 11:07 pm (Also, you can no longer have "Rainmeter.exe" in the process list).
Shouldn't you not only make just "Rainmeter.exe" not available for adding in the process list, but also make sure that "executable_name.exe" itself could not be added to the liat as well? In case someone renames Rainmeter.exe into MyCoolWidgets.exe. (Might not be really cool if it is renamed to something like csrss.exe)
User avatar
Brian
Developer
Posts: 2562
Joined: November 24th, 2011, 1:42 am
Location: Utah

Re: [BUG] TrayIcon=0 and Game Mode's Unload All Skins keeps the tray icon hidden

Post by Brian »

Active Colors wrote: January 15th, 2023, 10:56 am Shouldn't you not only make just "Rainmeter.exe" not available for adding in the process list, but also make sure that "executable_name.exe" itself could not be added to the liat as well? In case someone renames Rainmeter.exe into MyCoolWidgets.exe. (Might not be really cool if it is renamed to something like csrss.exe)
Probably, but I am not too concerned if someone renames Rainmeter to something else. In fact, maybe we should restrict the program from running if someone has changed the executable name.

-Brian