Commit graph

839 commits

Author SHA1 Message Date
Tobi-wan Kenobi
f31c0e492d [modules] Add initial version of a load module
Add a load module that shows 1/5/15 minute load average and allows the
user to set warning and critical thresholds on the 1 minute average.

fixes #9
2016-11-25 21:45:30 +01:00
Tobi-wan Kenobi
209fa83324 [themes] Make it possible to merge themes to get "icon themes"
Add code that allows themes to be merged (i.e. if certain elements are
not present in a theme, another theme can be "overlaid" to add missing
elements).

Effectively, this is used to create the logical concept of an "icon
theme", which is loaded after the main theme. So, the main theme can
define colors, and the icon theme fills in any missing elements
(practically, all the icons in the form of prefixes and suffixes).

Icon sets are defined in a theme using the "icons" directive, which
should be an array.

see #17
2016-11-25 21:06:24 +01:00
Tobi-wan Kenobi
f6db8b0a85 [themes] Move theme folder out of Python folder
fixes #16
2016-11-25 17:57:41 +01:00
Tobi-wan Kenobi
8d53b2bedd [modules/pacman] Slightly adapt the path calculation logic 2016-11-25 17:10:02 +01:00
Tobi-wan Kenobi
8ceeac84c0 [customupdates] move bin/ directory to a different location 2016-11-25 17:05:49 +01:00
tobi-wan-kenobi
06737e9157 Merge pull request #15 from Pseudonick47/master
[modules] Show updates for pacman.
2016-11-25 17:05:22 +01:00
Tobi-wan Kenobi
e18d887c4e [documentation] Add link for username 2016-11-25 17:01:09 +01:00
Tobi-wan Kenobi
451452f552 [documentation] Add powerline-gruvbox theme to list of themes 2016-11-25 16:59:52 +01:00
Milos Miljanic
64c6a307c8 [modules] Show updates for pacman. 2016-11-24 19:01:48 +01:00
Tobi-wan Kenobi
4e1ae0a498 [doc] Add caffeine screenshot 2016-11-23 19:35:59 +01:00
Tobi-wan Kenobi
027541126d [modules/caffeine] Enable status change notifications
Now that multi-command callbacks work, enable caffeine status change
notifications via "notify".
2016-11-23 18:29:05 +01:00
tobi-wan-kenobi
f967eafe99 Merge pull request #14 from paxy97/master
Add caffeine module
2016-11-23 18:26:36 +01:00
Tobi-wan Kenobi
c1123fa083 [output] Accept lists of commands in add_callback
Add the possibility to specify a list of commands to be added as
callbacks. Commands will be executed one after the other, waiting for
the previous command to finish execution.
2016-11-23 18:24:02 +01:00
Pavle Portic
d2e3a19269 [modules/caffeine] Fix times for screen on time 2016-11-23 14:08:34 +01:00
Pavle Portic
5faba39643 [themes] Add caffeine module support 2016-11-23 14:04:33 +01:00
Pavle Portic
be6559a251 [modules/caffeine] Add caffeine module to prevent sleep 2016-11-23 13:57:29 +01:00
Tobi-wan Kenobi
d66087a768 [themes] Add "ac" state for battery to all themes
Except for gruvbox-powerline, all themes were missing the new "ac" state
of the battery.
2016-11-19 07:14:12 +01:00
tobi-wan-kenobi
5149991ff3 Merge pull request #13 from paxy97/master
Missing battery fix and gruvbox theme
2016-11-18 20:03:34 +01:00
Tobi-wan Kenobi
0c9177cb79 [modules/ping] Allow recovery from unreachable
Due to a bug, when the destination was unreachable, the checking thread
would terminate, effectively keeping the widget stuck in "unreachable"
mode.

Now, enable recovery by keeping the thread running even if the target is
not reachable for some time.
2016-11-18 19:47:28 +01:00
Pavle Portic
9cf2a092da [themes/gruvbox] Fix cmus icons 2016-11-17 23:21:05 +01:00
Pavle Portic
a14483ec37 [themes] Add gruvbox theme 2016-11-17 23:02:57 +01:00
Pavle Portic
3293cbaac4 [modules/battery] Display AC when no battery is present 2016-11-17 23:02:49 +01:00
Tobi-wan Kenobi
d37068b442 [modules/cmus] Always initialize variables
Initialize shuffle and repeat status variables even if cmus is not
running at all.
2016-11-15 20:35:35 +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
Tobi-wan Kenobi
8b78b20d11 [themes] Remove default.yaml
Maintaining 2 separate theme files for the same theme is a bit
redundant, so for consistency's sake, stay with JSON only.
2016-11-12 12:12:47 +01:00
Tobi-wan Kenobi
dead54ed1f [modules/cmus] Add controls for cmus (next/prev/shuffle/repeat)
Add controls that allow the user to switch to the next and previous song
in cmus, toggle shuffle and repeat. Pause/play is toggled by clicking on
the song title itself.

