                               ACME 2.0

This is ACME, a small tool for your laptops. It makes the small multimedia
buttons on these things actually do something. It currently only fully supports
Apple laptops (iBooks and Powerbooks), and should work on other systems as well.

Supported is:
- Volume keys (Mute, Volume Down, Volume Up)
- Brightness keys (kernel 2.4.18-rc2-benh minimum)
- Eject (just launches "eject")
- Power (asks to exit the current Gnome session)

The 2 latter buttons need to be pressed for a longer time to take effect.
The automatic dimming of the screen when inactive was removed, as this functionality is available in a less broken way in XFree 4.2.

This URL contains more information:
http://lists.debian.org/debian-powerpc/2002/debian-powerpc-200204/msg00615.html

New in version
--------------

1.99.6:
- use CLAMP when appropriate
- some build updates
- ALSA/OSS run-time detection
- acme should now be able to compile on all Unices
- fix the error dialog not popping up when the brightness couldn't be controlled

1.99.5:
- completely ported now with all deprecated calls removed
- fixed a bug with the custom eject command
- made disabled keys appear as having a "Disabled" keycode  in the prefs rather
  than "-1"
- made the prefs window non-resizable
- proper i18n setup

1.99.4:
- eject command is configurable for "power users", via gconf-editor (note that this won't be made configurable via the preferences GUI, if eject doesn't work for you, file a bug against it)
- added sound playing when the volume is changed (I recommend
  /System/Library/Sounds/Purr.aiff from your MacOS X partition)
- UI reviewed by Calum, cleanups, icon for the preferences window by Jimmac

1.99.3:
- added a "use_pcm" configuration for people that don't want to change the master volume
- made gconf really work now :)
- changed the dashes to underscores in the schema
- don't use libglade-convert anymore, glade-2 works well enough now
- added brightness button support, GUI for the eject button, and misc fixes
- much better behaviour and looks when acme is swapped out
- killed Acme global variable, better non-linux and non-ppc platform support,
  cleanups
- made acme exit if another version of it is already running
- translate .schemas file, added dummy en_GB translation
- changed the default volume step to 6%
- added a configuration GUI
- added button to launch acme in the configurator

1.99.1:
- removed some unused images
- made it compile (and work!) with everything but GDK_DISABLE_DEPRECATED
- added an icon for the brightness
- gconf-ied the whole thing

1.99.0:
- ported to gnome2
- fixed stupidity when running on_ac_power
- fixed problem with screen level
- cleaned up header
- added gob generated files to the distribution, no need for gob anymore
- build fixes to get glade files into the distribution
- remove use of keysym, and use keycodes directly
- fixed glade generation bug
- patch by Radek Doulik <rodo@ximian.com> to avoid flashing dialog
- make it really not flash, realise the widget before moving it
- don't dim the screen if ~/.acme.no.dim file exists
- use a GtkImage instead of a GnomeCanvasItem
- a single press on power button now does the job
- patch for better eject button behaviour by Radek Doulik <rodo@ximian.com>
- remove stuff for the automatic dimming, use XFree's
- remove necessity of gob2 when building from a tarball

1.0.3:
- fix the zombies
- move the window further down the screen, half-way at the bottom of it
- add uninstall to the Makefile
- use AnyModifier with XGrabKey so we grab the keys even when Alt, etc. are
  pressed.
- a couple of cleanups
- added a "repeat" to the eject key, so hitting it by accident will not open
  the CD tray anymore :)
- if screensaver is disabled, don't dim the screen
- autoconf support
- gobjectification of the volume and the backlight handling

1.0.2:
- make sure the volume doesn't "roll over"
- fix the version number
- added a dialog that informs about the permissions of /dev/mixer
- fixed the fact that keycodes didn't get bound to keysyms anymore
  (causing it not to work *at all*)

1.0:
- use oss calls directly instead of scripts
- catch the problem that would appear if acme was launched twice
- automatically restart if it gets killed, or for a new session

Requirements
------------

- the gnome2 libraries and gob2 (only if you intend to work on acme)

Installation
------------

1) ./configure
2) make
3) make install
4) Make sure you have read and write permissions on /dev/fb0, /dev/pmu and
   /dev/mixer
3) run acme

Voila !

FAQ
---

Q: I'm not seeing the popup window when I change the brightness, what's wrong ?
A: There are 2 things to check:
	1) at least a 2.4.18-rc2-benh kernel.
	2) that the permissions on /dev/fb0 and /dev/pmu make it readable and
	writable for the users that want to use acme.

Q: The keys on my <whatever> keyboard don't do anything, it's supposed to work.
A: 'insmod evdev' will maybe get the keys recognised.

Bugs
----

- Hitting the power button many times gets messy
- need to "just work" on PCs that don't have a Master volume
- need to use the evdev device on Linux when available

Thanks
------

Thanks to Linas Vepstas <linas@linas.org> for writing idle-timer.c and saving
me a lot of time and reading (although I removed it ;)
Thanks to TigerT for mocking up the GUI of the volume dialog, and drawing the
nifty icons along with Garrett Le Sage.

License
-------

GNU General Public License for everything in this package.

Links
-----

OSS Mixer documentation:
http://www.opensound.com/pguide/mixer.html

ALSA 0.5.x Mixer documentation:
http://www.alsa-project.org/alsa-doc/alsa-lib-old/mixer.html

ALSA 0.9.x mixer "documentation":
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/alsa/alsa-utils/amixer/amixer.c
http://www.alsa-project.org/alsa-doc/alsa-lib/mixer_8c.html

