Commit Graph

145 Commits

Author SHA1 Message Date
Alastair Poole 6b70114c6d battery/batman: Various Improvements.
This adds support for multiple batteries on FreeBSD in line with
Linux and OpenBSD. Also display the vendor and model where
applicable. There are also fixes specific to the sysctl interface.
Fixes a potential crash and let's us have 100 batman gadgets if
wanted.
2019-11-30 20:46:09 +00:00
Charlie Root 61d45313c4 sysinfo: Use unifed API for querrying CPU state.
Summary:
This finally got unified. Fix for the CPU gadget within
sysinfo. One API for MP and SP machines.

Reviewers: raster, cedric, stephenmhouston, devilhorns

Subscribers: zmike

Tags: #enlightenment-git

Differential Revision: https://phab.enlightenment.org/D9023
2019-06-03 10:48:28 +01:00
Stephen 'Okra' Houston 2081b92f07 Batman: Fix typo where batman was never resuming when screensaver returned. 2019-01-23 20:56:18 -06:00
Stephen 'Okra' Houston 13d2ae75d3 Batman: Don't leak stringshare when returning from update early. 2019-01-23 20:55:40 -06:00
Stephen 'Okra' Houston 42d16a0ec1 Batman Udev: Don't include batteries who have unknown status, have never had a full charge, and have no charge rate.
Summary: This fixes issues where erroneous udev detections of batteries are included. @bu5hm4n and I both have had issues where udev thinks we have two batteries because our hid/touchscreens report a battery even though they are not accurate.  The problem is batman will then think there are two batteries and calculate battery percentage based off both batteries.  For instance if the laptop battery is 100% and it is detecting this phony hid battery, the result is batman thinks you are at 50% battery life.  This also fixes the battery removal code which should only remove the battery with the syspath the function is called with.  The code was actually removing every single battery.

Test Plan: You have to have a device that udev reports two batteries for when there aren't two.  It should be harmless to not include batteries that have never been charged, have no charge, and have unknown for their status.

Reviewers: bu5hm4n, raster, zmike!, devilhorns

Reviewed By: raster

Subscribers: cedric, bu5hm4n

Tags: #enlightenment-git

Differential Revision: https://phab.enlightenment.org/D7736
2019-01-23 12:57:57 -06:00
Carsten Haitzler a57aa83793 report error from system() calls that dont run cleanly - warn fix 2019-01-12 21:11:31 +00:00
Carsten Haitzler 147d945600 warn - make buffer bigger to avoid trunc warn 2019-01-12 01:51:43 +00:00
Carsten Haitzler c09ba20464 warn - make buffer bigger to avoid trunc warn 2019-01-12 01:51:43 +00:00
Carsten Haitzler cb9f05641b warn - make buffer bigger to avoid trunc warn 2019-01-12 01:51:43 +00:00
Carsten Haitzler c3d15b2843 warn - make buffer bigger to avoid trunc warn 2019-01-12 01:51:43 +00:00
Carsten Haitzler e4339f4819 bryce - improve usability from code and user by having std right menu
now right click on any gagdte in bryce and they ALL have a menu that
allows removal of the gagdte bar or the gadget as well as access to
gadget settings AND the ability for gadgets to extendthis menu like
lunhcer does per icon. now it's standard behavior everywhere which is
much easier to use and discover. it also removes code from every
gadget to do their own "button 3" handling as its handled centrally
making the code in gadgets simpler.

this is part of my effort to improve usability (mostly discoverability
and accessibility of settings/features).

also  long press left mouse gets u gadget right click menu

this has to move many modules/gadgets actions to mouse up instead of
mouse down so the bryce has a chance to trap the events first and set
hold flags. but now long press for 0.5 sec and bryce menu come sup
(with left mouse .. so touch friendly).

in addition move context menu hanbdling to e_gadget instead of in
bryce and in e_gadget. a context callback is called so different
systems can still do different things. this should probably change to
always pop up a mnenu and simple call populate callbacks for site
owner specific content.

