What is the best dark mode extension?

QuazarOmega@lemy.lol to Firefox@lemmy.ml – 61 points –

In terms of the most balanced in speed, consistency in page rendering and good default settings, is there a clear winner?

Personally I've been using both Dark Reader and Midnight Lizard on different devices and I can't say I noticed much of a difference in terms of performance, what I did notice is that Dark Reader seems to have better defaults, but many complain that it slows down page loading a ton, I haven't heard the same about Midnight Lizard, but maybe that is by virtue that it has way way fewer installations and therefore fewer people talking about it.
Do you know if I've missed one and there is a totally different extension that does even better than both?

21

You are viewing a single comment

I made my own with Stylus. At its simplest it's 2 lines of CSS which pales in comparison to what Dark Reader is going with, and then I have one section for exempted websites, and two sections for websites I use a lot that needed specific small fixes. It uses basically no resources, and doesn't slow anything down.

The one downside is that because it uses CSS filters, some colors become less brilliant. This is a known flaw with how CSS calculates colors for hue-rotate.

Pasted in a comment below.

Super-interested in this! Dark reader is great, but there is a pretty substantial performance impact which is why I ultimately removed it.

Install Stylus > Write New Style > Import and then copy/paste this in. Keep in mind that I removed a lot of my specific tweaks for sites I use, because that's PII. You will encounter many more weird issues on random sites than you do with DarkReader, but if you're used to working with userCSS you'll probably have no issues fixing those. The way this essentially works is by inverting your entire browser screen, then rotating the hue so the colours of website themes aren't weird, then it inverts images back to normal. I'm sure there is a way to do this without inverting the images in the first place, but it would involve one hell of a lot more code than this. I wrote this originally in about 3 minutes.

html, iframe {
    filter: invert(1) hue-rotate(180deg);
}

img, div[background-image], div[style*="background-image"], video  {
    filter: invert(1) hue-rotate(180deg);
}

@-moz-document domain("lemmy.ml"), domain("ultimate-guitar.com"), domain("open.spotify.com"), domain("discord.com"), domain("localhost") {
/* Exemptions for sites that already have a dark mode */

html, iframe {
    filter: none;
}

img, div[background-image], div[style*="background-image"], video  {
    filter: none;
}
}

@-moz-document domain("youtube.com") {
#movie_player {
    filter: invert(1) hue-rotate(180deg);
}

video {
    filter: none;
}
}

@-moz-document url-prefix("https://www.google.com/maps") {
div[aria-label="Street View"] canvas, div[aria-label="Photo"] canvas, button[data-photo-index] {
    filter: invert(1) hue-rotate(180deg);
}

div[role="img"] {
    filter: none;
}
}