Blue Light Filter in XFCE (Redshift)

For users who don’t want to install Redshift, I found a lighter alternative called “xsct” (GitHub - faf0/sct: sct - set color temperature of screen).

Quick desc :

Xsct (X11 set color temperature) is a UNIX tool which allows you to set the color temperature of your screen. It is simpler than Redshift and f.lux.

Original code was published by Ted Unangst in the public domain: sct - set color temperature

It does not use RandR (from tedunangst sct webpage) :

In any case, it looks much, much, better than anything xrandr is capable of delivering. It takes temperature values in the range 1000 to 10000

Note that it does not change colors automatically depending on location or time, it’s only a “manual/toggle” tool.
I didn’t test it yet.

PS:
@moderators , about Redshift, you should edit the first post for users to read the updated one. Post #4 is the most recent one.

Btw. you can simply use the following parameters to skip having to supply a location (and use times instead):

dawn-time=05:00-06:00
dusk-time=21:00-22:00

Put these in the config file in the redshift section, skip the manual section in that case…in fact you can just put the temp lines and the above two lines below [redshift] and it will work fine. With the lines as I wrote it transitions between 5 and 6 am to blue and between 9 and 10 pm to red every day.

Also, when using the script form, you can still easily start and stop it by executing killall redshift to terminate the running program (will shutdown gracefully) and redshift & to run it again.

But anyway, thanks for this guide!

1 Like

Xsct is very easy to compile from source and to use.

In a non-dom0 terminal (I’m using a disposable Whonix 17 gateway on Qubes 4.2), download the contents of the repository. You can download the .zip file from GitHub - faf0/sct: sct - set color temperature of screen or from the command line:

curl -O -L 'https://github.com/faf0/sct/archive/refs/heads/master.zip'

Then run the following to compile into a binary.

sudo apt install gcc libx11-dev libxrandr-dev
unzip master.zip
cd sct-master
make

This will create a binary named xsct. Move this binary onto dom0 using this guide. Dupliated instructions here: from dom0,

qvm-run --pass-io disp7018 "cat /user/home/sct-master/xsct" > "./xsct"
chmod +x ./xsct

Now leave the binary in place and to change the temperature of your screen, from a dom0 terminal, run

./xsct 3200
1 Like