In the northern hemisphere, winter has greatly reduced the color depth of reality, often to only 1 bit. Some colour is provided by people's clothing, cars, houses, fashion gear while snowboarding.

Isn't your display boring in winter?

In the southern hemisphere, there's summer right now, apples and kids are growing, people at the beach in swimsuits (where applicable), flowers, warm, bright or rainy day.

Isn't your display pale in summer?

Mine is. To mend the situation, I've made up a CSS with colours as follows: I grabbed Saints in our Book, extracted the node_id of the monkses homenodes, left-padded each with 'f' up to 6 chars where necessary and used that as colour for all monk related divs, for e.g. merlyn that is

[class$="9073"], [class$="9073"] * { background: #ff9073;}

diotalevi loaded the resulting css and went Eek!

Thanks diotalevi. I concur. For even more Eekness, show your colours!

Include your favourite foreground and background colours as fg=#AABBCC bg=#DDEEFF somewhere in your homenode or /msg me your preferences. From that I'll make up a CSS which, when loaded via Display Settings, will render each monk's "Other Users" list entry, chatterbox line, node, Recently Active Threads and so on with their own, true colours. I'm sure the result will be startling, at least.

Now I'm off to the CSS Zen Garden to calm my eyes.

--shmem

update: screenshots - Newest Nodes and Recently Active Threads just look wunderfol :) zentara's answer now looks like it should.

update2: To use this css together with other css files (e.g. themes), the colormonk directives must be loaded after the theme file. There's the directive @import url("http://example.com/cssfile") directive for that, but all imports must be first in the css file. So, another level of indirection is needed:

/* load dark theme first for defaults */ @import url("http://perlmonks.org/?node_id=227261"); /* load the colormonk.css */ @import url("http://cruft.de/l.css"); /* last, overwrite some attributes with reported personal settings */ @import url("http://cruft.de/monkprefs.css");

Stick that into "Onsite CSS" in Display Settings. For bright themes, use lr.css.

