Commit Graph

723 Commits

Author SHA1 Message Date
enkore
146b952180 now_playing: hide_no_player option 2014-10-14 16:28:09 +02:00
enkore
7c6561c854 close #130 2014-10-12 18:13:59 +02:00
enkore
1fd3b748a5 ... 2014-10-12 16:50:50 +02:00
facetoe
a5915a0999 Document how to switch focus to mail client on left click. 2014-10-12 21:50:52 +08:00
facetoe
c554244157 Merge https://github.com/enkore/i3pystatus into pulseaudio
Conflicts:
	i3pystatus/pulseaudio/__init__.py
2014-10-12 19:36:52 +08:00
facetoe
556eed9fde Added toggle mute/unmute on left click, increment/decrement volume on
scroll.
2014-10-12 19:30:21 +08:00
facetoe
27182f3196 Added optional volume_bar and colors. 2014-10-12 18:14:47 +08:00
enkore
b2adb09d03 Docfix 2014-10-12 11:36:12 +02:00
enkore
eeeb629e98 Nicer doc markup 2014-10-12 11:35:44 +02:00
enkore
ae1b9a8f8f Merge pull request #126 from facetoe/vertical_bar
Vertical bar
2014-10-12 11:18:22 +02:00
facetoe
a789b31d6d Added multi_colors option to MemBar. 2014-10-12 15:37:51 +08:00
facetoe
fbd852b79b Modified CpuUsageBar to show either a vertical or horizontal bar. 2014-10-12 13:15:52 +08:00
facetoe
55810e1431 Added method to draw a vertical bar made of Unicode characters. 2014-10-12 12:10:03 +08:00
facetoe
296d26f432 Prevent division by zero errors. 2014-10-12 12:10:03 +08:00
enkore
9841cc65f8 Better. 2014-10-12 02:47:49 +02:00
enkore
344ad4647f Moved all docs to sphinx. Nothing changes for module authors. 2014-10-12 01:32:29 +02:00
enkore
9fd557915c Update util.py 2014-10-11 13:03:04 +02:00
facetoe
d14e7ddadc Documented dependencies on the PyPI colour module. 2014-10-11 18:54:12 +08:00
facetoe
aa349c8ba9 Added module for graphing cpu usage. 2014-10-11 16:03:13 +08:00
facetoe
2e7df52394 Modified NetworkGraph to use new ColorRangeModule class. 2014-10-11 16:02:33 +08:00
facetoe
20363b9da0 Moved color code into it's own class that other classes can inherit
from.
2014-10-11 16:02:04 +08:00
facetoe
48821e34ca Moved get_hex_color_range() from util.py to network_graph.py to prevent
breaking the build.
2014-10-11 14:52:08 +08:00
facetoe
856bc5cc24 Added module to draw a network graph in Unicode. 2014-10-11 14:43:00 +08:00
facetoe
a0d528f1d8 Added methods for retrieving network information to make the class
easier to extend.
2014-10-11 14:39:37 +08:00
facetoe
3901aa43f1 Added method to generate a list of hex color values between a start
color and end color.
2014-10-11 13:17:02 +08:00
facetoe
a77b06a25e Added method for printing a graph of Unicode characters. 2014-10-06 19:23:32 +08:00
Frank Tackitt
16c6979ca9 Add color settings for muted/unmuted to pulseaudio plugin 2014-10-01 07:19:36 -07:00
enkore
5470d7460c Fix #119 2014-09-18 15:59:51 +02:00
Tom X. Tobin
c8b4dc0466 Fix internet() test function
The change in commit 6989713 broke the internet() test function by
trying to access the DNS port of "www.google.de", causing it to always
return False, which in turn broke all modules calling it. We instead use
the actual domain name of Google's DNS server at IP "8.8.8.8".
2014-09-14 17:15:50 -04:00
Matthieu Coudron
f748f8a4d8 this commit fixes 2 problems:
-there was a trailing comma in the clock module that would interact badly with i3pystatus & i3bar; i3pystatus seeing the comma would generate the json ** full_text : ["13 september"] ** and then i3bar would only display the last module (one may have to check for i3bar robustness). resulted in having only the clock module displayed
-the 2nd problem was with the alsa module when setting the volume to a number <0 or > 100 then the pyalsa bindings would generate the following error in .xsession-errors

    target_module.on_click(command["button"])↲
  File "/home/teto/i3pystatus/i3pystatus/core/modules.py", line 31, in
  on_click↲
      self.on_upscroll()↲
        File "/home/teto/i3pystatus/i3pystatus/alsa.py", line 95, in
	on_upscroll↲
	    self.alsamixer.setvolume( vol + self.increment)↲
	    alsaaudio.ALSAAudioError: Volume must be between 0 and 100↲
2014-09-13 23:37:16 +02:00
enkore
806ee99e93 Merge pull request #115 from teto/scroll_time_formats
With this commit, it is possible to provide a list of formats for the
2014-09-13 17:36:05 +02:00
Matthieu Coudron
389124e5c4 This commit introduces the ability for i3pystatus clock to display the
time depending on different timezones. You can set the timezone as
described on the data linked on http://www.iana.org/time-zones.

