Coming in 4.0.20: Dark Theme

It’s been about 2 months since 4.0.19 was released, and I wanted to share what I’ve been working on for the upcoming 4.0.20 release.

First, there is the usual bag of bug fixes and minor improvements. I’ve also focused on fixing up a whole lot of lingering issues for high-DPI, especially at 200%+ scaling which is becoming more and more important. I’ve got my own laptop with a 4K screen now, so this is much easier for me to hack on.

The layout in Paint.NET is generally pretty good about accommodating high DPI, but there’s still some areas that are scrunched up in ways that reduce usability (like the toolbar!). Outlines for highlighting selected items like menus, images, and layers are also being improved so they scale with DPI. And there are some UI surfaces that are just totally broken, like the dialog box for saving a palette, and parts of the Levels adjustment dialog.

I’ve upgraded the shell extension so that it can now provide thumbnails for TGA and DDS file types. This takes advantage of the recent upgrade (in 4.0.18) to the shell extension that allows it to run out-of-process, which means I can now host the .NET runtime and use the “real” code that Paint.NET already has for loading TGA and DDS images, and for resizing them down to thumbnails.

But, last and most prominently, Dark Theme! (wubba lubba dub dub!)

This screenshot also illustrates some of the improvements in High DPI support for the main window. Namely the thicker highlight outlines, and de-claustrophobization of the toolbar and other areas.

I resisted implementing better theming support because I was sure that the amount of work just wouldn’t be worth the payoff and that it would introduce a large number of really annoying bugs, and that it would be an ongoing engineering tax. But now that Windows 10 has a built-in Light/Dark theme selector, and since I’ve been getting a steady stream of requests for it, it’s now clear that it’s worth the effort. Plus I get a lot of value out of Visual Studio’s and IntelliJ’s dark theme support, which has also helped to convince me.

And it has been a lot of effort to get this working with a legacy WinForms codebase! Every single UI control has needed its own special coddling to support background and foreground color changes, both statically and dynamically. After over a month of working on it in my spare time, I’m getting close to finishing it and can hopefully push it out the door in time for Christmas.

By the way, Dark Theme will work on Windows 7 as long as you are using Aero, but it won’t work with Classic. On Windows 10, as long as you have the Color Scheme set to Default within the app, Paint.NET will automatically switch between Light and Dark based on what’s chosen in Windows 10’s Settings.


18 thoughts on “Coming in 4.0.20: Dark Theme

  1. Leo Feret says:

    Thanks for the verbal update re the upcoming 4.0.20 . I’ve been looking forward to it and now that I know what is in it, all the more so. Thanks for your ongoing labor of love; it is greatly appreciated.

  2. Ivo van der Lans says:

    The dark theme is simply amazing! The transparency of the tool windows really works well too. It is also amazingly colorful. Maybe a bit too much even. Would it be possible to dim down the bright icons on the toolbars, history, and layer windows? Oh, and I would’ve liked to try “declaustrophobization” in scrabble – but it won’t fit :-/

  3. John Christian Lønningdal says:

    Very nice. I always prefer dark themes as often as possible to lessen strain on the eyes while at a computer. The only thing missing from to basically replace most of bigger commercial tools imo is feathered selections – or some way to have alpha channel selections. I know there were some plugins (that perhaps work today even) that does this partially though.

  4. lck84 says:

    The dark theme looks great! Will there a be a more technical blog post about what was specifically needed to get the dark theme working on Windows Forms? I’m very curious. ☺️

  5. anon says:

    I’m always for a dark theme, but I always find it weird to see white buttons and white comboboxes.

    Good job though!

    • John Dangerbrooks says:

      It pretty much depends on how the dark theme is refined and who did it. I find the WPF dark themes attractive, but I don’t have the same feeling about Office 2016’s dark theme. Adobe does a good job at dark themes. ACD Systems, not so much.

  6. deses12es says:

    This is cool… but how do I disable dark theme? I… really don’t like it. Maybe I’ll use during the night, but if there’s plenty of light in my work area, I prefer the regular light theme…

Comments are closed.