This commit is contained in:
Milos Miljanic 2016-11-26 12:36:40 +01:00
commit ce6133acd4
38 changed files with 82 additions and 9 deletions

View file

@ -63,20 +63,20 @@ Here are some screenshots for all themes that currently exist:
Gruvbox Powerline (`-t gruvbox-powerline`) (contributed by [@paxy97](https://github.com/paxy97)): Gruvbox Powerline (`-t gruvbox-powerline`) (contributed by [@paxy97](https://github.com/paxy97)):
![Gruvbox Powerline](https://github.com/tobi-wan-kenobi/bumblebee-status/blob/master/screenshots/powerline-gruvbox.png) ![Gruvbox Powerline](https://github.com/tobi-wan-kenobi/bumblebee-status/blob/master/screenshots/themes/powerline-gruvbox.png)
Solarized Powerline (`-t solarized-powerline`): Solarized Powerline (`-t solarized-powerline`):
![Solarized Powerline](https://github.com/tobi-wan-kenobi/bumblebee-status/blob/master/screenshots/powerline-solarized.png) ![Solarized Powerline](https://github.com/tobi-wan-kenobi/bumblebee-status/blob/master/screenshots/themes/powerline-solarized.png)
Solarized (`-t solarized`): Solarized (`-t solarized`):
![Solarized](https://github.com/tobi-wan-kenobi/bumblebee-status/blob/master/screenshots/solarized.png) ![Solarized](https://github.com/tobi-wan-kenobi/bumblebee-status/blob/master/screenshots/themes/solarized.png)
Powerline (`-t powerline`): Powerline (`-t powerline`):
![Powerline](https://github.com/tobi-wan-kenobi/bumblebee-status/blob/master/screenshots/powerline.png) ![Powerline](https://github.com/tobi-wan-kenobi/bumblebee-status/blob/master/screenshots/themes/powerline.png)
Default (nothing or `-t default`): Default (nothing or `-t default`):
![Default](https://github.com/tobi-wan-kenobi/bumblebee-status/blob/master/screenshots/default.png) ![Default](https://github.com/tobi-wan-kenobi/bumblebee-status/blob/master/screenshots/themes/default.png)

View file

@ -0,0 +1,54 @@
import bumblebee.module
import re
import sys
import subprocess
def description():
return "Shows all connected screens"
def parameters():
return [
]
class Module(bumblebee.module.Module):
def __init__(self, output, config, alias):
super(Module, self).__init__(output, config, alias)
self._state = "off"
def widgets(self):
process = subprocess.Popen([ "xrandr", "-q" ], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
output, error = process.communicate()
widgets = []
# TODO: sort by position
for line in output.split("\n"):
if not " connected" in line:
continue
screen = line.split(" ", 2)[0]
m = re.search(r'\d+x\d+\+(\d+)\+\d+', line)
widget = bumblebee.output.Widget(self, screen)
if m:
self._state = "on"
widget.set("pos", int(m.group(1)))
else:
self._state = "off"
widget.set("pos", sys.maxint());
widgets.append(widget)
widgets.sort(key=lambda widget : widget.get("pos"))
return widgets
def state(self, widget):
return self._state
def warning(self, widget):
return False
def critical(self, widget):
return False
# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4

View file

@ -51,6 +51,10 @@ class Output(bumblebee.output.Output):
"separator_block_width": 0, "separator_block_width": 0,
}) })
sep = theme.default_separators(widget)
sep = sep if sep else False
width = theme.separator_block_width(widget)
width = width if width else 0
self._data.append({ self._data.append({
u"full_text": "{}{}{}".format( u"full_text": "{}{}{}".format(
theme.prefix(widget), theme.prefix(widget),
@ -61,8 +65,8 @@ class Output(bumblebee.output.Output):
"background": theme.background(widget), "background": theme.background(widget),
"name": widget.module(), "name": widget.module(),
"instance": widget.instance(), "instance": widget.instance(),
"separator": theme.default_separators(widget), "separator": sep,
"separator_block_width": theme.separator_block_width(widget), "separator_block_width": width,
}) })
theme.next_widget() theme.next_widget()

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 992 B

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

BIN
screenshots/date.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 837 B

After

Width:  |  Height:  |  Size: 860 B

BIN
screenshots/pasink.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
screenshots/pasource.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 592 B

After

Width:  |  Height:  |  Size: 521 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

BIN
screenshots/time.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

BIN
screenshots/xrandr.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

View file

@ -126,6 +126,9 @@
} }
}, },
"caffeine": { "caffeine": {
"states": { "activated": {"prefix": "   " }, "deactivated": { "prefix": "   " } } "states": { "activated": {"prefix": " caf on " }, "deactivated": { "prefix": " caf off " } }
},
"xrandr": {
"states": { "on": { "prefix": " off "}, "off": { "prefix": " on "} }
} }
} }

View file

@ -159,5 +159,8 @@
}, },
"caffeine": { "caffeine": {
"states": { "activated": {"prefix": "   " }, "deactivated": { "prefix": "   " } } "states": { "activated": {"prefix": "   " }, "deactivated": { "prefix": "   " } }
},
"xrandr": {
"states": { "on": { "prefix": "   "}, "off": { "prefix": "   "} }
} }
} }

View file

@ -158,5 +158,8 @@
}, },
"caffeine": { "caffeine": {
"states": { "activated": {"prefix": "   " }, "deactivated": { "prefix": "   " } } "states": { "activated": {"prefix": "   " }, "deactivated": { "prefix": "   " } }
},
"xrandr": {
"states": { "on": { "prefix": "   "}, "off": { "prefix": "   "} }
} }
} }

View file

@ -159,5 +159,8 @@
}, },
"caffeine": { "caffeine": {
"states": { "activated": {"prefix": "   " }, "deactivated": { "prefix": "   " } } "states": { "activated": {"prefix": "   " }, "deactivated": { "prefix": "   " } }
},
"xrandr": {
"states": { "on": { "prefix": "   "}, "off": { "prefix": "   "} }
} }
} }

View file

@ -18,7 +18,7 @@
"bg-warning": "#b58900", "bg-warning": "#b58900",
"default_separators": false, "default_separators": false,
"separator": "|" "separator": ""
}, },
"date": { "date": {
"prefix": " " "prefix": " "
@ -152,5 +152,8 @@
}, },
"caffeine": { "caffeine": {
"states": { "activated": {"prefix": " caf on " }, "deactivated": { "prefix": " caf off " } } "states": { "activated": {"prefix": " caf on " }, "deactivated": { "prefix": " caf off " } }
},
"xrandr": {
"states": { "on": { "prefix": " off "}, "off": { "prefix": " on "} }
} }
} }