For instance:
status.register('clock',
format=[("%a %X",'Europe/Dublin'),("%X",'Europe/Paris')]
)
2014-09-06 19:18:34 +02:00
Matthieu Coudron
f3c549bb24 With this commit, it is possible to provide a list of formats for the
clock module. You can cycle through these different formats with the
mousewheel. It is backward compatible.
2014-09-05 21:08:47 +02:00
enkore
749feb54cc Merge pull request #116 from teto/alsa_mute_onclick
Right/left click will toggle mute status of alsa
2014-09-05 12:13:56 +02:00
Matthieu Coudron
7d2a7c2828 Right/left click will toggle mute status of alsa 2014-09-05 00:37:02 +02:00
Matthieu Coudron
f5520e220b Mousewheel up will play next song, down will play previous song 2014-09-05 00:07:03 +02:00
enkore
73413efe4a Merge pull request #111 from teto/mousewheel
i3 next branch send click events on mouse wheel up/down. This patch allo...
2014-09-04 14:01:08 +02:00
Matthieu Coudron
000bdc6978 i3 next branch send click events on mouse wheel up/down. This patch allows to change the alsa volume with the mousewheel when hovering the alsa indicator 2014-08-30 00:13:57 +02:00
Matthieu Coudron
914e495c22 This patch allows the notmuch backend to retrieve the notmuch database path from the notmuch configuration file in case no "db_path" argument is passed to the Notmuch constructor.
In such a case, i3pystatus will try to load the file designed by the
environment variable NOTMUCH_CONFIG and "~/.notmuch_config". and
retrieve the value "path" of the section [database].
2014-08-28 23:14:07 +02:00
enkore
fb14041381 Merge pull request #108 from Argish42/batteryfull
Battery Module - No text when 100%
2014-08-28 16:38:20 +02:00
enkore
6989713d6c Require working DNS for internet connectivity
Relates to #102
2014-08-28 16:13:52 +02:00
enkore
566709290e Don't catch exceptions by wildcard randomly
Related #102 #100
2014-08-28 16:12:29 +02:00
enkore
eee14260f4 Alternative exception handling
Related #102 #100 and others
2014-08-28 16:11:53 +02:00
Argish42
15b9484e98 def-status 2014-08-28 13:16:31 +02:00
enkore
75fcad26fd Better fix for #102
Rationale:
-other backends don't require internet access
-displaying last unread count w/o connection seems reasonable
-however: error handling in get_connection() is quite wildcardy,
which is no good. Should be fixed asap.

