From f26a8bbb5edcc2a485b2952db57742a2a1053187 Mon Sep 17 00:00:00 2001 From: Dylan Araps Date: Fri, 6 Jul 2018 09:04:49 +1000 Subject: reload: Check pids first. --- pywal/reload.py | 8 ++++---- pywal/util.py | 8 ++++++++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/pywal/reload.py b/pywal/reload.py index ff3aa5b..5c2ca8a 100644 --- a/pywal/reload.py +++ b/pywal/reload.py @@ -61,25 +61,25 @@ def gtk(): def i3(): """Reload i3 colors.""" - if shutil.which("i3-msg"): + if shutil.which("i3-msg") and util.get_pid("i3"): util.disown(["i3-msg", "reload"]) def kitty(): """ Reload kitty colors. """ - if shutil.which("kitty"): + if shutil.which("kitty") and util.get_pid("kitty"): util.disown(["kitty", "@", "set-colors", "--all"]) def polybar(): """Reload polybar colors.""" - if shutil.which("polybar"): + if shutil.which("polybar") and util.get_pid("polybar"): util.disown(["pkill", "-USR1", "polybar"]) def sway(): """Reload sway colors.""" - if shutil.which("swaymsg"): + if shutil.which("swaymsg") and util.get_pid("sway"): util.disown(["swaymsg", "reload"]) diff --git a/pywal/util.py b/pywal/util.py index a915a43..1752f71 100644 --- a/pywal/util.py +++ b/pywal/util.py @@ -168,3 +168,11 @@ def disown(cmd): subprocess.Popen(cmd, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) + + +def get_pid(name): + """Check if process is running by name.""" + try: + subprocess.check_output(["pidof", "-s", name]) + except subprocess.CalledProcessError: + return False -- cgit v1.2.3