Commit graph

133 commits

Author SHA1 Message Date
o9000
005e5a49c0 Battery: minor code style change 2015-09-12 12:23:50 +02:00
o9000
85b3b8a749 Battery: fix comment in estimate_power_usage 2015-09-12 12:22:32 +02:00
o9000
42d1ba2b20 Battery: prevent division by zero 2015-09-12 12:21:31 +02:00
o9000
b887d50409 Merge branch 'sre/support-missing-power-usage-information' 2015-09-12 12:17:25 +02:00
o9000
66b38cc7d6 Initialize ac_connected_cmd and ac_disconnected_cmd 2015-09-12 11:18:21 +02:00
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
o9000
00a1803348 if( -> if ( 2015-08-08 08:51:44 +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
o9000
00b88c2725 battery: Updates for OpenBSD 2015-08-07 08:54:15 +02:00
o9000
10b006ffb2 battery: Updates for OpenBSD 2015-08-07 08:36:02 +02:00
o9000
28272621b0 battery: Capitalize AC state in tooltips 2015-08-07 08:22:54 +02:00
o9000
61d786cf4f battery: Tooltips for FreeBSD (fix format string) 2015-08-07 08:20:34 +02:00
o9000
9d2e62f724 battery: Tooltips for FreeBSD (fix typo) 2015-08-07 08:19:48 +02:00
o9000
6e77b59ef8 battery: Tooltips for FreeBSD 2015-08-07 08:18:26 +02:00
o9000
3a733d7353 battery: Update AC status on FreeBSD 2015-08-07 08:08:53 +02:00
o9000
8df9ed5977 Update type for ac_connected variables 2015-08-07 08:07:51 +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
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
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
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
berkley4
fd78e6d886 Allow clicking and mousewheeling on the battery panel
This commit is the same as vimishor's original [*] except that I have
added middle-click and up/down mousewheel actions. In order to fix a
ftbs I also added guards to panel.c, panel.h & tint.c

The following configuration settings have been created :-

battery_lclick_command
battery_mclick_command
battery_rclick_command
battery_uwheel_command
battery_dwheel_command

[*] c78732c46a
2015-07-13 04:57:16 +01:00
o9000
1ff028e99f Fix some battery issues when unplugging/replugging 2015-05-08 23:35:44 +02:00
o9000
7384fd8270 Battery: fixes for FreeBSD 2015-05-03 08:52:39 +02:00
o9000
b4f15db397 Use font shadows for all elements except tooltips
git-svn-id: http://tint2.googlecode.com/svn/trunk@766 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2015-04-18 13:22:07 +00:00
o9000
66cae4bb7c Fix dangling pointers causing erratic timer behaviour (affects taskbar with spacing); use calloc instead of malloc for safer initializations
git-svn-id: http://tint2.googlecode.com/svn/trunk@758 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2015-04-17 20:17:25 +00:00
o9000
af003d0e19 Memory management review: match char-malloc/strdup-free, gchar-g_str*/g_free; set pointers to null after free; initialize fonts/backgrounds correctly when missing from config
git-svn-id: http://tint2.googlecode.com/svn/trunk@748 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2015-04-11 09:51:10 +00:00
o9000
321ccc0794 Fix no handling of battery removal
git-svn-id: http://tint2.googlecode.com/svn/trunk@747 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2015-04-09 09:24:25 +00:00
o9000
cab31cb726 Fix battery error handling
git-svn-id: http://tint2.googlecode.com/svn/trunk@746 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2015-04-09 09:11:57 +00:00
o9000
1a41159142 Battery: cleanup code and make detection more resilient
git-svn-id: http://tint2.googlecode.com/svn/trunk@739 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2015-03-28 18:08:44 +00:00
o9000
1272ce4bb9 Fix issue 442: do not overflow when processing buggy battery input
git-svn-id: http://tint2.googlecode.com/svn/trunk@682 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2015-02-01 23:42:05 +00:00
andreas.fink85
b3b26e199c *fix* battery: set background_id to 0 if none has been specified
git-svn-id: http://tint2.googlecode.com/svn/trunk@623 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2011-02-05 08:32:11 +00:00
Andreas.Fink85
10f50cf29b *fix* issue 319
git-svn-id: http://tint2.googlecode.com/svn/trunk@621 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2011-01-08 13:56:26 +00:00
Andreas.Fink85
ad716c907a *fix* applied patch from issue 299
git-svn-id: http://tint2.googlecode.com/svn/trunk@576 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2010-10-21 07:29:52 +00:00
thilor77
98c3cbe874 cleanup code
git-svn-id: http://tint2.googlecode.com/svn/trunk@562 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2010-09-23 18:09:30 +00:00
thilor77
b4fb372f52 panel_items : fixed hide/unhide of baterry and systray
git-svn-id: http://tint2.googlecode.com/svn/trunk@560 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2010-09-22 19:33:10 +00:00
thilor77
f8e31774b6 panel_items : fixed battery. draw battery only if values changed.
git-svn-id: http://tint2.googlecode.com/svn/trunk@559 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2010-09-21 22:07:11 +00:00
thilor77
d2d2277bfe cleanup : Area posx/posy managed by layering engine (area.c)
git-svn-id: http://tint2.googlecode.com/svn/trunk@558 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2010-09-21 09:54:19 +00:00
thilor77
500981b052 panel_items : fixed some segfault.
git-svn-id: http://tint2.googlecode.com/svn/trunk@549 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2010-09-18 14:58:00 +00:00
thilor77
52eb843047 order of panel items : position of each object is update by layering engine (area)
git-svn-id: http://tint2.googlecode.com/svn/trunk@547 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2010-09-18 10:41:34 +00:00
thilor77
aabe6b11b9 add comment
git-svn-id: http://tint2.googlecode.com/svn/trunk@545 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2010-09-16 23:24:25 +00:00
thilor77
3eb1b736e3 fixed Issue 282
git-svn-id: http://tint2.googlecode.com/svn/trunk@526 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2010-08-08 14:06:15 +00:00
Andreas.Fink85
9899d8a7c0 *add* use ACPI api for freebsd (thx to yamagi.burmeister)
git-svn-id: http://tint2.googlecode.com/svn/trunk@515 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2010-06-26 16:19:18 +00:00
Andreas.Fink85
5521275bef *fix* execute an external command by calling fork/execl and do not ignore SIGCHLD (maybe fixes issue 263)
git-svn-id: http://tint2.googlecode.com/svn/trunk@480 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2010-06-11 18:47:26 +00:00
thilor77
642abfc7e0 etend OpenBSD patch to FreeBSD and NetBSD
git-svn-id: http://tint2.googlecode.com/svn/trunk@462 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2010-05-18 16:03:54 +00:00
thilor77
c0a0f647d5 battery patch for Openbsd by vext01
git-svn-id: http://tint2.googlecode.com/svn/trunk@459 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2010-05-15 23:35:57 +00:00
thilor77
4d5fe440c8 fixed : battery disabled when needed
git-svn-id: http://tint2.googlecode.com/svn/trunk@438 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2010-04-20 17:22:05 +00:00
thilor77
64530181d9 qutodetect composite manager and automaticaly switch real/fake transparency
git-svn-id: http://tint2.googlecode.com/svn/trunk@425 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2010-04-18 14:49:50 +00:00
thilor77
7ee42e8ca1 SIGUSR1 does now a full restat of tint2
git-svn-id: http://tint2.googlecode.com/svn/trunk@424 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2010-04-18 14:28:45 +00:00
thilor77
c298a39d00 moved initial values in function default_xxx
git-svn-id: http://tint2.googlecode.com/svn/trunk@423 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2010-04-18 12:07:36 +00:00
thilor77
3adb7e2080 cleanup default value on SIGUSR1
git-svn-id: http://tint2.googlecode.com/svn/trunk@421 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2010-04-16 18:50:03 +00:00
Andreas.Fink85
bf1dc33ca7 *add* drag'n'drop task reordering
*fix* autohide and tooltip after SIGUSR1
*fix* send low_battery_cmd only once
*fix* update clock if time difference > 60 sec (after hibernation or supsension)
*fix* changed transient window behaviour


git-svn-id: http://tint2.googlecode.com/svn/trunk@393 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2010-02-08 22:44:56 +00:00
thilor77
a5a39b0bb2 lower battery drawing : update to 10s and battery_hide config
git-svn-id: http://tint2.googlecode.com/svn/trunk@364 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2010-01-19 19:29:28 +00:00
Andreas.Fink85
06518a0f4b *fix* 2 memleaks
*fix* no more warnings


git-svn-id: http://tint2.googlecode.com/svn/trunk@335 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2010-01-10 22:16:27 +00:00
Andreas.Fink85
739af13714 *add* more task states (normal, active, iconified, urgent), with each an own background, font and asb
*fix* two memleaks
*fix* some code beautification



git-svn-id: http://tint2.googlecode.com/svn/trunk@327 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2010-01-09 00:11:01 +00:00
Andreas.Fink85
adb784a859 *add* autohide
*fix* issue 182 by using select instead of pselect


git-svn-id: http://tint2.googlecode.com/svn/trunk@321 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2010-01-05 20:38:49 +00:00
Andreas.Fink85
3767eb58f1 *fix* use another timer implementation, coz *BSD does not support timerfd :(
git-svn-id: http://tint2.googlecode.com/svn/trunk@296 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2009-12-27 20:33:02 +00:00
Andreas.Fink85
c46e1341aa *fix* tooltip fixed
*fix* send battery low command if below the value, not exactly the value


git-svn-id: http://tint2.googlecode.com/svn/trunk@289 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2009-12-17 18:25:51 +00:00
Andreas.Fink85
d1e7d189bf *fix* use XFlush to really make use of the tooltip timeouts and do not rely on some timer running in the background
*fix* moved panel_refresh in the mainloop to the top for panels without a clock for updating first and then going to the pselect statement
*changed* battery updates every 5 secs (I do not know if this is a good value...)
*fix* blinking urgent windows has a panel_refresh now



git-svn-id: http://tint2.googlecode.com/svn/trunk@270 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2009-11-16 10:06:45 +00:00
Andreas.Fink85
806451955b *add* changed everything to kernel timer for easier integration with new timer
*todo* adapt tooltip also to the timer syntax
*fix* memory leak



git-svn-id: http://tint2.googlecode.com/svn/trunk@266 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2009-11-15 16:55:50 +00:00
Andreas.Fink85
3f9adec3e3 *fix* allow minimizing omnipresent windows also on desktop 2-n
*fix* hopefully fixed issue 145
*fix* removed two unused variables



git-svn-id: http://tint2.googlecode.com/svn/trunk@262 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2009-11-11 17:12:24 +00:00
lorthiois@bbsoft.fr
c763cf7172 fixed config reload SIGUSR1. added systray = 1 parameter to enable systray
git-svn-id: http://tint2.googlecode.com/svn/trunk@242 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2009-10-30 17:18:44 +00:00
lorthiois@bbsoft.fr
51b9ce356a fixed battery drawing
git-svn-id: http://tint2.googlecode.com/svn/trunk@241 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2009-10-28 23:01:32 +00:00
lorthiois@bbsoft.fr
d0799e91dd patch for FULL battery by peter.ebden
git-svn-id: http://tint2.googlecode.com/svn/trunk@240 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2009-10-28 10:58:12 +00:00
lorthiois@bbsoft.fr
cd5b2b26a9 issue 158 : dissociate object initialization from panel initialization
git-svn-id: http://tint2.googlecode.com/svn/trunk@220 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2009-10-18 17:54:09 +00:00
lorthiois@bbsoft.fr
7b570efb8f fixed some segfault and memleak
git-svn-id: http://tint2.googlecode.com/svn/trunk@195 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2009-09-25 19:11:50 +00:00
lorthiois@bbsoft.fr
a3177fadd9 fixed indentation inconsistency by dmitry
git-svn-id: http://tint2.googlecode.com/svn/trunk@193 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2009-09-20 20:48:00 +00:00
lorthiois@bbsoft.fr
babda8e268 support skip_taskbar by Andreas.Fink85
git-svn-id: http://tint2.googlecode.com/svn/trunk@169 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2009-09-07 21:41:21 +00:00
lorthiois@bbsoft.fr
6f9a16de47 play with vertical panel
git-svn-id: http://tint2.googlecode.com/svn/trunk@121 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2009-06-21 22:01:31 +00:00
lorthiois@bbsoft.fr
533ab08523 change systray code. fixed issue 91.
git-svn-id: http://tint2.googlecode.com/svn/trunk@118 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2009-06-19 21:08:34 +00:00
lorthiois@bbsoft.fr
ce50e9c159 patch by Christian Ruppert, configure option for battery
git-svn-id: http://tint2.googlecode.com/svn/trunk@115 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2009-06-18 20:26:40 +00:00
lorthiois@bbsoft.fr
597d492860 fixed issue 97 and issue 95
git-svn-id: http://tint2.googlecode.com/svn/trunk@106 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2009-06-08 18:49:50 +00:00
lorthiois@bbsoft.fr
a081c0a57d issue 87 : another try
git-svn-id: http://tint2.googlecode.com/svn/trunk@80 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2009-05-31 17:32:49 +00:00
lorthiois@bbsoft.fr
e43bf23b67 fixed battery detection
git-svn-id: http://tint2.googlecode.com/svn/trunk@79 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2009-05-31 12:40:40 +00:00
lorthiois@bbsoft.fr
466f4fb1db fixed possible segfault
git-svn-id: http://tint2.googlecode.com/svn/trunk@76 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2009-05-16 15:43:48 +00:00
lorthiois@bbsoft.fr
88661d034a fixed issue 84 with battery
git-svn-id: http://tint2.googlecode.com/svn/trunk@75 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2009-05-16 15:23:20 +00:00
lorthiois@bbsoft.fr
01b6e81b8c added battery code
git-svn-id: http://tint2.googlecode.com/svn/trunk@74 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
2009-05-15 20:48:55 +00:00