_($_=" "x(1<<5)."?\n".q·/)Oo.  G°\        /
                              /\_¯/(q    /
----------------------------  \__(m.====·.(_("always off the crowd"))."·
");sub _{s./.($e="'Itrs `mnsgdq Gdbj O`qkdq")=~y/"-y/#-z/;$e.e && print}

Replies are listed 'Best First'.
Re: show your colours!
by zentara (Cardinal) on Jan 25, 2007 at 11:37 UTC
    The problem for me is I have my Mozilla set to ignore all colors and use a black backgound, orange text, blue links, purple visited-links. It's easier on my eyes, all day, and it helps me see the content of pages, rather than being blasted by shifting emotions due to color changes. screenshot

    I'm not really a human, but I play one on earth. Cogito ergo sum a bum
      No problem :-)
      *[class$="131741"], *[class$="131741"] * { color: #f6cc8e; background: + black; } *[class$="131741"] *:link { color: #55b8e2; } *[class$="131741"] *:visited { color: #b777b1; }

      Added to CSS!

      --shmem

      _($_=" "x(1<<5)."?\n".q·/)Oo.  G°\        /
                                    /\_¯/(q    /
      ----------------------------  \__(m.====·.(_("always off the crowd"))."·
      ");sub _{s./.($e="'Itrs `mnsgdq Gdbj O`qkdq")=~y/"-y/#-z/;$e.e && print}
        Your preferences have been added:
        /* parv */ *[class$="222702"], *[class$="222702"] * { background: #043204; color: + #e0e0e0;} *[class$="222702"] a:link { color: #cbdd04;} *[class$="222702"] a:visited { color: #04ed8b;}

        So we can read your nodes in the colours you wrote them in, which is the point of the whole silly thing (whether you load the css or not doesn't matter ;-)

        --shmem

        _($_=" "x(1<<5)."?\n".q·/)Oo.  G°\        /
                                      /\_¯/(q    /
        ----------------------------  \__(m.====·.(_("always off the crowd"))."·
        ");sub _{s./.($e="'Itrs `mnsgdq Gdbj O`qkdq")=~y/"-y/#-z/;$e.e && print}
Re: show your colours!
by jdporter (Paladin) on Jan 26, 2007 at 00:54 UTC

    shmem++! :-)

    For a different color projection of the same data, try my SIOB css.

    It distributes the bits across all three colors equitably. Older monks will have darker backgrounds and newer monks lighter.

    A word spoken in Mind will reach its own level, in the objective world, by its own weight
      It distributes the bits across all three colors equitably.

      mind to share your algorithm?

      Older monks will have darker backgrounds and newer monks lighter.

      This one has to be discussed. Isn't age about grey beards first, and then white hair? See merl^WGandalf.

      I've made up another css, in which red, green and blue are derived from monks rank, sorting them via XP, time at the monastery and number of writeups. If you have a light setting (e.g. background white, foreground black), then the colour for monks below sainthood will be nearly indistinguishable from merlyn the white, so there's the reverse css also.

      Here's the script to produce them:

      #!/usr/bin/perl use strict; use Time::Local; use LWP::Simple; my $content = get("http://perlmonks.org/?node_id=3559;displaytype=raw" +); my ($maxLVL,$maxtime,$maxwrt,$now,%monk); my @lvls = (0..12,30,40,54,70,90,120,160,220,300,400,500,600,700,800,9 +00,1000); my %time = ( sec => 1, hour => 3600, day => 86400, week => 86400*7, year => 86400*365, ); $now = time; for(split /\r?\n/,$content) { next unless /<tr/; next if /Experience/; next if /weeks|month|year/; # skip those my ($id,$monk,$XP,$lvl,$writeups,$since,$last_here) = m!<tr[^>]*><td[^>]*>\d+</td><td><span class="user-(\d+)"><a[^>]+>( +[^<]+)</a></span></td><td[^>]*>(\d+)</td><td>\w+ \((\d+)\)</td><td[^> +]*><a[^>]+>(\w+)</a></td><td[^>]*>([^<]+)</td><td[^>]*>([^>]+)</td></ +tr>!; $writeups = 0 if $writeups =~ /None/; my @l = reverse split /-/,$since; $l[1]--; $since = timelocal(0,0,0,@l); @l = split/\s+/,$last_here; $l[1] =~ s/s$//; $last_here = $now - $l[0] * $time{$l[1]}; my $monktime = $last_here - $since; $monk{$id} = [ $XP, $writeups, $monktime # to sort for "longest time here" ]; } foreach my $n (0..2) { my $c=0; # swap $a and $b for reverse sorting, i.e. for "dark vroom" $monk{$_}->[$n+3] = $c++ for sort {$monk{$a}->[$n]<=>$monk{$b}->[$ +n]} keys %monk; } my $m = scalar keys %monk; foreach my $id(sort {$monk{$b}->[1]<=>$monk{$a}->[1]}keys %monk) { my ($x,$w,$t) = map { int($monk{$id}->[$_] / $m * 256) } 3,4,5; for($x,$w,$t) { $_ = 255 if $_ > 255 } my($r,$g,$b) = ($x,$w,$t); # change here to say e.g. + XP => green my $col = sprintf"#%02x%02x%02x",$r,$g,$b; $col .= "; color: white" if (3*$r + 2*$g + 1*$b )/6 < 128; print "*[class\$=\"$id\"], *[class\$=\"$id\"] *, *[class\$=\"$id\" +] *:link, *[class\$=\"$id\"] *:visited { background: $col; }\n"; }

      (Yeah, I'm parsing HTML with a regular expression, but that's because it's me, don't you dare to do that! ;-)

      With that CSS, the "virtues" of each saint can be seen by color, e.g. those lacking green posted little (in number, that is. See e.g. Erudil :-)

      If anbody finds a way to shorten the resulting insanely long CSS file (62kB), or finds a way how to say those damned browser how to cache a CSS, please reply to this post. Thank you.

      <update>

      A significant cut in size would be achieved if the coloured css was generated on the fly, calculating color settings only for those tags used in a served page. That would need 2 more fields (foreground/background) on Display Settings.

      </update>

      <update>

      Both css files reference monkpref.css which holds individual personal preferences, overrides the defaults for those and can be included on its own.

      CSS files are rebuilt every hour. I've reduced the size of the css files by skipping monks which haven't been here for more than a week. More contrast for active monks :-) </update>

      --shmem

      _($_=" "x(1<<5)."?\n".q·/)Oo.  G°\        /
                                    /\_¯/(q    /
      ----------------------------  \__(m.====·.(_("always off the crowd"))."·
      ");sub _{s./.($e="'Itrs `mnsgdq Gdbj O`qkdq")=~y/"-y/#-z/;$e.e && print}
Re: show your colours!
by jettero (Monsignor) on Jan 25, 2007 at 15:55 UTC

    This is all very silly. I genuinely approve. I'm not going to load the CSS or anything, but it's still cool.

    UPDATE: Now, seeing the screenshots (thanks) this is all even more hilariouser than before!

    -Paul