\input texinfo @c -*-texinfo-*-
@c %**start of header
@setfilename adjbacklight.info
@settitle adjbacklight
@afourpaper
@documentencoding UTF-8
@documentlanguage en
@finalout
@c %**end of header
@c @defindex op
@c @synindex op vr
@c @synindex cp pg
@copying
This manual is for @command{adjbacklight}.
Copyright @copyright{} 2013, 2014 Mattias Andrée (maandree@@member.fsf.org)
@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 adjbacklight
@insertcopying
@end ifnottex
@titlepage
@title adjbacklight 7.1
@subtitle Convient method for adjusting the backlight on your portable computer.
@author Mattias Andrée, maandree@@member.fsf.org
@page
@vskip 0pt plus 1filll
@insertcopying
@page
@*@*
@center And sometimes the portable computers' adjustment keys arn't even wired to the hardware…
@end titlepage
@contents
@menu
* Overview:: Overview of @command{adjbacklight}
* Invoking:: How to start @command{adjbacklight}
* Using:: How to use @command{adjbacklight}
* Behind the scenes:: How @command{adjbacklight} works
* License of adjbacklight:: Summary of the license of the program
* GNU General Public License:: The license of the program
* GNU Free Documentation License:: The license of this manual
* Concept index:: Concept index
@end menu
@node Overview
@chapter Overview
@cindex overview
@cindex description
@command{adjbacklight} is convient method for adjusting the backlight on your
portable computer. Depending on your computer, the details of @command{adjbacklight}
differs.
For some computers program will adjust the same parameters as the keys on your
keyboard, one other computers this program will adjust an independent parameter
allowing more detailed adjustment and may not be affected by the battery status
change. One some computers the keys for the suns does not do anything and is
expected to be binded by the OS, for thoses computers this may be the best choice
if you are in the TTY.
@command{adjbacklight} allows 0.5 % precision, assuming that the firmware allows
at least that. If you want higher precision, it is simple to modify the source
code. Just run @code{sed -i s/200/400/g src/adjbacklight.c}, if you want
0.25 % precision.
@cindex root
@cindex video
@cindex permissions
To use @command{adjbacklight} you must either be root or be a member of the
group `video'. The `video' membership requirement is artificial so you can rip
that out from the code if you prefer, but the effective user must be `root'
(EUID = 0) otherwise you will not have permission to use files in
@file{/sys/class/backlight} unless you make your initialisation
system give you access.
@node Invoking
@chapter Invoking
@cindex invoking
@cindex starting
@cindex options
@cindex arguments
@cindex device
@cindex selecting device
@cindex interactive mode
@cindex non-interactive mode
@cindex @command{adjbacklight}
@cindex @option{-c}
@cindex @option{--copying}
@cindex @option{--copyright}
@cindex @option{-w}
@cindex @option{--warranty}
@cindex @option{-a}
@cindex @option{--all}
@cindex @option{-g}
@cindex @option{--get}
@cindex @option{-s}
@cindex @option{--set}
@command{adjbacklight} can be started with @option{-c}, @option{--copying} or
@option{--copyright} for displaying copyright information, @option{-w} or
@option{--warranty} for displaying a warranty disclaimer.
To actually use the program, just execute @command{adjbacklight} without any
arguments, or with @option{-a} or @option{--all} to not limit the devices to
those that are not ACPI video devices. Alternatively you can list the devices
either by full path or just the name in the directory @file{/sys/class/backlight}.
If you do not want to run in interactive mode, you can use the option
@option{-g} or @option{--get} to get the average backlight of all devices
selected by the arguments (as in interactive mode), the value will be
printed percents with no whitespace between the value and the percent,
the value will be formated in the traditional computer format, only 0-9
with one dot (.) for separation of the integer part and the decimal part
(which will be two digits.) If you want to set the backlight there are
a few ways to do this: @option{-s} or @option{--set} followed by a value
or the value directly but with a prepending `=' if it does not start with
`+' or `-'. This argument is formated similar to the value printed by
@option{--get}, except it may end with zero, one, or two percent signed.
`+' is used for increase in brightness, `-' for decrease. Zero percent
signed is used for a raw value, one percent signed is used for a cooked
value that is usable on all backlight devices, and two percent signed
is used for a value relative to the current value.
Assume the current backlight is 50 (25 %) on a device and the maximum is
200. @code{+25} will set it to 75 (37,5 %) and @code{-25} will set it to
25 (12,5 %). @code{+50%} will set it to 75 % (150), @code{-50%} would
set it to -25 % (-50) but because that is not within the accepted value
range it will be truncated to 0. @code{+100%%} will set it to 100 (50 %),
that it 200 % of the current brightness, @code{-50%%} will set it to
25 (12,5 %), that is 50 % of the current brightness. For the following
formats the `=' is optional if @option{-s} or @option{--set} is used.
@code{=150} will set the brightness to 150 (75 %), @code{=50%} will set
it to 50 % (100), and @code{=200%%} will set it to 100 (50 %), that is
200 % of the current brightness.
@node Using
@chapter Using
@cindex interactive mode
@cindex usage
@cindex keyboard
@cindex darken screen
@cindex brighten screen
@cindex quit
@cindex exit
@cindex close
@cindex next screen
When you run @command{adjbacklight} in interactive mode, the following
keys are used to adjust the backlighting:
The @kbd{left} and @kbd{down} arrow keys are used to darken the screen.
The @kbd{right} and @kbd{up} arrow keys are used to brighten the screen.
@kbd{q}, @kbd{enter} and @kbd{<control>d} continues to the next backlight
controller, or if you are at the last one, exits the program.
@node Behind the scenes
@chapter Behind the scenes
@cindex behind the scenes
@cindex inner workings
On normally configured Linux systems, the kernel mounts a virtual
partition on @file{/sys}. If you have screens using backlight,
you should find backlight device in @file{/sys/class/backlight}.
These devices are directories containing control files which you
can read the current values from or write to (perhaps using @command{echo})
to modify the value. In a directory in @file{/sys/class/backlight}
you will find @file{brightness} and @file{max_brightness}.
Just read from @file{max_brightness} to get the maximum allowed integer
value in @file{brightness}, the minimum value is 0.
@node License of adjbacklight
@appendix License of adjbacklight
@flushleft
adjbacklight – Convient method for adjusting the backlight on your portable computer
Copyright © 2012, 2013, 2014 Mattias Andrée (maandree@@member.fsf.org)
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
@end flushleft
@node GNU General Public License
@appendix GNU General Public License
@include gpl.texinfo
@node GNU Free Documentation License
@appendix GNU Free Documentation License
@include fdl.texinfo
@node Concept index
@appendix Concept index
@printindex cp
@c @node Concept and program index
@c @appendix Concept and program index
@c @printindex pg
@c @node Variable and option index
@c @appendix Variable and option index
@c @printindex vr
@bye