Adding Icons to Perspective Icon Library

Hello,
In searching the catalog of icons in Google Fonts, I come across a lot of useful icons that are not available to select in Ignition designer. This is especially annoying for the Menu Tree component, which seems to require the use of icons instead of images.

image

The linked icon is in the "material-icons" class, so I'm confused why it is not already included.
Is there any plans to add these missing icons into the icon library in Ignition?

A solution for custom icons was proposed here.
I don't have direct access to the server that the gateway runs on. If anyone has a suggestion for custom icons just using designer, I am open to hear it.

Thanks!

Check out this exchange resource that adds all material icons. Although direct shell access to the server would be the easiest way to import, you can use a script on a view to copy the svgs in, something like this:

import shutil

# First, import the svg directory and save it somewhere on the server, perhaps via file upload component
svg_dir_path = "/path/to/your/svg/directory"
icons_dir_path = "/usr/local/bin/ignition/data/modules/com.inductiveautomation.perspective/icons"

shutil.copytree(svg_dir_path, icons_dir_path)

On this, and for situations like this, I'm intending to make a gw file explorer View of sorts to be able to add edit and remove files on the gw. It's also been high on my list to create an icon library management tool to be able to view and edit icon libraries. I'll put them up on the exchange when I get around to building them

That's a great idea, would love to see this resource!

We’ve built an icon library management view, it’s not ready for prime-time on the exchange but I’ll see if I can get it posted here in this thread.

20231013_165644

icon_management.zip (40.4 KB)

All props go to @CalebM, this is his baby.

You can:

  • View all icon libraries
  • Create new icon libraries
  • Delete icon libraries
  • Add icons to a library (either by uploading SVGs or a zip of SVGs)
  • Delete icons from a library

Use at your own risk.

It's not too far away from an exchange release, but anything involving reading and writing to the gateway filesystem is a big deal. I don't want anything to do with bork-ing someone's production gateway because of path or temporary file issues.

Update
The icon manager resource is now posted on Ignition Exchange, check it out here:

Have yet to try it on windows but it should theoretically work. I was able to create a library with the entire material symbols library I pulled from GitHub.

  • pulled in exchange resource, imported new mass svg file, icon-manager shows new icons in in new dataset,
  • restarted designer
  • icon filter shows new icon set option, but no resolved icons to pick

any tips what might be going on?

windows server
8.1.50

maybe need to restart the perspective module?

Can you share the SVG file?

You definitely do not need to restart the designer or the Perspective module.

Here is a link to one of the example svg files.
i know this is slightly mis-formatted (xml header) for direct import via file system on server, but from the console, looks like it completed correctly... and displays icons in the mgmt viewer... so I was surprised the designer viewer shows an empty icon storage.
Thanks for taking a look at it!

This example isn't in the right format for the Exchange resource, it expects either:

  1. Multiple SVG files
  2. A ZIP containing multiple SVG files

This example is a single SVG that contains multiple icons. It kinda works because of how icons are "discovered"... but also not really :man_shrugging:

Here's your example SVG set exploded into separate files, this seems to import and work correctly:
materialicons.zip (766.9 KB)