fixes #5
2016-11-12 12:11:42 +01:00
Tobi-wan Kenobi
a33cb1d7cb [output] remove unused line of code 2016-11-12 08:42:39 +01:00
Tobi-wan Kenobi
418dc1be86 [modules/cmus] Make displayed string configurable
Allow the user to use all tags read by cmus (cmus-remote -Q|grep ^tag)
as part of the displayed data (plus the special 'tags' "duration" and
"position").
2016-11-12 08:34:21 +01:00
Tobi-wan Kenobi
507e0c36cc [doc] Add screenshots for brightness + cmus modules 2016-11-09 19:43:15 +01:00
Tobi-wan Kenobi
e4ff22f1e0 [themes] Add brightness and cmus module support
Add themeing for brightness and cmus
2016-11-09 19:39:12 +01:00
Tobi-wan Kenobi
a43938b1c8 [modules/cmus] Add vim line + change default text
Slightly adapt default text to indicate that cmus is not running.
2016-11-09 19:38:32 +01:00
Tobi-wan Kenobi
ba466d5179 [modules/brightness] Add callbacks for increasing/decreasing brightness
Use xbacklight to increase or decrease brightness when the user uses the
mouse wheel over the brightness widget.
2016-11-09 19:37:09 +01:00
Tobi-wan Kenobi
f164aee5c9 [modules/brightness] Add missing integer casting for calculation
To display a nice percentage-based brightness, round it to int in all
circumstances.
2016-11-09 19:32:26 +01:00
tobi-wan-kenobi
da4dd7c7a1 Merge pull request #10 from paxy97/master
Add brightness and Cmus modules
2016-11-09 19:30:29 +01:00
Pavle Portic
56524ce54b Add Cmus player module 2016-11-07 22:14:46 +01:00
Pavle Portic
3a19be09c3 Add brightness module 2016-11-07 22:00:02 +01:00
Tobias Witek
9c95c0b319 [tests] Added first module tests (for CPU)
I finally *really* need to get started on testing. I've had too many
releases in too short time intervals now, all because of small
bugs/oversights.
2016-11-06 14:30:59 +01:00
Tobias Witek
af6055bd83 [modules/nic] Interfaces were always up
Wrong initialization of the status variable led to interfaces that were
always in up state.
2016-11-06 10:59:25 +01:00
Tobias Witek
b6c430a8da [themes] Update battery themes
Names of discharging states have changed.
2016-11-06 10:57:42 +01:00
Tobias Witek
89f49856d9 [modules/nic] Too many addresses per interface
Addresses were not cleared correctly, resulting in too many IPs being
displayed for the second, third, etc. interface.
2016-11-06 08:21:33 +01:00
Tobias Witek
749a9761b2 [modules/dnf] Fix for python2
This usage of split actually broke python2.... Wonder why I never
noticed that before.
2016-11-05 20:04:04 +01:00
Tobias Witek
6de18f831d [modules] Add module to measure the RTT of an address
The module simply calls the external tool "ping" to retriev RTT
information and displays the average RTT in the widget.

Addresses issue #6
2016-11-05 19:55:43 +01:00
Tobias Witek
45f84a6b39 [doc] README: Add new syntax for "list" command 2016-11-05 18:07:00 +01:00
Tobias Witek
b33bc791f7 [doc] Update README 2016-11-05 18:06:06 +01:00
Tobias Witek
e2a6d41389 [theme] Add YAML as optional format for themes
This addresses issue #4
2016-11-05 16:53:34 +01:00
Tobias Witek
6eea8da1af [output] bugfix: enable scroll-wheeling again
The callback registration/lookup logic was flawed, so that callbacks
without module name were never executed.
2016-11-05 16:39:46 +01:00
Tobias Witek
4e0e3ef427 [general] Add Python3 support
* Change some formatting to please python3
* remote pyroute2 dependency, for which I didn't find a python3 module
  in Fedora24

this solves #1
2016-11-05 16:33:35 +01:00
Tobias Witek
caceb6f20f [help] Update and beautify the commandline help output 2016-11-05 16:18:53 +01:00
Tobias Witek
3af8ee771d [general] Refactoring
* remove (hopefully) unnecessary import statements
* make some code a bit more compact
* remove dead code ... again: hopefully so
2016-11-05 15:54:34 +01:00
Tobias Witek
e889098c77 [modules/disk] Remove "custom" instance callback
This callback just makes it really hard to see for the user what is
going on. The alias the user provides should *always* match the
instance, so that it can be used in a meaningful way in the click
action, for example (otherwise, something like "nautilus {instance}"
gets really hard to interpret.
2016-11-05 15:45:33 +01:00