summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDylan Araps <dylan.araps@gmail.com>2018-07-06 09:04:49 +1000
committerDylan Araps <dylan.araps@gmail.com>2018-07-06 09:04:49 +1000
commitf26a8bbb5edcc2a485b2952db57742a2a1053187 (patch)
tree978db12599c576c0a19b34c0edbc494ac3650d10
parent7e797405c552d545d185a086e5d13cd25e1c0413 (diff)
reload: Check pids first.
-rw-r--r--pywal/reload.py8
-rw-r--r--pywal/util.py8
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