For PowerPC laptops such as the iBooks and PowerBooks a special daemon named pbbuttonsd can handle the special "multi-media" keys to dim the display and regulate the audio volume accordingly.
However I find the example Gtk+ application gtkpbbuttons not that pretty.
So I implemented a more On-Screen-Display like variant. Currently it can utilize the XOSD library.
Although some years ago that other program gained some pixmap theming support as well, it is still written in "handling every bit manually C" and still uses Gtk+.
The latest MacOSD deos now utilize the anti-aliasing and real alpha blending canvas library Evas. It does utilize gtkpbbuttons themes just fine - and comes with a slightly cleaned-up version CleanOSX
Version 0.3.0 of MacOSD is also able to provide real transparency With latest X.org servers and a running composition manager.
Version 0.3.2 of MacOSD was also tested on latest Apple Intel MacBooks.
MacOSD is licensed under the terms of the GPL v2.
How to compile Mac OSD
To compile Mac OSD you need an ANSI C++ compiler including the STL and at least the xosd or evas library installed - of course you can compile in support for both.
After extracting (tar xvfI macosd-ver.tar.bz2) just run the usual "./configure ; make ; make install" cycle inside the macosd-ver directory.
Be aware that macosd does not use any GNU/Auto* dung - but a cleaner implementation inherited from the GSMP project (in fact all the low-level and graphic (canvas) abstraction are all inherited from GSMP ...).
You can run Mac OSD by just executing "macosd" and if you like it add it to you .xinitrc, .xprofile or whatever your displaymanager and/or distribution offers.
The theme to be used is specified with -t theme-name or --theme theme-name. A list of detected themes is displayed with -l or --list.
12th Feb: Version 0.3.2 macosd-0.3.2.tar.bz2
The release fixes altering the alpha value of ARGB images as requried for latest Evas and was adapted for pbbuttonsd's latest brightness value range change. This release was also tested on an Intel Core 2 Duo MacBook!
31th Mar: Version 0.3.1 macosd-0.3.1.tar.bz2
The release fixes rendering into ARGB visuals due pre-multiplied alpha pixel format and adds a --no-argb switch to disable argb visuals when no composition manager is available.
29th Mar: Version 0.3.0 macosd-0.3.0.tar.bz2
The release includes support for the latest Evas versions, X11R7, lib64, GCC-4.1 compile fixes and supports ARGB visuals for real transparency in combinations with a composition manager.
12th Sep: Version 0.2.0 macosd-0.2.0.tar.bz2
Only build system changes due migration to our new (in-house) build-system. Also fixes not to install a Makefile within the theme directory ... and compilation without the xosd.h header available.
20th Aug: Version 0.1.10 macosd-0.1.10.tar.bz2
Fixes including recent Evas detection, and support for the API changes of both, Evas and pbbuttonsd.
10th Sep: Version 0.1.9 macosd-0.1.9.tar.bz2
Fixed initialisation of the background alpha value, since recent gtkpbbuttons releases do not seem to include it anymore ... Added new config options to the list of konwn options to suppress warning while reading recent gtkpbbuttons' themes (use will be implemented later). This release also includes the more efficient DirIterator from GSMP - although with so few directories to scan, nobody will notice it anyway ;-)
16th Jul: Version 0.1.8 macosd-0.1.8.tar.bz2
Fixed several layouting details for theme with large backgrounds.
17th Jun: Version 0.1.7 macosd-0.1.7.tar.bz2
Finally investigated how to get Evas render © and é (UTF-8 is the magic word) and default to the CleanOSX theme when evas support is included.
15th Jun: Version 0.1.6 macosd-0.1.6.tar.bz2
some layout tuning, now really display minutes remaining / seconds to sleep messages and so on ...
26th May: Version 0.1.5 macosd-0.1.5.tar.bz2
much utility work (from GSMP) and so adapting to current API (binary slightly smaller)
10th May: Version 0.1.4 macosd-0.1.4.tar.bz2
oh my - fixes compilation with gcc older than 3.4.0 (this get's boring)
10th May: Version 0.1.3 macosd-0.1.3.tar.bz2
gcc-3.4 fixes, force the user to run configure first
24th Apr: Version 0.1.2 macosd-0.1.2.tar.bz2
small fixes, configure help
30th Mar: Version 0.1.1 macosd-0.1.1.tar.bz2
(moved much stuff back into GSMP, now svn:externals)
28th Mar: Version 0.1.0 macosd-0.1.0.tar.bz2
GSMP-ng Canvas support, gtkpbbuttons theme support, configure
8th Dec: Version 0.0.6 macosd-0.0.6.tar.bz2
28th Oct: Version 0.0.5 macosd-0.0.5.tar.bz2
16th Sep: Version 0.0.4 macosd-0.0.4.tar.bz2
7th Sep: Version 0.0.3 macosd-0.0.3.tar.bz2
To improve the software please send feature ideas, report compile problems, bugs via email to email@example.com.