Question

I really like f.lux, which is an app that automatically adjusts the display's apparent color temperature according to the time of day and location (so that the temperature is in sync with Sun).

How to set the color temperature manually? I.e. without f.lux?

Sometimes I'd like to have "tungsten" (2700 K) colors during the day or morning, which would require fiddling with the location coordinates in f.lux. Sadly, there's no "manual mode" that I'm aware of.

I'm looking for a OS X native / software based solution, that would allow me to set white point below 4500 °K, which is the minimum that Color Calibrator can set. Is this even possible?

Was it helpful?

Solution

This solution requires F.lux to be installed (I assume it's at /Applications/Flux.app).

Create a text file (let's call it flux-day-color) and put it in /usr/local/bin (usr is under "Macintosh HD" and may be hidden).

#!/bin/bash

if [[ ! -z "$1" && "$1" -ge 2700 && "$1" -le 6500 ]]; then
  defaults write org.herf.Flux dayColorTemp -int "$1"
  killall Flux
  open /Applications/Flux.app
else
  echo "provide a temperature between 2700 and 6500 (rounded to nearest 100)"
fi

In Terminal, run chmod 755 /usr/local/bin/flux-day-color

Now you can run flux-day-color 2700 in Terminal (or in another script) to change the day temperature. Note that the script restarts F.lux so you may see the display jump to 6500 K for a split second before applying your requested temperature.

It's also possible to schedule this to run at predefined intervals, but that's beyond the scope of this answer (and the question).

If you'd rather have a launchable app that can toggle between 2 temperatures,

Open Terminal and run these commands:

bash
cd /Applications/
mkdir -p flux-day-toggle.app/Contents/MacOS
cd flux-day-toggle.app/Contents/MacOS
cat <<END > flux-day-toggle

Now you'll see a greater than sign. Paste this:

#!/bin/bash

DOMAIN=org.herf.Flux
KEY_NAME=dayColorTemp

LOW=2700
HIGH=6500

cur_val=`defaults read $DOMAIN $KEY_NAME 2>/dev/null`
if [[ -z "$cur_val" || "$cur_val" -eq "$HIGH" ]]; then
  new_val=$LOW
else
  new_val=$HIGH
fi

defaults write $DOMAIN $KEY_NAME -int $new_val
killall Flux
open /Applications/Flux.app
END

Wait for the prompt to appear, meaning the file was written. Now the finishing touch:

chmod 755 flux-day-toggle

Now you can launch the new app. You can customize the LOW and HIGH settings to your liking.

OTHER TIPS

When using the Displays section of your System Preferences, if you calibrate it, select show advanced options, one of the windows is this: enter image description here which to me looks like the white points you were looking for, be sure to uncheck "Use native white point" if you want to manually edit it.

Found a possible workaround for those who are interested:

Nocturne by Blacktree

Nocturne preferences

It has a nice amount of options and is completely manual. Downside is it doesn't set apparent color temperature per se, but setting a white tint to RGB(255, 197, 143) has approximately the same effect as setting white point to ≈ 2600 °K (see Kelvin ⇔ RGB table on planetpixelemporium).

Open system preferences, go to the Displays panel and choose the Color tab. Press the Calibrate... button and go through the steps. If you turn on expert mode, you will choose the white point using a slider, but if you don't you will get to choose between a few standard values. You can even do this multiple times, saving with a different name each time, and switch between them through the list in the color tab.

A cool way is to let f.lux do the work http://stereopsis.com/flux/ It adjusts your screen colour temp. with the time of the day! Give it a try!

Licensed under: CC-BY-SA with attribution
Not affiliated with apple.stackexchange
scroll top