I'm working in my loft these days, which doesn't get any direct sunlight. This
is great for strain of eyes -- no harsh glare and such -- but not so good for
my body's circadian clock, which doesn't have read access on /dev/rtc. I came
up with a idea yesterday that I hope will work.
I've used "floatbg", the root window color changer for X, a long time. It's
neat that it changes the colors imperceptably on a small scale, but that if you
notice your desktop on the scale of 20 minutes, it's a completely different
color. It slowly plots a sine-wave through a HSV color wheel, where the hue is
time and the saturation is the height of the sine. The value is fixed at
start of execution ...until now.
I added an option to change the value setting to be also a function of time,
but in the sense that it tries to mimic the amount of light that the sun casts
onto the earth based on your system's response to localtime(). At night, the
colors are muted and dark shades of gray. At 7AM, the background begins to
lighten, peaking at noon with bright pastels, and tapering off through the
range of colors, until 7PM, when it's back to "night colors".
Hopefully, this will help my subconcious. It was easier than hacking my
medulla oblongata. I _hate_ hardware.
I sent the patch to the original author, but his 14 year-old email address
bounced, so I CC'd the Debian maintainer too. Maybe it will be in the next
general release, so all we dark-cave hackers won't be so screwed-up by our
habits.
I'd paste the source here, but that'd be rude.
Next, maybe I'll see if I can make my window decorations do something similar.
I'm using sawfish, and nearly anything is possible when a program holds a
built-in Lisp interpreter.