all in all it makes the new gagdtes more consistent, easier to use
(without a right mouse button), doesn't need special action bindings
etc. etc.
2018-10-11 16:25:10 +01:00
Stephen Houston 0fd5552c3b Sysinfo: Use appropriate format strings and make sure to set format
before value.
2018-08-08 10:25:30 -05:00
Stephen Houston 30a7c82320 Sysinfo Batman Upower - use the correct functions for processing. 2018-08-08 09:38:25 -05:00
thierryOrdissimo fff3f69114 Update of the dbus calls of the upower module.
Reviewers: zmike, devilhorns, stephenmhouston

Reviewed By: zmike, stephenmhouston

Subscribers: cedric

Tags: #enlightenment-git

Differential Revision: https://phab.enlightenment.org/D6386
2018-08-08 09:17:08 -05:00
Al Poole 46764d5975 sysinfo: fix linux build. 2018-02-24 18:40:24 +00:00
Al Poole e33a14b7e8 sysinfo: fix cpuclock for BSD.
This lets us use the cpuclock gadget on FreeBSD machines.

@fix T6259
2018-02-24 18:19:48 +00:00
Mike Blumenkrantz 846c84639b use per-instance event handler for batman powersave eventing
==19679== Invalid read of size 4
==19679==    at 0x5CC90EF: _ecore_event_message_handler_handler_del (ecore_event_message_handler.c:194)
==19679==    by 0x5CCA332: ecore_event_message_handler_del (ecore_event_message_handler.eo.c:22)
==19679==    by 0x5CBC7E3: ecore_event_handler_del (ecore_events.c:51)
==19679==    by 0x2A23F4F1: _batman_removed_cb (batman.c:579)
==19679==    by 0x6A9A33D: _eo_evas_smart_cb (evas_object_smart.c:78)
==19679==    by 0xC166F4D: _event_callback_call (eo_base_class.c:1560)
==19679==    by 0xC16728E: _efl_object_event_callback_legacy_call (eo_base_class.c:1633)
==19679==    by 0xC167334: efl_event_callback_legacy_call (eo_base_class.c:1636)
==19679==    by 0x6A889CA: _efl_canvas_object_efl_object_event_callback_legacy_call (evas_object_main.c:1157)
==19679==    by 0xC167334: efl_event_callback_legacy_call (eo_base_class.c:1636)
==19679==    by 0x6A9CBA7: evas_object_smart_callback_call (evas_object_smart.c:1037)
==19679==    by 0x500B1D: _gadget_remove (e_gadget.c:426)
==19679==    by 0x5037A9: _gadget_menu_remove (e_gadget.c:1263)
==19679==    by 0x552600: _e_menu_active_call (e_menu.c:2066)
==19679==    by 0x55445E: _e_menu_cb_mouse_up (e_menu.c:2809)
==19679==    by 0x5CC9933: _ecore_event_message_handler_efl_loop_message_handler_message_call (ecore_event_message_handler.c:359)
==19679==    by 0x5CD31D1: efl_loop_message_handler_message_call (efl_loop_message_handler.eo.c:14)
==19679==    by 0x5CCDA73: _efl_loop_message_process (efl_loop.c:681)
==19679==    by 0x5CCDC64: efl_loop_message_process (efl_loop.c:711)
==19679==    by 0x5CC7453: _ecore_main_loop_iterate_internal (ecore_main.c:2444)
==19679==    by 0x5CC457E: _ecore_main_loop_begin (ecore_main.c:1173)
==19679==    by 0x5CCC0CD: _efl_loop_begin (efl_loop.c:97)
==19679==    by 0x5CCED13: efl_loop_begin (efl_loop.eo.c:50)
==19679==    by 0x5CC46F7: ecore_main_loop_begin (ecore_main.c:1246)
==19679==    by 0x5476B6: main (e_main.c:1092)
==19679==  Address 0x212af268 is 40 bytes inside a block of size 48 free'd
==19679==    at 0x4C30D18: free (vg_replace_malloc.c:530)
==19679==    by 0x5CC9BE6: _ecore_event_message_handler_efl_loop_message_handler_message_call (ecore_event_message_handler.c:389)
==19679==    by 0x5CD31D1: efl_loop_message_handler_message_call (efl_loop_message_handler.eo.c:14)
==19679==    by 0x5CCDA73: _efl_loop_message_process (efl_loop.c:681)
==19679==    by 0x5CCDC64: efl_loop_message_process (efl_loop.c:711)
==19679==    by 0x5CC7453: _ecore_main_loop_iterate_internal (ecore_main.c:2444)
==19679==    by 0x5CC457E: _ecore_main_loop_begin (ecore_main.c:1173)
==19679==    by 0x5CCC0CD: _efl_loop_begin (efl_loop.c:97)
==19679==    by 0x5CCED13: efl_loop_begin (efl_loop.eo.c:50)
==19679==    by 0x5CC46F7: ecore_main_loop_begin (ecore_main.c:1246)
==19679==    by 0x5476B6: main (e_main.c:1092)
==19679==  Block was alloc'd at
==19679==    at 0x4C31A1E: calloc (vg_replace_malloc.c:711)
==19679==    by 0x5CC8EE1: _ecore_event_message_handler_handler_add (ecore_event_message_handler.c:148)
==19679==    by 0x5CCA0FB: ecore_event_message_handler_add (ecore_event_message_handler.eo.c:14)
==19679==    by 0x5CBC790: ecore_event_handler_add (ecore_events.c:35)
==19679==    by 0x2A23FB87: _batman_created_cb (batman.c:661)
==19679==    by 0x6A9A33D: _eo_evas_smart_cb (evas_object_smart.c:78)
==19679==    by 0xC166F4D: _event_callback_call (eo_base_class.c:1560)
==19679==    by 0xC16728E: _efl_object_event_callback_legacy_call (eo_base_class.c:1633)
==19679==    by 0xC167334: efl_event_callback_legacy_call (eo_base_class.c:1636)
==19679==    by 0x6A889CA: _efl_canvas_object_efl_object_event_callback_legacy_call (evas_object_main.c:1157)
==19679==    by 0xC167334: efl_event_callback_legacy_call (eo_base_class.c:1636)
==19679==    by 0x6A9CBA7: evas_object_smart_callback_call (evas_object_smart.c:1037)
==19679==    by 0x501172: _gadget_object_create (e_gadget.c:548)
==19679==    by 0x506B90: e_gadget_type_add (e_gadget.c:2056)
==19679==    by 0x2A23CA44: sysinfo_init (mod.c:161)
==19679==    by 0x2A23CCF5: e_modapi_init (mod.c:203)
==19679==    by 0x556814: e_module_enable (e_module.c:524)
==19679==    by 0x555DF9: e_module_all_load (e_module.c:324)
==19679==    by 0x554EFF: _module_done_cb (e_module.c:73)
==19679==    by 0x73531C1: eio_async_end (eio_file.c:510)
==19679==    by 0x5CF8D67: _ecore_thread_kill (ecore_thread.c:229)
==19679==    by 0x5CF8E1C: _ecore_thread_handler (ecore_thread.c:256)
==19679==    by 0x5CB97D0: _ecore_main_call_flush (ecore.c:1090)
==19679==    by 0x5CB9858: _thread_callback (ecore.c:1101)
==19679==    by 0x5CF51F3: _ecore_pipe_handler_call (ecore_pipe.c:602)
==19679==    by 0x5CF5529: _ecore_pipe_read (ecore_pipe.c:725)
==19679==    by 0x5CC3677: _ecore_call_fd_cb (ecore_private.h:476)
==19679==    by 0x5CC6793: _ecore_main_fd_handlers_call (ecore_main.c:2051)
==19679==    by 0x5CC7414: _ecore_main_loop_iterate_internal (ecore_main.c:2439)
==19679==    by 0x5CC457E: _ecore_main_loop_begin (ecore_main.c:1173)
==19679==    by 0x5CCC0CD: _efl_loop_begin (efl_loop.c:97)
==19679==    by 0x5CCED13: efl_loop_begin (efl_loop.eo.c:50)
==19679==    by 0x5CC46F7: ecore_main_loop_begin (ecore_main.c:1246)
==19679==    by 0x5476B6: main (e_main.c:1092)
2018-02-22 11:14:33 -05:00
Ross Vandegrift 629f7d41c8 clean up .desktop files and misc typos
Summary:
Drop deprecated Encoding key from desktop files

