Like many “computer people” I often find I do my best work at night. It probably has something to do with the fact that it’s quiet and I can work without distraction.

For a while now I’ve been using IPS screens which look great colour-wise most of the time, but at night my eyes start to feel as if they’re straining and the screen does seem awfully bright. However turning down the brightness in the screen settings doesn’t really help.

The reason for this is that computer screens are generally set up to resemble the properties of daylight, fantastic during the day, at night however… not so much. At night, ideally the screen tone is more red than blue which feels kinder on the eyes.

There are several ways to deal with this. I first heard about F.lux from a friend who highly recommended it. I used F.lux in the form of Xflux for a while but had issues with compositing when using it and due to my particular setup compositing is rather necessary.

Enter Redshift. Like F.lux, Redshift will automatically change the colours of the screen to better suit night-time usage. Redshift also allows you to set a different daytime colour temperature and like F.lux automatically determines when to change profiles based on geo-location.

Both Redshift and F.lux are available in the Archlinux (and I assume other distribution’s) repositories.

As I use systemd’s user daemons quite heavily, it was nice to find that Redshift can be handled by systemd very easily with the following:

systemctl --user enable redshift.service
systemctl --user start redshift.service

Firstly however it might be prudent to configure redshift. While the configuration file can easily be manually edited at ~/.config/redshift.conf by default, it is probably easier to simply run:

redshift -l LAT:LON

(Where LAT and LON are the latitude and longitude of your location.)

This has made working at night much more comfortable for my eyes. There are several programs that can interfere with both X.Flux and Redshift (such as fullscreen silverlight via pipelight) which can cause the screen temperature to revert back to it’s default value temporarily. Just a warning as this can be rather like opening the curtains first thing in the morning.