I have released Redshift 1.10 today, based on the past half year of development. The full release notes at available at the end of this post.

GeoClue2

This release includes a new GeoClue2 location provider. Since development of (the old) GeoClue has been discontinued, the old geoclue location provider in Redshift will be removed in a future release. The GeoClue2 location provider also behaves differently than the old one in that it waits for a location to become available instead of failing early. This should work around the problem where the old GeoClue provider would fail after boot because a network connection was not setup yet. On the other hand, this means that if a location is never found by GeoClue2, it Redshift may be waiting indefinitely. In the future, this will be fixed by a fallback to a cached location from a previous run or to a manually set location.

OSX support

This release also features experimental support for OSX. The Quartz gamma adjustment method will apply the redness effect to OSX displays (all of them) and the CoreLocation provider will try to obtain the current location from the OSX system service.

Hooks

A long-requested feature to allow custom actions on events from Redshift has also been added. This feature was previously waiting for DBus support to be finished, but since that is still some time off, I decided to merge this as a stop-gap measure. This means that any executable files in ~/.config/redshift/hooks will be executed whenever the current period (day, night, transition) changes. The following script shows an example of how this can be used to show a notification when the period changes.

#!/bin/sh
event=$1
case $event in
  period-changed)
    prev_period=$2
    period=$3
    exec notify-send "Redshift" "Period changed to ${period}"
esac

For more information on this feature, see the man page.

Translations

If you want to help translating Redshift into your native language, please go to the launchpad translations page.

Full release notes

  • Fix #80: Add Geoclue2 location provider.
  • Add CoreLocation (OSX) location provider and Quartz (OSX) gamma adjustment method.
  • Add hooks for user actions on period switch.
  • Be less verbose when color values/period did not change.
  • Add config setting to set gamma separately for day/night.
  • Add support for custom transition start and end elevation (Mattias Andrée).
  • redshift-gtk: Show errors from child process in a dialog.
  • Fix #95: Add AppData file for package managers.
  • Use gettimeofday if POSIX timers not available (add support for OSX).
  • Fix #41: Do not jump to 0 % or 100 % when changing direction of transition (Mattias Andrée).
  • redshift-gtk: Relay USR1 signal to redshift process.
  • redshift-gtk: Notify desktop about startup completion.
  • Fix: systemd unit files were built from the wrong source.
  • Fix #90: Print N/S and E/W in the location (Mattias Andrée).
  • Fix #112: redshift-gtk: Do not buffer lines from child indefinitely.
  • Fix #105: Limit decimals in displayed location to two.
  • Update dependencies listed in HACKING.md (emilf, Kees Hink).
  • Fix: Make desktop file translatable.
  • Add Travis CI build script.