\input texinfo @c -*-texinfo-*- @c %**start of header @setfilename blueshift.info @settitle blueshift @afourpaper @documentencoding UTF-8 @documentlanguage en @finalout @c %**end of header @dircategory Economy @direntry * blueshift: (blueshift). Automatically adjust the colour temperature @end direntry @copying Copyright @copyright{} 2014 Mattias Andrée @quotation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled ``GNU Free Documentation License''. @end quotation @end copying @ifnottex @node Top @top blueshift -- Automatically adjust the colour temperature @insertcopying @end ifnottex @titlepage @title blueshift @subtitle Automatically adjust the colour temperature @author by Mattias Andrée (maandree) @page @vskip 0pt plus 1filll @insertcopying @end titlepage @contents @menu * Overview:: Brief overview of @command{blueshift}. * Invoking:: Invocation of @command{blueshift}. * GNU Free Documentation License:: Copying and sharing this manual. @end menu @node Overview @chapter Overview Inspired by Redshift, Blueshift adjusts the colour temperature of your monitor according to brightness outside to reduce eye strain and make it easier to fall asleep when going to bed. It can also be used to increase the colour temperature and make the monitor bluer, this helps you focus on your work. Blueshift is not user friendly and it is not meant too be. Blueshift does offer limited use of command line options to apply settings, but it is really meant for you to have configuration files (written in Python 3) where all the policies are implemented, Blueshift is only meant to provide the mechanism for modifying the colour curves. Blueshift neither provides any means of automatically getting your geographical position; the intention is that you should implement that in the policy yourself using library which can do that. Additionally Blueshift provides not safe guards from making your screen unreadable or otherwise miscoloured; and Blueshift will never, officially, add support specifically for any proprietary operating system. Blueshift is fully extensible so it is possible to make extensions that make it usable under unsupported systems, the base code is written in Python 3 without calls to any system dependent functions. If Blueshift does not work for you for any of these reasons, you should take a look at Redshift. @node Invoking @chapter Invoking Blueshift uses argparser to read options from the commnad line. It inherits a few properaties from this: abbreviations are supported, you only need to type the beginning of the long options so that the rest can be filled in unambiguously by the program; @option{--} can be used, as usual, to make all following options being parsed as just arguments; and @option{++} works like @option{--}, except it only allied to the next option. Any argument that is not parsed as an option for Blueshift is passed onto the configuration script. Blueshift recognises the following options: @table @option @item -c @itemx --configurations FILE Select configuration script. This defaults to the first file of the following the exists: @file{$XDG_CONFIG_HOME/blueshift/blueshiftrc}, @file{$HOME/.config/blueshift/blueshiftrc}, @file{$HOME/.blueshiftrc}, @file{/etc/blueshiftrc}. Blueshift does not check the user home, rather it checks @env{HOME} which should be the user home, unless you change it yourself. @item -p @c the long name of option is inspired from openntpd @itemx --panic-gate @itemx --panicgate Applies the settings directly instead of transitioning into the initial settings. There is not option for doing this when the program exists. But you press @kbd{Control+c} twice, or send SIGTERM twice, to skip transition into default settings. @item -h @itemx -? @itemx --help Prints help information. @item -C @itemx --copying @itemx --copyright Prints copyright information. @item -W @itemx --warranty Prints non-warranty information, included in the copyright information. @item -v @itemx --version Prints the name of the program and the installed version of the program @end table Blueshift also supports a few options for ad-hoc settings. These are ignored (unlessed fetched by the configuration file) if @option{-c} (@option{--configurations}) is used. @table @option @item -g @itemx --gamma RGB Apply gamma correction to the colour curves. All values in the three colour curves are raised to the power of 1 divided by @var{RGB}. Assuming no values in the curves are larger than 1 (100 %) the curves are bent upwards if @var{RGB} is larger than 1. @item -g @itemx --gamma R:G:B This works as @option{--gamma RGB}, except the gamma is applied separately for the three colour curves. If we want to apply the 0,9 gamma to the red colour component, and 1,1 and 1,2 for the green and blue colour components, respectively use @option{-g 0.9:1.1:1.2} or @option{-gamma 0.9:1.1:1.2}. @item -b @itemx --brightness RGB This multiplies all values in the colour curves with @env{RGB}, effectively making the display @env{RGB} times as bright. Values larger than 1, will be clipped to 1. This is indented to be used to make the screen slightly darker during the night. @item -b @itemx --brightness R:G:B This option is to @option{--brightness RGB} as @option{--gamma R:G:B} is to @option{--gamma RGB}. @item +b @itemx ++brightness Y This option works as @option{--brightness RGB}, except the CIE xyY colour spaces is used instead of sRGB and will probably make the colour curves look better. @item -t @itemx --temperature TEMP Changes the colour tempurature to @var{TEMP} kelvin. The standard colour tempurature is 6500 K@footnote{Or actually 6504 K using revised constants in Plank's law}. If not specified, the colour temperature will be 3700 K during high night and 6500 K during the high day. @item -l @itemx --location LAT:LON Specify your geographical coordinates. This is used to determine how dark it is outside. @env{LAT} is the latitude, floating point measured in degrees from the equator to the north. It is negative if you are on the southern hemisphere. @env{LON} is the longitude, floating point measured in degrees from Greenwich to the east. Negative if you are on the west side of the Earth. @item -r @itemx --reset Transition from the specified settings to normal, clean, settings. @item -o @itemx --output @itemx --crtc CRTC Select CRTC to apply changes to. This is comma separated list, and multiple options may be used. It is best to start one instance per monitor with colour calibration. @end table @option{-g}, @option{-b}, @option{+b}, and @option{-t} can be use twice, each, to use different settings during the night and during the day. While this is possible for gamma, it is not recommended. The purpose of gamma is to adjust the same error that are present in minors and make all colours look correct in relation to each other. @node GNU Free Documentation License @appendix GNU Free Documentation License @include fdl.texinfo @bye