## Xfce 4 Power Manager

### Ali Abdallah

`<aliov@xfce.org>`

This manual describes `xfce4-power-manager` version 1.2.0

Copyright © 2008 Ali Abdallah

## Introduction

This software is a power manager for the Xfce desktop, Xfce power manager manages the power sources on the computer and the devices that can be controlled to reduce their power consumption (such as LCD brightness level, monitor sleep, CPU frequency scaling). In addition, xfce4-power-manager provides a set of freedesktop-compliant DBus interfaces to inform other applications about current power level so that they can adjust their power consumption, and it provides the inhibit interface which allows applications to prevent automatic sleep actions via the power manager; as an example, the operating system’s package manager should make use of this interface while it is performing update operations.

### Getting Started

If your distribution doesn't come with a default installation of `xfce4-power-manager` usually when you install it, it will be started next time you log into your Xfce desktop. In order to start it manually you just need to run the following command `xfce4-power-manager` from your terminal emulator. Please note that running this `xfce4-power-manager` command will cause the power manager to run in daemon mode. You can optionally add --no-daemon as a command line argument to disable this behaviour, This can be useful if you want to see debugging outputs from your terminal emulator.

## Power Manager

### Command line options

--no-daemon

  Starts the power manager in non-daemon mode: useful for debugging.

--restart

  Restarts the power manager.

--quit

  Causes any running instance of the power manager to exit.

### Context menu

Figure 1. Context menu

The context menu pops up when you click on the icon placed in your notification area for example a battery or an adapter icon. It contains some useful options like suspend/hibernate, display information of the battery device and open the settings dialog. It contains as well option to inhibit the power manager. If enabled, the power manager will not attempt to dim the screen or switch off the monitor.

### Note

If the inhibit option is selected and the computer is in idle for a long time the power manager will not put the system in suspend or hibernate, even if it is enabled in the settings dialog. Only critical actions are processed.

## Power Manager Configuration

In this section we will explain in details the possible configuration of the power manager running on laptop computer. Please note that the configurations are different when the power manager is running on a desktop computer, for example you will not have LCD brightness etc.

### General options

Figure 2. General settings

Notification area:

  The notification area settings allow you to control the behaviour of the icon placed in your notification area. You can set it to be always visible. For battery devices, you can select the icon to be visible only when your are running on battery for example.

Keyboard special keys:

  Enable you to specify which key will trigger which action. These keys are not found on all the systems. For example, in the screen shot the hibernate key is missing since the screen shot was taken on a computer which doesn't have this key. The default action of all these keys is set to do nothing.

Monitor power management control:

  Enable/Disable the Display Power Management Signaling (DPMS).

Power manager Notification:

  If the notification of a battery status change are annoying you, you can always disable them by unselecting the checkbox. Please note this doesn't apply on the notification that the power manager sends notifying the user of errors or that the system is running out of power.

### Running on AC power

The on AC power tab contains self explanatory options such as lid close, system idle and monitor sleep configurations.

### Running on battery power

The on battery tab is only shown on systems that have battery devices. It contains the same options as the AC power tabs plus two other important options:

Power is critical

  With this option you can specify the action taken by the power manager in case the system is running on low power. If this option is disabled and the computer is running on low battery power, the power manager will display a warning message.

Prefer power savings over performance:

  This is the power profile when running on battery. With this option your battery will last more when running on battery power. Enabling this option is always a good idea.

### Extended options

Figure 3. Extended settings

Inactivity sleep mode:

  You can select the inactivity sleep action to be taken by the power manger when the system is idle for a interval of time set by you either on ac power or on battery power. Of course if you disable idle timeout those settings will have no effects.

Monitor sleep mode:

  DPMS sleep modes before switching off the monitor are either standby or suspend. They are technically different and provided for convenience.

Computer on low power level:

  Ideally when the battery giving the main power to the computer reaches 10 percent of charge, the computer can be considered on low power. However, for some broken or old batteries the interval of time between 10 percent and a power cut is a matter of minutes if not seconds. You can adjust the level at which your computer will be considered on low power.

  ### Note

  This option might disappear in future releases.

CPU Frequency control:

  Unselecting this checkbox, the power manager don't attempt to play with the CPU frequency.

Lock screen when going for suspend/hibernate:

  Just tell your power manager if it should lock the screen before suspending or hibernating the computer. It is enabled by default.

### Hidden options

Hidden options are the options that in normal situations one should not be changed, but these options are provided in case of misbehaviour of the backend that the power manager is relying on.

Since `xfce4-power-manager` relies on xfconf to store and retreive configurations, you can change any settings by using xfconf-query or by using your Xfce settings editor.

LCD Brightness

  The `xfce4-power-manager` detects brightness key events and interacts with the backend to update the brightness level. This might be problematic on some systems therefore the key "/xfce4-power-manager/change-brightness-on-key-events" is provided. Just set this key to false if you have any such problem. Please refer to the xfconf-query manual, but as an example you can disable this property by running the following command.

      xfconf-query -c xfce4-power-manager -n -p "/xfce4-power-manager/change-brightness-on-key-events" -t bool -s false

