using the jeffThompson / DarkArduinoTheme

I was able to get this running to change the theme.txt file, also made a few changes to make the edit area darker.

would any of you know which variables control the bottom part of the Ide and also the serial monitor, I'd like to change those.

if you have never used this and would like a dark background and less eye strain, I highly recommend it.

#FUNCTIONS COLOR 			#D35400 - ORANGE			KEYWORD1
#FUNCTIONS COLOR			#D35400 - ORANGE			KEYWORD2
#STRUCTURE COLORS 			#5E6D03 - GREEN				KEYWORD3
#VARIABLES COLOR 			#00979C - BLUE				LITERAL1

#ERROR COLOR				#A61717 - RED
#COMMENTS // COLOR			#95A5A6 - LIGHT GREY
#COMMENTS /**/ COLOR		#434F54	- DARK GREY


# GUI - STATUS
status.notice.fgcolor = #FFFFFF
status.notice.bgcolor = #404040
status.error.fgcolor = #FFFFFF
status.error.bgcolor = #E34C00
status.edit.fgcolor = #FFFFFF
status.edit.bgcolor = #F1B500
status.font = SansSerif,plain,12

# GUI - TABS
# settings for the tabs at the top
# (tab images are stored in the lib/theme folder)
header.bgcolor = #404040
header.text.selected.color = #323232
header.text.unselected.color = #3C3C3C
header.text.font = SansSerif,plain,12

# GUI - CONSOLE output color was eeeeee now 333333 bill
console.font = Monospaced,plain,11
console.font.macosx = Monaco,plain,10
console.color = #000000
console.output.color = #333333
console.error.color = #E34C00

# GUI - BUTTONS
buttons.bgcolor = #505050
buttons.status.font = SansSerif,plain,12
buttons.status.color = #ffffff

# GUI - LINESTATUS
linestatus.color = #ffffff
linestatus.bgcolor = #404040

# EDITOR - DETAILS

# foreground and background colors bill edited this was d9d9d9 and 202020
editor.fgcolor = #dddddd
editor.bgcolor = #050505

# highlight for the current line
editor.linehighlight.color=#333333
# highlight for the current line
editor.linehighlight=true

# caret blinking and caret color
editor.caret.color = #a0a0a0

# color to be used for background when 'external editor' enabled
editor.external.bgcolor = #202020

# selection color
editor.selection.color = #dd8800

# area that's not in use by the text (replaced with tildes)
editor.invalid.style = #7e7e7e,bold

# little pooties at the end of lines that show where they finish
editor.eolmarkers = false
editor.eolmarkers.color = #999999

# bracket/brace highlighting
editor.brackethighlight = true
editor.brackethighlight.color = #006699


# TEXT - KEYWORDS

# FUNCTIONS
editor.keyword1.style = #d35400,bold
editor.data_type.style = #d35400,bold

# METHODS
editor.keyword2.style = #D35400,plain
editor.function.style = #d35400,plain

# STRUCTURES
editor.keyword3.style = #5E6D03,plain
editor.reserved_word.style = #5E6D03,plain


# TEXT - LITERALS

# constants & datatypes
editor.literal1.style = #006699,plain

# p5 built in variables: e.g. mouseX, width, pixels
editor.literal2.style = #00979C,plain
editor.variable.style = #00979C,plain
editor.reserved_word_2.style = #00979C,plain
editor.literal_boolean.style = #00979C,plain
editor.literal_char.style = #00979C,plain
editor.literal_string_double_quote.style = #00979C,plain
editor.preprocessor.style = #5E6D03,plain

# http://www.arduino.cc/ - GET RID OF UNDERLINE!
editor.url.style = #81A421,plain

# e.g. + - = /
editor.operator.style = #aaaaaa,plain


# ?? maybe this is for words followed by a colon
# like in case statements or goto
editor.label.style = #7e7e7e,bold


# TEXT - COMMENTS
editor.comment1.style = #aaaaaa,plain
editor.comment2.style = #aaaaaa,plain


# LINE STATUS - editor line number status bar at the bottom of the screen
linestatus.font	   = SansSerif,plain,10
linestatus.height  = 20

# GUI - PLOTTING
# color cycle created via colorbrewer2.org
plotting.bgcolor = #ffffff
plotting.color = #ffffff
plotting.graphcolor.size = 4
plotting.graphcolor.00 = #2c7bb6
plotting.graphcolor.01 = #fdae61
plotting.graphcolor.02 = #d7191c
plotting.graphcolor.03 = #abd9e9

Everything I know about the Arduino IDE theme system is documented here:

