aboutsummaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
Diffstat (limited to 'bin')
-rwxr-xr-xbin/i3ws35
-rwxr-xr-xbin/nowplaying2
2 files changed, 37 insertions, 0 deletions
diff --git a/bin/i3ws b/bin/i3ws
new file mode 100755
index 0000000..a1c487a
--- /dev/null
+++ b/bin/i3ws
@@ -0,0 +1,35 @@
+#!/usr/bin/env python3
+from functools import partial
+import json
+from subprocess import check_output
+import sys
+
+def get_unique(func, wss):
+ return list(set(map(func, wss)))
+
+def get_unique_key(key, wss):
+ return get_unique(lambda ws: ws[key], wss)
+
+def show_workspace(ws):
+ color = 'f00' if ws['urgent'] else \
+ '00fcff' if ws['focused'] else \
+ '6aa3f8' if ws['visible'] else \
+ '777'
+ return '<fc=#%s>%s</fc>' % (color, ws['name'])
+
+def show_output(wss, op):
+ wss = list(filter(lambda ws: ws['output'] == op, wss))
+ wss.sort(key=lambda ws: ws['name'])
+
+ return op + ' ' + ' '.join(map(show_workspace, wss))
+
+def main():
+ i3ws = check_output(['i3-msg', '-t', 'get_workspaces']).decode('utf-8')
+ wss = json.loads(i3ws)
+
+ outputs = sorted(get_unique_key('output', wss))
+ print(' * '.join(map(partial(show_output, wss), outputs)))
+
+if __name__ == '__main__':
+ main()
+
diff --git a/bin/nowplaying b/bin/nowplaying
new file mode 100755
index 0000000..650e6e8
--- /dev/null
+++ b/bin/nowplaying
@@ -0,0 +1,2 @@
+#!/bin/sh
+cmus-remote -Q | grep '^tag \(artist\|album\|title\) ' | cut -d' ' -f 3- | tr '\n' '\t' | awk 'BEGIN { FS = "\t" } ; { print $3 " (" $2 ", " $1 ")" }'; echo -n ' '