NAME
radharc - Reduce eye strain and improve sleep.
PRONUNCIATION
ɹˈaɪɐrk (depending on dialect)
SYNOPSIS
radharc [OPTIONS]...
The -l option is mandatory, unless single value -t is used.
OPTIONS
-l LATITUDE:LONGITUDE
Tell radharc where you are. This is mandatory.
The values are measured in degrees and in the
GPS (you probably do not have too care about that,
the differences between the systems should not
be significant another), and must be in decimal.
Reminder for Americans (particularly US Americans),
you are an the western hemisphere, not the eastern,
thus your longtiude is negative. If you experience
weird colour temperatures, 100 % of the times it is
because you forgot the minus sign. But no need to
feel stupid, it is a really common mistake.
No complicated stuff please, only latitudes within
±90° and longitudes within ±180°. No unit thought.
-t DAY:NIGHT
Select colour temperature to use during full daytime
and full night. This should be a integer. Do not
include the unit (the 'K'). The temperatures must
be at least 1000 K.
-t TEMPERATURE
Select temperature to use. The program will exit
when it is done setting the temperature. The
natural colour temperature is 6500 K ('-t 6500').
The temperature must be at least 1000 K.
-t +DELTA
Increase the colour temperature by DELTA kelvin.
-t -DELTA
Decrease the colour temperature by DELTA kelvin.
-T TEMPERATURE
Temperature that shall be used when the program
is disabled (via SIGUSR1).
-p Print the current status.
-n Set the temperature immediately, do not transition.
-N Do not transition when exiting, disabling, or
reenabling.
-o Set the colour, and exit.
-x Ignore the current calibrations on the monitors.
-s SECONDS
The start and exit transitions shall take SECONDS
seconds. This may be a floating point number, with
an explicit unit.
-S KELVINS
The transitions speed, in kelvin per second.
This most be a positive integer.
-i
Apply negative image filter. Radharc will detect
which monitors have this one when it starts.
-h PATHNAME
Use a hook script for events.
-b
Broadcast events with bus.
-d SERVER=DISPLAY
Use the display server whose identifier is
DISPLAY and whose identifier is stored in the
environment variable SERVER, for example
-d DISPLAY=:0 for the X display :0.
-d SYSTEM
Use a subsystem which does not have identifiers.
For example 'drm' for the Direct Rendering Manager.
You can also select 'none', this is useful if you
don't want any adjustments, but want events to be
broadcasted.
-e EDID
Select monitor to use by its EDID.
-m NUM
Select monitor to use by its global index.
-m SCREEN:NUM
Select monitor to use by its index without
a screen or graphic card. The later is for when
not inside a graphics environment.
All options also have a '+' variant, for example '+n'.
These undo the affect of previous '-' variant.
'+d', '+e', and '+m' all undo the affect of all previous
'-d', '-e', and '-m' options (not respectively).
Additionally, with the exception of '-d', '-e', '-m',
subsequent options override the previous of the the option.
SIGNALS
SIGHUP
Perform an online update to a newer version.
SIGUSR1
Enable or disable radharc.
SIGUSR2
Toggle negative image filter. Enable on all
monitors if it is enable on some but not all.
SIGRTMIN+N
Toggle negative image on monitor N, if monitors
have been selected manually, it will be in the
order they where selected.
ENVIRONMENT
XDG_RUNTIME_DIR
This environment variable names the directory in which
the state file is stored. If unset or empty, /run is
used.
RADHARC_STATE
The pathname to the state file, will be determined
automatically if not set. If not set, you may only
have one instance running per display server instance.
RATIONALE
Your location is determined use GeoClue because it clunky,
unreliable, inaccurate and requires an Internet connection
or GPS device, it is way to common that neither is available.
And I do not want to handle all bug reports for this. Besides,
you can use an external program.
Your timezone is used to determine your location approximately
when not specified, You can be a really poor approximation.
It is too much work supporting summer time, especially when
summer time is not necessarily +1 hour, additionally you can
have scheme where it is first normal time, then summer time,
then double summer time, then back to summer time, and the back
normal time; complicated stuff, additionally, the Russian
Federation is in permanent summer time. And have you heard about
the People's Republic of China (not to be confused with the
less known Republic of China,) they have one timezone, which is
far from in the middle of the country. You can use an external
program. To keep it simple, we are not even using your timezone
to santity check your specified location.
NOTES
I suggest using a local script named radharc that sets all
options for you.
KNOWN ISSUES
In X.org, the gamma ramps do not apply to hardware cursors,
because the developers thinks it is the graphics drivers
that shall fix this, and they are not accepting patches for
this. You can use xorg-server-hwcursor-gamma, however, that
patched version does not apply apply the gamma ramps until
the cursor changes image. You can also use sortware cursors
if this really bothers you.
Wayland does not support this because it [Wayland] sucks.
Haiku does not support this yet.
SEE ALSO
redshift(1), blueshift(1), redshift-adjust(1), nightshift(1),
locateme(1)