Power

Differences between revisions 1 and 33 (spanning 32 versions)
Revision 1 as of 2010-02-10 14:44:47
Size: 8870
Editor: eth0
Comment: moved from private specification
Revision 33 as of 2012-10-04 10:02:01
Size: 12643
Editor: mpt
Comment: + bug 850011
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## page was renamed from Ubuntu/PowerStatusMenu
= Power status menu =
## page was renamed from BatteryStatusMenu
## page was renamed from
PowerStatusMenu
Line 4: Line 4:
There should be a simple power status menu replacing the panel applet displayed by `gnome-power-manager`. The rest of the `gnome-power-manager` interface should work as normal. <<TableOfContents>>
Line 6: Line 6:
We also offer this design to KDE and Kubuntu developers as a possible replacement for the menu displayed by `kpowersave`. Ubuntu has various interfaces dealing with power. These include a Power panel in System Settings, a battery menu, and the ability to suspend or hibernate.
Line 8: Line 8:
== Rationale == <<Anchor(settings)>>
== Power settings ==
Line 10: Line 11:
The power status menu exists to indicate how much time you have left when a rechargeable thing (battery, UPS, mouse, iPod, Bluetooth phone, ''etc'') is discharging, and conversely how much longer everything needs to fully charge. {{attachment:power-settings-compatibility.png}}

