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.


Distribution packages







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 rene@exactcode.de.