From efd7fe7a3d9bac1a26b0774681544d5839aa9bb5 Mon Sep 17 00:00:00 2001 From: Tuan-Dat Tran Date: Mon, 26 Mar 2018 23:56:51 +0200 Subject: [PATCH] spotify-playstate exits with the rest of the polybar-app if spotify is shut down --- config/.scripts/playstate | 2 +- config/.scripts/spotify-play.py | 25 +++++++++++++++++++++++-- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/config/.scripts/playstate b/config/.scripts/playstate index d00491f..573541a 100644 --- a/config/.scripts/playstate +++ b/config/.scripts/playstate @@ -1 +1 @@ -1 +0 diff --git a/config/.scripts/spotify-play.py b/config/.scripts/spotify-play.py index d68fee1..834eec8 100755 --- a/config/.scripts/spotify-play.py +++ b/config/.scripts/spotify-play.py @@ -1,10 +1,31 @@ #!/usr/bin/python import subprocess import time +import os + +def find_proc(proc_name): + this_proc = "pythonspotify-play.py" + proc_path = '/proc' + proc = next(os.walk('{}/'.format(proc_path)))[1] + for process in proc: + cmdline_path = '{}/{}/cmdline'.format(proc_path,process) + try: + with open(cmdline_path, 'r') as cmd: + proc_content = cmd.readline() + if (proc_name in proc_content): + return True + except FileNotFoundError: + pass + return False + + +def spotify_running(): + return find_proc('/usr/bin/spotify') + def main(): state = -1 - while 1: + while spotify_running(): with open('/home/tuan/.scripts/playstate', 'r') as f: try: file_state = int(f.readline().strip('\n')) @@ -18,7 +39,7 @@ def main(): elif state == 1: print("") subprocess.run(["playerctl","play"]) - time.sleep(0.5) + time.sleep(0.1) if __name__ == '__main__': main()