The Encoding key is no longer required, all desktop files are assumed to
be UTF-8 encoded.  See details at:
https://standards.freedesktop.org/desktop-entry-spec/1.1/apc.html

Fix various typos and misspellings

lintian, Debian's package checker, uses strings to check for common typos
in compiled binaries.  This change fixes the ones it identified in 0.22.1.

Reviewers: zmike!

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5585
2018-01-04 09:57:52 -05:00
Mike Blumenkrantz bd88282047 remove autotools 2017-11-20 07:05:36 -05:00
Mike Blumenkrantz 99db9e2557 more E_BITFIELD conversions 2017-11-08 09:22:24 -05:00
Mike Blumenkrantz 59fa0e418d use E_BITFIELD define for bitfield struct members
on release builds this will be a bitfield, on devel builds it will make
bools a normal unsigned char for easier debugging
2017-11-07 10:39:56 -05:00
Mike Blumenkrantz 753df97428 disable cpuclock powersave updating for demo gadgets 2017-11-02 07:31:57 -04:00
Carsten Haitzler 929037aaa0 battery modules - actually set ac power flag based on ac presence
this should fix T3649

@fix
2017-10-18 13:32:50 +09:00
Stephen Houston fdbf49af1b Sysinfo: Cpuclock, Netstatus, and Thermal now use progressbars in the popups to unify and match all sysinfo gadgets. 2017-09-27 17:19:47 -05:00
Stephen 'Okra' Houston 20a96271ca Update netstatus in/out in the same file read. Fix cpufreq to use powersave again. 2017-09-12 12:10:38 -05:00
Carsten Haitzler 14e1583cd0 Revert "Sysinfo gadgets: Revert all uses of faulty e_powersave_sleeper."
This reverts commit f8e17b67e4.
2017-09-12 11:03:42 +09:00
Stephen 'Okra' Houston f8e17b67e4 Sysinfo gadgets: Revert all uses of faulty e_powersave_sleeper. 2017-09-11 13:24:54 -05:00
Stephen 'Okra' Houston 3b7926a20a Netstatus: Average out throughput when time elapsed is greater than 1 second.
This isn't very accurate but seems to be what other tools that check at slower rates than every second do.  For instance if you are checking every 10 seconds and in that time frame 500 kb was received, was the throughput for each second 50 kb? No, not likely, but that is the result you will see here.  I guess this is one of those close enough things.  Thanks to @davemds for reporting this issue.
2017-09-08 16:16:19 -05:00
Stephen 'Okra' Houston 7f3e7d933e Show netstatus output in bits per second while still polling based on ticks to avoid unnecessary wake ups. 2017-09-08 15:18:23 -05:00
Stephen 'Okra' Houston 6f6f344c0a Netstatus: Use proper label for throughput in config. 2017-09-08 14:11:00 -05:00
Stephen 'Okra' Houston ce61c37782 Netstatus: Don't show an incorrect unit on the popup label. 2017-09-08 09:29:53 -05:00
Mike Blumenkrantz b5e75eb264 formatting
lot of mixed spaces/tabs here made the code unreadable
2017-08-29 15:32:18 -04:00
Stephen 'Okra' Houston 4a22d2f178 Don't dereference NULL pointers in sysinfo and cpuclock.
This fixes @CID1379941 and @CID1379947
2017-08-25 15:01:39 -05:00
Stephen 'Okra' Houston 5bcdfb0421 CPUMonitor: Don't pack the box in sysinfo mode. 2017-08-24 19:39:20 -05:00
Stephen 'Okra' Houston 1af5125cc9 Batman: Set the demo gadget to have full battery. 2017-08-24 08:08:41 -05:00
Stephen 'Okra' Houston 30ee8c5284 CPUMonitor: Make sure to set the number of cores so aspect calcs. 2017-08-24 08:06:20 -05:00
Stephen 'Okra' Houston c7e6b52d2e CPUMonitor: Fix aspect by using correct theme names. This requires an EFL update too. 2017-08-23 19:02:46 -05:00
Stephen 'Okra' Houston ad46d041a8 Gadgets: Don't set gadgets to expand. 2017-08-23 09:55:59 -05:00
Stephen 'Okra' Houston 993f8ad519 Sysinfo Gadgets: Provide only demo data and don't poll/thread when gadgets are in demo mode.
This fixes T5816
2017-08-22 10:24:16 -05:00
Stephen 'Okra' Houston 12b8f482ed CPUMonitor: Don't try and delete objects after the gadget has been removed.
This fixes T5816
2017-08-22 10:24:16 -05:00
Mike Blumenkrantz c31cb51499 replace <br> with <ps/> for all text 2017-08-21 10:16:35 -04:00
Carsten Haitzler 16a702ac73 meson - make modules with helper binaries simpelr to build
this makes modules with a binary helper simpler to build using the
parent module build harness as much as possible. i probably could
simplify this down to a single binary only and it is either setuid or
not... define the deps and flags ... it could be a bit simpler. not
much. i also removed the if's in the build for battery and ifdefs in
src handle it instead (imho simpler to maintain in src). sysinfo still
uses the if's there.
2017-08-11 19:50:48 +09:00
Al Poole 6bd2d74cdc sysinfo: fix single-core OpenBSD results.
Summary:
Basically missed this one. CPU_STATES is 6 as it's still supposedly a work-in-progress. But we only need 5 for all
queries (for now).

