main - code

uacpid

about

Userspace Advanced Configuration and Power Interface event daemon

uacpid is a daemon designed to be run in userspace that will monitor the local system's acpid socket for hardware events. These events can then be acted upon by handlers with access to the user's environment.

uacpid is written in Haskell. It's known to build under GHC 6.12.3

news

2011-03-18 (v1.0.3.0)
  • Fixed code that was leaving zombie child processes by not waiting for them
  • Changed listenAcpi delay time from 0.25 secs to 2 secs
  • Refined developer and testing environment creation scripts
  • Updated and clarified some documentation
  • 2010-04-06 (v1.0.1)
  • Fix for a recent change in how System.Directory.doesFileExist behaves with sockets
  • Fixes for new GHC 6.12.x unused do binding warnings
  • Various cosmetic changes of copyright dates and version strings
  • Added HCAR info
  • 2009-07-19 (v0.0.4)
    Another try at fixing the broken man page installation problem on Arch Linux.
    2009-07-15 (v0.0.3)
    Fix for installation problem on Arch Linux. The man page was not getting installed.
    2009-07-15 (v0.0.2)
    Initial release

    documentation

    An example of why you need this: Suppose you want to have a hardware event change the active X displays, like a laptop external monitor function button. Some tools to achieve this display change require the logged in user's DISPLAY and other settings that may be difficult or impossible to gain access to from acpid scripts.

    Another example is media control function buttons, like play/pause or next/previous track for a music player.

    uacpid is running as you and is getting the hardware events reported by the system's acpid. uacpid can then act on the events on your behalf, with your environment.

    uacpid will respond to SIGHUP by reloading the event handlers and reestablishing its connection to the acpid socket. Changes to the config file will require that uacpid be restarted, it will not reload the config on SIGHUP.

    Handler syntax closely follows that of acpid. Users familiar with acpid should have no problem here. An example is included.

    Note that uacpid requires acpid. It must be installed and running.

    (Please see the uacpid man page for more detailed info)

    getting it



    last modified 2011-03-18