Simon Legner
f4fdea377d
Weather: provide today's min/max temperature
...
The corresponding formatters are `{min_temp}`, `{max_temp}`,
respectively.
2015-04-07 19:46:10 +02:00
Simon Legner
72386c1fd3
Harmonize documentation wrt formatters
2015-04-07 19:40:28 +02:00
enkore
e92e93f0e7
Merge pull request #194 from theswitch/feature/pulse-default-sinks
...
Detect default sink changes in pulseaudio
2015-04-05 17:01:29 +02:00
enkore
ba7ca67453
Merge pull request #193 from simon04/direct_weather
...
Remove `pywapi` dependency from weather module
2015-04-05 17:00:47 +02:00
theswitch
bd7ed9704f
pulseaudio: subscribe to default sink changes
2015-04-05 16:54:16 +10:00
Simon Legner
1976a83569
Fix PEP8 errors in weather module
2015-04-04 13:21:00 +02:00
Simon Legner
e2d07f8262
Remove pywapi
dependency from weather module
...
The python-weather-api seems currently unmaintained and provides a thin
wrapper around the XML structure output from weather.com
2015-04-04 13:21:00 +02:00
enkore
83c04fd245
Merge pull request #191 from Arvedui/load_better_critical_default
...
Better default for critical load limit
2015-04-03 15:24:02 +02:00
enkore
e5c128ea39
Merge pull request #190 from facetoe/master
...
Truncate long error messages.
2015-04-03 15:22:23 +02:00
Arvedui
04fa8b0458
add fallback to multiprocessing.cpu_count because os.cpu_count is not available before 3.4
2015-03-29 12:40:31 +02:00
Arvedui
b353b5adc9
use os.cpu_count instead of the multiprocessing one
2015-03-29 12:36:10 +02:00
Arvedui
21ce8db120
adjusted docs
2015-03-29 12:24:09 +02:00
Arvedui
d73be0911e
improve default for critical_limit in the load module
2015-03-29 12:21:51 +02:00
facetoe
3146b2a567
Add max_error_len to Github module.
2015-03-28 19:24:41 +08:00
facetoe
2701a22db4
Add method to truncate long error messages.
2015-03-28 19:10:13 +08:00
David Garcia Quintas
f81841c722
Fixed processing of dynamic_colors settings, previously ignored.
2015-03-22 14:30:29 -07:00
enkore
ab4bb9af20
Merge pull request #188 from facetoe/master
...
Truncate error message if it is too long.
2015-03-21 15:56:00 +01:00
facetoe
07b0244dd9
Merge https://github.com/enkore/i3pystatus
2015-03-21 20:17:24 +08:00
facetoe
e1edb1a9d8
Truncate error message if it is too long.
2015-03-21 20:15:33 +08:00
tyjak
ab25a1b6eb
Merge remote-tracking branch 'upstream/master'
2015-03-16 21:43:45 +01:00
tyjak
09f6e27a7e
fix output format
2015-03-16 21:32:03 +01:00
enkore
0182372d92
Merge pull request #178 from richese/fixes
...
Fixes
2015-03-16 16:03:20 +01:00
enkore
54d813877c
Merge pull request #180 from facetoe/network_fix
...
Fixed bug that prevented color_up being shown if the user is not using network_traffic
2015-03-16 16:02:20 +01:00
enkore
d37eb9e890
Merge pull request #186 from facetoe/master
...
Remove 'u' prefix from unicode strings
2015-03-16 16:01:00 +01:00
facetoe
16b3799b91
Remove 'u' prefix from unicode strings as it is no longer required in Python3
2015-03-16 19:45:50 +08:00
Arvedui
194fc29e02
readded default intervall 1 but in the right way this time
2015-03-12 20:42:15 +01:00
facetoe
4209d7046c
Fixed bug that prevented color_up being shown if the user is not using network_traffic.
2015-03-08 08:38:08 +08:00
tyjak
c2592e9272
Update network.py
2015-03-07 21:58:01 +01:00
Lukáš Mandák
013b15ffd4
Fixed dbus error when not using player autodetection.
2015-03-07 12:47:42 +01:00
Lukáš Mandák
efd1c5f09f
fixed #177
2015-03-07 12:47:20 +01:00
Arvedui
6dbc2c78e5
remove the module specific and hard coded interval in cpu_usage
2015-03-01 14:54:12 +01:00
enkore
22b5abf899
Merge pull request #172 from Arvedui/mpd_truncation_improvment
...
Mpd truncation improvement
2015-02-23 20:57:39 +01:00
enkore
aadabc1a55
Merge pull request #171 from ixjlyons/disk-urgent
...
Disk module urgent output
2015-02-23 20:57:22 +01:00
enkore
ee56b48e2d
Merge pull request #170 from gacekjk/master
...
added alert temperature handling
2015-02-23 20:56:19 +01:00
Arvedui
787e8d2623
fixed build failure
2015-02-22 15:03:32 +01:00
Arvedui
68813026e6
add functionalaty for deactivate truncation in mpd module
2015-02-22 14:54:01 +01:00
Arvedui
d0692798b7
fix a documentation issue
2015-02-22 14:29:48 +01:00
Arvedui
2bcef67c83
some changes to prevent recomputation of the output string if no truncation is done
2015-02-22 14:17:03 +01:00
Arvedui
87b57ce838
some clarification in docs about the truncation order
2015-02-22 14:14:58 +01:00
Arvedui
cceb032576
rename text_len to max_field_len, add max_len parameter and some logic to truncate certain fields if output len exceeds max_len
2015-02-22 14:10:36 +01:00
Kenneth Lyons
912be61900
Output should not be urgent if available space is greater than the critical limit.
2015-02-21 16:53:41 -08:00
gacekjk
40a9291cef
added alert temperature handling
2015-02-21 22:21:52 +01:00
facetoe
cb8f4225bd
Fixed bug that prevented user-defined keyring being used.
2015-02-16 21:09:59 +08:00
facetoe
c051e01959
Added documentation of keyring feature.
2015-02-14 10:40:58 +08:00
facetoe
61a8669eca
Removed POC NetrcBackend.
2015-02-14 10:07:30 +08:00
facetoe
7fa5c10787
Added keyring_backend to the settings tuple.
2015-02-13 19:53:08 +08:00
David Foucher
5432a9faa1
synchro
...
Merge branch 'master' of github.com:tyjak/i3pystatus
2015-02-09 22:55:38 +01:00
David Foucher
b6f6eeaf36
Add option to choose bitcoin symbol
2015-02-09 22:54:11 +01:00
tyjak
a28f29cf8f
format wifi percentage
2015-02-08 14:34:04 +01:00
David Foucher
7d8ebb948f
Better percentage format
2015-02-07 00:06:09 +01:00
facetoe
9324f06a3c
Added keyring_backend variable.
2015-02-01 09:31:13 +08:00
facetoe
887c45119b
Look for protected settings that are in the required tuple.
2015-02-01 09:15:26 +08:00
facetoe
f95066903e
Merge https://github.com/enkore/i3pystatus into credentials
2015-02-01 08:29:23 +08:00
Matus Telgarsky
c71fecdf36
util::make_graph pep8... (again, sorry)
2015-01-28 19:55:32 -05:00
Matus Telgarsky
ac2b494401
util::make_graph lower_limit parameter
...
None is now a choice for lower_limit and upper_limit as well, so that
the graph can scale as before.
For cpu_usage_graph and network, rather than exposing lower_limit
in the interface, 0.0 is used as a default, since it is already
used implicitly when choosing colors.
2015-01-28 19:48:16 -05:00
Matus Telgarsky
82db7a87a2
more braille styles (ideas from drawille)
...
added 'braille-peak' and 'braille-snake'. 'braille-peak'
renders only the top point, and 'braille-snake' fills some in.
I should have stressed earlier that I only got the braille drawing ideas
after coming across drawille ( https://github.com/asciimoo/drawille ).
2015-01-28 16:54:42 -05:00
Matus Telgarsky
117a2acfff
braille graphs: pep8 fixes
2015-01-27 15:34:05 -05:00
Matus Telgarsky
49d2f3bb0a
braille graph option
2015-01-27 15:10:26 -05:00
Matus Telgarsky
5865995d0f
simplify util::make_graph
...
rather than appending the upper limit, use it as the maximum.
In the process fixes a display bug when extent == 0,
and simplifies the addition of other drawing styles (which need
not also work around this values logic).
2015-01-27 13:42:57 -05:00
facetoe
b0d5fdba75
Added example custom keyring backend.
2015-01-25 20:26:29 +08:00
facetoe
215b85e431
Added prototype support for custom keyring backends.
2015-01-25 20:07:37 +08:00
facetoe
bec2674d38
Added prototype for protected settings.
2015-01-25 14:33:04 +08:00
facetoe
d18988827f
Documented dependency on beautifulsoup4.
2015-01-20 08:29:24 +08:00
facetoe
fc76b543da
Added whosonlocation module
2015-01-20 08:22:31 +08:00
facetoe
e00a25aebe
Document dependency on requests module.
2015-01-20 08:22:31 +08:00
facetoe
97e8e8346c
Added method to open users mailbox.
2015-01-20 08:22:31 +08:00
facetoe
37c70634a8
Prevent webrowser.open() writing to stdout when opening link.
2015-01-20 08:22:31 +08:00
facetoe
05349256de
Added Github module.
2015-01-20 08:22:31 +08:00
facetoe
a40ba18272
Allow users to scroll through interfaces.
2015-01-20 08:22:31 +08:00
facetoe
d3e8fe9b6a
Don't require importing psutil unless using the functionality it offers
2015-01-20 08:22:31 +08:00
facetoe
2999b90b22
Don't import basiciw unless using the functionality it offers.
2015-01-20 08:22:31 +08:00
Lukáš Mandák
f726300ca5
Fixed freezing on mouse events when player is not running.
...
Fixed color when player is not running.
2015-01-18 19:51:55 +01:00
Lukáš Mandák
877233ffab
Removed 'deadbeef' module since it had mpris plugin. *facepalm*
2015-01-18 18:37:22 +01:00
Lukáš Mandák
9b2591018c
Updated 'now_playing' module:
...
- Added custom format and color, when no player is running.
- Make a difference between DBus error and no players found.
- Exdended try-cath for DBus errors.
- Changed player method calls according to docs [1] since my player did not recognize them.
[1] http://dbus.freedesktop.org/doc/dbus-python/doc/tutorial.html#interfaces-and-methods
2015-01-18 18:24:35 +01:00
Lukáš Mandák
efcf8c8610
Updated 'clock' module to change locale only if necessary.
2015-01-18 11:59:05 +01:00
Lukáš Mandák
f8a7a86fab
Reverted changes in 'pulseaudio' module.
2015-01-18 11:36:35 +01:00
Lukáš Mandák
e2c709481c
Fixed variable name.
2015-01-17 19:59:20 +01:00
Lukáš Mandák
6e7c225269
Fixed 'clock' module to properly format locale specific formats.
2015-01-17 19:30:49 +01:00
Lukáš Mandák
1bacaa1cf5
Updated 'pulseaudio' module to use pactl instead of amixer.
2015-01-17 19:09:38 +01:00
Lukáš Mandák
483d5a03fc
Added 'deadbeef' module.
2015-01-17 19:07:31 +01:00
Matthieu Coudron
a26d20dcd2
Merge branch 'master' of https://github.com/enkore/i3pystatus into multiple_mail_accounts and removal of some old comments
2015-01-08 23:16:55 +01:00
enkore
b016eedb87
Merge pull request #159 from azmd/depleted-battery
...
Add support for depleted batteries
2015-01-08 00:36:13 +01:00
enkore
0ac3c54aa1
Merge pull request #157 from cganas/master
...
Updated spotify module to check for metadata on start.
2015-01-08 00:35:51 +01:00
Gordon Schulz
c6c7e162b3
Add support for depleted batteries
...
This commit adds support for detecting depleted (empty) batteries.
Introduces new 'Depleted' battery status and a 'DPL' status mapping.
2015-01-06 12:35:45 +01:00
Matthieu Coudron
b9e23b18a7
Add the possibility to display per backend unread mail along with the total number of unread mails (default). The displayed backend can be set via callbacks (on mousewheel events by default)
2015-01-06 00:41:35 +01:00
Matthieu Coudron
ff2794fa3d
WIP
2015-01-05 19:46:32 +01:00
Christopher Ganas
404c9ea348
Updated spotify module to check for metadata on start.
2015-01-04 16:07:25 -05:00
facetoe
8425db8d8d
Remove NetUtil class, don't inherit from object, slight refactoring.
2015-01-04 10:46:15 +08:00
facetoe
a9116fa592
Update docs
2015-01-03 21:53:26 +08:00
facetoe
d84b1675a9
Centralize network related functionality under one module.
2015-01-03 17:29:05 +08:00
facetoe
9928322bd6
Cycle available interfaces on click
2015-01-03 10:59:27 +08:00
facetoe
2c8834d775
Fixed incorrect default
2015-01-01 17:00:44 +08:00
Matthieu Coudron
c5933a3b26
This commit adds a basic test to check callbacks work.
...
This can also serve as an exemple.
2014-12-21 13:31:40 +01:00
Matthieu Coudron
12546736a6
Fix in documentation
2014-12-20 15:46:34 +01:00
Matthieu Coudron
d31cc380ef
Follow up of https://github.com/enkore/i3pystatus/pull/149#issuecomment-67712619 .
...
This commit removes and replaces all the old methods 'on_*' by settings
with the same name. The old methods were renamed into more explicit names that can be used for the callbacks like "next_song","mute" etc...
For instance, you can test with:
status.register("clock",
format=[
("Format 0",'Europe/London'),
("%a %-d Format 1",'Europe/Dublin'),
"%a %-d %b %X format 2",
("%a %-d %b %X format 3", 'Europe/Paris'),
],
on_leftclick= ["urxvtc"] , # launch urxvtc on left click
on_rightclick= ["scroll_format", 2] , # update format by steps of 2
log_level=logging.DEBUG,
)
This way much code could be removed from other modules, though I did it only for the clock module here.
2014-12-20 15:30:41 +01:00
Matthieu Coudron
98e46ac3d6
Updated alsa & clock modules with new mechanism
2014-12-19 22:04:49 +01:00
Matthieu Coudron
14c0528be5
This commit introduces a skeleton that allows personalized callbacks in
...
a backwards compatible way. Settings 'on_lclick','on_rclick',
'on_scrollup','on_scrolldown' are inherited by all modules.
These parameters should be a string. Then when a matching action is
detected (ie mouseclick, scrolling), the module check if this string
corresponds to a:
1/ python callable
2/ module method,
In cases 1 and 2, it calls the python function with the module as the
first parameter. Otherwise it considers the string is an external command and launches it via run_through_shell
2014-12-19 18:52:15 +01:00
Matthieu Coudron
a480701ee6
Added doc for unread method in mail/__init__/py + make sure that db is closed before deleting the notmuch db object
2014-12-19 14:31:10 +01:00
Matthieu Coudron
cb80f133d7
Simple fix for notmuch database not in sync
2014-12-18 22:02:27 +01:00
Matthieu Coudron
9e3f128a15
This commit improves the logging system: instead of setting a boolean to enable logging, the user sets a logging level (per module). By default only critical errors are logged (ie nothing for now).
...
Also adds a test for the function run_through_shell
2014-12-18 18:42:58 +01:00
Matthieu Coudron
69c1cd6460
Various pep8 and comments removal + converted shell module to use run_through_shell command
2014-12-18 00:26:24 +01:00
Matthieu Coudron
bc15eb4e6b
i3pystatus creates a logger that can be imported via import i3pystatus.logger . Thus when modules enable the 'enable_log' setting, it should log i3pystatus errors to a file called '.i3pystatus-<pid>'. This commit only solves the case when email_client was called in the email module and would output things into stderr/stdout.
2014-12-17 23:39:10 +01:00
Matthieu Coudron
f8a5bc716f
Revert "Fixed indentation in order to remove pep8 errors"
...
This reverts commit b37c7e28f8
. Error was
apparently due to a bug in pep8 <= 1.5.6
2014-12-17 21:55:14 +01:00
Matthieu Coudron
cb25cb5fb3
Fix error generated by sphinx-build complaining of no end for the list
2014-12-17 18:18:08 +01:00
Matthieu Coudron
b37c7e28f8
Fixed indentation in order to remove pep8 errors
2014-12-17 16:36:50 +01:00
Matthieu Coudron
f440322b36
Settings will be inherited between modules
2014-12-17 00:48:49 +01:00
enkore
9de7640fcc
Merge pull request #145 from rampage644/features/pomodoro_cmus
...
Features/pomodoro cmus
2014-12-11 14:07:05 +01:00
Sergei Turukin
8913450ac2
PEP8 fix, hope wont' break rST parser as well
2014-12-11 13:54:31 +02:00
Sergei Turukin
2a5c0e77a0
Insert blank line to make rST happy
2014-12-11 13:29:14 +02:00
Sergei Turukin
eab6f77bd6
PEP8 fix
2014-12-10 19:19:11 +02:00
Sergei Turukin
362c3ec83e
Fix typos
2014-12-10 18:26:15 +02:00
Sergei Turukin
d0f76a2d97
PEP8 fix
2014-12-10 18:25:32 +02:00
Sergei Turukin
105e92b5aa
Update format description for pomodoro
module
2014-12-10 18:25:15 +02:00
Sergei Turukin
f263cb55e8
Update format string description
2014-12-10 18:23:25 +02:00
Sergei Turukin
6593c580ae
Improve doc for available formatters for cmus
module
2014-12-10 18:20:51 +02:00
Sergei Turukin
b89b1c783f
PEP8 fixes
2014-12-09 16:56:35 +02:00
Sergei Turukin
45c94bd5cd
Make format configurable, fix bug, progess output
2014-12-09 16:49:27 +02:00
Sergei Turukin
a1c66f33b5
Update heuristics for getting artist/title from filename
2014-12-09 16:48:14 +02:00
enkore
4574fd5c40
weather: fix reST
2014-12-02 12:14:50 +01:00
enkore
57fda43b4e
Add uname module
2014-11-25 22:35:15 +01:00
Alex Timmermann
c2cb417fca
fix volume percentage
2014-11-19 15:35:50 +01:00
Joaquin Ignacio Barotto
8c24f6f9de
Updated the docs
2014-11-15 11:36:05 +01:00
Joaquin Ignacio Barotto
441d143810
Aded 'keyboard_locks' module, to show CAPSLOCK, NUMLOCK and SCROLLLOCK status
2014-11-15 11:35:53 +01:00
enkore
1d9614fae7
Fix #141
2014-11-07 11:22:55 +01:00
enkore
3c751882d2
Merge pull request #140 from jlucchese/master
...
Add pianobar module
2014-11-07 11:10:29 +01:00
enkore
43e9b49396
Merge pull request #139 from Arvedui/mpd_text_len
...
mpd text length
2014-11-07 11:10:07 +01:00
Simon Legner
96d7b78e2d
network_traffic: do not hide by default down iface
2014-11-04 08:22:46 +01:00
Júlio Rieger Lucchese
97c9cb7e80
Add optional event_cmd bash file into the docs
2014-11-02 15:23:00 -02:00
Júlio Rieger Lucchese
4fe4408736
Fix blank lines and whitespaces
2014-11-02 14:14:43 -02:00
Arvedui
38128eab31
fixed pep8 issue
2014-11-02 17:04:52 +01:00
Júlio Rieger Lucchese
4840362030
Add pianobar module
2014-11-02 13:21:04 -02:00
Arvedui
04eb15c330
added options text_len and truncate_fields to mpd module for taming insanly long artist, album and song names
2014-10-30 12:14:18 +01:00
Sergei Turukin
b1a7dba986
Fix module with no cmus
running
2014-10-30 11:59:18 +02:00
Simon Legner
9591de4461
network_traffic: allow to hide down interfaces
...
Interfaces which are down can be hidden or formatted differently.
The following options are added:
hide_down - whether to not display a interface which is down
format_down - format string if the interface is down (unless hide_down is set)
2014-10-30 08:23:00 +01:00
Sergei Turukin
b46c68ed50
Reset timer right on left click
2014-10-28 11:11:32 +02:00
enkore
58a3185921
Merge pull request #136 from rampage644/features/cmus
...
Add `cmus` module
2014-10-23 14:19:40 +02:00
enkore
23d4daa15f
Merge pull request #135 from rampage644/features/pomodoro
...
Pomodoro module
2014-10-23 14:19:02 +02:00
Sergei Turukin
9a83f7117e
Pep8 formatting
2014-10-23 14:38:09 +03:00
Sergei Turukin
1ca35c238e
Pep8 formatting
2014-10-23 14:35:06 +03:00
enkore
b263c66baf
Close #133
2014-10-23 12:25:40 +02:00
Sergei Turukin
2ae45ec1e7
Add cmus
module
...
Use `cmus-remote` to get info and send commands to `cmus`.
2014-10-22 18:30:40 +03:00
Sergei Turukin
c64e759b5a
Update docs
2014-10-22 18:26:20 +03:00
Sergei Turukin
e0cb834ae1
Add pomodoro
module.
...
Add _Pomodoro_ module. See http://en.wikipedia.org/wiki/Pomodoro_Technique
It uses `aplay` for playing alarm sound. It also uses `notify-send` utility
for nitification.
2014-10-22 18:26:07 +03:00
enkore
a2bb10443c
mimimi - 1.5.6 doesn't complain about that. interesting.
2014-10-14 17:40:16 +02:00
enkore
f18ee346c8
PEP 8 (I'm bored): pulseaudio
2014-10-14 16:53:09 +02:00
enkore
9e06145389
PEP 8 (I'm bored): core/util
2014-10-14 16:51:58 +02:00
enkore
b2b34ad81a
PEP 8 (I'm bored): core/modules
2014-10-14 16:50:40 +02:00
enkore
8db7b1d160
PEP 8 (I'm bored): core/io
2014-10-14 16:50:08 +02:00
enkore
3b3b716307
PEP 8 (I'm bored): mail.notmuchmail
2014-10-14 16:47:19 +02:00
enkore
2346d82ed8
PEP 8 (I'm bored): weather
2014-10-14 16:44:56 +02:00
enkore
d1725228d0
PEP 8 (I'm bored): uptime
2014-10-14 16:44:40 +02:00
enkore
ac58db5811
PEP 8 (I'm bored): text
2014-10-14 16:43:29 +02:00
enkore
f7d95a28a0
PEP 8 (I'm bored): shell
2014-10-14 16:43:15 +02:00
enkore
d782621696
PEP 8 (I'm bored): reddit
2014-10-14 16:43:02 +02:00
enkore
7b12be077d
PEP 8 (I'm bored): parcel
2014-10-14 16:41:27 +02:00
enkore
1d46cde704
PEP 8 (I'm bored): now_playing
2014-10-14 16:41:06 +02:00
enkore
45e0a13cf5
PEP 8 (I'm bored): network_traffic
2014-10-14 16:40:15 +02:00
enkore
a07539f126
PEP 8 (I'm bored): network
2014-10-14 16:38:36 +02:00
enkore
29a0278bc5
PEP 8 (I'm bored): mpd
2014-10-14 16:37:48 +02:00
enkore
c596f1b5f6
PEP 8 (I'm bored): mem
2014-10-14 16:37:04 +02:00
enkore
89fd73d9c0
PEP 8 (I'm bored): disk
2014-10-14 16:37:02 +02:00
enkore
69a62726f4
PEP 8 (I'm bored): cpu_usage_graph
2014-10-14 16:35:22 +02:00
enkore
54bae95804
PEP 8 (I'm bored): bitcoin
2014-10-14 16:35:15 +02:00
enkore
f6e910c114
PEP 8 (I'm bored): battery
2014-10-14 16:32:07 +02:00
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
enkore
a2104f5d2f
Removed support for indicating the position of a module
2013-02-24 20:13:57 +01:00
enkore
fcd68e1ec1
battery
2013-02-24 18:44:00 +01:00
enkore
1b6498883b
Divided __init__ into some submodules
...
This didn't change the public "API" used by modules.
.core.io contains the IO classes, namely IOHandler, StandaloneIO and JSONIO
.core.util contains SettingsBase and ClassFinder
.core.exceptions contains all custom exceptions
2013-02-24 18:43:00 +01:00
enkore
a06c4ef580
Moved backlight into submodule
2013-02-24 15:25:11 +01:00
enkore
2196c27ad4
This is probably a better way to handle file.File-based modules.
2013-02-24 15:16:07 +01:00
enkore
7d0193ccc1
Readme
2013-02-24 15:11:43 +01:00
enkore
7999cc453b
Added file "template" for backlight info
...
This is 100pct. the same functionality as a complete module before :-)
But still, have to come up with some better way to manage these "templates".
And a place to stash them.
2013-02-24 05:25:29 +01:00
enkore
20da1dbb08
Remove backlight module, add file module (kinda overpowered :-)
2013-02-24 05:20:35 +01:00
enkore
a5bcf9bfa2
backlight module
...
Probably I'll discard these as soon as I come up with a nice
generic way of reading multiple files, converting values etc.
2013-02-24 02:12:32 +01:00
enkore
bde56dfdec
made battery module much more flexible
...
So I can have my old representation back... indeed you can
do pretty much anything now with it:
status.register(battery,
format="{consumption:.2f}W {percentage:.2f}% [{percentage_design:.2f}%] {remaining_hm}"
)
2013-02-24 01:36:56 +01:00
enkore
ed003c123f
temp module
2013-02-24 00:34:16 +01:00
enkore
a0fc9eb492
load module
2013-02-24 00:02:35 +01:00
enkore
c4db62d2a4
Some small changes
2013-02-23 23:50:50 +01:00
enkore
3677ffc852
Rewrote SettingsBase
2013-02-23 23:48:48 +01:00
enkore
4e06a9c2ee
batterychecker → battery
2013-02-23 23:46:33 +01:00
enkore
8fba0b69a3
Fixed thunderbird
...
(deeeeeep recursion)
2013-02-23 23:00:28 +01:00
enkore
9e6af3661a
Mail
2013-02-23 23:00:14 +01:00
enkore
3f46ab24c6
flying-sheep via GS
2013-02-23 21:05:27 +01:00
enkore
c96410e92d
Automagic name attribute in JSON output
...
If name is not set by the module, it's set automatically to the
fully qualified python dotted path to the module :-)
2013-02-23 20:52:07 +01:00
enkore
13c684860d
Actualize clock once per second
2013-02-23 20:43:38 +01:00
enkore
dd7b5ef346
i3bar has some issues with locale-handling I guess.
...
It reliably crashes i3pystatus, but only if started by i3bar. Meh.
I can't tell if this locale issue is local (ha-ha) or everyone is affected.
2013-02-23 20:41:42 +01:00
enkore
ebe3d718e3
Reworked exceptions
2013-02-23 20:15:20 +01:00
enkore
70155b2f18
Fixed clock (my bad)
2013-02-23 19:05:57 +01:00
enkore
f6e5530468
~rough refactoring
2013-02-23 18:59:48 +01:00
enkore
163662a633
README
2013-02-23 18:45:05 +01:00
enkore
60be03126d
Docstrings
2013-02-23 18:41:53 +01:00
enkore
9dc7041997
First draft of a doc generator for this
...
(Already supports multiple Modules per python module)
2013-02-23 18:41:33 +01:00
enkore
d31fe9a62d
Moving code around a bit
2013-02-23 18:40:59 +01:00
enkore
1cdc722f46
SettingsBase
2013-02-23 17:40:35 +01:00
enkore
040341021c
modsde uses .format now
2013-02-23 17:40:23 +01:00
enkore
9d5c516d68
Renamed IMAP mail checker to … imap
2013-02-23 15:19:25 +01:00
enkore
eb1ce22610
IMAP mailchecker
2013-02-23 15:19:11 +01:00
enkore
761034dd01
Thunderbird
2013-02-23 15:18:56 +01:00
enkore
93b7ba9af9
Ported notmuchmail (needs testing)
2013-02-23 15:16:53 +01:00
enkore
7fceb73ff3
Mail checkers
...
Mail checkers are not separate modules anymore; there is only one
mail checker module (called mail) that can make use of various backends
, which were formerly modules on their own.
This greatly simplifies code and reduces redundance.
This commit only contains the base classes for this.
2013-02-23 15:16:23 +01:00
enkore
7c8fcb8758
Refactored the "find appropiate class" part a bit
2013-02-23 15:03:21 +01:00