A similar program for automatically changing the color temperature, Redshift [1], was recently highlighted by Lifehacker and others as an alternative to the commandline-only XFlux, inspired by F.lux.
EDIT: One advantage Redshift has is that it automatically determines your lng/lat based on your current "home" location in the Clock applet.
It works on other platforms because it's open source? Isn't that a bit of an overstatement? For the fun of it, I just downloaded this and tried to compile on my Linux box:
~/tmp/tmp# uname -a
Linux susie 2.6.27.39-0.2-default #1 SMP 2009-11-23 12:57:38 +0100 x86_64 x86_64 x86_64 GNU/Linux
~/tmp/tmp# cat /etc/SuSE-release
openSUSE 11.1 (x86_64)
VERSION = 11.1
~/tmp/tmp# wget http://launchpad.net/redshift/trunk/1.4.1/+download/redshift-1.4.1.tar.bz2
~/tmp/tmp# tar xf redshift-1.4.1.tar.bz2
~/tmp/tmp# cd redshift-1.4.1/
~/tmp/tmp/redshift-1.4.1# ./configure
[...]
redshift 1.4.1
prefix: /usr/local
compiler: gcc -std=gnu99
cflags: -g -O2
ldflags:
Adjustment methods:
RANDR: yes
VidMode: yes
WinGDI: no
Location providers:
GNOME Clock: no
GUI: statusicon
~/tmp/tmp/redshift-1.4.1# make
~/tmp/tmp/redshift-1.4.1# make
make all-recursive
make[1]: Entering directory `/root/tmp/tmp/redshift-1.4.1'
Making all in src
make[2]: Entering directory `/root/tmp/tmp/redshift-1.4.1/src'
Making all in gtk-redshift
make[3]: Entering directory `/root/tmp/tmp/redshift-1.4.1/src/gtk-redshift'
sed -e "s|\@gui_module\@|statusicon|g" gtk-redshift.in > gtk-redshift
make[3]: Leaving directory `/root/tmp/tmp/redshift-1.4.1/src/gtk-redshift'
make[3]: Entering directory `/root/tmp/tmp/redshift-1.4.1/src'
CC redshift.o
In file included from redshift.c:60:
gamma-randr.h:33: error: expected specifier-qualifier-list before xcb_randr_crtc_t
make[3]: *** [redshift.o] Error 1
make[3]: Leaving directory `/root/tmp/tmp/redshift-1.4.1/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/root/tmp/tmp/redshift-1.4.1/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/tmp/tmp/redshift-1.4.1'
make: *** [all] Error 2
This is Linux mind you, not some AIX box on which it will never compile, even though it has X11 installed. (And yes, I know I can disable RANDR in the above case and it will compile, that's beside the point)
The point is not that it works out of the box on all platforms, but that if it doesn't work on your platform, you have the source code available, so you can make it work on your platform by changing the software. You can't do that with closed-source binaries.
With that I can mostly agree (but the comment implied otherwise).
But - and this is sometimes a huge but - open source software (OSS) is more and more dependant on other OSS, making it sometimes next to impossible to port it to other platforms. Try building VLC from scratch and you'll see what I mean (you can use Linux). Furthermore, API changes are quite common for OSS even in minor version updates and that creates an additional mess (dependency hell), as was clearly demonstrated in my example above.
The fact that it is closed source should not be a problem unless you are RMS!
um, or unless you use an operating system or architecture for which they don't build a binary, so you can't use it no matter how well it works as advertised.
I started using F.lux a month or so ago to help with insomnia. It's helped a lot, thank you for writing it.
I've been holding out on buying an iPad to read in bed, precisely because F.lux has helped me so much on OSX. Is there a flux equivalent for iOS? Is it possible to write one?
Would be possible for an application to mimic Flux, but there is no way (except on a Jailbroken device) to do system wide Flux.
Could be a nice niche for a browser or RSS reader though.
I use f.lux backwards. I leave it on normally, but when I need to wake up to re-focus and get stuff done (and it's dark out), I turn it off, and I feel more awake again.
It's probably all in my head, but I'm going with it for now ;)
no, that really does work, at least it seems so for me; I have it set to the default settings but if I'm working late and feeling tired I switch it off and enjoy the "brightness kick".
One of the greatest features of f.lux for me is that I actually start feeling more tired after it kicks in, so it really does encourage me to get to bed earlier.
It complained about not supporting my color depth (although nvidia-settings is set to 24 bit).
before (last 100 chars): we only support 24/32-bit displays right now.
XF86VidModeGetGammaRampSize returned 2048 entries.
xflux does the same. It's a new laptop - i7 in 64bit mode, so I don't know if that's at fault. I loved xflux on the old (32bit, nvidia) laptop, though.
I've been a huge fan of F.lux on OS X for a very long time. The beautiful thing about the recent "gradual change" feature is that now I don't even notice it when I'm working late at night -- unless I have to turn off the application for some reason, and then I find myself squinting and fleeing.
Anyway, just wanted to take a moment out to thank you for helping so many people out.
Flux didn't change the appearance enough for me -- what I really want is to have light text on a dark background at night. One ugly hack is to use the Windows 7 magnifier tool to invert video. The colors are atrocious but you can pretend they are neon lights for night mode ;)
That's awesome!! Thank you! I just gave up my Windows machine for Ubuntu and F.lux was one of the things I missed most.
Is there a .deb I can download directly? I don't think I can add new repositories on my work computer.
I e-mailed the author months ago about a bug where the glibc command-line version would stay alive and peg to 100% CPU usage after logout. It seems to have never been fixed.
The last version of XFlux I used reset the screen brightness every second, which made the screen flicker uncontrollably during fades (eg on lock, logout, screen saver etc). Does that still happen?
It does this if you're running more than one instance of XFlux, they, uhm, seem to fight with each other ;). F.lux for Ubuntu prevents you from starting the app more than once :)
xflux is included as a binary in the package source. I'm sure you mean well, but this is a security risk and breaks the terms of use for the Launchpad PPA (as it is not distributed under a permitted licence). You could host the package elsewhere, though.
If it has appindicator support, it'll run. I'm not sure if any other distributions already support it though. If you could let me know if you can get it to work on openSUSE/KDE4, (email in my profile) that'd be great!
Appindicator does seem to be the critical bit; I'm still on OpenSUSE 11.2 which definitely has zero support, planning to upgrade to 11.3, which might, at the weekend. I'll keep you updated. My Python isn't so great unfortunately, so it'd probably take me too long to port it to something more widely supported.
I use the OS X version of this to combat my sleeping disorder - and reducing the amount of blue light during the mandatory "bedtime hacking" definitely does help to sedate me.
EDIT: One advantage Redshift has is that it automatically determines your lng/lat based on your current "home" location in the Clock applet.
[1]: http://jonls.dk/redshift/