summaryrefslogtreecommitdiffstats
path: root/py3status/modules
diff options
context:
space:
mode:
authorUltrabug <ultrabug@ultrabug.net>2015-07-09 10:56:47 +0200
committerUltrabug <ultrabug@ultrabug.net>2015-07-09 10:56:47 +0200
commit44aae475f1c87563a0877bc895ee86f93ec8cb24 (patch)
treec6b35c0af3ff398c539f4f83a5c6116a16ae0983 /py3status/modules
parentc4535a4d42eadf35e4d3945b197beb6319bbd356 (diff)
parentae7af22cd383a37ca72abe762643aedc271e6ec6 (diff)
Merge pull request #106 from frimdo/new_modules
new external_script and static_string modules by @frimdo
Diffstat (limited to 'py3status/modules')
-rw-r--r--py3status/modules/README.md27
-rw-r--r--py3status/modules/external_script.py68
-rw-r--r--py3status/modules/static_string.py39
3 files changed, 134 insertions, 0 deletions
diff --git a/py3status/modules/README.md b/py3status/modules/README.md
index 2b62105..15f4bd3 100644
--- a/py3status/modules/README.md
+++ b/py3status/modules/README.md
@@ -96,6 +96,21 @@ Available modules:
@author Andre Doser <dosera AT tf.uni-freiburg.de>
---
+external_script Display output of given script
+
+
+ Display output of any executable script set by script_path
+ Pay attention. The output must be one liner, or will break your i3status
+ The script should not have any parameters, but it could work
+
+ Configuration parameters:
+ - cache_timeout : how often we refresh this module in seconds
+ - script_path : script you want to show output of (compulsory)
+ - color : color of printed text
+ - on_click : read goo.gl/u10n0x
+
+ @author frimdo ztracenastopa@centrum.cz
+ ---
glpi Display the total number of open tickets from GLPI.
Configuration parameters:
@@ -345,6 +360,18 @@ Available modules:
@author Pierre Guilbert <pierre@1000mercis.com>
---
+static_string Display static text
+
+ Display static text given by "text" parameter
+
+ Configuration parameters:
+ - text : text that should be printed
+ - separator : whether the separator is shown or not (True or False)
+ - color : color of printed text
+ - on_click : read goo.gl/u10n0x
+
+ @author frimdo ztracenastopa@centrum.cz
+ ---
sysdata Display system RAM and CPU utilization.
NOTE: If you want py3status to show you your CPU temperature,
diff --git a/py3status/modules/external_script.py b/py3status/modules/external_script.py
new file mode 100644
index 0000000..c2a6977
--- /dev/null
+++ b/py3status/modules/external_script.py
@@ -0,0 +1,68 @@
+# -*- coding: utf-8 -*-
+"""
+Display output of given script
+
+Display output of any executable script set by script_path
+Pay attention. The output must be one liner, or will break your i3status
+The script should not have any parameters, but it could work
+
+Configuration parameters:
+ - cache_timeout : how often we refresh this module in seconds
+ - script_path : script you want to show output of (compulsory)
+ - color : color of printed text
+ - on_click : read goo.gl/u10n0x
+ - format : see placeholders below
+
+Format of status string placeholders:
+ {output} - output of script given by "script_path"
+
+i3status.conf example:
+
+external_script {
+ script_path = "/usr/bin/whoami"
+ format = "my name is {output}"
+ color = "#00FF00"
+
+@author frimdo ztracenastopa@centrum.cz
+"""
+
+import subprocess
+from time import time
+
+
+class Py3status:
+ cache_timeout = 15
+ format = '{output}'
+ color = None
+ script_path = None
+
+ def external_script(self, i3s_output_list, i3s_config):
+
+ if self.script_path:
+
+ return_value = subprocess.check_output(self.script_path, shell=True, universal_newlines=True)
+ response = {
+ 'cached_until': time() + self.cache_timeout,
+ 'full_text': self.format.format(
+ output=return_value.rstrip()),
+ 'color': self.color
+ }
+
+ else:
+ response = {
+ 'cached_until': time() + self.cache_timeout,
+ 'full_text': ""
+ }
+
+ return response
+
+if __name__ == "__main__":
+ from time import sleep
+ x = Py3status()
+ config = {
+ 'color_good': '#00FF00',
+ 'color_bad': '#FF0000',
+ }
+ while True:
+ print(x.external_script([], config))
+ sleep(1)
diff --git a/py3status/modules/static_string.py b/py3status/modules/static_string.py
new file mode 100644
index 0000000..c09176b
--- /dev/null
+++ b/py3status/modules/static_string.py
@@ -0,0 +1,39 @@
+# -*- coding: utf-8 -*-
+"""
+Display static text
+
+Display static text given by "format" parameter
+
+Configuration parameters:
+ - text : text that should be printed
+ - separator : whether the separator is shown or not (True or False)
+ - format : text that should be printed
+ - color : color of printed text
+ - on_click : read goo.gl/u10n0x
+
+@author frimdo ztracenastopa@centrum.cz
+"""
+
+
+class Py3status:
+ color = None
+ format = ''
+ separator = True
+
+ def static_string(self, i3s_output_list, i3s_config):
+
+ response = {
+ 'full_text': self.format,
+ 'color': self.color,
+ 'separator': self.separator
+ }
+
+ return response
+
+if __name__ == "__main__":
+ x = Py3status()
+ config = {
+ 'color_good': '#00FF00',
+ 'color_bad': '#FF0000',
+ }
+ print(x.static_string([], config))