diff options
Diffstat (limited to '.local/bin/lemonbar/bspc.py')
| -rw-r--r-- | .local/bin/lemonbar/bspc.py | 55 |
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 '' - |