Topic: Misc LS questions (systray classnames + desktop toggle function)

I'm working on refining my theme that I'm working on and I have a few questions.  I'm running Windows 7 64-bit on LS 0.25

1. I'm using xtray as my system tray module and wish to hide some of my system tray icons.  This is done by listing the classname and name of the program running.  For example here's one that works for me:

*XTrayHide "#32772" "Windows 7 Firewall Control"

My problem is for the life of me I can't find out what the classnames are for some of the other processes.  Normally I use the program Winspy, but I lose focus of the systray windows whenever I try to switch to it.  For example here are some of the system tray programs I can't find the classnames to:

"Network Internet Access"
"Solve PC Issues"
"Xonar DX Audio Center"

If anyone knows how to find the classnames for system tray processes in general, please let me know.  Alternately, if you know of a module that lets me change the icon for system tray icons, I would be interested in that too.

2. Is it possible to have a click on the desktop toggle a program to be opened / closed?  I'm using Litestep in conjunction with another program, Winstep Nexus, that I want to be able to close and open frequently.  I'm using the desktop2.dll module.  Right now I have a hotkey combo using Autohotkey in order to accomplish this.  Is there some way I could set up a toggle in Litestep so when I middle click on the desktop, it will launch / close this program?  If the program is running, I would need some way for it to detect that it is and close it.  If it's not, I would need it to detect that and run it.  Alternately if there's some way it could simply send a signal to autohotkey that would work well too.

3. In the popup menu, is it possible to have an entry for the Nvidia control panel?  I have a Nvidia card and would like to have an entry for it in my popup menu.  Unfortunately I don't know what the link to the control panel trigger is.  For example, here's an entry for the date / time:

*Popup "Date/Time" !execute ["C:\WINDOWS\SYSTEM32\control.exe" TimeDate.cpl]

That works fine, but trying the same thing using "nvidia.cpl" doesn't do anything.  That probably means nvidia.cpl is the wrong name, but I have no idea what the correct one is or how to find out.

Thanks in advance for help on any of these!


Re: Misc LS questions (systray classnames + desktop toggle function)

1. I believe xTray will hide an icon when you hit ctrl+mouse3 on it by default, at least I couldn't find where I set it to do that. At any rate, I use this in my theme:

xTrayOnIconHide !xTextAppend @$ThemeDir$hidenicons.rc@ @*xTrayHide "%[classname]%" "%[windowtext]%"@
xTrayOnIconUnHide !xTextDeleteAll @$ThemeDir$hidenicons.rc@ @\*xTrayHide \=%[classname]%\= \=%[windowtext]%\=@

You could modify it to something along the lines of:

xTrayOnIconHide !Alert *xTrayHide "%[classname]%" "%[windowtext]%"

Press Ctrl+Mouse3 (middle click) on an icon and you should get an alert which contains the whole xTrayHide line

2. You might be able to use my ApplicationMonitor module along with some scripting (changing what middle click does) in order to do this.

3. Window's default right click menu is stored in the registry. You might want to have a look at HKEY_CLASSES_ROOT\Directory\Background\shell. I'm also fairly certain nVidia puts a link to their control panel in the start menu, so you could just check the target of that link. Not having a computer with an nVidia card I unfortunately can't check this myself (well, maybe if I use google tongue).


Re: Misc LS questions (systray classnames + desktop toggle function)

Hey, thanks for the response.

1.  Your line helped me identify everything, thanks a bunch.  I doubt I would have guessed classnames like "ATL:720B8158" otherwise.

2. I could look into that, do you have a link to your module?

3. I couldn't find a link to the Nvidia control panel from anywhere other than the control panel menu and by right clicking on the desktop with explorer as the shell.  Unfortunatley your registry key didn't lead me to where I was looking, but I can try and figure out the location of the windows desktop context menu and maybe find it that way, thanks for the tip.


Re: Misc LS questions (systray classnames + desktop toggle function)

Glad to help smile

You can grab a copy of ApplicationMonitor from shellfront http://www.shellfront.org/modules/

You could do something along the lines of this (not sure of the exe name, the exact syntax for destkop2's click events, or how you use the various variable types with mzscript).
*ApplicationMonitor Winstep WinstepNexus.exe

*DesktopOnMiddleClick !If [#WinstepisRunning#] [taskkill /f /im "WinstepNexus.exe"][%programfiles%\winstep\winstepnexus.exe]

I think both mzscript and lslua have some kind of !if bang.


Re: Misc LS questions (systray classnames + desktop toggle function)

nvidia control panel executable name is: "nvcplui.exe"
search for it on you pc and make a entry on your popup with the full path.