Whenever the current hardware has not been [[http://www.ubuntu.com/certification/|certified]] or [[https://wiki.ubuntu.com/UbuntuFriendly|validated]] that Suspend and Hibernate both work, then at the top of the “Power” panel of System Settings should be text explaining this, with a Help button linking to more information:
 * “Suspend has not been tested to work on this computer.”
 * “Hibernate has not been tested to work on this computer.”
 * “Suspend and Hibernate have not been tested to work on this computer.”
Below this text should be one or both of the checkboxes, “Allow Suspend anyway” and “Allow Hibernate anyway”.

Whenever one of these checkboxes is unchecked, the respective functions should not be present wherever they otherwise would be, including the rest of this settings panel itself, the [[SessionMenu|session menu]], and the Shut Down dialog.

{{attachment:power-settings-menu.png}}

At the bottom of the “Power” panel of System Settings should be a “Show battery status in the menu bar:” menu, with options “When battery is present”, “When battery is charging/in use”, and “Never”. By default, the setting should be “When battery is present”. (If the menu disappeared whenever the thing was fully charged, this would make it difficult to realize that it ''was'' fully charged.)

For reference, the GNOME3 "Power Settings panel":

{{attachment:gcc-power-final.png}}

<<Anchor(menu)>>
== Battery menu ==

The battery menu exists to indicate how much time you have left when a rechargeable thing (battery, UPS, mouse, iPod, Bluetooth phone, ''etc'') is discharging, and conversely how much longer it will be before everything fully charges.

{{attachment:power-menu.png}}

''Erratum: The “0:28” should be in brackets, “(0:28)”.''
Line 25: Line 51:
== Design ==

{{attachment:power-menu-no-brackets.jpg}}

=== When to show the menu ===

The “Power Management Preferences” window should be adjusted to a “Power Settings” window, with simpler options for when to display the power menu.

||<style="border: none;">{{attachment:gnome-power-manager-before.png}}||<style="border: none; vertical-align: middle;">→||<style="border: none;">{{attachment:gnome-power-manager-after.jpg}}||

By default (regardless of any previous Gnome Power Manager setting), the setting should be “Whenever a chargeable device is present”. (If the menu disappeared whenever the thing was fully charged, this would make it difficult to realize that it ''was'' fully charged.)
Line 41: Line 55:
In both the menu title and the menu contents, a chargeable thing should be represented by an outline icon that most closely matches the component or device: a battery, a mouse, or a generic box. In both the menu title and the menu contents, a batter should be represented by an outline icon that most closely matches the component or device: a battery, a mouse, or a generic box.
Line 45: Line 59:
If the thing is fully charged and not discharging, the icon interior should feature a plug emblem. If the thing is fully charged and not discharging, the icon interior should feature a plug emblem (bug Bug:850011).
Line 53: Line 67:
The menu title should tell you at a glance what you need to know most: what will lose power soonest, or otherwise which thing will take longest to charge. (More detailed information can be accessed inside the menu itself.)
## The menu title should tell you at a glance what you need to know most: what will lose power soonest and when, or otherwise which thing will take longest to charge and how long it will take. (More detailed information can be accessed inside the menu itself.)
The menu title should tell you at a glance what you need to know most: what device will lose power soonest (and optionally when), or otherwise which device will take longest to charge (and optionally how long it will take). More detailed information can be accessed inside the menu itself.
Line 56: Line 69:
If the menu is set to “Whenever a chargeable device is present”, but the charge level has not yet been detected, the menu title should consist of a generic battery icon.  * If “Show battery status in the menu bar” is set to “Whenever a battery is present”, but the charge level has not yet been detected, the menu title should consist of a generic battery icon.
Line 58: Line 71:
If all components are fully charged and none are discharging, the menu title should consist of a battery-with-a-plug icon, mouse-with-a-plug icon, or thingy-with-a-plug icon, depending on which components are present (using thingy-with-a-plug if there are zero or multiple chargeable components).  * If all components are fully charged and none are discharging, the menu title should consist of a battery-with-a-plug icon, mouse-with-a-plug icon, or thingy-with-a-plug icon, depending on which components are present (using thingy-with-a-plug if there are zero or multiple chargeable components). The accessible name should be “Battery charged” regardless.
Line 60: Line 73:
If anything is discharging, the menu title should consist of an icon representing the thing that is estimated to lose power first. For example, if your notebook battery is estimated to discharge in 1 hour 47 minutes, and your wireless mouse battery is estimated to discharge in 27 minutes, the menu title should appear as a mouse icon containing a red sliver.
## If anything is discharging, the menu title should consist of an icon representing the device that is estimated to lose power first, followed by the estimated time remaining for that device in hours and minutes. For example, if your notebook battery is estimated to discharge in 1 hour 47 minutes, and your wireless mouse battery is estimated to discharge in 27 minutes, the menu title should appear as a mouse icon containing a red sliver, followed by the text “0:27”.
 * If anything is discharging, the menu title should represent the device (not battery, but device) that is estimated to lose power first. For example, if your notebook battery is estimated to discharge in 1 hour 47 minutes, and your wireless mouse battery is estimated to discharge in 27 minutes, the menu title should represent the mouse.
Line 63: Line 75:
If nothing is discharging, the menu title should consist of an icon representing the thing that is estimated to take longest to charge. For example, if your wireless mouse battery is estimated to finish charging in 48 minutes, and your UPS is estimated to finish charging in 1 hour 10 minutes, the menu title should appear as a UPS icon containing a lightning bolt.
## If no devices are discharging, the menu title should consist of an icon representing the device that is estimated to take longest to charge, followed by the estimated time remaining to charge in hours and minutes in brackets. For example, if your wireless mouse battery is estimated to finish charging in 48 minutes, and your UPS is estimated to finish charging in 1 hour 10 minutes, the menu title should appear as a UPS icon containing a lightning bolt, followed by the text “(1:10)”.
 * If no devices are discharging, the menu title should represent the device that is estimated to take longest to charge.
Line 66: Line 77:
## In both the charging and discharging cases, if there is not enough information yet to calculate the time remaining, the text should read “(Estimating…)”. If “Show Time in Menu Bar” is unchecked, or nothing is charging or discharging, the menu title should consist only of the icon for the thing it is representing.

If “Show Time in Menu Bar” is checked, and the thing represented in the title is charging or discharging, the menu title should consist of the icon for the thing, followed by, in brackets, the estimated time remaining for that item to charge or to lose power in hours and minutes.

Regardless, the accessible name for the whole menu title should be the same as the accessible name for that thing’s item inside the menu itself.

For example, if “Show: Icon only / Icon and time remaining” is set to “Icon and time remaining”:

 * If your notebook battery is discharging but there is not enough information yet to calculate the time remaining, the menu title should appear as a battery icon followed by the text “(estimating…)”, and the accessible name should be “Battery (estimating…)”.

 * If your notebook battery is estimated to run out in 1 hour 47 minutes, and your wireless mouse battery is estimated to run out in 27 minutes, the menu title should appear as a mouse icon containing a red sliver, followed by the text “(0:27)”, and the accessible name should be “Mouse (27 minutes to charge)”.

 * If your wireless mouse battery is estimated to finish charging in 48 minutes, and your UPS is estimated to finish charging in 1 hour 10 minutes, the menu title should appear as a UPS icon containing a lightning bolt, followed by the text “(1:10)”, and the accessible name should be “UPS (1 hour 10 minutes to charge)”.
Line 70: Line 93:
The menu should contain one item for each chargeable thing, a separator if there are any chargeable devices, and a “Power Settings…” item. The menu should contain one item for each chargeable battery or similar component, a separator if there are any chargeable components, a “Show Time in Menu Bar” item, and a “Power Settings…” item.

<<Anchor(login-screen)>>
At the login screen, the items for chargeable things should be insensitive (so that they can still be read, but not selected), and the “Power Settings…” item should not be present at all (so that you can’t wander around System Settings, or use power settings to hinder others from logging in). The only sensitive item should be “Show Time in Menu Bar”.
Line 73: Line 99:
 1. any internal battery or batteries (if there is more than one, listed alphabetically in order of sysfs path, but not showing that sysfs path)  1. any internal battery or batteries (if there is more than one, listed alphabetically in order of `sysfs` path, but not showing that `sysfs` path)
Line 78: Line 104:
The menu item for each chargeable thing should consist of three elements. The menu item for each chargeable thing should consist of two elements.
Line 83: Line 109:
  * “X is charged” if it is fully charged and not discharging
  * “X (estimating…)” if it is charging or discharging, but an accurate time estimate cannot be made yet
  * “X H:MM until charged” if it is charging
  * “X” if it is discharging with 12 hours or more left
  * “X H:MM left” if it is discharging with less than 12 hours left.
 (We investigated showing this time as a table column, but it looked worse.)
  * “''X'' (charged)” if it is fully charged and not discharging
  * “''X'' (estimating…)” if it is charging or discharging, but an accurate time estimate cannot be made yet
  * “''X'' (H:MM to charge)” if it is charging, with the accessible name “''X'': ''MM'' minutes to charge” or “''X'': ''H'' hours ''MM'' minutes to charge”
  * “''X''” if it is discharging with 12 hours or more left
  * “''X'' (''H'':''MM'' left)” if it is discharging with less than 12 hours left, with the accessible name “''X'': ''MM'' minutes left” or “''X'': ''H'' hours ''MM'' minutes left”.
Line 96: Line 121:
== gnome-power-manager changes == <<Anchor(multiple-batteries)>>
=== Handling multiple batteries ===
Line 98: Line 124:
`gnome-power-manager` should be altered so that it no longer presents its own notification area item. If a device has multiple batteries and uses only one of them at a time, they should be presented as separate items inside the menu, but should be totalled for the purpose of the menu title (fixing bug Bug:833337).
Line 100: Line 126:
== Handling upgrades == For example, if your notebook has two internal batteries — one fully charged, and one that will discharge in 22 minutes — and your wireless mouse battery is estimated to discharge in 27 minutes, then the menu title should represent the mouse. Even though the internal battery will lose power first, the mouse is the ''device'' that will lose power first.
Line 102: Line 128:
Since the previous power menu is a notification area item, and it is being removed at the same time as the new power menu is introduced, there are no upgrade considerations.

== Implementation ==
=== Implementation ===
Line 107: Line 131:
 * Patch GNOME Power Manager to not show it's status icon irregardless of the GConf Key if the Power Menu is running.  * Patch GNOME Power Manager to not show its status icon irregardless of the GConf Key if the Power Menu is running.
Line 113: Line 137:
== Links ==

 * Upstream GNOME control center power panel work: [[http://live.gnome.org/Design/SystemSettings/Power]]
 * Upstream Indicator work: [[http://live.gnome.org/GnomeShell/Design/Guidelines/SystemStatus/BatteryPower]]
Line 115: Line 144:
 * The new design leaves no way of accessing the “Power Statistics” window.  * Bug Bug:883857: Battery warning popup buttons dont make sense

== Comments ==

-- [[LaunchpadHome:troy-sobotka]] <<DateTime(2010-06-29T09:45:21-0800)>> I find the idea of a centralized battery / power monitor area quite quietly brilliant. Perhaps moreso if there is a way to integrate progressive eco-conscious / environmentally progressive elements into the design pattern. For a North American / European English speaking casual audience member, this appears to have a good chance of delivering to need. Kudos for the genesis of and interesting design starting point. What would really hammer this home is to step away from the reliance on menus and bring a whole new visually immersive element to the presentation.

-- [[LaunchpadHome:davidthamm]] 7/5 >> Shame on hardware mf for making ubuntu dedicate a menu to them. May I suggest a logitech mx mouse that runs on AA's. The batteries last for months.

-- [[LaunchpadHome:r.green]] <<DateTime>> I love this idea, integration with brightness controls and battery profiles (performance, powersaving etc) would be a great adition to the spec.

-- [[LaunchpadHome:thjaeger]] I don't understand why the battery percentage is still not shown not that there's enough room for it: Remaining time estimates are woefully inaccurate to the point of being completely useless.

 I explained why I think showing the percentage is much ''more'' useless [[http://launchpad.net/bugs/811777|in bug 811777]]. —[[LaunchpadHome:mpt]]

-- [[LaunchpadHome:ayers]] <<DateTime(2011-01-27T11:47:39+0100)>> Could you please add the rational (links to discussions) that show why this shouldn't be implemented within gnome-power-manager, thanks!

Ubuntu has various interfaces dealing with power. These include a Power panel in System Settings, a battery menu, and the ability to suspend or hibernate.

Power settings

power-settings-compatibility.png

Whenever the current hardware has not been certified or validated that Suspend and Hibernate both work, then at the top of the “Power” panel of System Settings should be text explaining this, with a Help button linking to more information:

  • “Suspend has not been tested to work on this computer.”
  • “Hibernate has not been tested to work on this computer.”
  • “Suspend and Hibernate have not been tested to work on this computer.”

Below this text should be one or both of the checkboxes, “Allow Suspend anyway” and “Allow Hibernate anyway”.

Whenever one of these checkboxes is unchecked, the respective functions should not be present wherever they otherwise would be, including the rest of this settings panel itself, the session menu, and the Shut Down dialog.

power-settings-menu.png

At the bottom of the “Power” panel of System Settings should be a “Show battery status in the menu bar:” menu, with options “When battery is present”, “When battery is charging/in use”, and “Never”. By default, the setting should be “When battery is present”. (If the menu disappeared whenever the thing was fully charged, this would make it difficult to realize that it was fully charged.)

For reference, the GNOME3 "Power Settings panel":

gcc-power-final.png

Battery menu

The battery menu exists to indicate how much time you have left when a rechargeable thing (battery, UPS, mouse, iPod, Bluetooth phone, etc) is discharging, and conversely how much longer it will be before everything fully charges.

power-menu.png

Erratum: The “0:28” should be in brackets, “(0:28)”.

Artwork requirements summary

icons.jpg

A total of 97 icons are needed, though 33 of these may be covered by only three distinct graphics (leaving a total of 67), and 60 others consist of 30 pairs that differ only in coloring.

(3✕) For each of {battery, mouse, generic device}, there should be:

  • (1) an icon for “running on AC”
  • (11) icons for “charging” at levels of charge from 0% to (nearly) 100%, in 10% increments (these might all be the same icon)
  • (10) icons for “discharging but not critical” at levels of charge from 10% to 100%, in 10% increments
  • (10) icons for “discharging and soon depleted” at levels of charge from 10% to 100%, in 10% increments.

There should also be (1) a generic battery icon, for use when a battery has been removed or when its charge level has not yet been determined.

Icons

icons.jpg

In both the menu title and the menu contents, a batter should be represented by an outline icon that most closely matches the component or device: a battery, a mouse, or a generic box.

If it is a battery that is either missing or of unknown charge level, it should use the generic battery icon.

If the thing is fully charged and not discharging, the icon interior should feature a plug emblem (bug 850011).

If it is discharging, the icon interior should be filled from left to right approximately as much as the remaining charge. If it has less than 30 minutes left, the fill should be red rather than black. (This coloring is deliberately time-based, not percentage-based; how much time you have left is more important than how long the battery can theoretically last.)

And if it is charging, the icon interior should feature a lightning bolt emblem. Depending on clarity and space available, the icon interior may also be filled from left to right approximately as much as the amount charged.

Title

The menu title should tell you at a glance what you need to know most: what device will lose power soonest (and optionally when), or otherwise which device will take longest to charge (and optionally how long it will take). More detailed information can be accessed inside the menu itself.

  • If “Show battery status in the menu bar” is set to “Whenever a battery is present”, but the charge level has not yet been detected, the menu title should consist of a generic battery icon.
  • If all components are fully charged and none are discharging, the menu title should consist of a battery-with-a-plug icon, mouse-with-a-plug icon, or thingy-with-a-plug icon, depending on which components are present (using thingy-with-a-plug if there are zero or multiple chargeable components). The accessible name should be “Battery charged” regardless.
  • If anything is discharging, the menu title should represent the device (not battery, but device) that is estimated to lose power first. For example, if your notebook battery is estimated to discharge in 1 hour 47 minutes, and your wireless mouse battery is estimated to discharge in 27 minutes, the menu title should represent the mouse.
  • If no devices are discharging, the menu title should represent the device that is estimated to take longest to charge.

If “Show Time in Menu Bar” is unchecked, or nothing is charging or discharging, the menu title should consist only of the icon for the thing it is representing.

If “Show Time in Menu Bar” is checked, and the thing represented in the title is charging or discharging, the menu title should consist of the icon for the thing, followed by, in brackets, the estimated time remaining for that item to charge or to lose power in hours and minutes.

Regardless, the accessible name for the whole menu title should be the same as the accessible name for that thing’s item inside the menu itself.

For example, if “Show: Icon only / Icon and time remaining” is set to “Icon and time remaining”:

  • If your notebook battery is discharging but there is not enough information yet to calculate the time remaining, the menu title should appear as a battery icon followed by the text “(estimating…)”, and the accessible name should be “Battery (estimating…)”.
  • If your notebook battery is estimated to run out in 1 hour 47 minutes, and your wireless mouse battery is estimated to run out in 27 minutes, the menu title should appear as a mouse icon containing a red sliver, followed by the text “(0:27)”, and the accessible name should be “Mouse (27 minutes to charge)”.
  • If your wireless mouse battery is estimated to finish charging in 48 minutes, and your UPS is estimated to finish charging in 1 hour 10 minutes, the menu title should appear as a UPS icon containing a lightning bolt, followed by the text “(1:10)”, and the accessible name should be “UPS (1 hour 10 minutes to charge)”.

Items

The menu should contain one item for each chargeable battery or similar component, a separator if there are any chargeable components, a “Show Time in Menu Bar” item, and a “Power Settings…” item.

At the login screen, the items for chargeable things should be insensitive (so that they can still be read, but not selected), and the “Power Settings…” item should not be present at all (so that you can’t wander around System Settings, or use power settings to hinder others from logging in). The only sensitive item should be “Show Time in Menu Bar”.

The order for chargeable things should be:

  1. any internal battery or batteries (if there is more than one, listed alphabetically in order of sysfs path, but not showing that sysfs path)

  2. any UPS
  3. any wireless mouse
  4. anything else.

The menu item for each chargeable thing should consist of two elements.

  1. The icon representing that thing.
  2. Text representing the name of the component (“Battery”, “Mouse”, “UPS”, “Alejandra’s iPod”, etc) and the charge status:

    • X (charged)” if it is fully charged and not discharging

    • X (estimating…)” if it is charging or discharging, but an accurate time estimate cannot be made yet

    • X (H:MM to charge)” if it is charging, with the accessible name “X: MM minutes to charge” or “X: H hours MM minutes to charge”

    • X” if it is discharging with 12 hours or more left

    • X (H:MM left)” if it is discharging with less than 12 hours left, with the accessible name “X: MM minutes left” or “X: H hours MM minutes left”.

Selecting the item for a chargeable component should open Gnome Power Manager’s “Device Information” window for that component. (A KDE implementation would open the “KPowersave Information Dialog”.)

The “Power Settings…” item should open the Power Settings window. (In a KDE implementation, it would open the “KPowersave Settings” window.)

Unfortunately the Linux kernel does not provide real-world identifiers for multiple batteries in a computer; they have only serial numbers, and labels of the form “BAT0” and “BAT1”. So we cannot show useful distinguishing labels like “Battery (front slot)” in the menu.

Handling multiple batteries

If a device has multiple batteries and uses only one of them at a time, they should be presented as separate items inside the menu, but should be totalled for the purpose of the menu title (fixing bug 833337).

For example, if your notebook has two internal batteries — one fully charged, and one that will discharge in 22 minutes — and your wireless mouse battery is estimated to discharge in 27 minutes, then the menu title should represent the mouse. Even though the internal battery will lose power first, the mouse is the device that will lose power first.

Implementation

  • Run along side the GNOME Power Manager
  • Patch GNOME Power Manager to not show its status icon irregardless of the GConf Key if the Power Menu is running.
  • Use the DevKit-Power and GPM DBus APIs to gather information on state of the system.

  • Major issue is testing all of the corner cases (hard to reproduce)
    • Need to write user runable tests (Wiki pages)
    • Feed into Ubuntu Testing Team

Unresolved issues

  • Bug 883857: Battery warning popup buttons dont make sense

Comments

-- troy-sobotka 2010-06-29 17:45:21 I find the idea of a centralized battery / power monitor area quite quietly brilliant. Perhaps moreso if there is a way to integrate progressive eco-conscious / environmentally progressive elements into the design pattern. For a North American / European English speaking casual audience member, this appears to have a good chance of delivering to need. Kudos for the genesis of and interesting design starting point. What would really hammer this home is to step away from the reliance on menus and bring a whole new visually immersive element to the presentation.

-- davidthamm 7/5 >> Shame on hardware mf for making ubuntu dedicate a menu to them. May I suggest a logitech mx mouse that runs on AA's. The batteries last for months.

-- r.green 2022-06-25 23:32:27 I love this idea, integration with brightness controls and battery profiles (performance, powersaving etc) would be a great adition to the spec.

-- thjaeger I don't understand why the battery percentage is still not shown not that there's enough room for it: Remaining time estimates are woefully inaccurate to the point of being completely useless.

  • I explained why I think showing the percentage is much more useless in bug 811777. —mpt

-- ayers 2011-01-27 10:47:39 Could you please add the rational (links to discussions) that show why this shouldn't be implemented within gnome-power-manager, thanks!

Power (last edited 2017-01-27 12:17:50 by mpt)