# Request Ignition 8.1 Dark Theme Designer!

**URL:** <https://forum.inductiveautomation.com/t/request-ignition-8-1-dark-theme-designer/33832>\
**Category:** Ignition Early Access\
**Created:** [April 9, 2020, 9:35pm UTC](https://forum.inductiveautomation.com/t/request-ignition-8-1-dark-theme-designer/33832 "2020-04-09T21:35:24Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![jespinmartin1](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jespinmartin1/32/57175_2.png) [@jespinmartin1](https://forum.inductiveautomation.com/u/jespinmartin1)\
**Post date:** [April 9, 2020, 9:35pm UTC](https://forum.inductiveautomation.com/t/request-ignition-8-1-dark-theme-designer/33832/1 "2020-04-09T21:35:24Z")

</div>

I’ve been programming the most and designing for hours and it’s a real pain for our eyes retina to have see all in white. Please Inductive Development create a dark theme for projects development, the Designer app itself, hopefully for Ignition 8.1.  
This software is awesome

Best Regards!

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [April 9, 2020, 9:54pm UTC](https://forum.inductiveautomation.com/t/request-ignition-8-1-dark-theme-designer/33832/2 "2020-04-09T21:54:02Z")

</div>

Beware! If you are getting eyestrain from a light background, it is almost certainly due to working in a dark room. While light vs. dark is usually a moot question if the background matches the room lighting, a bright background reduces the viewer’s pupil and therefore increases depth of field. This makes focusing on the content much easier for people with mild to moderate vision impairment. Sadly, that’s many of us, especially us geezers dealing with presbyopia. You could say that dark themes are _ageist_, and should not be used where you have a wide variety of users.

Some reading on the topic:

[https://www.google.com/search?q=white+versus+dark+background+computer+eye+strain](https://www.google.com/search?q=white+versus+dark+background+computer+eye+strain)

---

<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:** [April 9, 2020, 10:12pm UTC](https://forum.inductiveautomation.com/t/request-ignition-8-1-dark-theme-designer/33832/3 "2020-04-09T22:12:46Z")

</div>

We’re pretty unlikely to add a dark mode to the designer; the long-standing [ideas](https://ideas.inductiveautomation.com/ignition-features-and-ideas/p/dark-mode) post was officially closed recently. That’s not to say that we’re opposed to the idea - just that it’s not at the top of the list of feature improvements.

---

<div class="post-metadata">

**Author:** ![justinedwards.jle](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/justinedwards.jle/32/37854_2.png) [@justinedwards.jle](https://forum.inductiveautomation.com/u/justinedwards.jle)\
**Post date:** [October 15, 2024, 6:44pm UTC](https://forum.inductiveautomation.com/t/request-ignition-8-1-dark-theme-designer/33832/4 "2024-10-15T18:44:54Z")

</div>

I read [this post from last week](https://forum.inductiveautomation.com/t/ignition-designer-8-0-where-is-a-dark-themes/30599/7), and this is actually something that I was able to throw together myself using the method I developed [here](https://forum.inductiveautomation.com/t/component-scripting-window-default-size/68548/16) to automatically add the option to the designer's View dropdown when I open the designer.  
 ![Dark Mode Demo](https://us1.discourse-cdn.com/inductiveautomation/original/3X/6/6/669177bba7b01410a3239d1965ea6f814ff6d847.gif)

![Script Console Demo](https://us1.discourse-cdn.com/inductiveautomation/original/3X/b/3/b30ffcf6f7257c78651a55da35e4ffa55a3b41e4.gif)

![Popup Demo](https://us1.discourse-cdn.com/inductiveautomation/original/3X/2/8/282ccffb49ed21a1991411e53c80a2e50744c931.gif)

![Tag and Component Browser](https://us1.discourse-cdn.com/inductiveautomation/original/3X/c/8/c8acd1561c9904827ed70c29f738f148a146a425.gif)

![Vision Splash Page](https://us1.discourse-cdn.com/inductiveautomation/original/3X/3/d/3d50acf8b7f49a61c934ea7392a2259b3c802d37.gif)

![Perspective Demo](https://us1.discourse-cdn.com/inductiveautomation/original/3X/3/2/324142e634ef1439b940f61697645257f87e34ff.gif)

I know there is a large demand for this, so if IA hasn't done anything on their end by 8.3, perhaps I'll clean this up, stress test it across the common modules, and offer it on the exchange. For now, I just wanted to point out that this simple cosmetic stuff is something that can easily be manipulated on our end.

---

<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:** [October 15, 2024, 7:02pm UTC](https://forum.inductiveautomation.com/t/request-ignition-8-1-dark-theme-designer/33832/5 "2024-10-15T19:02:43Z")

</div>

> [@justinedwards.jle](#):
>
> stress test it across the common modules

Compare/contrast the state of Vision windows containing different components you author while in "dark mode" with standard components. Load them in an actual Vision client.

That's the biggest sticking point with us offering first-party dark mode.

---

<div class="post-metadata">

**Author:** ![justinedwards.jle](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/justinedwards.jle/32/37854_2.png) [@justinedwards.jle](https://forum.inductiveautomation.com/u/justinedwards.jle)\
**Post date:** [October 15, 2024, 7:13pm UTC](https://forum.inductiveautomation.com/t/request-ignition-8-1-dark-theme-designer/33832/6 "2024-10-15T19:13:32Z")

</div>

> [@paul-griffith](#):
>
> Compare/contrast the state of Vision windows

I don't know what this means; can you clarify? I develop almost exclusively in Vision, and I've been using this for months without an issue. In my script, I simply don't alter anything that has a JRootPane _ **if its not in a predefined target list** _, and that prevents any components in a Vision window from being touched. Note how the alarm status table and buttons in the demo video remain unchanged as I toggle from light to dark mode.

```python
	'''
	Conditions that determine whether or not the current recursion cycle should be abandoned
	'''			
	# No iteration past root containers that are not from windows in the target list,
	# ...or other specifically selected containers that are not to be colored
	if componentClass in exclusionList and component.parent. __class__. __name__ not in targetList:
		continue

```

**Edit:** Here is the target list of containers that I allow to be colored:

```python
def getDarkModeTargetList():
	return ['ActionEditorFrame', # Perspective component action script editor
			'BindingEditorFrame', # Perspective Binding Editor
			'BindingEditor$TransformsPanel$NewTransformPicker', # Perspective Binding Editor's "Add Transform" popup
			'ClientScriptEditor',
			'CollapsiblePanePalette',
			'ComponentScriptEditor',
			'ConfigurationExplorer', # Perspective component configuration explorerer
			'ComponentSecurityPanel', # Found in the security settings pane
			'CustomizerDialog', # Vision custom property and style customizer editors
			'DataSetEditorDialog', # Pops up when clicking on a dataset property's icon
			'DefaultPopupWindowParent',
			'DialogFloatingContainer',
			'DynamicOptsDialog', # Vision Binding Editor
			'FillAndStrokePane',
			'GlobalScriptEditor',
			'IgnitionDesigner',
			'InspectorFrame', # Reporting module property inspector
			'InteractiveScriptPlayground',
			'ImageManager',
			'JDialog', # Used for miscellaneous popups
			'KeyboardEditor',
			'KeysFrame', # Reporting module key browser
			'LayoutDialog', # Revealed by right clicking and selecting "Layout" from a Vision component
			'NavTreePanel',
			'OPCBrowserPanel',
			'OutputConsoleParent',
			'PaletteFrame', # Perspective Component selection pallet
			'PopupFactory$MediumWeightPopup$MediumWeightComponent', # These are usualy just tool tips, but sometimes they are lightweight dialogs that fit within their parent window
			'Popup$HeavyWeightWindow', # Used for various dropdown and mouse click popup menus
			'PositionDialog', # Revealed by right clicking and selecting "Size and Position" from a Vision component
			'ProjectExporter$2', # Displayed from [File-->Export]
			'PropertyEditorDialog',
			'PropertyEditorFrame', # Perspective property editor
			'PropertyTablePanel', # Vision component property pane
			'QueryBrowser',
			'ResizableWindow', # Perspective editor popups
			'ScriptEditorFrame', # Perspect custom method and message handler editor pane
			'SwingBorderEditor$BorderDialog', # Vision border editor that pops up when the pencil icon is pressed
			'SymbolBrowserFrame', # Popup window located @ [Tools --> Symbol Factory]
			'TabbedPanePalette',
			'TagBrowserFrame',
			'TagEditorDialog', # Revealed by double clicking a tag in the tag browser
			'TagObjectEditor', # Revealed by double clicking a Vision client tag in the tag browser
			'TranslationManager',
			'UdtPropBindingFrame'] # Revealed by clicking on certain parameter binding icons in the tag editor

```

---

<div class="post-metadata">

**Author:** ![justinedwards.jle](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/justinedwards.jle/32/37854_2.png) [@justinedwards.jle](https://forum.inductiveautomation.com/u/justinedwards.jle)\
**Post date:** [November 5, 2024, 8:16pm UTC](https://forum.inductiveautomation.com/t/request-ignition-8-1-dark-theme-designer/33832/7 "2024-11-05T20:16:36Z")

</div>

A Dark Mode patch is now available for download on the exchange:  
[Dark Mode for the Designer](https://inductiveautomation.com/exchange/2719/overview)

For the Vision module and the project library script editor, it's well polished. and it will darken the majority of the windows in the Perspective and Reporting modules as well.

---

<div class="post-metadata">

**Author:** ![Jacob\_Yant](https://avatars.discourse-cdn.com/v4/letter/j/5e9695/32.png) [@Jacob\_Yant](https://forum.inductiveautomation.com/u/Jacob_Yant)\
**Post date:** [November 26, 2024, 12:33pm UTC](https://forum.inductiveautomation.com/t/request-ignition-8-1-dark-theme-designer/33832/8 "2024-11-26T12:33:55Z")

</div>

Ageist? Tell me this is a joke.  
Nobody is saying the Designer needs to be Dark Mode. He just wants the option

---

<div class="post-metadata">

**Author:** ![Christian\_Mayne](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/christian_mayne/32/73325_2.png) [@Christian\_Mayne](https://forum.inductiveautomation.com/u/Christian_Mayne)\
**Post date:** [June 19, 2025, 2:19pm UTC](https://forum.inductiveautomation.com/t/request-ignition-8-1-dark-theme-designer/33832/9 "2025-06-19T14:19:44Z")

</div>

@justinedwards.jle:  
Do you have instructions on how to run the scripts without having Vision installed? I have imported the "project" resources and tried to run designer.darkModePatch.setDarkMode(True) from the script console, but get an error:

\>\>\>  
Traceback (most recent call last):  
File "\<input\>", line 1, in \<module\>  
ImportError: Error loading module darkModePatch: AttributeError: 'com.inductiveautomation.ignition.designer.gui.tool' object has no attribute 'gui'  
\>\>\>

The gateway is version 8.1.47.

---

<div class="post-metadata">

**Author:** ![justinedwards.jle](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/justinedwards.jle/32/37854_2.png) [@justinedwards.jle](https://forum.inductiveautomation.com/u/justinedwards.jle)\
**Post date:** [June 19, 2025, 2:51pm UTC](https://forum.inductiveautomation.com/t/request-ignition-8-1-dark-theme-designer/33832/10 "2025-06-19T14:51:25Z")

</div>

Hmmm. I'm out working on a backhoe today, so I'm not going to be able to look at it, but the only thing I would have used `gui` for would have been `system.gui.color`. if that system function is missing, you'll have to add this line at the top level of the library script:

```python
from java.awt import Color

```

Then, simply replace all instances of `system.gui.color` with `Color`.

There won't be very many. I defined all the colors for the theme in one place near the top of the script.

@Christian_Mayne , @Steven12  
**Edit:** This issue has been addressed in [Version 1.3.0](https://inductiveautomation.com/exchange/2719/overview) that is now available on [The Exchange](https://inductiveautomation.com/exchange/2719/overview)

---

<div class="post-metadata">

**Author:** ![Steven12](https://avatars.discourse-cdn.com/v4/letter/s/5fc32e/32.png) [@Steven12](https://forum.inductiveautomation.com/u/Steven12)\
**Post date:** [January 1, 2026, 4:35pm UTC](https://forum.inductiveautomation.com/t/request-ignition-8-1-dark-theme-designer/33832/11 "2026-01-01T16:35:14Z")

</div>

I’m also messing with this.  
any idea how to make it work for perspective ?
