uacpid: Userspace Advanced Configuration and Power Interface event daemon

[ bsd3, program, system ] [ Propose Tags ]

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.


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.0.2, 0.0.3, 0.0.4, 1.0.1, 1.0.3.0, 1.1, 1.2
Change log changelog.md
Dependencies base (>=3 && <5), containers, directory, filepath, hslogger, mtl (>=2.2.1), network, process, regex-compat, time, time-locale-compat, unix [details]
License BSD-3-Clause
Copyright 2009-2015 Dino Morelli
Author Dino Morelli
Maintainer Dino Morelli <dino@ui3.info>
Category System
Home page http://hub.darcs.net/dino/uacpid
Source repo head: darcs get http://hub.darcs.net/dino/uacpid
Uploaded by DinoMorelli at 2015-07-01T01:16:16Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Executables uacpid
Downloads 6464 total (24 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
Last success reported on 2016-12-08 [all 6 reports]

Readme for uacpid-1.2

[back to package description]

uacpid

Synopsis

Userspace Advanced Configuration and Power Interface event daemon (Haskell)

Description

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.

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 source

  • Download the cabalized source package from Hackage
  • epub-tools is available for Arch Linux from the AUR
  • Get the source with darcs: $ darcs get http://hub.darcs.net/dino/uacpid
  • If you're just looking, browse the source

Getting started developing:

This daemon is designed to make files for itself in ~/.uacpid/ the first time it's run. To assist with development, there is a script which will build a development installation and execution environment in /tmp/uacpid-dev/ for you.

To initialize for development:

$ bin/uacpid-dev-setup

Once that's completed, it can be run like this:

$ bin/uacpid-dev

And once you have it, building the usual way:

$ cabal configure
$ cabal build
$ cabal install

Installing

Build and install with cabal-install: $ cabal update ; cabal install uacpid

Contact

Dino Morelli <dino@ui3.info>