On Mon, May 11, 2020 at 11:20:58AM +0200, Charlene Wendling wrote:
> Hi,
> 
> Similarly to what has been done for the OpenBSD project pages [0], this
> diff adds a "dark mode" to directory listings and error pages in httpd,
> using OpenBSD's dark color scheme.
> 
> The goal is to avoid switching from a "dark mode" html page to a pure
> white {directory listing,error} one, and this on the same site,
> because it's very upsetting.
> 
> This is how it looks like [1] in Firefox (Iridium is in light mode).
> 
> I already had some comments and feedback from florian@ (error pages
> need love too), clematis (correct background color), danj@
> (improve code readability) amongst others, but more is welcome :)
> 
> Charlène.
> 
> 

Hi,

Afaik dark mode is still in editor's draft status:
https://drafts.csswg.org/mediaqueries-5/#descdef-media-prefers-color-scheme

Maybe an other option is to remove the default body background-color and text
color so the default client preference is used?


> [0] https://marc.info/?l=openbsd-cvs&m=155942699008642&w=2
> [1] http://0x0.st/i_yc.png
> 
> 
> Index: usr.sbin/httpd/server_file.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/httpd/server_file.c,v
> retrieving revision 1.66
> diff -u -p -r1.66 server_file.c
> --- usr.sbin/httpd/server_file.c      15 Jun 2018 12:36:05 -0000      1.66
> +++ usr.sbin/httpd/server_file.c      10 May 2020 22:29:59 -0000
> @@ -477,7 +477,11 @@ server_file_index(struct httpd *env, str
>  
>       /* A CSS stylesheet allows minimal customization by the user */
>       style = "body { background-color: white; color: black; font-family: "
> -         "sans-serif; }\nhr { border: 0; border-bottom: 1px dashed; }\n";
> +         "sans-serif; }\nhr { border: 0; border-bottom: 1px dashed; }\n"
> +         "@media (prefers-color-scheme: dark) {\n"
> +         "body { background-color: #1e1f21; color: #EEEFF1; }\n"
> +         "a { color: #BAD7FF; }\n}";
> +
>       /* Generate simple HTML index document */
>       if (evbuffer_add_printf(evb,
>           "<!DOCTYPE html>\n"
> Index: usr.sbin/httpd/server_http.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/httpd/server_http.c,v
> retrieving revision 1.137
> diff -u -p -r1.137 server_http.c
> --- usr.sbin/httpd/server_http.c      25 Feb 2020 15:18:41 -0000      1.137
> +++ usr.sbin/httpd/server_http.c      10 May 2020 22:30:00 -0000
> @@ -921,7 +921,10 @@ server_abort_http(struct client *clt, un
>       /* A CSS stylesheet allows minimal customization by the user */
>       style = "body { background-color: white; color: black; font-family: "
>           "'Comic Sans MS', 'Chalkboard SE', 'Comic Neue', sans-serif; }\n"
> -         "hr { border: 0; border-bottom: 1px dashed; }\n";
> +         "hr { border: 0; border-bottom: 1px dashed; }\n"
> +         "@media (prefers-color-scheme: dark) {\n"
> +         "body { background-color: #1e1f21; color: #EEEFF1; }\n"
> +         "a { color: #BAD7FF; }\n}";
>  
>       /* Generate simple HTML error document */
>       if ((bodylen = asprintf(&body,
> 

-- 
Kind regards,
Hiltjo

Reply via email to