Merge pull request #258 from freed00m/master

[module] - adding caps/num/scrl indicator widget; pacman to sum the digits
This commit is contained in:
tobi-wan-kenobi 2018-05-13 07:09:29 +02:00 committed by GitHub
commit e07932892f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 63 additions and 2 deletions

3
.gitignore vendored
View file

@ -91,3 +91,6 @@ ENV/
# Rope project settings # Rope project settings
.ropeproject .ropeproject
# Visual studio project files
.vscode/

View file

@ -5,7 +5,7 @@
[![Test Coverage](https://codeclimate.com/github/tobi-wan-kenobi/bumblebee-status/badges/coverage.svg)](https://codeclimate.com/github/tobi-wan-kenobi/bumblebee-status/coverage) [![Test Coverage](https://codeclimate.com/github/tobi-wan-kenobi/bumblebee-status/badges/coverage.svg)](https://codeclimate.com/github/tobi-wan-kenobi/bumblebee-status/coverage)
[![Issue Count](https://codeclimate.com/github/tobi-wan-kenobi/bumblebee-status/badges/issue_count.svg)](https://codeclimate.com/github/tobi-wan-kenobi/bumblebee-status) [![Issue Count](https://codeclimate.com/github/tobi-wan-kenobi/bumblebee-status/badges/issue_count.svg)](https://codeclimate.com/github/tobi-wan-kenobi/bumblebee-status)
**Many, many thanks to all contributors! As of now, 26 of the modules are from various contributors (!), and only 16 from myself.** **Many, many thanks to all contributors! As of now, 27 of the modules are from various contributors (!), and only 16 from myself.**
![Solarized Powerline](https://github.com/tobi-wan-kenobi/bumblebee-status/blob/master/screenshots/themes/powerline-solarized.png) ![Solarized Powerline](https://github.com/tobi-wan-kenobi/bumblebee-status/blob/master/screenshots/themes/powerline-solarized.png)

View file

@ -0,0 +1,51 @@
#pylint: disable=C0111,R0903
"""Displays the indicator status, for numlock, scrolllock and capslock
Parameters:
* indicator.include: Comma-separated list of interface prefixes to include (defaults to "numlock,capslock")
* indicator.signalstype: If you want the signali type color to be "critical" or "warning" (defaults to "warning")
"""
import bumblebee.input
import bumblebee.output
import bumblebee.engine
class Module(bumblebee.engine.Module):
def __init__(self, engine, config):
widgets = []
self.status = False
super(Module,self).__init__(engine, config, widgets)
self._include = tuple(filter(len, self.parameter("include", "NumLock,CapsLock").split(",")))
self._signalType = self.parameter("signaltype") if not self.parameter("signaltype") == None else "warning"
def update(self, widgets):
self._update_widgets(widgets)
def state(self, widget):
states = []
if widget.status:
states.append(self._signalType)
elif not widget.status:
states.append("normal")
return states
def _update_widgets(self, widgets):
status_line = ""
for line in bumblebee.util.execute("xset q").replace(" ", "").split("\n"):
if "capslock" in line.lower():
status_line = line
break
for indicator in self._include:
widget = self.widget(indicator)
if not widget:
widget = bumblebee.output.Widget(name=indicator)
widgets.append(widget)
widget.status = True if indicator.lower()+":on" in status_line.lower() else False
widget.full_text(indicator)
# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4

View file

@ -1,6 +1,9 @@
# pylint: disable=C0111,R0903 # pylint: disable=C0111,R0903
"""Displays update information per repository for pacman." """Displays update information per repository for pacman.
Parameters:
* pacman.sum: If you prefere displaying updates with a single digit (defaults to "False")
Requires the following executables: Requires the following executables:
* fakeroot * fakeroot
@ -45,8 +48,12 @@ class Module(bumblebee.engine.Module):
bumblebee.output.Widget(full_text=self.updates) bumblebee.output.Widget(full_text=self.updates)
) )
self._count = 0 self._count = 0
self._sum = True if self.parameter("sum") == "True" else False
def updates(self, widget): def updates(self, widget):
if (self._sum):
return str(sum(map(lambda x: widget.get(x, 0), repos)))
return '/'.join(map(lambda x: str(widget.get(x, 0)), repos)) return '/'.join(map(lambda x: str(widget.get(x, 0)), repos))
def update(self, widgets): def update(self, widgets):