On 2021-06-07, Notepad++ v8 was released, with dark mode support. (On 2021-06-17, v8.1 followed it with some improvements).
Disclaimer: I haven't actually tried v8 yet, but I assume that the native dark mode support is far superior to modifying and building from source, as discussed in the remainder of this answer.
The themes, as you guessed, can't do this (they only handle what's in the text editing window). To change the colors you'll have to change color values in the source code (download from the site or GitHub).
- Extract the file
- Find the elements whose color you'd like to change, and change them. All colors I've seen are denoted RGB(xx,xx,xx)
- Rebuild (see /readmeFirst.txt once you've extracted)
I've just glanced at these files, but I'm definitely going to work at this a little tomorrow and I don't mind giving you my results once I've solved it.
Anyway, what I've seen at a glance is that you'll want to look in
- /PowerEditor/src/ScitillaComponent/DocTabView (I think)
That's all I noticed that might be of interest so far, but again, I'll look at it more tomorrow and get back to you.
Edit: the official makefile will give some errors, because /PowerEditor/src/Parameters.h references files incorrectly. Here are the two I fixed so far:
#include "TinyXml/tinyXmlA/tinyxmlA.h" (line 33)
#include "TinyXml/tinyxml.h" (line 37)
Change those lines in Parameters.h to what I've written to deal with them. Don't worry about the warnings ("extra tokens after
#endif") - they're just comments.
Edit 2: I'm using VS2012, in which the build process results in numerous errors. I won't post them here unless someone eventually asks about them, in which case I'm happy to do so. I should have a working build up soon!
Edit 3: It seems Notepad++'s provided VS project file was created with an earlier version of Visual Studio, and in updating the files, Visual Studio 2012 creates many problems, so if you go that route, use VS2010.
Edit 4: I didn't make it obvious in Edit 3, but I gave up after realizing just how difficult it was going to be to get around the VS errors. I imagine the code has changed significantly since I wrote this answer as well; unfortunately I didn't note the version, but I'm sure it was the latest available at time of writing this answer, which, according to "All versions", was probably either 6.4.1 or 6.4.2. However, I hope this is a useful starting point for anyone else who reads (this answer has received consistent attention since writing).