Conky is a free software desktop system monitor for the X Window System. It is available for Linux, FreeBSD, and OpenBSD.[3] Conky is highly configurable[4][5][6] and is able to monitor many system variables including the status of the CPU, memory, swap space, disk storage, temperatures, processes, network interfaces, battery power, system messages, e-mail inboxes, Arch Linux updates, many popular music players (MPD, XMMS2, BMPx, Audacious, etc.), weather updates, breaking news, and much more.[7] Unlike system monitors that use high-level widget toolkits to render their information, Conky is drawn directly in an X window. This allows it to consume relatively fewer system resources when configured similarly.[8]
Original author(s) | Brenden Matthews |
---|---|
Stable release | 1.10.8[1] / 7 February 2018; 16 months ago |
Repository | |
Written in | C, C++ |
Operating system | Linux, FreeBSD, and OpenBSD |
Type | System monitor |
License | GPL and BSD licenses[2] |
Website | github.com/brndnmtthws/conky |
A few of the featured programs of Conky includes a few Conky widgets like Weather updates, Memory, Storage, Battery and Power disk status and CPU usage. People prefer using Conky Themes, Conky Widgets and Conky scripts because it takes up less resources than other system monitors available in the market. This's for sure a possible approach. BUT I think that we are loosing something along the way. It's a fact that almost any desktop manager (KDE, GNOME etc) has it's own battery monitor suited to show the battery status of laptop computer.
Conky was hailed as 'one of the best maintained, and definitely one of the most useful, programs in the world of open source' in Linux Magazine.[9]
It comes pre-configured in the default installation of Pinguy OS and CrunchBang Linux.[10][11]
Conky is a fork of torsmo, a system monitor that is no longer maintained.[12] Torsmo, however, continues to be used in systems where applications that use minimal resources are preferred. Damn Small Linux, for example, runs torsmo in its desktop root window on the default installation of its Live CD.[13] Conky derives its name from a character in the Canadian television programme Trailer Park Boys.[14]
While Conky is suited for use as a system monitor, it can also be used to gather and display many other sources of information and can be extended with the Lua programming language.
Conky has also been ported to devices such as the Nokia N900[15] and can be ported to practically any system with GCC and an X11 implementation.
Users have created and distributed many customized scripts, demonstrating Conky's modularity and versatility in function and appearance. A thread on the Ubuntu forums has grown to over 2,000 pages of users sharing their configurations.[16][17][18][19]
A simple configuration for Conky which displays the time on a user's desktop is as follows:
Default configuration file location is $HOME/.conkyrc or ${sysconfdir}/conky/conky.conf. On most systems, 'sysconfdir' is /etc, and you can find the sample configuration file there (/etc/conky/conky.conf).[7]
Conky on Arch Linux
Conky on Ubuntu
Conky on Fedora 14 (Laughlin)
Conky with lua on Debian
Wikimedia Commons has media related to Conky. |
The Win32_BatteryWMI class represents a battery connected to the computer system.
The following syntax is simplified from Managed Object Format (MOF) code and includes all of the inherited properties. Properties are listed in alphabetic order, not MOF order.
The Win32_Battery class has these types of members:
The Win32_Battery class has these methods.
Method | Description |
---|---|
Reset | Not implemented. To implement this method, see the Reset method in CIM_Battery for documentation. |
SetPowerState | Not implemented. To implement this method, see the SetPowerState method in CIM_Battery for documentation. |
The Win32_Battery class has these properties.
Availability
Data type: uint16
Access type: Read-only
Qualifiers: MappingStrings ('MIF.DMTF|Operational State|003.5', 'MIB.IETF|HOST-RESOURCES-MIB.hrDeviceStatus')
Availability and status of the device.
This property is inherited from CIM_LogicalDevice.
Other (1)
Unknown (2)
Running/Full Power (3)
Running or Full Power
Warning (4)
In Test (5)
Not Applicable (6)
Power Off (7)
Off Line (8)
Off Duty (9)
Degraded (10)
Not Installed (11)
Install Error (12)
Power Save - Unknown (13)
The device is known to be in a power save mode, but its exact status is unknown.
Power Save - Low Power Mode (14)
The device is in a power save state but still functioning, and may exhibit degraded performance.
Power Save - Standby (15)
The device is not functioning, but could be brought to full power quickly.
Power Cycle (16)
Power Save - Warning (17)
The device is in a warning state, though also in a power save mode.
Paused (18)
The device is paused.
Not Ready (19)
The device is not ready.
Not Configured (20)
The device is not configured.
Quiesced (21)
The device is quiet.
BatteryRechargeTime
Data type: uint32
Access type: Read-only
Qualifiers: DEPRECATED, MappingStrings ('HKEY_LOCAL_MACHINESystemCurrentControlSetServices|RechargeRate'), Units ('minutes')
Time required to fully charge the battery. This property is not supported. BatteryRechargeTime does not have a replacement property, and is now considered obsolete.
BatteryStatus
Data type: uint16
Access type: Read-only
Qualifiers: MappingStrings ('MIF.DMTF|Portable Battery|002.14')
Status of the battery. The value 10 (Undefined) is not valid in the CIM schema because in DMI it represents that no battery is installed. In this case, the object should not be instantiated.
This property is inherited from CIM_Battery.
Other (1)
The battery is discharging.
Unknown (2)
The system has access to AC so no battery is being discharged. However, the battery is not necessarily charging.
Fully Charged (3)
Low (4)
Critical (5)
Charging (6)
Charging and High (7)
Charging and Low (8)
Charging and Critical (9)
Undefined (10)
Partially Charged (11)
Caption
Data type: string
Access type: Read-only
Qualifiers: MaxLen (64), DisplayName ('Caption')
Short description of the object a one-line string.
This property is inherited from CIM_ManagedSystemElement.
Chemistry
Data type: uint16
Access type: Read-only
Qualifiers: MappingStrings ('MIF.DMTF|Portable Battery|002.7')
Enumeration that describes the battery's chemistry.
This property is inherited from CIM_Battery.
Other (1)
Unknown (2)
Lead Acid (3)
Nickel Cadmium (4)
Nickel Metal Hydride (5)
Lithium-ion (6)
Zinc air (7)
Lithium Polymer (8)
ConfigManagerErrorCode
Data type: uint32
Access type: Read-only
Qualifiers: Schema ('Win32')
Windows Configuration Manager error code.
This property is inherited from CIM_LogicalDevice.
This device is working properly. (0)
Device is working properly.
This device is not configured correctly. (1)
Device is not configured correctly.
Windows cannot load the driver for this device. (2)
The driver for this device might be corrupted, or your system may be running low on memory or other resources. (3)
Driver for this device might be corrupted, or the system may be low on memory or other resources.
This device is not working properly. One of its drivers or your registry might be corrupted. (4)
Device is not working properly. One of its drivers or the registry might be corrupted.
The driver for this device needs a resource that Windows cannot manage. (5)
Driver for the device requires a resource that Windows cannot manage.
The boot configuration for this device conflicts with other devices. (6)
Boot configuration for the device conflicts with other devices.
Cannot filter. (7)
The driver loader for the device is missing. (8)
Driver loader for the device is missing.
This device is not working properly because the controlling firmware is reporting the resources for the device incorrectly. (9)
Device is not working properly. The controlling firmware is incorrectly reporting the resources for the device.
This device cannot start. (10)
Device cannot start.
This device failed. (11)
Device failed.
This device cannot find enough free resources that it can use. (12)
Device cannot find enough free resources to use.
Windows cannot verify this device's resources. (13)
Windows cannot verify the device's resources.
This device cannot work properly until you restart your computer. (14)
Device cannot work properly until the computer is restarted.
This device is not working properly because there is probably a re-enumeration problem. (15)
Device is not working properly due to a possible re-enumeration problem.
Windows cannot identify all the resources this device uses. (16)
Windows cannot identify all of the resources that the device uses.
This device is asking for an unknown resource type. (17)
Device is requesting an unknown resource type.
Reinstall the drivers for this device. (18)
Device drivers must be reinstalled.
Failure using the VxD loader. (19)
Your registry might be corrupted. (20)
Registry might be corrupted.
System failure: Try changing the driver for this device. If that does not work, see your hardware documentation. Windows is removing this device. (21)
System failure. If changing the device driver is ineffective, see the hardware documentation. Windows is removing the device.
This device is disabled. (22)
Device is disabled.
System failure: Try changing the driver for this device. If that doesn't work, see your hardware documentation. (23)
System failure. If changing the device driver is ineffective, see the hardware documentation.
This device is not present, is not working properly, or does not have all its drivers installed. (24)
Device is not present, not working properly, or does not have all of its drivers installed.
Windows is still setting up this device. (25)
Windows is still setting up the device.
Windows is still setting up this device. (26)
Windows is still setting up the device.
This device does not have valid log configuration. (27)
Device does not have valid log configuration.
The drivers for this device are not installed. (28)
Device drivers are not installed.
This device is disabled because the firmware of the device did not give it the required resources. (29)
Device is disabled. The device firmware did not provide the required resources.
This device is using an Interrupt Request (IRQ) resource that another device is using. (30)
Device is using an IRQ resource that another device is using.
This device is not working properly because Windows cannot load the drivers required for this device. (31)
Device is not working properly. Windows cannot load the required device drivers.
ConfigManagerUserConfig
Data type: boolean
Access type: Read-only
Qualifiers: Schema ('Win32')
If True, the device is using a user-defined configuration.
This property is inherited from CIM_LogicalDevice.
CreationClassName
Data type: string
Access type: Read-only
Qualifiers: CIM_Key
Name of the first concrete class that appears in the inheritance chain used in the creation of an instance. When used with the other key properties of the class, the property allows all instances of this class and its subclasses to be identified uniquely.
This property is inherited from CIM_LogicalDevice.
Description
Data type: string
Access type: Read-only
Qualifiers: DisplayName ('Description')
Description of the object.
This property is inherited from CIM_ManagedSystemElement.
DesignCapacity
Data type: uint32
Access type: Read-only
Qualifiers: MappingStrings ('MIF.DMTF|Portable Battery|002.8'), Units ('milliwatt-hours')
Design capacity of the battery in milliwatt-hours. If the property is not supported, enter 0 (zero).
This property is inherited from CIM_Battery.
DesignVoltage
Data type: uint64
Access type: Read-only
Qualifiers: MappingStrings ('MIF.DMTF|Portable Battery|002.9'), Units ('millivolts')
Design voltage of the battery in millivolts. If the attribute is not supported, enter 0 (zero).
This property is inherited from CIM_Battery.
For more information about using uint64 values in scripts, see Scripting in WMI.
DeviceID
Data type: string
Access type: Read-only
Qualifiers: Key, Override ('DeviceId'), MappingStrings ('WMI')
Identifies the battery.
This property is inherited from CIM_LogicalDevice.
Example: 'Internal Battery'
ErrorCleared
Data type: boolean
Access type: Read-only
If True, the error reported in the LastErrorCode property is now cleared.
This property is inherited from CIM_LogicalDevice.
ErrorDescription
Data type: string
Access type: Read-only
Free-form string that supplies more information about the error recorded in LastErrorCode property, and information about any corrective actions that may be taken.
This property is inherited from CIM_LogicalDevice.
EstimatedChargeRemaining
Data type: uint16
Access type: Read-only
Qualifiers: Units ('percent')
Estimate of the percentage of full charge remaining.
This property is inherited from CIM_Battery.
EstimatedRunTime
Data type: uint32
Access type: Read-only
Qualifiers: MappingStrings ('MIF.DMTF|Portable Battery|002.15'), Units ('minutes')
Estimate in minutes of the time to battery charge depletion under the present load conditions if the utility power is off, or lost and remains off, or a laptop is disconnected from a power source.
This property is inherited from CIM_Battery.
ExpectedBatteryLife
Data type: uint32
Access type: Read-only
Qualifiers: DEPRECATED, MappingStrings ('HKEY_LOCAL_MACHINESystemCurrentControlSetServices|BatteryLife'), Units ('minutes')
Amount of time it takes to completely drain the battery after it is fully charged. This property is no longer used and is considered obsolete.
ExpectedLife
Data type: uint32
Access type: Read-only
Qualifiers: Units ('minutes')
Battery's expected lifetime in minutes, assuming that the battery is fully charged. The property represents the total expected life of the battery, not its current remaining life, which is indicated by the EstimatedRunTime property.
This property is inherited from CIM_Battery.
FullChargeCapacity
Data type: uint32
Access type: Read-only
Qualifiers: MappingStrings ('MIF.DMTF|Portable Battery|002.11'), Units ('milliwatt-hours')
Full charge capacity of the battery in milliwatt-hours. Comparison of the value to the DesignCapacity property determines when the battery requires replacement. A battery's end of life is typically when the FullChargeCapacity property falls below 80% of the DesignCapacity property. If the property is not supported, enter 0 (zero).
This property is inherited from CIM_Battery.
InstallDate
Data type: datetime
Access type: Read-only
Qualifiers: MappingStrings ('MIF.DMTF|ComponentID|001.5'), DisplayName ('Install Date')
Date and time the object was installed. This property does not need a value to indicate that the object is installed.
This property is inherited from CIM_ManagedSystemElement.
LastErrorCode
Data type: uint32
Access type: Read-only
Last error code reported by the logical device.
This property is inherited from CIM_LogicalDevice.
MaxRechargeTime
Data type: uint32
Access type: Read-only
Qualifiers: Units ('minutes')
Maximum time, in minutes, to fully charge the battery. The property represents the time to recharge a fully depleted battery, not the current remaining charge time, which is indicated in the TimeToFullCharge property.
This property is inherited from CIM_Battery.
Name
Data type: string
Access type: Read-only
Qualifiers: DisplayName ('Name')
Defines the label by which the object is known. When subclassed, the property can be overridden to be a key property.
This property is inherited from CIM_ManagedSystemElement.
PNPDeviceID
Data type: string
Access type: Read-only
Qualifiers: Schema ('Win32')
Windows Plug and Play device identifier of the logical device.
This property is inherited from CIM_LogicalDevice.
Example: '*PNP030b'
PowerManagementCapabilities
Data type: uint16 array
Access type: Read-only
Array of the specific power-related capabilities of a logical device.
This property is inherited from CIM_LogicalDevice.
Unknown (0)
Not Supported (1)
Disabled (2)
Enabled (3)
The power management features are currently enabled but the exact feature set is unknown or the information is unavailable.
Power Saving Modes Entered Automatically (4)
The device can change its power state based on usage or other criteria.
Power State Settable (5)
The SetPowerState method is supported. This method is found on the parent CIM_LogicalDevice class and can be implemented. For more information, see Designing Managed Object Format (MOF) Classes.
Power Cycling Supported (6)
The SetPowerState method can be invoked with the PowerState parameter set to 5 (Power Cycle).
Timed Power On Supported (7)
Timed Power-On Supported
The SetPowerState method can be invoked with the PowerState parameter set to 5 (Power Cycle) and Time set to a specific date and time, or interval, for power-on.
PowerManagementSupported
Data type: boolean
Access type: Read-only
If True, the device can be power-managed (can be put into suspend mode, and so on). The property does not indicate that power management features are currently enabled, only that the logical device is capable of power management.
This property is inherited from CIM_LogicalDevice.
SmartBatteryVersion
Data type: string
Access type: Read-only
Qualifiers: MaxLen (64), MappingStrings ('MIF.DMTF|Portable Battery|002.10')
Data Specification version number supported by the battery. If the battery does not support this function, the value should be left blank.
This property is inherited from CIM_Battery.
Status
Data type: string
Access type: Read-only
Qualifiers: MaxLen (10), DisplayName ('Status')
Current status of the object. Various operational and nonoperational statuses can be defined. Operational statuses include: 'OK', 'Degraded', and 'Pred Fail' (an element, such as a SMART-enabled hard disk drive, may be functioning properly but predicting a failure in the near future). Nonoperational statuses include: 'Error', 'Starting', 'Stopping', and 'Service'. The latter, 'Service', could apply during mirror-resilvering of a disk, reload of a user permissions list, or other administrative work. Not all such work is online, yet the managed element is neither 'OK' nor in one of the other states.
This property is inherited from CIM_ManagedSystemElement.
Values include the following:
OK ('OK')
Error ('Error')
Degraded ('Degraded')
Unknown ('Unknown')
Pred Fail ('Pred Fail')
Starting ('Starting')
Stopping ('Stopping')
Service ('Service')
Stressed ('Stressed')
NonRecover ('NonRecover')
No Contact ('No Contact')
Lost Comm ('Lost Comm')
StatusInfo
Data type: uint16
Access type: Read-only
Qualifiers: MappingStrings ('MIF.DMTF|Operational State|003.3')
State of the logical device. If this property does not apply to the logical device, the value 5 (Not Applicable) should be used.
This property is inherited from CIM_LogicalDevice.
Other (1)
Unknown (2)
Enabled (3)
Disabled (4)
Not Applicable (5)
SystemCreationClassName
Data type: string
Access type: Read-only
Qualifiers: Propagated ('CIM_System.CreationClassName'), CIM_Key
Value of the scoping computer's CreationClassName property.
This property is inherited from CIM_LogicalDevice.
SystemName
Data type: string
Access type: Read-only
Qualifiers: Propagated ('CIM_System.Name'), CIM_Key
Name of the scoping system.
This property is inherited from CIM_LogicalDevice.
TimeOnBattery
Data type: uint32
Access type: Read-only
Qualifiers: Units ('seconds')
Elapsed time in seconds since the computer system's UPS last switched to battery power, or the time since the system or UPS was last restarted, whichever is less. If the battery is 'on line', 0 (zero) is returned.
This property is inherited from CIM_Battery.
TimeToFullCharge
Data type: uint32
Access type: Read-only
Qualifiers: MappingStrings ('MIF.DMTF|Portable Battery|002.16'), Units ('minutes')
Remaining time to charge the battery fully in minutes at the current charging rate and usage.
This property is inherited from CIM_Battery.
The Win32_Battery class is derived from CIM_Battery which derives from CIM_LogicalDevice.
Windows Server 2008 contains the (APC) UPS drivers in the OS, which allows you to treat the UPS as a battery supply. This allows you to monitor the UPS status using a script and take actions when necessary.
The Toggle-Wireless.ps1 PowerShell code sample queries Win32_Battery to determine whether or not to toggle the wireless in order to save power.
The List UPS Information Perl sample Lists information about the uninterruptible power sources attached to a computer.
For a furthe discussion of using Win32_Battery to monitor your laptop, see Use PowerShell to Detect Power State and to Set Power Plan.
Minimum supported client | Windows Vista |
Minimum supported server | Windows Server 2008 |
Namespace | RootCIMV2 |
MOF |
|
DLL |
|