home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / share / hal / scripts / hal-system-lcd-set-brightness < prev    next >
Encoding:
Text File  |  2006-08-30  |  2.6 KB  |  75 lines

  1. #!/bin/sh
  2. #
  3. # Copyright (C) 2005 Richard Hughes <richard@hughsie.com>
  4. #
  5. # This program is free software; you can redistribute it and/or modify
  6. # it under the terms of the GNU General Public License as published by
  7. # the Free Software Foundation; either version 2 of the License, or
  8. # (at your option) any later version.
  9.  
  10. # Check for environment variables
  11. if [ -z "$HAL_PROP_LAPTOP_PANEL_ACCESS_METHOD" ] || 
  12.    [ -z "$HAL_PROP_LAPTOP_PANEL_NUM_LEVELS" ] ; then
  13.         echo "Missing or empty environment variable(s)." >&2
  14.         echo "This script should be started by hald." >&2
  15.         exit 1
  16. fi
  17.  
  18. # read value for set brightness
  19. read value
  20.  
  21. # Check for values outside range
  22. if [ ${value} -lt 0 ] || [ ${value} -gt $HAL_PROP_LAPTOP_PANEL_NUM_LEVELS ]; then
  23.     echo "org.freedesktop.Hal.Device.LaptopPanel.Invalid" >&2
  24.     echo "Brightness has to be between 0 and $HAL_PROP_LAPTOP_PANEL_NUM_LEVELS!" >&2
  25.     exit 1
  26. fi
  27.  
  28. if [ "$HAL_PROP_LAPTOP_PANEL_ACCESS_METHOD" = "pmu" ]; then
  29.     hal-system-power-pmu setlcd $value
  30.     if [ $? -ne 0 ]; then
  31.         echo "org.freedesktop.Hal.Device.LaptopPanel.NotSupported" >&2
  32.         exit 1
  33.     fi
  34.     exit 0
  35. fi
  36.  
  37. # Check for file existance and that it's writable
  38. if [ ! -w "$HAL_PROP_LINUX_ACPI_PATH" ]; then
  39.     echo "org.freedesktop.Hal.Device.LaptopPanel.NotSupported" >&2
  40.     echo "$1 not writable!" >&2
  41.     exit 1
  42. fi
  43.  
  44.  
  45. if [ "$HAL_PROP_LAPTOP_PANEL_ACCESS_METHOD" = "toshiba" ]; then
  46.     # echo "brightness: {0..x}" >/proc/acpi/toshiba/lcd
  47.     echo "brightness: $value" > $HAL_PROP_LINUX_ACPI_PATH
  48. elif [ "$HAL_PROP_LAPTOP_PANEL_ACCESS_METHOD" = "asus" ]; then
  49.     # echo {0..15} > /proc/acpi/asus/brn
  50.     # http://www.taupro.com/wiki/ChemBook/LCDdisplayPowerConfiguration
  51.     echo "$value" > $HAL_PROP_LINUX_ACPI_PATH
  52. elif [ "$HAL_PROP_LAPTOP_PANEL_ACCESS_METHOD" = "panasonic" ]; then
  53.     # echo {0..15} > /proc/acpi/pcc/brightness
  54.     # http://readlist.com/lists/vger.kernel.org/linux-kernel/7/36405.html
  55.     echo "$value" > $HAL_PROP_LINUX_ACPI_PATH
  56. elif [ "$HAL_PROP_LAPTOP_PANEL_ACCESS_METHOD" = "ibm" ]; then
  57.     # echo "level {0..7}" > /proc/acpi/ibm/brightness
  58.     # http://ibm-acpi.sourceforge.net/README
  59.     echo "level $value" > $HAL_PROP_LINUX_ACPI_PATH
  60. elif [ "$HAL_PROP_LAPTOP_PANEL_ACCESS_METHOD" = "sony" ]; then
  61.     # echo "{1..8}" > /proc/acpi/sony/brightness
  62.     # http://popies.net/sonypi/2.6-sony_acpi4.patch
  63.     echo "$((value + 1))" > $HAL_PROP_LINUX_ACPI_PATH
  64. elif [ "$HAL_PROP_LAPTOP_PANEL_ACCESS_METHOD" = "omnibook" ]; then
  65.     # echo "{0..7}" > /proc/omnibook/lcd
  66.     # http://bugzilla.gnome.org/show_bug.cgi?id=331458
  67.     echo "$value" > $HAL_PROP_LINUX_ACPI_PATH
  68. else
  69.     echo "org.freedesktop.Hal.Device.LaptopPanel.NotSupported" >&2
  70.     echo "No ACPI method found" >&2
  71.     exit 1
  72.     fi
  73.  
  74. exit 0
  75.