2 Some fixes for the sysfs interface support, supplied by
5 > Okay, I finally found time to make a new release including this
6 > patch - 2.2rc2. It's up on my website now.
8 I don't remember sending you the updated patch, as it turned out that
9 you can have different attributes in sysfs depending on what the
12 The current version is attached.
20 Support for the sysfs interface that became mandatory with kernel
21 2.6.24 (patch supplied by jblache@debian.org).
23 A number of graphics fixes also from jblache@debian.org.
25 Removed support for hardware reported critical battery status.
28 Major changes to command line handling and to the way we use
29 libdockapp, courtesy of Patrice Dumas. This should hopefully fix
30 several long-standing bugs with non-wmaker window managers (in
31 particular Debian bugs #280495 and 293546).
33 Updated to support newer kernels that no longer support
34 /proc/acpi/info - thanks to Samuel Ortiz.
36 Fixed a longstanding issue with redrawing - thanks to Vito
39 This version changes a number of command line options (little used
40 ones, but they're still incompatible changes) due to the
41 libdockapp work. In particular, -w becomes -x, -v becomes -V (and
42 takes an argument rather than being repeated), and -V becomes -v
43 (thanks to libdockapp grabbing -h, -v and -w for itself). Also,
44 long options are now supported for everything in wmacpi (but not
45 acpi, since it doesn't use libdockapp for command line parsing).
48 Added a patch from Patrice Dumas to support newer versions of
51 Updated email address in AUTHORS and manpages.
54 Finalised libdockapp-0.5.0 port - no changes from 2.1rc1.
57 Typo fix in the manpage.
59 Ported to libdockapp-0.5.0 - all this needed was changing the
60 type of the dockapp width and height to unsigned short.
63 Upped version number to 2.0.
67 wmacpi 2.0 goes gold . . .
69 2004 September 28 2.0rc1
70 Added support for switching to capacity mode automatically, on
71 detecting dodgy reports from the battery.
73 Added support for capacity mode on charging, with automatic
74 enabling as per discharging.
78 Hopefully last release before the final 2.0.
81 Implemented the libdockapp port - this seems to close Debian bug
82 #227819, but it hasn't received sufficient testing.
84 Implemented a capacity mode for calculating time remaining (as
85 opposed to the normal current rate mode) - this mode samples the
86 remaining capacity of the battery and notes the time at which it
87 was sampled, and uses a history of samples to estimate the rate of
88 drain on the battery. From there it calculates a value for time
91 Also, various cleanups have gone in:
93 * a reworking of the scrolling code
95 * generic battery number support (rather than just
96 using two pixmaps, one for b1 and one for b2)
98 * stopped the battery glyph from blinking when running on AC
101 Fix for Debian bug #250792 - the parser for the acpi files was
102 too stupid to deal with error conditions. I've now added some
103 basic checking to make it handle the error that caused the bug
104 report, but I'll need to add more later.
107 Collected fixes for the collected fixes below . . .
109 * Manpage fixes, to reflect the reality of the current code.
111 * Code cleanups, to make a few things more sensible. Most notably,
112 the interface for setting the samplerate has changed so that it's
113 no longer inverted and illogical - you now say how many times you
114 want to sample per minute.
116 * Fixed an issue with initialisation - I'd moved the power_init()
117 call below the options parsing code, without dealing with the -m
118 option properly. The end result was that if you told it to monitor
119 a battery number, it would fail saying the battery didn't exist. I
120 moved the check for this out of the options parsing and after the
123 * Fixed a leaking file descriptor in init_ac_adapters.
125 * Implemented a way to handle changing batteries - reinitialise
126 the battery info periodically. I don't know of a better way to do
127 that, since we'd have to do all that parsing anyway to find out if
130 libdockapp is waiting, but I think that's the only change left
131 without more bug repots . . .
134 Collected fixes for various small issues.
136 * Fixed a problem with placement of the window when using the
137 click to place mode - turned out to be a sizehints problem.
139 * Some fixes to the manpage.
141 * Reenabled the CLI build by default - the Debian patches can
142 handle disabling it themselves.
144 * Added a way to disable the scrolling message, since some users
147 I've left the big changes that are needed (like using libdockapp,
148 in the hope that it'll solve the docking problems) until later, so
149 that I can get these smaller fixes out. Hopefully soon . . .
151 2004 January 12 1.99r3
152 . . . and a fix for a fix that didn't fix it . . .
154 2004 January 12 1.99r2
155 Some cleanups and bugfixes found by the wonderful Debian users.
157 It's finally in testing!
159 2003 November 23 1.99
160 Finally claimed the wmacpi name as my own . . .
162 Renamed wmacpi-ng and acpi-ng, renamed the header files, fixed up
165 For the Debian package, also made compilation of the command line
166 tool optional, defaulting to not building it. This is because
167 after the renaming, my acpi clashes with the acpi package that's
168 already in Debian. The command line functionality is now
169 accessible via the -w option to wmacpi.
171 This is wmacpi 1.99, so that I can have a release packaged and in
172 Debian before going to 2.0, so that any bugs that are left can be
173 found by all the extra users.
175 2003 September 26 0.99
176 Fix the last of the old wmacpi code oddities (specifically, the
177 APMInfo struct, which was a completely inappropriate name given we
178 no longer deal with APM, and because of the various code
181 I think this is probably as good as I can make it without getting
182 more feedback and the like, so I'm going to make this version
183 0.99, preliminary to either wmacpi-ng 1.0 or wmacpi 2.0 (depending
184 which direction I go with that).
186 2003 September 23 0.92
187 Fix a few more bugs, and include an option to allow the user to
188 specify how often to sample the ACPI data - some BIOSes disable
189 all interrupts while reading from the battery, which apparently
190 causes some interactivity issues. I have no idea why reading once
191 every three seconds (which is our default), but there've been some
194 Also fixed acpi-ng to properly handle the -a option.
197 Fix a problem I'm seeing with docking the app - if the window name
198 is set to "acpi" rather than "apm" it doesn't dock . . .
201 Make the time display show '--:--' instead of '00:00' when the
202 time remaining is 0 - I think this is reasonable, since it'll only
203 get into this state when the present rate value is 0. This only
204 happens when the battery is fully charged and neither discharging
205 or charging, or when the battery is completely drained. In any of
206 these states the time remaining is of very little interest, so we
207 don't lose anything. We also get to handle the (sadly, very
208 common) case where the ACPI subsystem doesn't report sane values
209 for the things we depend on.
212 Make the time display show nothing (as opposed to 00:00) when the
213 time remaining is unknown, as requested by Emma Jane Hogbin.
215 Respect the critical level specified on the command line, and add
216 a new message to differentiate between the command line critical
217 level and the critical state reported by the battery.
219 Speed up the message scrolling, so that there isn't quite such a
220 painful delay between repeats. Also, up the speed when the battery
221 is low, more when it's critical, and scroll continuously when it's
224 Finally, add support for disabling the blinking power and battery
225 glyphs from the command line, as requested by Sebastian
226 Henschel. We still blink the battery glyph when the battery
227 reports hardware critical level - I think that's worth being a bit
230 Also, added an acpi-ng manpage.
233 Properly fix the AC adapter issue - it's not much use adding the
234 infrastructure and then forgetting to fix the code that uses it.
236 Fix the time disiplay so that it doesn't try to display values
237 greater than 99:59, since the display area won't fit anything
241 Bugfixes, to handle two problems: the case where something like
242 the present rate or some such is "unknown" (reported initially by
243 Emma Jane Hogbin, and where the AC adapter is called something
244 other than "AC" (reported by Sebastian Henschel). This an 'a'
245 release because I can't test these myself . . .
248 Finally got rid of that annoying button - that space now contains
249 a 'B 1' or 'B 2' (only those two at present, since I'm too lazy to
250 fix it so that the number is generic. It should work fine for
251 anyone who doesn't have a freakish system with more than two
254 A few more code cleanups.
257 libacpi cleanups and reworking - we now handle the charging
258 battery case properly, it seems.
260 Also, some attempts to make error printing a bit cleaner; still a
261 long way to go on that, though . . .
264 Removed process_plugin_timer(), since it was doing nothing useful
268 Removed libapm.c - wmacpi-ng is specifically for ACPI, with no APM
272 Some more code cleanups, designed to move libacpi to more of a
273 library than something built into wmacpi-ng. This is useful with
274 the seperate programs, though at present it's not used much.
277 Added a command line tool, acpi-ng to query battery status from
281 Implemented multiple battery support, and averaging of the samples
282 in an attempt to even out the jumpiness of the timer.
285 More major code cleanups: in particular the handling of the power
286 panel and the message has been cleaned up so that it's actually
289 Next step from here is to actually implement handling of multiple
290 batteries, so that if there's a fully charge second battery
291 available it reports the correct time remaining (based on the
292 present rate of power consumption and the sum of the two battery's
293 remaining capacities).
296 Some major reworking of the internals, to help fix the handling of
297 multiple batteries and such things.
300 Code cleanups to fix various problems with corner cases.
303 Added support for multiple batteries: I took the simple route of
304 displaying only one battery per instance - to do more I'd need to
305 hack with the display code, and I'm not ready for that yet.
307 Added a -m option to specify the battery number to monitor.
310 Changed package completely, to support the new ACPI code as of
313 Since this code hasn't been touched in more than a year, I figure
314 I might as well have a go at hacking on it . . .
316 -- Simon Fowler, <simon@dreamcraft.com.au>
319 Updated ACPI statistics gathering code for the latest ACPI patch from
320 Intel. Now uses/checks for subsystem version 20020214+. Redone the version
324 Little fix to ACPI version check so that I don't have to make a new
325 version each time a new kernel comes out
328 Split ACPI and APM portions in different source files
329 Added power_init() function - handles checking subsystem presence,
330 version, etc. Enumerates batteries in ACPI implementation
331 ACPI: Beginnings of multiple battery support - not fully implemented
332 ACPI: Get the battery ID from /proc/acpi/battery instead of hard-coding
333 it in - also helps with multi battery stuff
334 Added some stupid command line help
335 Added -c option to set critical battery alarm level. Defaults to
336 10 percent, and added -b option to make noise when this critical level
338 APM: Updated for critical alarm stuff
339 Made a 20 color "low" quality pixmap for machines running 8bit displays
340 Updated README with some stuff, made separate INSTALL file
343 Update for intel ACPI release version 20010313
344 Minor updates for new /proc layout
347 Update for intel ACPI release verion 20010302
348 Proc format changed a little bit, so updates were necessary.
349 Added a check for specific acpi subsystem version - since each
350 new version seems to have a new interface, better be safe than
352 As usual, please test and report to me.
354 This ONLY works with linux acpica 20010302. Download this version from
355 http://developer.intel.com/technology/iapc/acpi/downloads.htm - it's a
359 Finally read through the ACPI specification. Hah, they had all my
360 questions answered :) Thus,
362 Confirmed remaining percentage formula (correct)
364 Now calculate "time remaining" according to the spec formula
366 Removed "battery load" hack since we now have "time remaining"
368 Fixed bug in display_percentage (10% didn't display right)
370 Released version 1.21
373 Added support for ACPI. This is very untested, and not very clean.
374 This has been tested on machines with only ONE battery, and only
375 with kernel 2.4.2 (that's where ACPI started to work for me)
377 Added some hackery to do with ACPI. Check README.
382 Fixed all the stuff so that wmapm works as advertised:
383 Fixed dumb bug where after charging was done new message didn't scroll.
385 Added support for fucked APM bioses that display stuff wrong. (See
386 README to learn how to enable it. Obviously, it's disabled by default)
388 Reorganized apminfo structure and got rid of redundancy.
390 Reorganized acquire_apm_info. All APM data is processed there.
392 Fixed display_state to do the Right Thing.
394 Fixed red blinking button to actually blink on critical battery, and
395 to stop when it isn't critical anymore. I don't think it ever worked