Commit graph

23 commits

Author SHA1 Message Date
Tobias Witek
c45dedb0e8 [modules/memory] Use MemAvailable, if present
If the kernel supports it, MemAvailable contains an estimation
of the memory available for usage.

Use this to calculate the amount of free memory (as this seems to
closely match the output of gnome-system-monitor).

fixes #253
2018-08-08 10:09:06 +02:00
Tobias Witek
b77fee4af2 [modules/memory] Fix "percentage used" calculation
For some reason, using "used/total" is more accurate than "(total -
free)/total". Probably there's some missing gap of what is counted as
used vs. what is counted as free.

fixes #229
2018-02-12 20:35:50 +01:00
Tobias Witek
81e1b25687 [modules/memory] Use /proc/meminfo instead of psutil
Try to be more accurate in calculating memory by using the /proc/meminfo
interface directly.

fixes #181
2017-09-20 06:26:39 +02:00
Frederic Junod
37434aa5e5 [module/memory] Add new format string parameter 2017-07-15 09:48:23 +02:00
Frederic Junod
b0268a412b Add bumblebee.util.asbool function
Harmonize the boolean parameter value. Now `t`, `true`, `y`, `yes`, `on`, `1` are considered truthy and
everything else falsy.
2017-07-08 06:56:20 +02:00
Frederic Junod
fd0a09945b [module/memory] Fix parameter prefix in doc 2017-07-07 08:49:31 +02:00
ibrokemypie
7527cfcb48 [modules/memory] Add parameter to only show used memory
No change to default behaviour, but adds boolean to only display used rather than used, total and percentage.

To only show used  memory:
-p memory.usedonly=1
2017-06-02 00:29:09 +10:00
Chris LaRose
fe11bad826 Silence ImportErrors for optional dependencies. Fixes #55. 2017-03-25 18:35:56 -07:00
Tobi-wan Kenobi
71582cbcd7 [modules/ping] Re-enable ping module
Show RTT measured by ICMP echo request/replies for a given host.

For that to work correctly, change the "full_text" callback for a widget
so that the widget itself is also passed as argument in the callback
method. That actually makes a lot of sense, since the widget can now be
used as a repository of state information.

see #23
2016-12-11 11:37:24 +01:00
Tobi-wan Kenobi
d41c142d4a [modules/memory] Re-enable memory usage module
Add module that shows RAM consumption and opens the gnome-system-monitor
on click.

see #23
2016-12-10 19:20:19 +01:00
Tobi-wan Kenobi
a8a6c9bba2 [core] Refactor engine
This is going to be a bit more comprehensive than anticipated. In order
to cleanly refactor the core and the engine, basically start from
scratch with the implementation.

Goals:

* Test coverage
* Maintain backwards compatibility with module interface as much as
  possible (but still make modules easier to code)
* Simplicity

see #23
2016-12-03 20:38:54 +01:00
Tobi-wan Kenobi
2f3f171ca5 [core] Remove alias from module
Hide alias concept for modules in the engine. That way, the individual
modules never get to know about whether a module has been aliased or
not.

see #23
2016-12-02 18:53:34 +01:00
Tobi-wan Kenobi
36d723e7e6 [modules/memory] Adapt limits
Limits are now actually against the amount of memory used, instead of
memory still free (more intuitive).

fixes #12
2016-11-15 20:34:14 +01:00
Tobias Witek
caceb6f20f [help] Update and beautify the commandline help output 2016-11-05 16:18:53 +01:00
Tobias Witek
26f5fd3064 [modules] Re-enable preconfigured on-click actions 2016-11-05 15:28:33 +01:00
Tobias Witek
4e648cf009 [modules] Add module-specific configuration
Big oversight in my previous commits: Widgets need to be able to have
specific configurations (i.e. the path for different instances of the
"disk" module has to be different).

To account for that, it is now possible to assign an "alias" to a module
instance using ":" (for example: -m "disk:home"). This alias is then
used for the configuration parameter resolution automatically, for
example:

-m disk:home -p home.path=/home

As a consequence, parameter names in the module code are now relative to
the module, which means: shorter!
2016-11-05 14:26:02 +01:00
Tobias Witek
a9a62a738d [modules] Re-enable nic module + allow widget states
All callback from a widget into a module (e.g. for retrieving the status
or the criticality state) now get a widget passed. This has the purpose
of allowing a module to store state/widget specific data somewhere. This
way, for instance, it is possible to store the interface name as part of
the widget, thus making it possible to show the status of the correct
interface.
2016-11-05 13:42:26 +01:00
Tobias Witek
6e8acc2765 [modules/memory] Show used instead of free RAM 2016-11-03 19:45:48 +01:00
Tobias Witek
4c34cd37d4 [modules] Add default click events to various modules
* cpu+memory: Open "gnome-system-monitor"
* disk: Open nautilus
* pulseaudio: Mute/unmute, open "pavucontrol" on right-click, raise/lower
  volume on mouse wheel up/down
2016-11-01 08:18:46 +01:00
Tobias Witek
fca3171556 [modules] Allow modules to provide default click actions
Pass the "output" object to the modules' constructor to allow them to
define their own callbacks.
Any user-provided callbacks take precedence and override those of the
module.
2016-11-01 08:09:10 +01:00
Tobias Witek
c0421163d4 [doc] Add description, usage and notes to all modules 2016-10-31 16:08:03 +01:00
Tobias Witek
bb6ca556c7 [modules] Add support for disk utilization
Add a new module "disk" that takes an optional parameter (the path) and
displays free & total disk space, along with the usage percentage.

Also, added Tunnel/VPN support to the themeing of the "net" module.
2016-10-31 13:34:48 +01:00
Tobias Witek
36333c275f [modules] Add module for displaying RAM usage
Shows free RAM, total RAM, free RAM percentage
2016-10-31 12:11:39 +01:00