From an old fart here... Could we have a higher contrast font choice for texts? An option for those of us that don't see as well as we used to would be very helpful. For instance, IDE comments are difficult to read as they are a light grey text on a white background. Nothing fancy, just the ability to make the IDE text more readable. Or maybe just a higher contrast theme--whichever is easier. Thanks.
pert
March 16, 2019, 11:41pm
2
You can customize the theme the Arduino IDE uses, which allows you to chose the text and background colors you prefer. I have documented the various theme properties here and provided a library you can use to test custom themes here:
please let me know if you have any questions about that information.
The Arduino IDE now has a nice feature that allows you to install custom themes to your sketchbook folder:
arduino:ide-1.9.x-beta
← Mumfrey:feature/user-defined-themes
opened 02:11PM - 11 Jan 18 UTC
### Summary
This pull request provides a small enhancement to the way themes … are handled within the IDE, providing support for a user-defined `theme` folder placed in the sketchbook folder to override elements in the internal `theme` folder.
### Description
This small change provides the following features:
* Allows user-defined theme changes to be persisted across IDE versions, in particular if the user only wishes to customise a single element of the IDE this becomes much easier, example below.
* Correspondingly, provides a possible fix for #7013
* Makes it possible for third parties to provide prepackaged themes which can be installed without needing to overwrite the original theme resources in the application directory. *(Possible enhancement, support prepackaged themes in a zip file in the same location, such as `<sketchbook>/theme/theme.zip`. I'd be happy to add this if there's any interest.)*
* Normally theme image resources are preferentially selected `.svg` first and `.png` otherwise. This PR preserves this relationship *within* a theme type, but a `.png` resource in a user-defined theme can still override an `.svg` resource in the default theme.
* Resources which normally reside in the `lib` folder directly are first checked in the user-defined theme folder,
* Themes can specify the `editor.font` property if a user-defined theme wishes to customise the font, however the custom font is *not* applied if the user has already defined a non-standard font in their `preferences.txt`. This is intended so that third-party theme designers can specify an editor font as part of their theme but previous user preferences will still take precedence.
### Examples
* Installing [this dark theme](https://github.com/jeffThompson/DarkArduinoTheme) can be achieved by downloading or cloning the repo and simply placing the `theme` folder inside the arduino sketch folder:
![Jeff Thompson's Dark Theme](http://eq2.co.uk/pr/arduino/dark.png)
* Simple customisations can be applied on top of the default theme by creating a `theme.txt` with only the required customised settings. For example this barebones `theme.txt`:
```php
# editor font - only overrides if not configured by user in preferences.txt
editor.font = Consolas,plain,12
# foreground and background colors
editor.fgcolor = #000000
editor.bgcolor = #c5edee
# TEXT - COMMENTS
editor.comment1.style = #990000,plain
editor.comment2.style = #990000,plain
```
Results in the following customised theme output:
![Minimal customisation example](http://eq2.co.uk/pr/arduino/simple.png)
This is intended to provide users with a simple way to customise only a few theme elements (eg. comment colour) without needing to take a kitchen sink approach or have to continually re-apply their specific settings when upgrading to new versions of the IDE.
### Notes
* This is my first pull request to your repo, so I apologise in advance if I have inadvertently violated any style guidelines and will happily rectify any issues. I did consult the contribution guidelines before submitting this PR.
* I have submitted this against 1.9-beta but if you would like a submission against `master` for integration in 1.8.6 then I'm happy to do that, though I assumed that since this is a mainly cosmetic piece of functionality that the beta would be a more sensible target.
* If this PR is the kind of thing you're looking for, I would be happy to work on an integrated or external theme editor of some kind which would allow users to design and customise their own themes more easily.
Thanks for your time and consideration.
This is a good idea because if you leave the custom theme inside of the Arduino IDE installation folder, it will be lost every time you update to a new version of the Arduino IDE.