# \[NEW\] Theming Update: Major Visual Changes in Perspective

**URL:** <https://forum.inductiveautomation.com/t/new-theming-update-major-visual-changes-in-perspective/34020>\
**Category:** Ignition Early Access\
**Created:** [April 17, 2020, 11:41pm UTC](https://forum.inductiveautomation.com/t/new-theming-update-major-visual-changes-in-perspective/34020 "2020-04-17T23:41:06Z")\
**Posts on this page:** 20\
**Page:** 4

<div class="post-metadata">

**Author:** ![kyle.demerath](https://avatars.discourse-cdn.com/v4/letter/k/5e9695/32.png) [@kyle.demerath](https://forum.inductiveautomation.com/u/kyle.demerath)\
**Post date:** [July 17, 2020, 5:17pm UTC](https://forum.inductiveautomation.com/t/new-theming-update-major-visual-changes-in-perspective/34020/61 "2020-07-17T17:17:23Z")

</div>

Doesn’t seem to work for me. My theme override is working because the border style one is taking effect, but not the background.

![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/7/7/77b26c040bf2fe2fcb423e84bc173a5f63433500.png)

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/6/2/62ff8be04f3824a2a0f4985e4da7199f77649449.png)

---

<div class="post-metadata">

**Author:** ![cmallonee](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/cmallonee/32/6416_2.png) [@cmallonee](https://forum.inductiveautomation.com/u/cmallonee)\
**Post date:** [July 17, 2020, 5:50pm UTC](https://forum.inductiveautomation.com/t/new-theming-update-major-visual-changes-in-perspective/34020/62 "2020-07-17T17:50:34Z")

</div>

Does the tab content have a View or component within it? Could you provide a photo of the Tab Component in use with a component in place “behind” the Tab Component which you would expect to see? Based on your screenshots, it looks like you haven’t saved the changes to the theme file, OR the changes have not been picked up by the session. You might need to start a new session, or you might need to clear your browser cache if you have indeed saved the correct file.

---

<div class="post-metadata">

**Author:** ![kyle.demerath](https://avatars.discourse-cdn.com/v4/letter/k/5e9695/32.png) [@kyle.demerath](https://forum.inductiveautomation.com/u/kyle.demerath)\
**Post date:** [July 17, 2020, 6:58pm UTC](https://forum.inductiveautomation.com/t/new-theming-update-major-visual-changes-in-perspective/34020/63 "2020-07-17T18:58:10Z")

</div>

Ok, I got it to work now. There must have been something I couldn’t see wrong with the css code because when I retyped it all back in it worked fine. Cache didn’t make a difference, but it seemed to use an old version of the file when it encountered something it didn’t like. Not sure if that makes sense.

---

<div class="post-metadata">

**Author:** ![ynejati](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/ynejati/32/6093_2.png) [@ynejati](https://forum.inductiveautomation.com/u/ynejati)\
**Post date:** [August 6, 2020, 3:19pm UTC](https://forum.inductiveautomation.com/t/new-theming-update-major-visual-changes-in-perspective/34020/64 "2020-08-06T15:19:40Z")

</div>

Were you able to capture any details in the logs? Surely something must have complained.

---

<div class="post-metadata">

**Author:** ![ynejati](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/ynejati/32/6093_2.png) [@ynejati](https://forum.inductiveautomation.com/u/ynejati)\
**Post date:** [August 6, 2020, 3:24pm UTC](https://forum.inductiveautomation.com/t/new-theming-update-major-visual-changes-in-perspective/34020/65 "2020-08-06T15:24:25Z")

</div>

I’d suggest using a code editor next time to help with for realtime syntax evaluation and code completion. The theming should pick up the changes in realtime merely requiring you to refresh the page so that the updated resources are re-fetched. Using the browsers developers tools to experiment is also a good idea, and I’d highly recommend it. -Y

---

<div class="post-metadata">

**Author:** ![kyle.demerath](https://avatars.discourse-cdn.com/v4/letter/k/5e9695/32.png) [@kyle.demerath](https://forum.inductiveautomation.com/u/kyle.demerath)\
**Post date:** [August 6, 2020, 3:25pm UTC](https://forum.inductiveautomation.com/t/new-theming-update-major-visual-changes-in-perspective/34020/66 "2020-08-06T15:25:08Z")

</div>

Yeah, I started doing that after the issues. Thank you!

---

<div class="post-metadata">

**Author:** ![awarunek187](https://avatars.discourse-cdn.com/v4/letter/a/a5b964/32.png) [@awarunek187](https://forum.inductiveautomation.com/u/awarunek187)\
**Post date:** [March 16, 2021, 2:52pm UTC](https://forum.inductiveautomation.com/t/new-theming-update-major-visual-changes-in-perspective/34020/67 "2021-03-16T14:52:18Z")

</div>

Is there a colorblind theme? If not, can you incorporate it?

---

<div class="post-metadata">

**Author:** ![cmallonee](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/cmallonee/32/6416_2.png) [@cmallonee](https://forum.inductiveautomation.com/u/cmallonee)\
**Post date:** [March 16, 2021, 2:53pm UTC](https://forum.inductiveautomation.com/t/new-theming-update-major-visual-changes-in-perspective/34020/68 "2021-03-16T14:53:03Z")

</div>

Yes, you can create your own “colorblind” theme.

---

<div class="post-metadata">

**Author:** ![ray](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/ray/32/11451_2.png) [@ray](https://forum.inductiveautomation.com/u/ray)\
**Post date:** [March 16, 2021, 4:45pm UTC](https://forum.inductiveautomation.com/t/new-theming-update-major-visual-changes-in-perspective/34020/69 "2021-03-16T16:45:03Z")

</div>

We have a ticket for this with initial design concepts and color palettes in-progress. A primary use case for the colorblind-friendly theme would be charting and data visualization - and unfortunately all of our charting components don’t play well with the theming variables at this time. We’re working first to get that dialed in, then we’ll follow up with the colorblind themes.

---

<div class="post-metadata">

**Author:** ![awarunek187](https://avatars.discourse-cdn.com/v4/letter/a/a5b964/32.png) [@awarunek187](https://forum.inductiveautomation.com/u/awarunek187)\
**Post date:** [March 16, 2021, 5:21pm UTC](https://forum.inductiveautomation.com/t/new-theming-update-major-visual-changes-in-perspective/34020/70 "2021-03-16T17:21:14Z")

</div>

Thank you. I see that Windows 10 has this setting. Is there a way that I can script in Ignition to run ctrl + windows + c to toggle this setting in Windows 10? If so, what would that script look like?

---

<div class="post-metadata">

**Author:** ![awarunek187](https://avatars.discourse-cdn.com/v4/letter/a/a5b964/32.png) [@awarunek187](https://forum.inductiveautomation.com/u/awarunek187)\
**Post date:** [March 17, 2021, 3:09pm UTC](https://forum.inductiveautomation.com/t/new-theming-update-major-visual-changes-in-perspective/34020/71 "2021-03-17T15:09:40Z")

</div>

I see that I can perform this with the Keyboard library in Python. However, when I add that library to Ignition, I get an error:

Traceback (most recent call last):  
File “”, line 11, in   
File “C:\Users\andrew Warunek.ignition\cache\gwlocalhost\_8088\C0\pylib\keyboard\__init_\_.py”, line 128, in   
raise OSError(“Unsupported platform ‘{}’”.format(\_platform.system()))  
OSError: Unsupported platform ‘Java’

Does Ignition not accept the Keyboard library? If not, what library would work to run this script in Ignition:

import keyboard  
keyboard.send(“windows+ctrl+c”)

---

<div class="post-metadata">

**Author:** ![ray](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/ray/32/11451_2.png) [@ray](https://forum.inductiveautomation.com/u/ray)\
**Post date:** [March 17, 2021, 3:47pm UTC](https://forum.inductiveautomation.com/t/new-theming-update-major-visual-changes-in-perspective/34020/72 "2021-03-17T15:47:25Z")

</div>

There’s no direct communication between Perspective in the browser and the OS. Adding the ability for Perspective to run OS commands would be a big security problem.

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [March 17, 2021, 3:48pm UTC](https://forum.inductiveautomation.com/t/new-theming-update-major-visual-changes-in-perspective/34020/73 "2021-03-17T15:48:38Z")

</div>

Perspective scripts are actually running on the gateway - even if you get the `keyboard` library to work, it’s not going to do anything on the local session. Imagine if any malicious website could trigger arbitrary key input on demand.

---

<div class="post-metadata">

**Author:** ![peter](https://avatars.discourse-cdn.com/v4/letter/p/278dde/32.png) [@peter](https://forum.inductiveautomation.com/u/peter)\
**Post date:** [March 17, 2021, 4:16pm UTC](https://forum.inductiveautomation.com/t/new-theming-update-major-visual-changes-in-perspective/34020/74 "2021-03-17T16:16:39Z")

</div>

For a system I deal with there is a actually a valuable use case for running an OS command from the HMI.

In this particular case the HMI is Cimplicity based and the use case is that for permissive screens that show the state of a permissive in the PLC, there is a link that when clicked sends an OS command to open up the PLC programming software to the actual rung that drives the permissive. In this way a maintenance person can look at a permissive screen and jump directly to the PLC code to diagnose why the permissive isn’t on.

I’ve been trying to think of a way in Ignition that could achieve the same result. As the HMI is currently a full system running on the maintenance PC, along with the PLC software, and directly connect to the actual PLC, I think that I may be able to achieve this in Ignition through a GW script. However if the I separate the Ignition session away from the GW then I can’t see how this can be achieved.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [March 17, 2021, 4:18pm UTC](https://forum.inductiveautomation.com/t/new-theming-update-major-visual-changes-in-perspective/34020/75 "2021-03-17T16:18:56Z")

</div>

> [@peter](#):
>
> However if the I separate the Ignition session away from the GW then I can’t see how this can be achieved.

Vision can do this now and it may be possible for Perspective Workstation to do it in the future.

---

<div class="post-metadata">

**Author:** ![peter](https://avatars.discourse-cdn.com/v4/letter/p/278dde/32.png) [@peter](https://forum.inductiveautomation.com/u/peter)\
**Post date:** [March 17, 2021, 4:23pm UTC](https://forum.inductiveautomation.com/t/new-theming-update-major-visual-changes-in-perspective/34020/76 "2021-03-17T16:23:15Z")

</div>

Well these are just mental exercises at the moment to see what can and can’t be easily done in a hypothetical port of the HMI to Ignition.

---

<div class="post-metadata">

**Author:** ![awarunek187](https://avatars.discourse-cdn.com/v4/letter/a/a5b964/32.png) [@awarunek187](https://forum.inductiveautomation.com/u/awarunek187)\
**Post date:** [March 17, 2021, 7:26pm UTC](https://forum.inductiveautomation.com/t/new-theming-update-major-visual-changes-in-perspective/34020/77 "2021-03-17T19:26:50Z")

</div>

So I would like to use Vision in this case. What library would I have to import to get this to work?

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [March 17, 2021, 7:28pm UTC](https://forum.inductiveautomation.com/t/new-theming-update-major-visual-changes-in-perspective/34020/78 "2021-03-17T19:28:10Z")

</div>

Try using `java.awt.Robot` instead of a Python library: [https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/java/awt/Robot.html](https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/java/awt/Robot.html)

---

<div class="post-metadata">

**Author:** ![tmahaffey](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/tmahaffey/32/30949_2.png) [@tmahaffey](https://forum.inductiveautomation.com/u/tmahaffey)\
**Post date:** [March 26, 2021, 3:17pm UTC](https://forum.inductiveautomation.com/t/new-theming-update-major-visual-changes-in-perspective/34020/79 "2021-03-26T15:17:14Z")

</div>

How do you go back to the default theme in perspective? All six themes are neat, but once I set it to one, I am not sure how to go back to the original default.

---

<div class="post-metadata">

**Author:** ![cmallonee](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/cmallonee/32/6416_2.png) [@cmallonee](https://forum.inductiveautomation.com/u/cmallonee)\
**Post date:** [March 26, 2021, 3:53pm UTC](https://forum.inductiveautomation.com/t/new-theming-update-major-visual-changes-in-perspective/34020/80 "2021-03-26T15:53:34Z")

</div>

The default is “light”.

[Previous page](https://forum.inductiveautomation.com/t/new-theming-update-major-visual-changes-in-perspective/34020.md?page=3)

[Next page](https://forum.inductiveautomation.com/t/new-theming-update-major-visual-changes-in-perspective/34020.md?page=5)