Disabling Brightness popup

  If you want for some reason to disable the brightness popup indicator (the one which popup to display the brightness level), just run the following command in your terminal.

      xfconf-query -c xfce4-power-manager -n -p "/xfce4-power-manager/show-brightness-popup" -t bool -s false

## Panel plugins

Figure 4. Brightness plugin

`xfce4-power-manager` version 1.2.0 includes one panel plugin for LCD brightness control (possible other plugins might be added for future releases). The usage of the brightness plugin is simple; just add the plugin to the panel same way as the one used to add any other plugin; then click on the plugin; a slider will pop up that you move/scroll on it to change the brightness level of your screen. Of course the plugin will not work on a system with no back light panel.

## FAQ

Q: Why the icons look very similar to the icon of gnome power manager?

  A: No, they are not similar; they are the same. Just there is no point of re-drawing icons. gnome power manager icons are good enough. Not all the gnome power manager icons are used. Please note that for version 1.2.0 the icons are renamed to avoid possible conflicts with a gnome power manager installation.

Q: What is the difference between suspend and hibernate?

  A: Suspend is a power save feature. When suspending, the computer is still using power, since the running applications are kept in the memory, but it is the lowest power level that the computer can use. While Hibernate saves the system state on the hard drive and turns off the power, when you start up your computer again those data will be loaded and the system back up.

Q: Why the options of suspend/hibernate are not there or I can not select them?

  A: Many possible reasons, for example your kernel is not compiled with suspend/hibernate options. Another possible reason is the fact that you don't have engough premission to use them.

Q: I had put my computer into suspend or hibernate mode, but the computer is not waking up?

  A: This was subject for many bug reports, please note that the power manager has nothing to do with these problems, since the kernel is responsible of these tasks. The kernel team are puting a lot of efforts into fixing these kind of problems, if you still have troubles please report a bug to your distribution provider, they can contact the kernel team and possibly they can provide you a work-around.

Q: I'm not able to control my laptop brightness and/or my brightness plug in is reporting no device found?

  A: One possible reason is the fact that the correct kernel driver is missing or doesn't exist for your laptop brightness panel, you can debug this fact by running this command:

      lshal > output.txt

  then search in output.txt for "laptop_panel", if you don't find this key this means a driver problem, but in the other hand if you find it then come to us complaining.

## Technical information

Ideally these details should go in a technical guide not the user guide, but we need someplace to keep this information, please ignore if these is not what you are looking for.

### DBus interfaces

in this section the DBus interfaces provided by `xfce4-power-manager` are expanded, those interfaces listed here are freedesktop compliant power management interfaces. This section might be useful if you are developing an application and wishing to use these interfaces, or they can be useful for debugging purpose.

Power management DBus interface.

Table 1. Standard methods (org.freedesktop.PowerManagement):

Name | Input parameter | Return Values | Errors | Description
--- | --- | --- | --- | ---
CanHibernate |  | bool |  | whether the system is able to hibernate
CanSuspend |  | bool |  | whether the system is able to suspend
CanReboot |  | bool |  | whether the system is able to reboot
CanShutdown |  | bool |  | whether the system is able to shutdown
GetOnBattery |  | bool |  | whether the system is running on battery
GetLowBattery |  | bool |  | whether the system is running on low battery
GetPowerSaveStatus |  | bool |  | whether the system is running in power save mode.
Hibernate |  |  | PermissionDenied, NoHardwareSupport |
Suspend |  |  | PermissionDenied, NoHardwareSupport |
Reboot |  |  | PermissionDenied, NoHardwareSupport |
Shutdown |  |  | PermissionDenied, NoHardwareSupport |

Table 2. Standard signals (org.freedesktop.PowerManagement):

Name | Values | Description
--- | --- | ---
OnBatteryChanged | bool | whether on battery status changed
LowBatteryChanged | bool | whether on low battery status changed

Power management DBus inhibit interface.

Table 3. Standard methods (org.freedesktop.PowerManagement.Inhibit):

Name | Input parameter | Return Values | Errors | Description
--- | --- | --- | --- | ---
Inhibit | string application name, string reason | uint32 (random cookie) |  | Inhibit the power manager.
UnInhibit | uint32 cookie |  | InvalidCookie | Unihibit the power manager.
HasInhibit |  | bool |  | Whether the power manager is currently inhibited or not.
GetInhibitors |  | Array of strings |  | List all the applications currently inhibiting the power manager (Not standard, use just for debugging)

Table 4. Standard signals (org.freedesktop.PowerManagement.Inhibit):

Name | Values | Description
--- | --- | ---
HasInhibitChanged | bool | whether the inhibit status changed.

In addition, `xfce4-power-manager` has other interfaces, but those interfaces are mainly used internally, for example the settings application uses such interface to get information about the current status of the running instance of the power manager.

## About `xfce4-power-manager`

This power manager was written following the philosophy of Xfce, having light weight application that does what the user is expecting from it.

To report a bug or make a suggestion regarding this application or this manual, use the bug tracking system at http://bugzilla.xfce.org/.

If you have questions about the use or installation of this package, please ask on the xfce mailing list. Development discussion takes place on the xfce4-dev mailing list or on xfce4-goodies-dev mailing list.

This program is distributed under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.