Commit Graph

1186 Commits

Author SHA1 Message Date
Erik Johnson
7298b7782b Add "Fog" weather condition 2016-06-23 11:30:18 -05:00
enkore
806ebe9060 Merge pull request #366 from ncoop/iss364
Notification with update summary on_rightclick
2016-06-23 15:16:26 +02:00
facetoe
f3ffb96a17 Merge pull request #396 from asmikhailov/master
Fixed error with empty list
2016-06-23 20:20:16 +08:00
ncoop
2505468515 Notification support for aptget. 2016-06-22 23:57:40 -07:00
ncoop
f03926ed71 Put yaourt docs into code blocks; 80 char width. 2016-06-22 22:44:34 -07:00
ncoop
9d907732f1 Update notifications for pacman, cower, yaourt.
These modules are also runnable directly from terminal.
2016-06-22 22:44:25 -07:00
Erik Johnson
1cc93937e5 Change default weather icon for thunderstorm
I had added this to be able to use a different icon for thunderstorms,
which were at the time not even being detected as a weather condition
and were just falling back to the default (i.e. no colorization nor
icon). However, the only thunder/lightning unicode icon that is widely
available is too tall, leading to the entire module's text being
vertically-aligned on a different plane from the rest of the modules in
the status bar.

This commit changes the default icon to the same one used for "Rainy"
conditions, while preserving it as a distinct weather type so that
others can still use their own icon if they so choose.
2016-06-22 15:30:02 -05:00
Jonathan Gruber
42d8760462 Removed semicolon 2016-06-20 12:04:54 +02:00
Jonathan Gruber
1baaeb3ccc Added uppercase setting 2016-06-20 11:53:18 +02:00
Jonathan Gruber
f2adc64966 Added format string setting 2016-06-20 11:40:46 +02:00
Igor Sharonov
0a3679510e Treat i3pystatus as launcher 2016-06-19 22:18:07 +03:00
Erik Johnson
1f8e11fd6d Update EPL scores backend for offseason
During the offseason, the context URL which provides params used to
locate information on a given game redirects to the EPL mainpage.
This commit properly catches these cases, and also adds some helpful
logging to the ScoresBackend api_request() function.
2016-06-10 00:05:33 -05:00
Raphael Scholer
1b6dd7ea33 imap - Catch socket.gaierror if no internet connection is available 2016-06-09 22:11:43 +02:00
facetoe
b4e21dfd9e Merge pull request #394 from facetoe/pulseaudio_change_sink
Support changing sinks on the fly.
2016-06-08 20:52:58 +08:00
asmikhailov
07dd1bb159 Merged upstream master 2016-06-07 12:10:19 +03:00
facetoe
8140b3b73c Use sink name not index. 2016-06-07 16:24:04 +08:00
facetoe
3dcc2d7d8f Open calendar event on click. 2016-06-06 16:10:26 +08:00
facetoe
0215bdf5f1 Continue on 500/503 errors. 2016-06-06 15:53:54 +08:00
facetoe
bdfed7136a Support changing sinks on the fly.
On double click, move all sink inputs to the next available
sink and set as default.
2016-06-06 15:43:15 +08:00
ncoop
ae1274d5d3 Makes update count algo less wrong. 2016-06-04 21:30:24 -07:00
ncoop
b73dbb1a35 Return early if the check threw an error. 2016-06-04 20:53:12 -07:00
ncoop
5272e10208 Dump data by running as __main__. 2016-06-04 20:32:33 -07:00
ncoop
48273a8205 Unknown update list gives empty string. 2016-06-04 19:54:21 -07:00
ncoop
51675430b1 Notification icon is customizable, and can be None 2016-06-04 19:54:21 -07:00
ncoop
d7d372ff5d Added format_summary option
By default, same as format
2016-06-04 19:54:21 -07:00
ncoop
7fb0794f45 Now returns both the count and a notification body 2016-06-04 19:54:21 -07:00
ncoop
616c68b0f0 Notification displayed on rightclick by default
Notification summary shows the count
Notification icon is `software-update-available`
notif_body concatenates raw or prepared output from all backends

Backends that don't yet output to notif_body should have harmless empty string