Introducing a core exception for directly displaying errors may be a good idea at this point for next.
2014-08-28 13:11:20 +02:00
Argish42
de4bc9e70f battery-full 2014-08-28 00:43:46 +02:00
Argish42
c91c792a7d battery full 2014-08-28 00:28:23 +02:00
enkore
9cdcfccb6c Possible fix for #102 2014-08-27 11:06:36 +02:00
enkore
71054f2b5a Merge pull request #105 from bparmentier/master
Play song on left click even if stopped
2014-08-26 21:17:10 +02:00
enkore
065a56b54f Update readme #106 2014-08-26 21:15:10 +02:00
Simon Legner
2436aa08a2 Add network traffic module
This module allows to display packets/bytes sent/received per second.
The implementation uses `psutil.net_io_counters`.
2014-08-26 16:46:17 +02:00
bparmentier
1718ae95a4 Play song on left click even if stopped 2014-08-26 11:30:17 +02:00
enkore
22e81be3d9 Update README #104 2014-08-25 02:25:37 +02:00
Alexis Lahouze
f95624d801 Added unknown_up parameter. Closes #103. 2014-08-24 23:58:17 +02:00
Arvedui
e2bd1980ad fixed false "error connecting MPD" when no song is seleced right now" 2014-08-16 16:08:37 +02:00
enkore
f50e6c1cf7 core Status docs 2014-08-15 14:24:11 +02:00
Arvedui
cee58e495c prevents start of command_endpoint thread when click_events are disabled 2014-08-15 00:16:50 +02:00
Arvedui
de3db6fb19 added option for disabeling click events 2014-08-15 00:12:18 +02:00
Arvedui
b2d25f6367 updated docs 2014-08-09 16:34:57 +02:00
Arvedui
0b06082084 removed unnesecary code duplication in cpu_usage_bar, added multicore support for cpu_bar and fixed typo in cpu_usage 2014-08-09 16:34:57 +02:00
Arvedui
1520b49c92 fixed typo and updated README 2014-08-09 16:34:57 +02:00
Arvedui
79960e5cba added multi core support for cpu usage 2014-08-09 16:34:57 +02:00
Argish42
e2cb6b8d49 TimeWrapper 2014-08-07 11:08:22 +02:00
Argish42
f6e9e4d456 Uptime 2014-08-06 23:57:06 +02:00
enkore
6de38c933f Confirmed #74 fixed, close #74 2014-08-04 18:21:16 +02:00
enkore
5c2af069af Fixed various issues in now_playing 2014-08-04 03:05:43 +02:00
enkore
e639335152 Much improved now_playing version with implicit player config(*).
(*) for most sane setups
2014-08-04 01:59:25 +02:00
enkore
92519b8d3e Remove some cruft in mpd module 2014-08-04 01:45:02 +02:00
enkore
0cfc680080 Add now_playing module 2014-08-04 01:44:53 +02:00
enkore
bc1683beb5 Update readme #93 2014-08-01 00:03:02 +02:00
Chris Wood
e15f57f2de Add filename tag to mpd module 2014-07-31 17:26:18 -04:00
enkore
910de1d40b dito, close #91 2014-07-31 17:20:09 +02:00
enkore
dc4b12c386 Ai, we actually do have that function already! Thanks, close #90 2014-07-31 15:16:03 +02:00
enkore
f07485ac81 Possible fix for #89 2014-07-30 19:42:56 +02:00
enkore
366ca43d7d Possible fix for #90 2014-07-30 19:36:40 +02:00
enkore
c0da4fce06 Possible fix for #74 2014-07-26 21:39:52 +02:00
enkore
143dc86f01 Merge pull request #87 from crwood/master
Reddit module
2014-07-18 20:47:27 +02:00
enkore
b5295c4cb0 Merge pull request #85 from naglis/mpd-color
[mpd] Add color setting
2014-07-18 20:45:54 +02:00
Chris Wood
0532b4361c Clarify settings docstring 2014-07-18 13:03:33 -04:00
Chris Wood
70fd2190e8 Change default interval to 5 mins 2014-07-18 12:37:50 -04:00
Chris Wood
c3111ce0a0 Add reddit module 2014-07-18 12:30:07 -04:00
Chris Wood
2141e4fd2b Add exception handling for output 2014-07-18 11:19:07 -04:00
Jörg Thalheim
d024b89429 maildir: remove useless list comprehension 2014-07-18 16:48:28 +02:00
Chris Wood
48446a9ad7 Fix operator typo in price-comparison 2014-07-18 03:38:41 -04:00
Naglis Jonaitis
1a762b9afe [mpd] Add color setting 2014-07-18 00:08:03 +03:00
enkore
f7c8a352dc Merge pull request #76 from atalax/master
Add shell module
2014-07-17 19:45:00 +02:00
enkore
8fc42e78d8 Merge pull request #78 from tomkenmag/master
change file attribute of 'temp' class to setting
2014-07-17 19:42:31 +02:00
enkore
d938895cdc Merge pull request #83 from crwood/master
Bitcoin module
2014-07-17 19:41:55 +02:00
Jörg Thalheim
188a02989c maildir: use os.listdir instead of ls
- simpler
- faster
2014-07-17 15:04:26 +02:00
Chris Wood
82df60fdd6 Add Bitcoin module 2014-07-17 01:00:55 -04:00
Chris Wood
33aba4b084 Add user_open() function 2014-07-17 00:59:27 -04:00
Josef Gajdusek
e38274b5ce Added not_present_text and not_present_color parameters to the battery module
This commit also fixes i3pystatus crashing if the battery is removed while
running.
2014-07-10 16:13:43 +02:00
Josef Gajdusek
9524bf26a8 Added {quality_bar} to wireless module 2014-07-10 15:44:09 +02:00
Josef Gajdusek
61168e22de Add {bar} to the battery module
Add {bar} (from util.make_bar()) formatter to the battery module. Also removed
the final .strip() call as it was eating the padding used by make_bar.
2014-07-10 15:43:51 +02:00
Josef Gajdusek
ab36aee3c2 Add charging_color and full_color parameters to the battery module 2014-07-10 15:43:42 +02:00
tomasm
b97279bab1 'file' attribute of 'temp' class changed to a setting 2014-07-09 17:14:44 +00:00
Josef Gajdusek
1c13e8d318 Add shell module
Add new "shell" module which can execute arbitrary shell command and display
its output.
2014-07-03 18:12:54 +02:00
Tyjak
80110775f5 add wind indication 2014-06-19 21:32:30 +02:00
enkore
3aa33932a5 Merge pull request #72 from eBrnd/master
add bar drawing function, and modules for showing cpu and ram usage as a...
2014-06-16 16:03:52 +02:00
eBrnd
a5b4ad0b1c add bar drawing function, and modules for showing cpu and ram usage as a bar 2014-06-14 20:18:12 +02:00
Tom X. Tobin
18eaeb45be Correctly detect bonded slave interface state
Bonded slave interfaces under Linux were incorrectly being detected as
always up. We now check sysfs directly to determine their state.
2014-06-14 11:46:50 -04:00
enkore
00c230f4f8 Update battery tests, add case for #66, fix #66 2014-06-13 23:23:29 +02:00
enkore
8f0ac4bdb6 Possible "fix" for #69 2014-06-13 20:25:28 +02:00
enkore
2dfbeb0952 Integrate Itella with TrackerAPI (untested) #62 2014-06-13 20:19:26 +02:00
enkore
4a13687e6a Merge branch 'master' of https://github.com/siikamiika/i3pystatus into siikamiika-master 2014-06-13 20:12:24 +02:00
enkore
2a77d15f6c network: changed detached_down default 2014-06-13 20:06:46 +02:00
Tom X. Tobin
bd66997f2f Support optional "format_muted" setting for audio modules
The alsa and pulseaudio modules now support an optional "format_muted"
setting. If provided, it will be used instead of "format" when the audio
is muted.
2014-06-11 18:58:41 -04:00
Tom X. Tobin
df50913332 Support bonded interfaces under Linux
The "network" and "wireless" modules now support interfaces enslaved to
a bonding master. We check sysfs for bonded interfaces, and update each
slave's AF_INET/AF_INET6 from its master.
2014-06-10 21:43:09 -04:00
Goran Mekić
cf369f8e53 Next song on right click in MPD. 2014-06-01 11:51:01 +02:00
eBrnd
21e829fb07 fix a copypaste error / typo 2014-05-31 09:26:33 +02:00
siikamiika
e86c3137d2 move bs4 import to run to avoid unnecessary ImportErrors 2014-05-23 18:35:57 +03:00
siikamiika
926b0ba94c Itella tracking for parcel module 2014-05-23 17:48:55 +03:00
enkore
36142a96c8 Merge pull request #60 from andresmrm/patch-3
Enable define round digits.
2014-05-19 15:13:34 +02:00
enkore
68ca823fce Merge pull request #59 from andresmrm/patch-2
Allow round to INT
2014-05-19 15:13:28 +02:00
Andrés Martano
350d7db3aa Enable define round digits. 2014-05-10 11:23:57 -03:00
Andrés Martano
29cdbf72b8 Allow round to INT
In round_dict, if places is None, round to INT.
2014-05-10 10:40:00 -03:00
Andrés Martano
ce47d69174 configurable color and round parameters
Allows to configure color parameter and round value.
The last, for None->INT to work, needs more one change in utils.py that I will propose now too.
2014-05-10 10:35:54 -03:00
enkore
d2f2ed7ee4 Merge branch 'master' of https://github.com/al45tair/i3pystatus into netifaces 2014-05-10 13:43:34 +02:00
Alastair Houghton
8103cf35a1 Replaced references to netifaces-py3 with netifaces. 2014-05-10 12:11:22 +01:00
enkore
b45261164a mpd: remove unused format_time 2014-05-06 14:26:28 +02:00
enkore
71c030a82e pep8 2014-05-05 10:57:14 +02:00
enkore
b2bb47b0a2 weather: normalize quotes 2014-05-05 10:55:06 +02:00
enkore
903d9b000c weather: add "Partly Cloudy" to color_icons 2014-05-05 10:53:41 +02:00
enkore
19e5a87f2f Merge branch 'weather_color' of https://github.com/dubwoc/i3pystatus 2014-05-05 10:46:52 +02:00
dubwoc
2a47e84cc2 Introduce a colorize option for the weather status plugin.
Add an option to change the color and add an icon in the display based
on the text returned from weather.com. For example, if the waether is
considered "Sunny" by weather.com the weather text will be set to a
golden yellow and a little snow will be added to the display.
2014-05-03 12:05:55 -04:00
enkore
69d33633f1 text: add cmd_leftclick and cmd_rightclick options 2014-05-03 15:45:10 +02:00
enkore
f06a76ad52 PEP8 2014-04-30 14:51:41 +02:00
enkore
24d5795396 Merge spotify module ( #53 ) 2014-04-28 10:43:55 +02:00
enkore
6297fc78f0 Merge branch 'master' of https://github.com/cganas/i3pystatus into spotify 2014-04-28 10:33:54 +02:00
cganas
a26efaac95 added spotify support. 2014-04-28 02:23:27 -04:00
enkore
4109515914 Some documentation stuff 2014-04-23 14:45:29 +02:00
Arvedui
a898110d7e rewritten DHL function in parcel modul
fixed #28
2014-04-20 13:46:16 +02:00
enkore
109c217253 Minor readme updates 2014-04-17 14:50:34 +02:00
enkore
6b2bafa35f Merge pull request #51 from sbrunner/dev
Some litile improvments
2014-04-16 18:58:44 +02:00
Stéphane Brunner
77b03bbc44 Add alert on CPU load 2014-04-16 18:03:16 +02:00
Stéphane Brunner
6d8dba3468 Make battery colors configurable 2014-04-16 18:03:16 +02:00
Stéphane Brunner
5aef5f529a CURRENT_NOW isn't always present 2014-04-16 18:03:16 +02:00
Stéphane Brunner
1f80fb4e19 Add display and critical limit in the disk module 2014-04-16 18:03:16 +02:00
Stéphane Brunner
d0a38e036c Open email client and refresh email with mouse click 2014-04-16 18:03:16 +02:00
Armin Fisslthaler
0e7ecd1d67 prefer non link-local v6 addresses 2014-04-15 21:51:51 +02:00
enkore
496d8ffa35 3.28 2014-04-14 15:34:32 +02:00
Michael Schmidt
ddd4e76bb8 settings changed\n documentation added 2014-04-13 00:25:28 +10:00
Michael Schmidt
e642a2d687 bug fixing...maildir backend working 2014-04-13 00:17:18 +10:00
Michael Schmidt
bbc7e107fd maildir support added 2014-04-12 23:53:24 +10:00
Jason Hite
10aca8d489 Better checking of the MAC address
Use a Try... Except... block instead of a function flag when checking
for the MAC address. This has the benefit of requiring no changes for
user, but fixes the problem with interfaces that do not have MACs.
2014-04-02 15:49:05 -04:00
Jason Hite
3bbd8d4765 Optionally skip MAC address check in network
Network interfaces don't necessarily have a MAC address. For example,
the tunnel devices created by OpenVPN do not. Previously, passing a
network interface that did not have a MAC address caused the network
module to fail, since it assumed that there would be one.

This commit just adds a flag to the network module "mac", which defaults
to True. If True, the module behaves like before. If False, the check
for the MAC address is skipped and the {mac} format variable is replaced
with "NONE".

I tested this with my OpenVPN interface as well as my regular interface
and it works fine.
2014-04-02 15:34:35 -04:00
Baptiste Grenier
5c825436f2 clock: allow to specify a custom color and/or to use i3bar default color. 2014-03-27 18:49:18 +01:00
enkore
9356b5476a Merge pull request #35 from aaron-lebo/master
Update weather.py
2014-03-19 16:15:46 +01:00
Łukasz Jędrzejewski
5fe6d049d2 Configurable interval for every IntervalModule
settings attribute for every class inheriting from IntervalModule are
automatically extended by interval setting if it does not exist.

A function to flatten settings in SettingsBase was extracted and added
as a static method.
2014-03-10 17:06:40 +01:00
enkore
a1e87c607c Merge pull request #40 from jorio/mem-standard-formatting
mem: allow standard float formatting syntax
2014-03-09 16:10:14 +01:00
Iliyas Jorio
4691a53589 mem: allow standard float formatting syntax
Floats in mem.py can now be formatted with a standard format string
(e.g. {avail_mem:.2f}) instead of needing an extra `round` parameter.

This brings this module in line with the expected behavior in the rest
of i3pystatus.
2014-03-08 19:48:58 +01:00
siikamiika
2889a61060 test script removed 2014-03-08 17:56:17 +02:00
siikamiika
56822a3cec Clean unused code and fix clicks 2014-03-08 17:49:45 +02:00
siikamiika
e525d4fa28 Better put fdict construction inside try 2014-03-08 05:53:52 +02:00
siikamiika
380efde089 Handle MPD connection errors 2014-03-08 04:59:08 +02:00
siikamiika
850501430d Don't create new socket for every MPD query 2014-03-08 03:05:01 +02:00
Łukasz Jędrzejewski
f2dcd6214e alsa: do not ignore unmuted setting 2014-03-05 14:33:37 +01:00
aaron-lebo
acc5c312b6 Update weather.py 2014-02-21 23:48:05 -06:00
enkore
0068e1bf0f Fix cpu_usage not accepting settings 2014-02-03 01:31:17 +01:00
enkore
708f2cb03f Is done automatically 2014-02-02 00:24:09 +01:00
Arvedui
d0885b4fbc added module cpu_usage 2014-02-01 21:13:56 +01:00
enkore
e682d974b7 mem: fix typo warn_percentage 2014-01-23 15:08:58 +01:00
Arvedui
d2529c6f31 fixed code/doc inconsistency with divisor in mem module 2014-01-23 13:42:57 +01:00
Arvedui
165049862b added 2 warning states, color support, support for user defined devisor, configurable rounding of byte values for mem module and fixed used memory calculation in mem module 2014-01-22 22:23:14 +01:00
enkore
5fc8ed3f8e ... 2014-01-16 23:13:16 +01:00
enkore
9273700ec1 Okay, that didn't work 2014-01-16 23:11:09 +01:00
enkore
723c644658 Merge branch 'master' of github.com:enkore/i3pystatus 2014-01-16 13:39:57 +01:00
enkore
aa09079903 Add detached_down option (#26)
And some other stuff I obviously forget to commit last time.
Oh, that's just the RST port... okay :)
2014-01-16 13:39:17 +01:00
Talwrii
d7e537fdf3 mbox -- mail backend to deal with mbox files as used by procmail, for example. 2014-01-01 21:40:30 +00:00
enkore
a4e6e540dc mem: Change used_mem semantics, so that it matches vm.percent and htop's memory usage report 2013-11-14 11:23:21 +01:00
enkore
c43a22c46d Optimize imports 2013-10-31 22:33:18 +01:00
enkore
6a749bb03a Add i3pystatus binary 2013-10-30 18:38:11 +01:00
enkore
cdf9176258 Reformat 2013-10-30 10:46:04 +01:00
enkore
d9e3dec0c2 Catch ConfigError in register() 2013-10-30 10:41:08 +01:00
enkore
a5b57601da Make i3pystatus a namespace package 2013-10-30 10:35:24 +01:00
enkore
44790dc357 Remove non-functional __main__.py.dist 2013-10-30 10:34:39 +01:00
enkore
98ba2e69da battery: Use alert_percentage for coloring the entry red 2013-10-24 15:36:51 +02:00
enkore
ff32f74bec battery: formatting 2013-10-24 15:36:34 +02:00
enkore
af0f9fc585 battery: rename a few variables 2013-10-24 15:36:29 +02:00
enkore
7a20cdb8de battery: use DesktopNotification 2013-10-24 15:36:15 +02:00
enkore
1295bf1ec5 exceptions: define format in ABC 2013-10-23 21:52:44 +02:00
enkore
32e68eb14d Modulelist.get 2013-10-23 21:36:20 +02:00
enkore
467339e905 Remove __repr__ from Module 2013-10-23 21:36:12 +02:00
enkore
b89b8a8145 core.desktop: Refactor into class
TODO: find better way to handle Impl
2013-10-23 21:36:05 +02:00
enkore
c33cb3aa60 CommandEndpoint docs 2013-10-23 21:35:50 +02:00
enkore
135915ac96 Remove call_start_hooks and START_HOOKS #27 2013-10-23 21:08:49 +02:00
enkore
2895aa44cf Refactor run_command_endpoint into class 2013-10-23 21:06:52 +02:00
enkore
266084801d Delete Module.test() #27 2013-10-23 21:06:31 +02:00
enkore
6d9494acff Delete config module #27 2013-10-23 21:06:14 +02:00
enkore
657cc87429 Delete main() #27 2013-10-23 21:06:04 +02:00
enkore
3d484694bd Remove unneeded stuff 2013-10-23 17:16:04 +02:00
enkore
8fe5c77acd ModuleList: Remove hard dependency on ClassFinder 2013-10-23 17:14:08 +02:00
enkore
2106585d4c ClassFinder: fixed unexpected behaviour, add tests for this 2013-10-23 17:13:38 +02:00
enkore
4dd0d0b7c3 ClassFinder: fixed missing imports 2013-10-23 17:12:39 +02:00
enkore
5c0d994006 Remove import 2013-10-23 17:04:32 +02:00
enkore
a1c12a3620 id always returns int 2013-10-23 16:56:12 +02:00
enkore
769216392f pulseaudio: change context name to something meaningful 2013-10-23 16:55:22 +02:00
enkore
ead0285ecc Remove trivial & single-usage chain decorator 2013-10-23 16:55:10 +02:00
enkore
5eb271c684 Remove PrefixedKeyDict (unused) 2013-10-23 16:54:51 +02:00
enkore
1de1eaae87 Rename ModuleList.get_by_id to get_module_by_id 2013-10-23 16:54:30 +02:00
enkore
67faff6e0f Handling ImportError in Status.register() (#22) 2013-10-23 09:50:14 +02:00
enkore
6a3090ba8a Releasing 3.27
* Add weather module (with most bugs fixed I hope)
* Add text module (in preparation for #22)
* PulseAudio module: Add muted/unmuted options
2013-10-20 18:42:54 +02:00
enkore
751f0bbb14 pulseaudio: add muted/unmuted options 2013-10-20 18:37:38 +02:00
Jan Oliver Oelerich
55e070f36b removed import of parse_json
caused an error.
2013-10-19 19:12:06 +02:00
enkore
a5dc101a19 Docstring for chain 2013-10-18 19:23:50 +02:00
enkore
26165647e3 Remove unused render_json 2013-10-18 19:23:41 +02:00
enkore
a983a744be remove some debugging stuff from formatp 2013-10-18 19:23:15 +02:00
enkore
130f103d07 TimeWrapper docs 2013-10-17 23:24:51 +02:00
enkore
eb661a0ebb More docs 2013-10-17 21:42:52 +02:00
enkore
2ba350d71e parcel: add require(internet) 2013-10-17 19:55:59 +02:00
enkore
35a0096974 Some docs 2013-10-17 19:18:35 +02:00
enkore
cef22ea7bb weather: Should resolve #23 2013-10-17 16:31:45 +02:00
enkore
e788d83255 core.util: Add require and internet 2013-10-17 16:31:26 +02:00
enkore
27d3d67a86 Add text module 2013-10-14 19:15:10 +02:00
enkore
5a5ea0e0c5 Fix bug reported by janoliver in #21 2013-10-14 19:09:39 +02:00
enkore
0d93f165b3 Sphinx warning 2013-10-14 18:51:52 +02:00
enkore
3381959e6b Sphinx 2013-10-14 17:55:41 +02:00
enkore
537d662691 Fix required settings for weather 2013-10-14 17:24:56 +02:00
enkore
35bc1a626e Merge branch 'master' of https://github.com/yemu/i3pystatus 2013-10-14 17:23:39 +02:00
Cezary Biele
b3ae571389 weather fixes 2013-10-14 12:11:31 +02:00
Cezary Biele
dc85b64631 added humidity to weather module 2013-10-14 11:54:25 +02:00
Cezary Biele
2b3bcd4604 added weather module 2013-10-14 11:26:06 +02:00
enkore
3011e1d52e clock: this warning is obsolete 2013-10-09 09:58:58 +02:00
enkore
cdbb2f3e36 While we're at it, some other PEP8 stuff.
[obama] Except too long lines, because big screens.
2013-10-09 09:58:38 +02:00
enkore
d63896d465 Avoid non-ASCII chars 2013-10-09 09:15:24 +02:00
enkore
9feb1b7281 Partial merge of #19 2013-10-07 11:52:30 +02:00
enkore
305de3225f README 2013-10-03 00:58:21 +02:00
enkore
7f8ae4fedf mem: correct divider to megabyte (was kilobyte), don't divide percentage #16 2013-10-03 00:56:33 +02:00
enkore
9c924f77e9 mem: docstring list, pep8 #16 2013-10-03 00:52:56 +02:00
Cezary Biele
b8c7f0515e small change to mem.py 2013-10-02 23:15:59 +02:00
Cezary Biele
a63cfa20e1 changed mem.py to use psutil 2013-10-02 23:14:13 +02:00
Cezary Biele
6b89096451 added mem.py 2013-10-02 13:49:01 +02:00
enkore
78c01dd3e5 PEP8 2013-10-01 15:22:09 +02:00
enkore
21cd318c29 mail imap: fix mailbox selection 2013-10-01 13:36:59 +02:00
enkore
87c583db87 update readme 2013-10-01 13:31:40 +02:00
enkore
72f1c04c57 (PyCharm) 2013-10-01 13:10:48 +02:00
enkore
42e6258c1a mail: clarify usage 2013-10-01 13:05:18 +02:00
enkore
5184958179 core: remove unreachable code 2013-10-01 13:05:03 +02:00
enkore
ef4db339de core: add threading module 2013-10-01 13:04:54 +02:00
enkore
7f57950478 core: remove render module 2013-10-01 13:04:47 +02:00
enkore
a3d86e7a44 core: remove threading package 2013-10-01 13:04:00 +02:00
enkore
5056f22404 mail.IMAP: add mailbox parameter 2013-09-30 22:02:00 +02:00
enkore
69b702d2f1 3.24: Introduce time wrapper, remove battery remaining_* formatter(!!!) 2013-08-04 23:40:19 +02:00
enkore
3394aa56ea Change relative to absolute imports (style) 2013-08-04 17:56:04 +02:00
enkore
ea1cbe9a0c 3.23: Fixed core.util.formatp (also added core.util.flatten for this fix) 2013-08-04 17:25:04 +02:00
enkore
3d796ce48e 3.22: pulseaudio fix -inf/db 2013-08-03 15:05:13 +02:00
enkore
ac2ed844ac Add 'Formatting' chapter to README 2013-08-03 14:40:57 +02:00
enkore
b179a55d28 pulse: db as int, add docs 2013-08-03 14:39:33 +02:00
enkore
c841736eac MPD: use formatp, remove now completly useless format_sparse 2013-08-03 14:39:27 +02:00
enkore
353c874447 pulseaudio: remove unused stuff 2013-08-03 14:24:59 +02:00
enkore
c3441da72e core.desktop: make dependency python-gobject optional 2013-08-03 14:24:37 +02:00
enkore
f39e4b3684 pulseaudio: remove dependency, add dB volume
I added a minimal version of the bindings directly.

{db} is the volume in decibels relative to 100 % output, i.e.
0 db equal 100 %.
2013-08-03 13:36:44 +02:00
enkore
d5d0b19330 Add core.util.formatp (this is going to be good) 2013-08-03 03:18:24 +02:00
enkore
e848fc4a6f Improve documentation 2013-07-31 21:39:59 +02:00
enkore
5304629cf1 3.20: Extend MPD module
-Removed playtime_* formatters (pretty much useless)
-Add bitrate formatter
-Add volume formatter
-Add song_elapsed formatter
-Add song_length formatter
-Add format_sparse option (intended for streams/internet radio or untagged media)
2013-07-31 21:07:45 +02:00
enkore
42ab76dd3a Invocation changed
-t/--test run test
-c/--config specify config file
2013-07-31 01:31:13 +02:00
enkore
c86ab5e3ab Merge branch 'master' of github.com:enkore/i3pystatus 2013-07-31 00:20:00 +02:00
enkore
70fbbe3944 Fix for mpd if playlist is consumed 2013-07-31 00:19:32 +02:00
enkore
bcf73b8b31 Update __main__.py.dist 2013-07-30 22:51:49 +02:00
enkore
7b2e07ac6a pulseaudio +docs 2013-07-29 21:27:52 +02:00
enkore
4164b11eba 3.18: Add pulseaudio module (drop-in for alsa) 2013-07-29 20:15:17 +02:00
enkore
11506f60f8 3.17: MPD: host parameter 2013-07-18 22:59:06 +02:00
enkore
5ee67aaefd 3.16: MPD: stop state bugfix, mute/unmute on rightclick
Yes, I currently just increase the minor version number on every fix
2013-07-18 22:36:52 +02:00
enkore
eb44638b87 3.15: mpd, add status and leftclick for play/pause 2013-07-09 22:31:30 +02:00
enkore
c5153ae12a 3.14: Battery: add status setting
I use it like this to save a few characters
status={
        "DIS": "↓",
        "CHR": "↑",
        "FULL": "=",
}
2013-07-05 19:58:53 +02:00
enkore
35b9ed6468 Forgot the actual MPD module 2013-07-01 20:45:25 +02:00
enkore
2425216965 Merge branch 'master' of github.com:enkore/i3pystatus 2013-07-01 20:41:27 +02:00
enkore
dccbc63826 3.13: MPD module, ALSA fix 2013-07-01 20:41:03 +02:00
Zack Gold
33e7f6559b Update network.py
interface was spelled wrong
2013-06-03 18:36:06 -06:00
enkore
5371ab4276 Add pyload module 2013-04-11 20:11:18 +02:00
enkore
d3c310e885 Fixed a bug where the battery alert would be displayed while charging 2013-04-09 16:29:37 +02:00
enkore
3c954f279b Fix parcel.UPS percentage output 2013-04-05 15:15:44 +02:00
enkore
47cd088c1c parcel: add UPS support 2013-04-04 22:23:30 +02:00
enkore
d2f6dd97a5 3.12: Fixed test command 2013-03-23 22:05:46 +01:00
enkore
c5413c4243 Module.move should return self 2013-03-23 22:02:46 +01:00
enkore
1acfe0052e Change default iface of wireless module to wlan0 2013-03-22 14:16:47 +01:00
enkore
39095594c8 README 2013-03-22 14:10:44 +01:00
enkore
9dc1ecb9d1 README 2013-03-22 14:08:10 +01:00
enkore
91b7e74ccf README 2013-03-22 14:06:53 +01:00
enkore
c41c2736bf Adjust to newest i3bar patch 2013-03-21 12:35:28 +01:00
enkore
8dd88a6180 README 2013-03-21 12:35:06 +01:00
enkore
b577cd715b modsde 2013-03-16 12:58:17 +01:00
enkore
1171a1d0ae Change Module.test API to something more intuitive
(I mean, what the hell has crossed my mind to name a method *test*
and let it return FALSE if successful? :D)
2013-03-16 12:58:01 +01:00
enkore
0e90cbfceb Merge branch 'master' of github.com:enkore/i3pystatus 2013-03-16 12:40:21 +01:00
enkore
a6810840ae Fix core.threading.wrapper 2013-03-16 12:40:09 +01:00
enkore
b662d8797e Add Module.test 2013-03-16 12:39:17 +01:00
philipdexter
60c475d6e6 Add the option of specifying python-ish negative array indices to the move method 2013-03-15 21:34:45 -04:00
philipdexter
ecb6c54052 Add the ability to change the position of a module in the i3bar
Create a method `move' in modules.py to insert the module's json in a different position than the default 0.
2013-03-15 21:20:24 -04:00
philipdexter
0ff17f4242 added some debug statements for imap connection 2013-03-12 12:17:03 -04:00
philipdexter
68e9300870 changed default port in imap to 993 2013-03-12 11:52:18 -04:00
enkore
59437c1707 ClassFinder can also instanciate classes now. 2013-03-11 17:08:38 +01:00
enkore
c340b2cf75 Changed Config.test 2013-03-11 00:28:24 +01:00
enkore
a5b274fd23 PEP 8 and stuff 2013-03-11 00:21:54 +01:00
enkore
c259a653ae Refactor the config part 2013-03-11 00:21:27 +01:00
enkore
0a32494ce8 3.12: More bullet-proof wrapper 2013-03-10 21:38:02 +01:00
enkore
b42cd6aa15 3.12: Move code around 2013-03-10 21:22:58 +01:00
enkore
19aca9149a 3.12: remove I3statushandler 2013-03-10 20:57:12 +01:00
enkore
8abc7dd8e8 3.11: runwatch 2013-03-10 18:24:42 +01:00
enkore
7dfac95f1e 3.11: Add test command, invoke like this: i3pystatus test 2013-03-10 18:24:33 +01:00
enkore
c8c8e2226f Improved UX a bit: all threads are immediately started;
no more slow starting of modules.

Although I'm highly unsatisfied with the current implementation
(SoC, you hear me!?)
2013-03-10 02:11:58 +01:00
enkore
375ba3af7b Support for the 3rd version of the i3bar-onclick-patch 2013-03-10 01:27:23 +01:00
enkore
657bdb826a Add preliminary(!) support for bidirectional communication with i3bar
Novelty use only.
2013-03-09 21:23:36 +01:00
enkore
2e9b80c0a0 Oops! Forgot to check in the actual code for wireless module
(3.8.2)
2013-03-08 20:37:40 +01:00
enkore
085f5972af battery.interval 2013-03-08 20:34:39 +01:00
enkore
1680293e56 3.8: Add wireless module based on basiciw 2013-03-08 19:51:55 +01:00
enkore
c60d2fd3df Should definitely test KeyConstraintDict.
Seems to be all ok so far, just needed to add __delitem__
2013-03-08 16:59:59 +01:00
enkore
9084661a5d Rewrote core.util.partition, added tests for it. 2013-03-08 15:53:48 +01:00
enkore
237123ae0f Small changes in battery module 2013-03-08 15:53:28 +01:00
enkore
074500007f 3.7 2013-03-08 03:30:24 +01:00
enkore
01f1587e67 ... 2013-03-08 03:11:49 +01:00
enkore
e8191da312 Reworked battery module, should work better now. Or worse. Let's find out... 2013-03-08 02:53:54 +01:00
enkore
8ef891cef6 Fix battery module status bug 2013-03-07 22:39:36 +01:00
enkore
4d42589213 Small fix (3.5)
Version numbering policy:
Increment the most righthand number every single time the package
is uploaded to PyPI.
2013-03-07 18:49:57 +01:00
enkore
4cd1b177de README 2013-03-07 18:45:31 +01:00
enkore
a2dd90c657 CIDR support for network module 2013-03-07 18:40:18 +01:00
enkore
890e8a91bc Add network module (3.4), close #4 2013-03-07 18:09:05 +01:00
enkore
6b03e35ad2 #7 fix default formatter 2013-03-06 23:16:28 +01:00
enkore
a76779fe7b Should fix #7 (v3.3) 2013-03-06 23:03:40 +01:00
enkore
7a0bb1cbaa Fix issue with gobject&gobject2
summary: just don't ever use gobject and gobject2 at the same time...
2013-03-06 22:32:07 +01:00
enkore
df0982ad84 Fix & close #6
Paradigm: "I don't know what to do, so let's outsource it"
2013-03-06 18:02:46 +01:00
enkore
9732c02765 Add display for parcels not yet showing up in tracking. 2013-03-06 16:19:33 +01:00
enkore
78849d37ec parcel.DHL fix for delivered parcel 2013-03-06 15:32:48 +01:00
enkore
553ad4efb9 2013-03-06 13:14:28 +01:00
enkore
0cd3e266c3 Add parcel module (currently only suppotr for DHL)
Needs documentation, extension, some redesign/separation of concern,
and lxml
2013-03-06 00:02:49 +01:00
enkore
93bfab1d7b #5: Support for real config files 2013-03-05 23:07:50 +01:00
enkore
e0f938bcac README 2013-03-05 17:29:37 +01:00
enkore
8ebca17e79 Aaand some code butchering I forgot earlier. 2013-03-05 17:27:12 +01:00
enkore
dcc9f3c6bb #5: fix __main__.py.dist 2013-03-05 17:27:02 +01:00
enkore
ed7f95dd34 #5: Ability to scream out loud if battery is low :-) 2013-03-05 17:26:49 +01:00
enkore
6740f5b1cc #5: Add slim wrapper for notifications 2013-03-05 17:26:28 +01:00
enkore
03d96ad0ea Some internal code butchering again. 2013-03-05 17:26:10 +01:00
enkore
3cac448f6e Change process title of threads to something meaningful, if setproctitle is installed. 2013-03-02 20:05:41 +01:00
enkore
d6f1cbbd46 Fixed a bug where battery would generate no output in occasions where it should. 2013-03-02 17:35:19 +01:00
enkore
3c284ad29c Docstrings and such 2013-03-02 17:34:53 +01:00
enkore
3ebcbec4e1 i3pystatus.core.threads ; some smaller changes. 2013-03-02 17:34:32 +01:00
enkore
901dd4319f New self-organizing/self-optimising threading model (no API changes)
Using a simple, hysteresis based approach… currently in this first
version the optimizer recursively moves modules out of a thread until a
certain timing target is reached; the "modules moved out" just mentioned
are then partitioned into new threads according to their latest time profile.

Very simple, but very effective.
Todo: Implement merging threads with (again) good behaving workloads.
2013-02-28 00:14:51 +01:00
enkore
604a4f8e29 disk module 2013-02-26 23:00:03 +01:00
enkore
2aba299677 __main__.py.dist 2013-02-26 01:38:06 +01:00
enkore
9510f0b1c0 Added ability to automatically import modules
I thought: Well, isn't it a bit redundant if I go ahead and say in my
config "import this-n-that and temp and load and alsa" while later
just giving register() the modules.
So register() (/ClassFinder as the backend) now support just naming a
module as the first parameter. That module is then imported and
searched for a class as usual.

Just for reference the synopsis of Status.register():

register(mod.SomeChecker())
register(mod, setting1=..., setting2=...)
register(mod, {"setting1:":, "setting2":...})
register("mod", setting=1..., setting2=...)
register("mod", {"setting1:":, "setting2":...})

Fun fact: Actually register() doesn't care for it's arguments.
They're passed straight into ClassFinder.instanciate_class_from_module
(something I should definitely rename), which checks if it's first
parameter is one of:
-Python module
 => It calls ClassFinder.get_class with the same parameters
   => get_class will search the module using ClassFinder.search_module
      and return a matching class if and only if there is a single matching
      class in the module
-string
 => It calls ClassFinder.get_module to import the module and calls itself
  on the result
-something else
 => It returns that something

The actual variation in passing the settings (keyword arguments vs. dict)
is handled in SettingsBase.
2013-02-26 00:56:09 +01:00
enkore
b404b85cbb temp: add note about AMD support (=none) 2013-02-25 21:32:54 +01:00
enkore
3dc99ab5b2 runwatch module
It's exactly the same as i3status... I even copied the manpage!
2013-02-25 21:32:38 +01:00
enkore
197f1541b3 Fixed alsa not displaying volume changes correctly 2013-02-25 19:36:41 +01:00
enkore
446eda7218 alsa module, requires pyalsaaudio (from PyPI) 2013-02-25 18:36:17 +01:00
enkore
9ab3c751da "hardened" modsde 2013-02-24 23:34:32 +01:00
enkore
76d86807db As we can have multiple backends for mail already,
we don't need the multiple-servers functionality in imap.
Just add multiple instances of that backend.
2013-02-24 22:54:32 +01:00
enkore
582a35e412 . 2013-02-24 22:40:29 +01:00
enkore
a89b421ebb battery 2013-02-24 21:46:29 +01:00
enkore
a892a09581 Moving some code around. 2013-02-24 21:00:16 +01:00
enkore
1fd53cd60a Add ModuleList 2013-02-24 20:20:15 +01:00
enkore
92b2af56a8 Removed ModuleFinder, changed ClassFinder
ClassFinder:
Removed exclude argument, which is basically covered with
obj.__module__ == module.__name__ which ensures that no imported
classes are found, which was the only use case for exclude.
2013-02-24 20:16:33 +01:00