halfdim

It seems to be a commonly experienced problem with the Intel rendition of OS X 10.4 that some power management settings, such as the halfdim pmset parameter (a.k.a., “automatically reduce the brightness of the display before display sleep”) may be reset when the system boots. Since I started dual-booting Vista my reboots have increased from about once a week to a few times a day, so I decided to tackle this annoying little bug with a StartupItem.

Here’s how to do it. First, make a directory named PMSetManager in /Library/StartupItems. Create two files in this new directory, StartupParameters.plist and PMSetManager, with the specified contents.

/Library/StartupItems/PMSetManager/StartupParameters.plist:

{
Description = "PMSetManager";
OrderPreference = "Late";
Provides = ("PMSetManager");
Message =
{
start = "Starting pmset manager";
stop = "Stopping pmset manager";
};
}

/Library/StartupItems/PMSetManager/PMSetManager:

#!/bin/sh
# pmset manager
#
# Resets the 'halfdim' pmset parameter to false
# on reboot, in order to counteract what appears
# to be a bug on OS X 10.4.
. /etc/rc.common
StartService ()
{
if [ "${PMSETMANAGER:=-NO-}" = "-YES-" ]
then
ConsoleMessage "Starting pmset manager"
pmset -a halfdim 0
fi
}
StopService ()
{
ConsoleMessage "Stopping pmset manager"
}
RestartService ()
{
StopService
StartService
}
RunService "$1"

(The pmset command in this script can do more than just disable display dimming, if you like. See `man 1 pmset` for all your options.)

Next, make the PMSetManager script executable:

$ sudo chmod +x /Library/StartupItems/PMSetManager/PMSetManager

And finally, append “PMSETMANAGER=-YES-” to /etc/hostconfig in order to enable your new StartupItem. Now congratulate yourself for no longer needing to run System Preferences to get rid of that pesky dimming option every time you log in, and you’re good to go.