Also, linted according to flake8
Corrected typo
2016-06-04 19:54:20 -07:00
enkore
c8c09763c1 Merge pull request #383 from drwahl/temp
temp: add a "display_if" setting
2016-06-04 20:29:58 +02:00
enkore
89424d103c Merge pull request #382 from drwahl/gpu_temp
gpu_temp: add "display_if" setting
2016-06-04 20:29:51 +02:00
colajam93
ecb532a5ac Fix typo 2016-06-04 01:39:31 +09:00
Mehdi ABAAKOUK
2d7b3afaca Fix imap connection lost (#380)
Nothing in imap mail backend reinit the imap connection
when this one is lost, and then the backend always output "socket.error:..."

This change fixes that by cleanup the connection object when
connection is lost so get_connection() will recreate a new one.

This also remove the unless utils.internet() checks already done by
Mail().run()
2016-05-24 12:22:30 +02:00
eBrnd
cee2860138 add weekcal module (#388) 2016-05-24 12:21:06 +02:00
Stefan Tatschner
f059184411 Use CSFR Token in Syncthing module
Fixes #390
2016-05-24 10:24:56 +02:00
enkore
3ab7a58d03 spotify: pass player_name=spotify to playerctl 2016-05-22 22:18:29 +02:00
Sergei Turukin
ccb688c404 Quick fix 2016-05-18 15:49:20 +03:00
Sergei Turukin
cea50cbe5e Fix PEP8 issue 2016-05-18 14:53:59 +03:00
Sergei Turukin
565e4a66d1 Change pomodoro counting logic 2016-05-18 14:51:54 +03:00
Erik Johnson
8f9c878689 Make NHL team wins reflect series wins during playoffs
The win/loss values from the NHL data feed reset in the playoffs, but
don't reflect the current series. Instead, they reflect the current
win/loss total since the beginning of the playoffs.

This commit checks for a key in the API return data indicating that the
game is a playoff game, and if the game is a playoff game the team's
wins will be set to the remainder of the total wins divided by 4 (a team
with 6 overall wins will be assumed to have 2 wins in the current
playoff series).

The team's losses during a playoff series will be set to the amount of
wins for the opposing team.
2016-05-17 09:49:29 -05:00
Sergei Turukin
ae3721ce87 Flake8 fixes 2016-05-17 14:11:26 +03:00
Sergei Turukin
d4f209bfe9 Refactor. 2016-05-17 14:07:41 +03:00
Sergei Turukin
7ec7739055 Refactor
Use integer values for states instead of strings. Feels more optimal.
2016-05-17 14:01:37 +03:00
Sergei Turukin
575f682a61 Using utcnow helps to avoid timezone issues.
On timer start timezone is provided to `datetime.now()` call, but on refresh is not.
That cause a bug with wrong time difference (it include timezone diff). Didn't
dig deep enough to figure out why there is inconsistency with timezones so just
pin timezone info as it's not useful anyway.
2016-05-17 13:54:42 +03:00
David Wahlstrom
b901cec5a6 temp: add a "display_if" setting
Adds a "display_if" setting to temp module.  This is a snippet that will
be evaulated, and if the result is true, it will display the module's
output.
2016-05-11 13:38:28 -07:00
David Wahlstrom
cc3781a6c0 gpu_temp: add "display_if" setting
Adds a "display_if" setting to the gpu_temp module that allows the
output to be squelched unless some snippet has been evaluated as true.
2016-05-11 13:26:38 -07:00
David Wahlstrom
12c74674f2 openfiles: add tests and close files
Added a functional test and included a close() call on files that are
opened when the module/test run.
2016-05-06 09:12:33 -07:00
David Wahlstrom
d1de6c5fa3 openfiles: module to report open file handle count
This module will display the current open file handles and the kernel
setting for max open file handles.  This is particularly useful when
running applications that like to grab a lot of file handles to help
monitor if/when your system may run out of available file handles.
2016-05-06 08:45:34 -07:00
enkore
4611295475 Merge pull request #365 from ncoop/iss359
Stricter criteria for including query output
2016-05-03 09:47:17 +02:00
enkore
b5a4fd2ab0 Merge pull request #373 from terminalmage/scores
Add module to display sports scores
2016-05-03 09:46:01 +02:00
Erik Johnson
da104268ab Catch another odd weather.com weather condition
This properly colorizes when there is a thunderstorm and the weather.com
API response defines the current weather condition as "T-Storm". No idea
why they decide to do this, it's definitely not for brevity as they have
a "Thunderstorms in the Vicinity" weather condition as well. Just a
weird quirk of their API, I guess.
2016-05-02 22:08:12 -05:00
enkore
682961f956 Merge pull request #367 from k1-hedayati/patch-1
Added interval option to online module
2016-04-26 11:04:58 +02:00
enkore
dcc3cfeffc Merge pull request #371 from ncoop/master
Module should be chmod a-x
2016-04-26 11:04:36 +02:00
enkore
ba0b6bc0f1 Merge pull request #372 from ncoop/mpd-KeyError-fix
MPD KeyError fix at end of playback
2016-04-26 11:03:52 +02:00
enkore
f120fb65e3 Merge pull request #362 from terminalmage/logging
RFC: Improved logging
2016-04-26 11:03:19 +02:00
Erik Johnson
633ea4628e Use playoff W/L numbers if in playoffs
Also add seed info
2016-04-25 22:42:17 -05:00
Erik Johnson
c930fe8330 Properly identify multi-OT NHL games 2016-04-25 22:42:17 -05:00
Erik Johnson
157f0f57c8 Properly identify delayed games in-progress
Had to wait for an in-progress game to be delayed to see the API return
to properly catch this.
2016-04-25 22:42:17 -05:00
Erik Johnson
11db5baca6 Add EPL backend for scores module 2016-04-25 22:42:17 -05:00
Erik Johnson
5d053f7094 Add NBA backend for scores module 2016-04-25 22:42:17 -05:00
Erik Johnson
ddde786763 Add NHL backend for scores module 2016-04-25 22:42:17 -05:00
Erik Johnson
afdcf32388 Add module to display sports scores
This is a pluggable module which supports multiple backends. The first
backend displays MLB scores, with more planned (NHL to start).
2016-04-25 22:42:17 -05:00
ncoop
84e438caf4 Ensure currentsong dictionary has "file" key 2016-04-15 20:22:25 -07:00
ncoop
e7ca6d7cb9 Module should be chmod a-x 2016-04-15 02:00:41 -07:00
ncoop
762315dde1 Corrected setxkbmap -query output
Only includes the one or two lines desired.
Also, uses a class function instead of relying on sed.
2016-04-13 13:17:30 -07:00
Keyvan Hedayati
753860157c Added interval option to online module 2016-04-12 11:16:38 +04:30
Erik Johnson
8e9b6dfba3 Remove leading newline from exception logging
The new log formatting makes this unnecessary.
2016-04-10 21:16:23 -05:00
Erik Johnson
c6b2077263 Add support for logformat parameter to i3pystatus.Status()
This improves the usefulness of log messages, especially when it comes
to debug logging added for the purpose of future troubleshooting.
2016-04-10 21:16:23 -05:00
ncoop
52ef0e07df Not all lines after the second are updates.
There are 14 here:

```
Last metadata expiration check: 1:16:29 ago on Sat Apr  9 01:14:36 2016.

google-chrome-stable.x86_64            49.0.2623.112-1             google-chrome
kernel.x86_64                          4.4.6-301.fc23              updates
kernel-core.x86_64                     4.4.6-301.fc23              updates
kernel-debug-devel.x86_64              4.4.6-301.fc23              updates
kernel-devel.x86_64                    4.4.6-301.fc23              updates
kernel-headers.x86_64                  4.4.6-301.fc23              updates
kernel-modules.x86_64                  4.4.6-301.fc23              updates
kernel-modules-extra.x86_64            4.4.6-301.fc23              updates
openssh.x86_64                         7.2p2-2.fc23                updates
openssh-askpass.x86_64                 7.2p2-2.fc23                updates
openssh-clients.x86_64                 7.2p2-2.fc23                updates
openssh-server.x86_64                  7.2p2-2.fc23                updates
webkitgtk3.x86_64                      2.4.10-2.fc23               updates
Obsoleting Packages
kernel-headers.x86_64                  4.4.6-301.fc23              updates
    kernel-headers.x86_64              4.4.6-300.fc23              @updates
```
2016-04-09 03:35:45 -07:00
ncoop
c33a798b86 Simple 'dnf check-updates' backend for updates 2016-04-09 03:35:45 -07:00
enkore
ff63d95737 Merge pull request #358 from grimpy/nowplaying_tolerant
Now playing: be more tolerant for mpris properties
2016-04-09 12:33:04 +02:00
Jo De Boeck
be83476aef Now playing: be more tolerant for mpris properties
Some mpris clients dont implement all properties
2016-04-08 13:23:53 +02:00
Erik Johnson
7cb2dcc255 Fix improper usage of time.tzset() (#347)
* Fix improper usage of time.tzset()

time.tzname is a tuple containing the non-daylight-savings and
daylight-savings timezone abbreviations. However, when the TZ
environment variable is set to just the daylight-savings timezone (as
the clock module was changed to do in e31c58f), time.tzset() will break
time.tzname by setting both elements of the tuple to that timezone,
causing the effective timezone to fallback to UTC:

>>> time.tzname
('CST', 'CDT')
>>> time.localtime().tm_hour
1
>>> os.environ.putenv('TZ', 'CST')
>>> time.tzset()
>>> time.tzname
('CST', 'CST')
>>> # ^^^ This is broken
...
>>> time.localtime().tm_hour
6
>>> os.environ.putenv('TZ', 'CST+06:00CDT')
>>> time.tzset()
>>> time.tzname
('CST', 'CDT')
>>> time.localtime().tm_hour
1

This fixes this incorrect behavior by building a proper TZ environment
variable to set localtime.

* Use time.timezone instead of time.altzone

* Make _get_local_tz a static method
2016-04-07 23:21:23 +02:00
Maximiliano
c0cdfae1f8 mod bitcoin: multiple exchange support (#353)
* mod bitcoin: add 'volume_percent'

* mod bitcoin: Fix exception on url opening (#304)

Calling user_open as a 'Python callback' raises an exception because
this function doesn't expects 'self'.
Wrote a wrapper function as a 'Member callback' to filter it out.

* mod bitcoin: add specific exchange support

* mod bitcoin: add request age attribute

* mod bitcoin: refactor

* mod bitcoin: btc volume divisor

* bitcoin: Deal with diffrent locales

* Fixing PEP8

* mod bitcoin: Updated docs
2016-04-07 23:20:37 +02:00
Jindřich Pilař
c93bfe16b6 Taskwarrior module (#354)
* Taskwarrior module

* Taskwarrior - sort by urgency

* Taskwarrior - filter with multiple constraints
2016-04-07 23:19:59 +02:00
enkore
d9f5950eaa Merge pull request #355 from Xenopathic/master
Properly set MPD filename if no title
2016-04-07 23:19:17 +02:00
Erik Johnson
01395c6b39 Catch "Showers" as "Rainy" weather condition (#356)
* Catch "Showers" as "Rainy" weather condition

Weather.com has a "Showers in the Vicinity" weather condition that I
just happened to see this morning. This commit assigns this condition as
"Rainy" so it is properly colorized.

* Make "Clear / Windy" map to "Fair" weather condition

Another odd weather condition from the weather.com API

* Reverse icons for Fair and Sunny

"Sunny" should have a filled-in sun icon as it implies a brighter weather
condition than "Fair" does.

* Properly detect "Sunny / Windy" as "Sunny" weather condition

Also, do not check for similarly-named conditions if an exact match is
found.

* Properly detect "Fair / Windy" as "Fair"
2016-04-07 23:18:39 +02:00
Robin McCorkell
e3194147fa Properly set MPD filename if no title 2016-04-01 13:07:49 +01:00
enkore
ad2f08e89b Merge pull request #351 from terminalmage/google-calendar
google_calendar: make number of days for event search configurable
2016-03-31 11:08:14 +02:00
enkore
c858c289e7 Merge pull request #350 from terminalmage/issue232
Improve documentation for battery module
2016-03-31 11:06:26 +02:00
enkore
07c70b0ac8 Merge pull request #348 from hasB4K/pullrequest-ping
ping: Add ping module
2016-03-31 11:05:33 +02:00
Erik Johnson
0fafb1a652 Identify more kinds of cloudy weather 2016-03-30 13:19:38 -05:00
Erik Johnson
2ac7c6af3d Support more types of "rain" conditions 2016-03-30 11:40:30 -05:00
Erik Johnson
7c25dff1a1 Let color default to i3bar color 2016-03-29 23:39:43 -05:00
Erik Johnson
f30b929752 Make number of days for event search configurable 2016-03-29 23:27:59 -05:00
Erik Johnson
97600454ed Improve documentation for battery module
This adds a mention and usage example for ``formatp`` to hide the status
icon when the battery is full.

Resolves #232.
2016-03-29 09:22:18 -05:00
Erik Johnson
f3f2b59c5b Rework wunderground module as a backend of i3pystatus.weather 2016-03-29 01:14:56 -05:00
Erik Johnson
abf5b6ad1c update docs for weathercom 2016-03-29 01:14:56 -05:00
Erik Johnson
c32e458514 Rework weather.com
This alters the weather.com forecast code such that it is a backend for
the new generalized weather module.
2016-03-29 01:14:56 -05:00
Erik Johnson
099ddc795c Rename weather.py to weathercom.py
With the addition of wunderground.py, this makes the naming of this
module less general.
2016-03-29 01:14:56 -05:00
Erik Johnson
7f5338d772 Move weather.py, wunderground.py to i3pystatus.weather 2016-03-29 01:14:56 -05:00
Erik Johnson
f0d19aacec Initial commit of general weather module 2016-03-29 01:14:56 -05:00
Erik Johnson
3c955ac897 Use ob_url instead of forecast_url, it is more accurate 2016-03-29 01:14:56 -05:00
Erik Johnson
048fd8f83d Add link to PWS stations 2016-03-29 01:14:56 -05:00
Erik Johnson
23747d8181 Add wunderground module
This module tries to use as much of the same variable naming conventions
that the ``weather`` module uses as possible, to make transitioning
easier in the future in case we decide to make a base class for all
modules which provide weather data.

An API key is required to use this module, information on obtaining one
can be found in the docstring.
2016-03-29 01:14:56 -05:00
Mathis FELARDOS
38c56616d8 ping: add ping module
This module allow an user to display the current ping value between
himself and another host. It can be useful for:

* Testing your connection all the time
* Checking if one of your server is alive

Signed-off-by: Mathis FELARDOS <mathis.felardos@gmail.com>
2016-03-28 16:07:57 +02:00
enkore
9e3e7a6bc6 Merge pull request #345 from facetoe/pulseaudio-sinks
Fix sink selection bug.
2016-03-28 09:29:26 +02:00
facetoe
b111fd62f1 Clean up code. 2016-03-28 08:46:25 +08:00
facetoe
0c17b6f435 Disable update check that breaks everything 2016-03-27 12:16:15 +08:00
facetoe
3422469df0 Fix sink selection bug.
A sink in the SUSPENDED state would never be selected. Not sure if this
solution is correct...
2016-03-27 09:58:45 +08:00
enkore
cf8ae97a43 Merge pull request #341 from grimpy/nowplaying_activatable
Now Playing: Check for mpris service in activatable services
2016-03-26 21:25:51 +01:00
enkore
e60051bdc5 Merge pull request #342 from terminalmage/updates-color
Change color_no_updates to None to default to i3bar color
2016-03-26 21:25:28 +01:00
enkore
832061c426 Merge pull request #343 from rscholer/dpms_format
dpms: Allow a different format string when DPMS is disabled.
2016-03-26 21:22:59 +01:00
enkore
a645bb74eb Merge pull request #340 from grimpy/pulse_auto_sink
Pulseaudio: Display/control active sink
2016-03-26 21:22:16 +01:00
Mathis FELARDOS
f26a9f9d1d core: Improve the support of other button
* This commit fix #259
* Change 'unhandled' callback by 'other'
* Add the an optional parameter 'button_id' for all callbacks

Signed-off-by: Mathis FELARDOS <mathis.felardos@gmail.com>
2016-03-25 22:27:33 +01:00
Raphael Scholer
bf71e78e23 dpms: Allow a different format string when DPMS is disabled.
Substitution of {status} is still possible, for backwards compatibility.
2016-03-25 18:05:42 +01:00
Erik Johnson
4867afeda1 Change color_no_updates to None to default to i3bar color
If ``statusline`` is not set in ``~/.config/i3/config``, it defaults to
``#ffffff`` (white). Therefore, the default behavior of the updates
module in this case is to show white for both ``color_no_updates``
(system is up-to-date) and ``color_working`` (update check in progress).

However, if one sets ``statusline`` in their ``~/.config/i3/config``,
then the color will be white when the system is up-to-date, forcing the
user to manually set ``color_no_updates`` if they would prefer it match
their default i3bar color.

This commit changes the default value of ``color_no_updates`` to
``None`` so that it matches the default i3bar unless overridden.
2016-03-25 00:29:19 -05:00
Mathis FELARDOS
95f625cd6b core: Add the middle click support and unhandled button support
* This commit fix #259
* Support of middle click button
* Add an unhandled click events for all button that will not be handled
* Remove the return type of on_click: it became useless now
* Fix the unique call of on_click in CommandEndpoint

Signed-off-by: Mathis FELARDOS <mathis.felardos@gmail.com>
2016-03-25 04:32:29 +01:00
Jo De Boeck
6161d591d2 Now Playing: Check for mpris service in activatable services 2016-03-24 21:25:27 +02:00
Jo De Boeck
b711ba96ed Pulseaudio: Display/control active sink
Make sink a property which checks which sink is currently active.
Use pactl to control volumes which gets standard insalled with libpulse
which is already a requirement.
2016-03-23 20:46:04 +02:00
Mathis FELARDOS
98e8a1cc04 core: handle callbacks that are not functions on Python 3.3
* Fix inspect.getargspec issue for non functions callbacks by creating
  an empty ArgSpec. There for we ignore all kwargs parameters.

Signed-off-by: Mathis FELARDOS <mathis.felardos@gmail.com>
2016-03-23 10:14:20 +01:00
Mathis FELARDOS
d15b3173f1 core: Change command_endpoint and on_click for supporting i3bar mouse positions
* command_endpoint: get the position from the mouse when the click
  occured. Parameters names are set here: pos_x pos_y.
  Positions are passed to on_click through keyword arguments.
* Module:
  - change __log_button_event, __button_callback_handler and on_click
    methods for handling keyword arguments.
  - "Member", "Method" and "Python" callbacks are handled by detecting
    if they have pos_x or pos_y as parameters, or if they have a
    keyword arguments. The special case of wrapped callbacks (made with
    get_module decorator for example) is handled in a similar way.
  - "External command" is handled by considering the position as a
    format dictionary. Actually no distinctions are made of how
    self.data and the new keyword argument are treated on this.
  - the parameter kwargs as been added to the doc string of on_click.
* MultiClickHandler: now handle keyword arguments.

Signed-off-by: Mathis FELARDOS <mathis.felardos@gmail.com>
2016-03-23 08:36:11 +01:00
enkore
0b49c4058a Merge pull request #333 from terminalmage/fix-updates
Fix KeyError when using backend-specific updates formatter
2016-03-22 12:31:48 +01:00
enkore
843088c9f5 Merge pull request #332 from drwahl/master
last.fm: initial commit of last.fm module
2016-03-22 12:30:22 +01:00
enkore
c35eb5ee3b Merge pull request #338 from grimpy/fix_nowplaying
now_playing: use get_dbus_method for compatibility
2016-03-22 12:29:41 +01:00
Jo De Boeck
6a7e80ec38 now_playing: use get_dbus_method for compatibility
Calling method directly on dbus proxy object does not always work.
2016-03-22 12:13:29 +02:00
Hugo Osvaldo Barrera
9a091ab024 Improve solaar error handling/display
Improve errors shown by solaar plugin, also cleaning up how error are
internally handled.

See #335
2016-03-21 19:51:44 -03:00
David Wahlstrom
e529fa8c95 dota2wins: truncate win percentage
Use only 2 decimals for win percentage so we don't fill all of the
status bar with decimal places.
2016-03-18 09:03:19 -07:00
Erik Johnson
2a886ffa1e Fix KeyError when using backend-specific updates formatter
When a backend-specific formatter (i.e. ``{Pacman}``, ``{Cower}``, etc.)
is used, and the initial "working" status is set, the loop in which the
update totals is compiled has not yet run, leading to a KeyError.

This commit fixes the traceback by setting initial values of "?" for
these formatters before the initial "working" status is set.
2016-03-16 21:47:14 -05:00
David Wahlstrom
7163122e1b last.fm: initial commit of last.fm module
This last.fm module will report to the status bar the current track that
is being played.  Last.fm requires an API key for access to their APIs,
so the user must provide their own API key which can be easily obtained
for free from http://www.last.fm/api/.
2016-03-16 16:27:02 -07:00
Erik Johnson
ff31e08b74 Add settings entry for color_icons
This allows this item to be overridden in i3pystatus with custom colors
and icons.
2016-03-12 22:49:30 -06:00
Kenny Keslar
693d2ebdb7 Catch exceptions in button handlers 2016-03-02 15:57:57 -05:00
Kenny Keslar
7d90574212 Pulseaudio - use execute helper & fix program check 2016-03-02 15:40:16 -05:00
Lennart Braun
f2b4447126 Fix explicit utf-8 encoding 2016-02-26 16:18:12 +01:00
Lennart Braun
530b9f2d88 Add mpd password support 2016-02-26 15:34:38 +01:00
facetoe
357aaa76a1 Fix uneven quotes in status command. 2016-02-20 22:51:27 +08:00
facetoe
ee79a691b2 Fix dateTime bug identified in #322
Also fixed bug where an event with no title would cause a crash.
2016-02-18 20:29:07 +08:00
enkore
7117df6fb2 Display exception class name (in-line exception display)
cf #322
2016-02-16 13:40:30 +01:00
enkore
bf2e992fc9 Merge pull request #317 from facetoe/google_calendar
Add GoogleCalendar module
2016-02-14 14:56:33 +01:00
facetoe
577e3df17f Fix bugs in setting_util.py.
An exception was thrown while loading classes and the -l paramater
wasn't working correctly.
2016-02-14 14:49:55 +08:00
enkore
32296aad6b Merge pull request #319 from t3zla/master
Made the openvpn module more flexible by allowing custom status commands, along with changing the spelling of "colour"
2016-02-12 14:14:34 +01:00
enkore
58ca67109c Change default mode to standalone=True 2016-02-12 14:12:43 +01:00
Holden Salomon
8254eaf43e Made the openvpn module more flexible by allowing custom status commands, making it compatible with networkmanager based VPNs. Also changed the spelling of colour_down and colour_up to color so the module is the same as all of the others 2016-02-11 12:00:49 -05:00
facetoe
67142bc6fe Add GoogleCalendar module 2016-02-10 22:06:29 +08:00
Julius Haertl
99ca98eaea openvpn: Rename colour_up/colour_down to color_up/color_down 2016-02-10 10:03:47 +01:00
enkore
a83a53dec0 Merge branch 'dota2winsdefaultetc' 2016-02-03 18:43:47 +01:00
David Wahlstrom
4f490d6b4a dota2wins: truncate win percentage
Use only 2 decimals for win percentage so we don't fill all of the
status bar with decimal places.
2016-02-03 18:42:28 +01:00
w8u
b1a2c4d6c5 corrected settings to avoid Sphinx errors 2016-02-02 16:38:52 +01:00
w8u
1680ef4f17 A module for monitoring message amount in VK 2016-02-02 16:38:52 +01:00
enkore
2890f942f3 configuration.rst: update example callbacks 2016-02-02 16:01:28 +01:00
enkore
289c090ea4 Import core.util.get_module into i3pystatus main module 2016-02-02 15:47:18 +01:00
enkore
dcda1bb3a4 Fix initialization error if standalone is False
Does anybody even use this scenario anymore? We could remove quite some
code if we only supported standalone operation.
2016-02-02 15:47:00 +01:00
enkore
9759d6eea5 Revert "Lift restriction that "run" cannot be used as a callback"
This reverts commit d018be872a.
2016-02-01 17:09:47 +01:00
enkore
57be3c45a9 updates: add an individual formatter for every backend 2016-02-01 13:11:58 +01:00
enkore
d7af5c762f updates: new formula®
Start an extra worker ourselves, then use a condition to notify it
of explicit update requests
2016-02-01 12:48:56 +01:00
enkore
39e2c64570 updates: allow display of a "working/busy" message 2016-02-01 12:20:30 +01:00
enkore
d018be872a Lift restriction that "run" cannot be used as a callback 2016-02-01 12:18:03 +01:00
enkore
5dbb8b6cac Fix typo 2016-01-31 18:34:07 +01:00
enkore
b3a1ab2508 syncthing: callback descriptions 2016-01-31 18:33:34 +01:00
enkore
5959ba9463 Merge pull request #295 from rumpelsepp/master
Add Syncthing module
2016-01-31 18:30:37 +01:00
Stefan Tatschner
70a9ead7ef Add Syncthing module
This module provides support for Syncthing [1]. Currently this module
only supports showing the up/down status of Syncthing and it is possible
to start/shutdown Syncthing via click events. A few callback functions
for usage with/without systemd are provided as well.

The module is designed in a generic way (st_get(), st_post()), such that
new features could be add very easily.

[1]: https://syncthing.net
2016-01-31 17:46:09 +01:00
enkore
739c595ef0 Fix is_method_of (cf #310), add regression test case 2016-01-28 20:34:53 +01:00
enkore
fcc3bf67d4 Update alsa.py
cf #300
2016-01-28 16:57:57 +01:00
enkore
81690baa62 Merge pull request #309 from richese/timer
Added `Timer` module.
2016-01-28 15:01:24 +01:00
enkore
2aeda9c5e3 Fix single string case & docs 2016-01-27 20:15:59 +01:00
enkore
dec534ce81 Fix errorneous recursive replace mishap 2016-01-27 20:02:51 +01:00
enkore
0743767385 Two line if 2016-01-27 20:00:50 +01:00
enkore
612b8b07eb Update modules to a7583a9
Not updated for various reasons:
clock,
dpms,
gpu_temp,
load,
mail,
mem_bar,
modsde,
net_speed,
pianobar,
pulseaudio,
regex [no named formatters],
runwatch,
shell,
solaar,
temp,
text,
updates,
weather,
whosonlocation,
xkblayout,
zabbix


This might break something: I can't test all these modules. If it does,
file a bug / open a PR / send me a note.
2016-01-27 19:53:33 +01:00
enkore
a7583a9786 Implement #300 2016-01-27 19:31:12 +01:00
enkore
a9462aa862 Merge branch 'cbself' 2016-01-27 19:11:54 +01:00
enkore
aed169de4d Implement decided resolution of #304
- Remove self for normal callables
- Retain self for methods (of course)
- Add decorator to retrieve self for special callbacks that need it
  (Yes, the example is kinda stupid and would be unnecessary with #300)
2016-01-27 19:07:59 +01:00
Lukáš Mandák
1c6b42d9e5 Removed dependency on enum module. 2016-01-27 14:20:09 +01:00
Lukáš Mandák
0bf0fd3591 Added Timer module. 2016-01-27 11:59:26 +01:00
enkore
4c37834df4 Merge pull request #282 from t3zla/master
Added previous song support to the spotify module, activated by scrolling down while over the module in the status bar
2016-01-26 22:34:59 +01:00
enkore
f05a16482b Merge pull request #308 from tukss/mpd-unix-socket
add support for MPD connects via AF_UNIX sockets
2016-01-26 22:34:38 +01:00
enkore
69f5835223 Merge pull request #306 from janoliver/master
Added module for tracking the status of Batch computing jobs on a cluster running the Sun Grid Engine (SGE)
2016-01-26 22:33:58 +01:00
Philipp Edelmann
45377b12c3 add support for MPD connects via AF_UNIX sockets
A port number equal to 0 now lets the mpd module interpret the host as
a path to a socket.
2016-01-22 23:27:53 +09:00
Jan Oliver Oelerich
691453950b fixed indentation 2016-01-20 09:11:30 +01:00
Jan Oliver Oelerich
0fce823952 fixed a bug of running jobs not being displayed. 2016-01-20 09:09:32 +01:00
asmikhailov
0f23620336 Fixed error with empty triggers list 2016-01-19 12:33:13 +03:00
Jan Oliver Oelerich
f32c8e0650 reverted .gitignore and fixed indents of sge.py 2016-01-19 10:17:50 +01:00
Jan Oliver Oelerich
6925770e4f Added module for tracking the status of Batch computing jobs on a cluster running the Sun Grid Engine (SGE) 2016-01-19 09:38:47 +01:00
Maxi Padulo
f12d1f9d48 Fix handler not executing external cmd (#301)
Wrong name on function call was raising AttributeError
exception disrutping the code execution.
2016-01-12 13:03:50 +01:00
enkore
6520d1e770 Merge pull request #299 from mxlian/master
backlight module increasing brightness on scroll not working
2016-01-11 12:43:09 +01:00
Maxi Padulo
b132c4d842 Fix backlight not increasing brightness 2016-01-09 17:39:46 +01:00
David Bronke
084269cf0d Fix typo in MoonPhase.status.
This fixes the default shown in the docs, so copy/pasting it into your config won't end up giving you a broken `Waning Crescent` mapping.
2016-01-08 02:12:32 +00:00
enkore
a356e42c12 Fix pulseaudio creating zombies (#293) 2016-01-05 12:51:39 +01:00
enkore
f40feda2c4 Merge pull request #281 from fabrox/master
Implemented optional volume display/setting as in AlsaMixer.
2016-01-05 12:49:06 +01:00
Lorian Coltof
ef58c5a6fa Added the bar_design option in the format of the battery module 2016-01-03 16:43:29 +01:00
Douglas Eddie
731749f0e3 Added check for ismount() and empty directories.
Previously the free space of the underlying filesystem would be reported if the path provided was a directory but not a valid mountpoint. This adds a check to first confirm whether a directory is a mountpoint using os.path.ismount(), and if not, then runs an os.listdir() to count the files; empty directories are considered not mounted.

This functionality allows for usage on setups with NFS and will not report free space of underlying filesystem in cases with local mountpoints as path.
2016-01-03 16:43:29 +01:00
Douglas Eddie
1c4f941304 Improved handling of (un)mounted drives/partitions.
richese provided base for new options.
2016-01-03 16:43:29 +01:00
Nuno Cardoso
87c01278f7 Added double click support 2016-01-03 16:43:29 +01:00
Alexandr Mikhailov
3d22043881 Fixed global color with max severity alert 2016-01-03 16:43:29 +01:00
Alexandr Mikhailov
a09bf88007 Another PEP8 compatibility fix 2016-01-03 16:43:29 +01:00
Alexandr Mikhailov
0aeec83741 Pep8 correction 2016-01-03 16:43:29 +01:00
Alexandr Mikhailov
b2dd1b46ca Added Exception for incorrect Zabbix authentication and implemented global color for module result 2016-01-03 16:43:29 +01:00
Alexandr Mikhailov
bac8a05d41 Simplify individual alerts assignment 2016-01-03 16:43:28 +01:00
Alexandr Mikhailov
31374a2ec4 Added Zabbix module 2016-01-03 16:43:28 +01:00
Jan Fader
b6a472e014 fixed documentation of solaar 2016-01-03 16:43:28 +01:00
Jan Fader
09e2e64d36 initial commit of solaar.py 2016-01-03 16:43:28 +01:00
fahrstuhl
2a65efa068 adds doc for variant feature 2016-01-01 18:18:01 +01:00
fahrstuhl
0a17ee2bfb PEP8 compliance 2016-01-01 14:05:55 +01:00
fahrstuhl
0a63932c62 adds variant to xkblayout 2016-01-01 14:04:32 +01:00
Maximiliano
47f1f72c5c disk module: corrected doc string 2015-12-22 17:14:38 +01:00
enkore
378d913caf Merge pull request #283 from PolarNick239/master
GPU temperature and memory usages modules (nvidia only)
2015-12-21 23:20:12 +01:00
enkore
b1aabe3b52 Merge pull request #285 from facetoe/openvpn
Make symbol configurable in openvpn module
2015-12-21 23:19:34 +01:00
enkore
e430454905 Merge pull request #280 from richese/misc_settings
Added options to change logfile and internet check server.
2015-12-21 23:19:24 +01:00
enkore
597667acc7 Merge pull request #274 from facetoe/iinet
Add IINet module
2015-12-21 23:18:00 +01:00
Alexandr Mikhailov
86d876fd58 Fixed global color with max severity alert 2015-12-18 01:25:39 +03:00
Alexandr Mikhailov
38f7c6cd80 Another PEP8 compatibility fix 2015-12-18 00:46:10 +03:00
Alexandr Mikhailov
bfe367b836 Pep8 correction 2015-12-17 23:25:53 +03:00
Alexandr Mikhailov
0c52b5586c Added Exception for incorrect Zabbix authentication and implemented global color for module result 2015-12-17 23:18:37 +03:00
Alexandr Mikhailov
0c15903d4e Simplify individual alerts assignment 2015-12-17 16:44:30 +03:00
Alexandr Mikhailov
2a3041fb57 Added Zabbix module 2015-12-16 16:58:24 +03:00
facetoe
93220ac178 Make symbol configurable 2015-12-12 18:38:53 +08:00
Nikolay Polyarniy
e569b934b2 PEP8 fix for utils/__init__ and accidental copyright removed 2015-12-10 01:42:00 +03:00
Nikolay Polyarniy
8ae40efa30 gpu_temp: GPU temperature module (nvidia-smi only) 2015-12-10 01:30:37 +03:00
Nikolay Polyarniy
6f492ff406 gpu_mem: GPU memory module (nvidia-smi only) 2015-12-10 01:30:04 +03:00
Holden Salomon
3b82e8de1e Added previous song support, activated by scrolling down while over the module 2015-12-05 13:37:32 -05:00
Fabian Tobias Rajter
1376f5f6be Changed cosmetical things Travis CI was complaining about. 2015-12-05 18:31:45 +01:00
Fabian Tobias Rajter
2abaab1769 Implemented optional volume display/setting as in AlsaMixer. 2015-12-05 18:12:44 +01:00
Lukáš Mandák
6d211f823c Added options to change logfile and internet check server. 2015-11-28 15:42:26 +01:00
facetoe
32067112c7 Add IINet module 2015-11-08 15:36:06 +08:00
facetoe
b9cc06e310 Refactor reddit module to be more efficient. 2015-11-08 10:38:20 +08:00
Jan Oliver Oelerich
e78501a0cc Update desktop.py
Fixed syntax error.
2015-10-25 20:41:42 +01:00
enkore
4d24b17e2b Fix crash on import with desktop notifications when python-gobject is available, but no notification daemon is running. 2015-10-25 20:30:36 +01:00
enkore
8bd6fb45e3 Merge pull request #268 from drwahl/plexstatus
plexstatus: initial commit
2015-10-23 16:29:30 +02:00
David Wahlstrom
c714ae7ef2 plexstatus: cleanup catchall except
Cleanup a bare try/except that is supposed to be catching just an
attribute error.
2015-10-17 08:22:51 -07:00
enkore
d36211e853 Wording and such 2015-10-17 11:42:21 +02:00
enkore
88d437d72d Add docs for xkblayout 2015-10-17 11:39:00 +02:00
David Wahlstrom
a6c88c9890 plexstatus: initial commit
The plexstatus plugin provides the user with a notification when there
is media being streamed from their Plex Media Server (https://plex.tv/).
The user must provide their API key, which can be found by following the
instructions provided by plex for developers
(https://support.plex.tv/hc/en-us/articles/204059436-Finding-your-account
-token-X-Plex-Token).
2015-10-16 23:42:06 -07:00
enkore
c5caec8b09 Merge pull request #264 from richese/fix_263
MDP: Fix for #263.
2015-10-16 16:28:58 +02:00
enkore
ec14973fbd Merge branches 'rscholer-online_module', 'schroeji-yaourt', 'richese-bg_commands', 'facetoe-praw_warning' and 'NiclasEriksen-master' into master 2015-10-16 16:25:53 +02:00
enkore
1a8e77f06a Merge branch 'bg_commands' of https://github.com/richese/i3pystatus into richese-bg_commands 2015-10-16 16:24:04 +02:00
Niclas Eriksen
f696cb5989 Can now fetch link and comment karma of user
Link and comment karma of user can be fetched with {link_karma} and {comment_karma} if username is set.
2015-10-15 12:13:34 +02:00
Lukáš Mandák
2b73cc4a55 MDP: Fix for #263. 2015-10-11 10:31:35 +02:00
Lukáš Mandák
b0e914d4e9 Module: Updated docstring for on_click method. 2015-10-03 11:20:16 +02:00
Lukáš Mandák
081bd329f9 Changed checks for command attribute in run_through_shell and execute. 2015-10-03 10:14:29 +02:00
Raphael Scholer
1210f01edd Add simple module to show internet connection 2015-10-03 01:42:51 +02:00
Lukáš Mandák
2ef74ded79 Replace regular 'split' to 'shlex.split'. 2015-09-29 12:47:32 +02:00
schroeji
e70a199d69 Removed indentation in docstring. 2015-09-25 23:06:38 +02:00
schroeji
18062dd416 Moved the docstring and added usage examples. 2015-09-25 20:22:26 +02:00
Lukáš Mandák
68d11b2f81 Module: Log first then let bad things happen. :) 2015-09-25 19:37:53 +02:00
Lukáš Mandák
6d3c7eddc8 Module: More detailed logs for clickevents as suggested by @teto in #231. 2015-09-25 19:12:05 +02:00
Lukáš Mandák
4aa6b2a73c Docs: Updated docstring of run_through_shell. 2015-09-25 18:47:54 +02:00
Lukáš Mandák
30b73fe6d6 SettingsBase: Fixed logging for modules outside of i3pystatus directory i.e. modules defined directly in the config file. 2015-09-25 18:17:54 +02:00
Lukáš Mandák
d07168beb7 Module: Allow passing of arguments to callable callbacks. 2015-09-25 13:58:08 +02:00
Lukáš Mandák
32ab77c203 Module: External programs are launched in detached mode. 2015-09-25 13:57:09 +02:00
Lukáš Mandák
97e2ad7bba Fixed detached mode of execute and updated its docstring. 2015-09-25 13:55:56 +02:00
schroeji
e9835070e2 Fix for Travis CI 2015-09-25 11:15:56 +02:00
schroeji
675ddd8d08 Merge branch 'master' of https://github.com/enkore/i3pystatus into yaourt 2015-09-25 10:47:23 +02:00
facetoe
84d5fc8efc Remove PRAW deprecation warning. 2015-09-23 22:05:09 +08:00
enkore
4e8dd82792 Merge pull request #247 from gutodisse1/gutodisse1-patch-1
Update cpu_usage.py
2015-09-23 12:55:28 +02:00
enkore
a6e3aec2ee Merge pull request #253 from schroeji/master
Fixed a race condition which sometimes caused an empty output.
2015-09-23 12:54:23 +02:00
enkore
333a6dcdff Update moon.py 2015-09-23 12:53:59 +02:00
enkore
94ef50044e Merge pull request #245 from Elder-of-Ozone/master
Added moon phase module
2015-09-23 12:53:23 +02:00
enkore
dd87e5ee1c Merge pull request #250 from t3zla/spotify_improvements
I totally rewrote the spotify module as it needed work. Details inside
2015-09-23 12:51:43 +02:00
enkore
c70808ca1f mpd: don't change default error handling 2015-09-23 12:51:11 +02:00
Lukáš Mandák
4bfe04dab6 Module: Clickevents now do not wait for commands output. Fix for #254. 2015-09-22 10:35:42 +02:00
Lukáš Mandák
375b77178d Renamed 'run_in_background' to 'execute'. 2015-09-21 23:09:19 +02:00
schroeji
f577bd2bf9 Added aur_only mode for yaourt backend 2015-09-21 13:08:05 +02:00
schroeji
1e6e42a3d8 Fixed for Travis CI 2015-09-17 13:42:22 +02:00