Commit graph

30 commits

Author SHA1 Message Date
Daniel Eklöf
4f70346601
module/battery: re-open /sys/class/power_supply/<battery>/ every update 2021-01-14 11:08:57 +01:00
Daniel Eklöf
cfeb5260dd
module/battery: re-open files on every update
Closes #25
2021-01-14 11:08:57 +01:00
Daniel Eklöf
4a9f550069
module/battery: don’t crash if we fail to read from ‘status’ 2020-11-25 20:41:44 +01:00
Daniel Eklöf
cadf227bc6
module/battery: doh! fix spelling of ‘status’ 2020-11-14 23:03:11 +01:00
Daniel Eklöf
c0c5df0f6a
module/battery: map “Not charging” to STATE_DISCHARGING 2020-11-14 23:02:18 +01:00
Daniel Eklöf
19d91dbb44
module/battery: estimate remaining time from charge+current
Time remaining is now taken from 'time_to_empty_now' if available. If
not, use 'energy' + 'power' if available, and if those does not exist,
use 'charge' + 'current'.

If neither exists, hardcode to 99:00.
2020-06-21 20:44:34 +02:00
Daniel Eklöf
ae871853ca
module/battery: don't crash if 'sysname' in udev event is NULL 2020-06-20 11:21:44 +02:00
Daniel Eklöf
86e6aea152
module/battery: poll-interval = 0 now disables polling 2020-06-20 11:02:57 +02:00
Daniel Eklöf
0b1333aa03
module/battery: add support for 'charge_full' and 'charge_full_design' 2020-06-05 13:44:59 +02:00
Daniel Eklöf
1864d68961
module/battery: don't need 'energy' unless we're estimating time left 2020-06-05 13:44:38 +02:00
Daniel Eklöf
50b4bf3783
module/battery: use time_to_empty_now if available 2020-06-05 13:36:10 +02:00
Daniel Eklöf
cc9c5109e9
module/battery: handle 'manufacturer' and 'model_name' not being present 2020-06-05 13:29:38 +02:00
Daniel Eklöf
86522d653d
modules: move 'content' and 'anchors' to MODULE_COMMON_ATTRS
All modules implement these. The only one that differs is the i3
module. It still implements them, but 'content' uses an internal
verifier function.
2020-01-24 21:08:39 +01:00
Daniel Eklöf
b6e61f9c7e modules: use calloc() instead of malloc()
In cases where it makes sense, use calloc() instead of malloc():

* When allocating large objects with many members, many for which
  NULL/0 is a good default value.
* Arrays etc where we explicitly initialize to NULL anyway.
2019-02-09 11:11:31 +01:00
Daniel Eklöf
ae5029826b cmake: break out bar stuff to separate CMakeLists.txt 2019-02-07 12:06:16 +01:00
Daniel Eklöf
452c4b6015 plugins: export a const function pointer interface struct 2019-01-26 18:32:04 +01:00
Daniel Eklöf
0d591fe5a1 allow plugins to be compiled into the f00bar main binary 2019-01-14 20:57:03 +01:00
Daniel Eklöf
4a26664d8d particles: remove config-verify.h from particle.h 2019-01-13 17:41:39 +01:00
Daniel Eklöf
bc62843c91 modules: get rid of struct module_info
Since this struct only contained function pointers, make all modules
export those functions directly.

The plugin manager now defines a module interface struct, and fills it
it by dlsym:ing the functions that used to be in module_info.
2019-01-13 17:09:11 +01:00
Daniel Eklöf
76d135e257 module: remove module_run_context
Store abort_fd directly in the module struct instead. This then allows
us to pass the module pointer as-is to the modules' run functions.
2019-01-13 15:34:59 +01:00
Daniel Eklöf
acdeff3b6e module: remove ready_fd
All modules are expected to handle a call to content() after having
been instantiated.

I.e. modules *cannot* even expect run() to have started running.
2019-01-13 15:25:39 +01:00
Daniel Eklöf
65cfcfb2de module/battery: initialize state in constructor 2019-01-13 15:08:09 +01:00
Daniel Eklöf
a425378576 config: allow font/foreground attributes on modules too
Previously we allowed it on the bar, and on all particles. Now we also
allow it on all modules.

This allows us to specify a "default" font/foreground on a per-module
basis, having it applied to all the modules particles.
2019-01-13 14:24:44 +01:00
Daniel Eklöf
8dc278aaf2 config: pass a struct with inheritable values
For now, font and foreground color
2019-01-13 14:13:14 +01:00
Daniel Eklöf
9944a8f972 modules: don't assume module content is a dictionary
This is done by having each module implement a top-level verifier
function.
2019-01-13 11:54:57 +01:00
Daniel Eklöf
71515e4079 config: conf_verify_dict() now assumes attr list is NULL-terminated 2019-01-13 11:37:05 +01:00
Daniel Eklöf
ec4a47e5db modules: rename module_info -> plugin_info
This is the same name used by particles.
2019-01-13 11:18:32 +01:00
Daniel Eklöf
42104db1ca modules: move files back to a common directory (again) 2019-01-12 21:24:20 +01:00
Daniel Eklöf
8809cbb481 Put each module in its own subdirectory 2019-01-12 11:19:57 +01:00
Daniel Eklöf
b7e7ad522f remove module subfolders 2018-12-29 22:18:08 +01:00
Renamed from modules/battery/battery.c (Browse further)