Commit Graph
20 Commits
Author SHA1 Message Date
Sebastian Reichel 89f26595b6 support missing power usage data
Some notebooks do not provide power usage data. This code tries
to estimate the current power usage by measuring the battery level
difference in a specific time interval.
2015-09-12 04:34:32 +02:00
Sebastian Reichel 3d39da9330 correctly free battery linked list 2015-09-12 04:32:45 +02:00
Sebastian Reichel eb86d5ac00 free ac_connected_cmd and ac_disconnected_cmd on cleanup 2015-09-12 04:31:12 +02:00
Sebastian Reichel 9e85b6dcfe Battery: Avoid executing ac_connected cmd on startup
Previously ac_connected_cmd was executed during tint2 startup (if
AC is connected during startup).
2015-08-08 06:39:45 +02:00
Sebastian Reichel 0d0b1249c7 Battery: Handle Linux kernel events
The Kernel sends notifications for AC (un)plug and some
other important power supply events, so that we can
instantly update the widget. Apart from that it sends
notifications for any added or removed power supplies,
so that the battery support can be reinitialized (useful
on systems with removable batteries).
2015-08-08 06:31:01 +02:00
Sebastian Reichel 46a6d2c2ad Add Linux kernel event handling code
This is a simple handler for uevents send by the Linux
kernel.
2015-08-08 06:29:54 +02:00
Sebastian Reichel f241c4546b Avoid linking against disabled features
If rsvg or startup-notification features are disabled, the
binary should not be linked against the associated libraries.
2015-08-07 20:59:06 +02:00
Sebastian Reichel 169278c9d8 tint2conf: add support for ac_connected_cmd and ac_disconnected_cmd 2015-08-07 05:33:33 +02:00
Sebastian Reichel db490247e0 Battery: support for ac connection event cmd
This add two new config options "ac_connected_cmd" and
"ac_disconnected_cmd". These commands are executed when
AC (mains supply) is connected or disconnected.
2015-08-07 05:22:09 +02:00
Sebastian Reichel 3c45cf29c7 Battery: Split operating system specific code
This removes all operating system specific code from the main
battery file into their own source files. CMake will add the
correct implementation automatically.
2015-08-07 05:08:44 +02:00
Sebastian Reichel 66acd8ed38 Add battery Mains/AC support for Linux
Add initial support for mains/ac adapters. This adds the
state only to the tooltip, but the code has been prepared
to update AC state together with normal battery updates,
so that it's possible to forward the state to the normal
panel area or trigger something on AC (dis)connection.
2015-08-07 04:35:33 +02:00
Sebastian Reichel d1c22762c4 battery: move percentage calculation to linux code
Only Linux provides detailed energy statistics. The BSDs directly
provide percentage values. This change makes it easier to split
out the BSD code and reduces code overhead on BSD systems.
2015-08-07 04:35:24 +02:00
Sebastian Reichel 441c420773 Remove static clock tooltip buffer
Use GLib's GDateTime to generate the tooltip, so that a
correctly sized string is automatically created.
2015-08-07 02:32:18 +02:00
Sebastian Reichel edad9bb7f5 Fix memory leak for battery tooltips
Instead of returning a const string, that is fed into strdup, tooltip
functions are now supposed to return allocated strings. This fixes a
memory leak in the battery tooltip.

This is used instead of simply freeing the memory in the battery
tooltip function, since it also avoids a uselesss strdup().
2015-08-07 02:09:53 +02:00
Sebastian Reichel 57c38c462c Add support for battery tooltip option in tint2conf 2015-08-06 22:01:02 +02:00
Sebastian Reichel 995ae3c72b fix battery option parsing
Fix copy&paste mistake, battery should be enabled
for obsolete "battery" option instead of obsolete
"systray" option.
2015-08-06 22:01:02 +02:00
Sebastian Reichel 9df55d5ef7 Update copyright info in battery files 2015-08-06 22:01:02 +02:00
Sebastian Reichel ffd659208a Add battery tooltip support
This adds a new config option 'battery_tooltip' (enabled
by default), which can be used to enable a tooltip for
the battery widget providing details for all installed
batteries.
2015-08-06 22:01:02 +02:00
Sebastian Reichel 291be57cde reset color after systray existing message
Currently all messages following the "another systray is running"
message are also printed in red. Fix this by reseting the color
at the end of the message.
2015-08-05 02:42:15 +02:00
Sebastian Reichel ae375ae526 Split out Linux battery implementation and support multiple batteries
Some notebooks, like the ThinkPad X240 and X250 have two batteries
installed. So far only one of the batteries have been checked by
the tint2 widget making it more or less useless on those systems.

After this patch tint2 will aggregate the data from all batteries
instead.
2015-08-05 02:07:31 +02:00