Reviewers: stephenmhouston, zmike!

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5070
2017-08-04 17:22:32 -04:00
Carsten Haitzler ec37c5e7eb batman - fix buffer warning by hanving big enough stack buffer
makes gcc warnings happy but otherwise doesn't hurt us as the buffer
should be at the top of the stack (last pushed) and only bytes used
will be allocated.
2017-08-04 14:09:25 +09:00
Carsten Haitzler 03aeb1d463 fix fallthrough warnings 2017-08-04 12:35:27 +09:00
Carsten Haitzler 84bf48b3ed module build - clean up and fix meson install of pretty much all modules
so we';re missing installing desktop files. edj icon files, wizard
data files in the wrong place, and much more. this also cleans up the
module meson build of pretty much all modules and make their build
files cimple and consistent so it's far easier to re-use things from
one module to the next. we should aim for simplicity, consistency
between as much as possible so we can refactor and turn into maybe
functions later. imho that starts with consistency though. until i can
see all the common patterns clearly, i don't want to write functions
yet. it's easier to see if all the files are consistently using the
same vars and formatting etc. etc. etc.

but either way the installation needs fixing so it installs all files
in the right places with the right permissions etc. etc. etc.

this doesn't fix all module build files bt all the ones i found that
were broken installs and they use what i think is a cleaner/simpler
template, BUT there is far too much copy & pastage here... far too
much.i need to find a cleaner way to automate this.
2017-07-27 14:29:30 +09:00
Stephen 'Okra' Houston 59a6892984 Netstatus - Fix dupclicate Receiving labels. 2017-07-24 13:53:53 -05:00
Mike Blumenkrantz e8dc71cd48 meson. 2017-07-20 17:18:33 -04:00
Al Poole b57802b2c4 sysinfo: Fix BSD build.
Reviewers: stephenmhouston, zmike!, raster

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5027
2017-07-19 08:55:09 -04:00
Carsten Haitzler e7eaef62f3 powersave usage - dont use usleep at all. pwoersave sleep replaces it
also... there isn't realy a need to track the screensaver state...
powersave sleep will drop back to an hour between sleeps if we're in
freeze mode (it could be longer or even be indefinite). it will be
woken up if powersave state changes...
2017-07-19 10:31:20 +09:00