Is there a known problem with Ignition 8.0 Launcher icons?

I’m applying the launch icon to my Ignition 8.0 Vision client. It shows up in Client Launcher but it doesn’t show up on the client titlebar or on the Windows taskbar. I thought it did before.

A colleague in another company site reports that his icons work on Launcher too but after a time seem to switch back to the default Ignition icon.

Are we missing something?

Do you have something like this on the internalFrameActivated event of navigation pane? That should take care of the window and taskbar.

I think it's been mentioned before that shortcut icon created by the launcher ignores the application icon, but uses the stock ignition icon.

Thanks, Jordan. That seems a lot of trouble for something that should be built in.
Have you any idea what the Launch Icon is supposed to do?

I tried the code but how should the URL
URL(“http://localhost:8088/main/system/images/Builtin/icons/16/add2.png”)
be written for a client?

Replace localhost with the gateway address.

Each URL is for a different size icon (16x16 to 48x48. Windows scaling determines which ones get used. More info here.)

We generally put them in the builtins/icons/{size} folders in Image Management to keep them organized by size, but you aren’t limited to it. You can put them in the same folder if you prefer, and adjust the URLs accordingly.

image

Thanks, Jordan.
That works. Rather than hard-code the URL I’ve used system.util.getGatewayAddress() as shown below.

from javax.imageio import ImageIO
from java.net import URL
from javax.swing import JFrame
from org.python.core import Py

url16 = URL(system.util.getGatewayAddress() + "/system/images/thisJob/Icon_16x16.png")
url32 = URL(system.util.getGatewayAddress() + "/system/images/thisJob/Icon_32x32.png")
url48 = URL(system.util.getGatewayAddress() + "/system/images/thisJob/Icon_48x48.png")

icons = []
icons.append(ImageIO.read(url16))
icons.append(ImageIO.read(url32))
icons.append(ImageIO.read(url48))

win = system.gui.getParentWindow(event)
while not isinstance(win,JFrame):
	win = win.getParent()
javaWin = Py.tojava(win,JFrame)
javaWin.setIconImages(icons)

Note that if you have spaces in the URL you need to replace them with HTML ‘%20’ or use some Python urlencode function. The following might work.

import urllib
urllib.quote('Hello World@Python2')
# gives 'Hello%20World%40Python2'
1 Like