summaryrefslogtreecommitdiff
path: root/.local/bin/lemonbar/bspc.py
diff options
context:
space:
mode:
Diffstat (limited to '.local/bin/lemonbar/bspc.py')
-rw-r--r--.local/bin/lemonbar/bspc.py55
1 files changed, 0 insertions, 55 deletions
diff --git a/.local/bin/lemonbar/bspc.py b/.local/bin/lemonbar/bspc.py
deleted file mode 100644
index f681485..0000000
--- a/.local/bin/lemonbar/bspc.py
+++ /dev/null
@@ -1,55 +0,0 @@
-from subprocess import run as _run
-
-
-class Desktop:
- def __init__(self):
- self.id = None
- self.name = None
- self.focused = False
- self.occupied = False
- self.urgent = False
-
-
-def run(command):
- return _run(command.split(), capture_output=True).stdout.decode().strip()
-
-
-def get_desktops():
- focused = run("bspc query -D -d .focused")
- occupied = run("bspc query -D -d .occupied").split("\n")
- urgent = run("bspc query -D -d .urgent").split("\n")
-
- desktops = []
- for desktop_id in run("bspc query -D").split("\n"):
- desktop = Desktop()
- desktop.id = desktop_id
- desktop.name = run(f"bspc query -D -d {desktop.id} --names")
- desktop.focused = desktop.id == focused
- desktop.occupied = desktop.id in occupied
- desktop.urgent = desktop.id in urgent
-
- desktops.append(desktop)
-
- return desktops
-
-
-def cut_name(name):
- if len(name) > 70:
- return name[:65] + "..."
- else:
- return name
-
-
-def get_focused_window_name():
- focused = run("bspc query -N -n")
- if len(focused) == 0:
- return ''
- else:
- focused = focused.lower()
-
- for window in run("wmctrl -l").split("\n"):
- wid, _, _, name = window.split(maxsplit=3)
- if wid.lower() == focused:
- return cut_name(name)
- return ''
-