\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 @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{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 . @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