Prevent white screen before loading page in chromium?

For Google Chrome and Chromium, you are probably a victim of Issue 1373: Navigating dark background websites results in blinding white flashes between pages.

There's a hack to minimize, but not totally eliminate, your misery described in comment 261:

As a temporary fix, I set the custom user stylesheet to render pages with a black background so that before it receives styling information from the website it renders the window black instead of white, and now it flashes black instead, which is much more bearable on the eyes until a permanent solution is made.

The hack involves adding the following lines to your Custom.css which is located in User Stylesheets in your Default folder. In my case, the path is ~/.config/chromium/Default/User Stylesheets.

html, body{
background-color:#000000; //This sets the background color to black
color:#0000FF; //This sets the text to blue, so you can read it on webpages set to use defaults; white is too hard on my eyes and if you dont put this it will be black on black
}

As for Firefox, I use the following code in userChrome.css located in ~/.mozilla/firefox/profile_name/chrome:

@namespace xul url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);

/*prevent white flash*/
tabbrowser tabpanels { background-color: #111 !important}

If the chrome folder doesn't exist, create it. Note that both chrome and userChrome.css are case-sensitive.


As far as I know, all of the old methods that fixed this bug no longer work (in 2016). I came up with a solution today to overcome this issue and wrote about it some which is available here: http://jollo.org/LNT/public/chrome-white-flash.html .

It essentially makes use of an autohotkey script that paints the window onto itself until the next page has loaded, by-passing the period in which the window flashes.


Nice workaround vasa1, the white flashes are gone. But the background of some websites turns black, which is a bit ugly:

enter image description here

So I adapted that CSS and ended up with:

html:not(:hover), body:not(:hover){
    background-color:#000000;
}

This means that when the cursor is not over the page, the background is set to black - when you click on the new tab button, the cursor is not over the page, so a black background will flash instead of a white one. When you hover the cursor over the page (when you're reading it) the black background is then forgotten, and the website's one is used instead:

enter image description here enter image description here