Commit Graph

159 Commits

Author SHA1 Message Date
Alastair Poole 876f509be4 sysinfo: Don't use fallback when not implemented.
There is no fallback mechanism for BSD systems. We need to avoid
polling here as it will break E on first poll of data.

Essentially, if we fail to find a battery, we use a broken
fallback mechanism which breaks E. Don't do this :)
2020-04-17 15:25:37 +01:00
Simon Tischer 4acee9e448 batman - fix one more slider issue using mouse wheel
Reviewed-by: Christopher Michael <devilhorns@comcast.net>
Differential Revision: https://phab.enlightenment.org/D11710
2020-04-15 08:51:14 -04:00
Simon Tischer 5853fca2d4 netstatus/batman/pager - slider stepping fixes with mousewheel
detail work on pager(gadget) settings

- changed indicator format to slider format
- changed steps to make more sence

Reviewed-by: Christopher Michael <devilhorns@comcast.net>
Differential Revision: https://phab.enlightenment.org/D11693
2020-04-13 08:09:55 -04:00
Simon Tischer 37ae415385 sysinfo/thermal - fix slider stepping with mouse wheel
Reviewed-by: Christopher Michael <devilhorns@comcast.net>
Differential Revision: https://phab.enlightenment.org/D11680
2020-04-11 09:14:01 -04:00
Alastair Poole d5790f65fb sysinfo: Fix swap for FreeBSD and DragonFlyBSD. 2020-04-09 16:59:06 +01:00
Simon Tischer 90b36f64c0 thermal/netstatus/memusage/cpumonitor - allow setting to open although the popup is visible
Reviewers: devilhorns, raster

Reviewed By: raster

Subscribers: netstar, cedric, zmike

Tags: #enlightenment-git

Differential Revision: https://phab.enlightenment.org/D11639
2020-04-06 10:28:12 +01:00
Simon Tischer 8194f7c663 cpuclock - allow setting to open although the popup is visible
Reviewers: devilhorns, raster

Subscribers: cedric, zmike

Tags: #enlightenment-git

Differential Revision: https://phab.enlightenment.org/D11633
2020-04-03 10:24:12 +01:00
Carsten Haitzler 8a2c4ea70e cpuclock - fix default freq to be in khz as it should be - fix warn 2020-01-15 19:06:24 +01:00
Carsten Haitzler be8792a2ee sysinfo - cpuclock - migrate from custom suid to e_system like cpufreq 2020-01-15 11:33:55 +00:00
Carsten Haitzler 1f7c6cc07c Batman gadget upower typo fixes
Summary: this fixes two typo errors in batman.h and batman_upower.c

Reviewers: bu5hm4n, raster

Reviewed By: raster

Subscribers: cedric, zmike

Tags: #enlightenment_gadgets

Differential Revision: https://phab.enlightenment.org/D10964
2020-01-03 16:43:13 +00:00
Alastair Poole 1e3f6f3cae batman: Free battery when final instance removed.
The battery status is shared between instances. The only time
this should be freed is when only one instance remains. Now
multiple instances can be added or removed without hindering
the display of sysinfo and batman instances. Inline with
recent FreeBSD and OpenBSD fixes.
2019-12-22 22:00:18 +00:00
Alastair Poole e9200fb081 batman: Fix adding batteries on Linux.
When we add a batman gadget to the desktop it previously would
reset the values of all existing batman instances. Here we
ignore the dummy instance used when adding to desktop or
a gadget bar.
2019-12-22 21:47:33 +00:00
Alastair Poole 72a962921c batman_sysctl: Fix small logic bug for BSD systems.
We should be counting the number of instances other than the
one we are deleting.
2019-12-22 21:45:23 +00:00
Alastair Poole 389e9bfb02 batman: FreeBSD and OpenBSD (sysctl)
After the work on the sysinfo gadgets for Linux the BSD variant
code was a little bit of an afterthought. These changes provide
us with unlimited battery/sysinfo gadgets and reliable status
for our battery or batteries and our power supply.

This patch allows us to add and remove (many) batman gadgets to
the desktop without negatively affecting existing instances.
It also takes into account additional sysinfo gadgets that include
a batman instance.

Iterating through the existing array of sysinfo gadgets to find
multiple instances and apply changes it not ideal but it does
not affect the Linux code, and keeps this change relatively
simple.

Tested on FreeBSD and OpenBSD with various hardware setups.
Thanks to Peter2121 (Quelrond) for his testing.

There is work to now improve batman's Linux behaviour to match that
of the behaviour on BSD systems.
2019-12-02 20:47:01 +00:00
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