The IDE's theme system doesn't apply to Serial Monitor, so you won't have any luck with that, but you can certainly customize the IDE's console pane via the theme system, which I have documented at the link above.

fun! thanks

Sure are a lot of Doesn't appear to have any effect. things going on

It was fun changing the colors and fonts and sizes!

sevenoutpinball:
Sure are a lot of Doesn't appear to have any effect. things going on

Haha, yeah that's for sure! Some of them may well have an effect I just didn't discover.

sevenoutpinball:
It was fun changing the colors and fonts and sizes!

Even though I actually just use the stock Arduino IDE theme, I have had some fun with this. My favorite is this theme that makes the Arduino IDE look like it did back in 2011:

If you think your custom theme might be of interest to others, you might consider sharing it on GitHub, the forum, etc.

I've only ever found a dozen or less custom themes, so there really isn't a great selection available. I think part of the reason is that the IDE's theme system is not well documented and a lot of people don't even realize it's possible to customize it.

I initially thought of themes as only being about aesthetics. However, what I've seen over the years is that people are often interested in the theme for accessibility reasons (i.e., visual impairment).

In my case I get up before the sun and the bright white background was a nuisance!

I have never posted to GitHub. But come to think of it, free storage I guess!

There is a learning curve to GitHub, but it's pretty gentle. It's really worth the effort because it's a great option for off-site storage of your projects as well as being the place where the Arduino community collaborates.

It acts as a gateway to get started with the professional version control system of Git.

I made a couple of additional changes to the dark theme that I'm liking:

diff -u /Downloads/DarkArduinoTheme-master/theme/theme.txt ./theme.txt
--- /Downloads/DarkArduinoTheme-master/theme/theme.txt  2019-05-06 09:44:40.000000000 -0700
+++ ./theme.txt 2020-10-01 00:24:01.000000000 -0700
@@ -53,13 +53,13 @@
 editor.linehighlight=true
 
 # caret blinking and caret color
-editor.caret.color = #a0a0a0
+editor.caret.color = #00B000
 
 # color to be used for background when 'external editor' enabled
-editor.external.bgcolor = #202020
+editor.external.bgcolor = #200000
 
 # selection color
-editor.selection.color = #dd8800
+editor.selection.color = #603000
 
 # area that's not in use by the text (replaced with tildes)
 editor.invalid.style = #7e7e7e,bold
@@ -69,8 +69,8 @@
 editor.eolmarkers.color = #999999
 
 # bracket/brace highlighting
-editor.brackethighlight = true
-editor.brackethighlight.color = #006699
+editor.brackethighlight = false
+editor.brackethighlight.color = #006000

The bracket highlight stuff didn't work (or perhaps was "insufficient", I had to dig deeper:

diff -u /Downloads/DarkArduinoTheme-master/theme/syntax/default.xml syntax/default.xml
--- /Downloads/DarkArduinoTheme-master/theme/syntax/default.xml 2019-05-06 09:44:40.000000000 -0700
+++ syntax/default.xml  2020-10-01 00:22:15.000000000 -0700
@@ -18,7 +18,7 @@
    <marginLine fg="394448"/>
    <markAllHighlight color="6b8189"/> <!-- TODO: Fix me -->
    <markOccurrencesHighlight color="5b7179" border="false"/>
-   <matchedBracket fg="ffffff" bg="aaaaaa" highlightBoth="true" animate="true"/>
+   <matchedBracket fg="ffffff" bg="005000" highlightBoth="true" animate="true"/>
    <hyperlinks fg="a082bd"/>
    <secondaryLanguages>
       <language index="1" bg="333344"/>

Turns out to be tricky because I use that feature where you click one { and it shows you the corresponding }. Well if your colors are all changed sometimes it shows just a blob because the foreground and background colors are just too similar!!

Yes, contrast is the thing that makes creating a good theme difficult. You need to find colors that have good contrast with each other, with the background color, and with the selected background color. All that while actually accomplishing whatever your goal was for the theme.

That experience was my motivation for creating that "ThemeTest" fake library.

In fact you are up against multiple backgrounds for the same font color and sometimes said fontcolor can change too!

You know I feel the Arduino IDE should come with a built-in dark theme :wink:

yes, they made it a switchable item yet there is only ever on option in there. makes no sense.

Maybe they are planning to add it in a future software update...? :smiling_imp:

sevenoutpinball:
yes, they made it a switchable item yet there is only ever on option in there. makes no sense.

You can select multiple themes from that menu when you install them as .zip files. See here for details:
https://forum.arduino.cc/index.php?topic=526402.msg4678818#msg4678818