aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pywal/__main__.py3
-rw-r--r--pywal/reload.py11
-rw-r--r--pywal/settings.py1
3 files changed, 11 insertions, 4 deletions
diff --git a/pywal/__main__.py b/pywal/__main__.py
index ecfd05c..9ac8092 100644
--- a/pywal/__main__.py
+++ b/pywal/__main__.py
@@ -164,8 +164,7 @@ def process_args(args):
if not args.e:
reload.env(tty_reload=not args.t)
- if args.o:
- util.disown([args.o])
+ reload.external_script(args.o)
if not args.e:
reload.oomox(args.g)
diff --git a/pywal/reload.py b/pywal/reload.py
index 7869d0b..6bda275 100644
--- a/pywal/reload.py
+++ b/pywal/reload.py
@@ -7,7 +7,7 @@ import shutil
import subprocess
import sys
-from .settings import CACHE_DIR, MODULE_DIR, OS
+from .settings import CACHE_DIR, MODULE_DIR, OS, CONFIG
from . import util
@@ -88,6 +88,15 @@ def colors(cache_dir=CACHE_DIR):
print("".join(util.read_file(sequences)), end="")
+def external_script(cmd_hook):
+ """Launch an external process after pywal."""
+ if cmd_hook:
+ util.disown([cmd_hook])
+
+ if CONFIG.get("general", "cmd_hook"):
+ util.disown(CONFIG.get("general", "cmd_hook").split())
+
+
def env(xrdb_file=None, tty_reload=True):
"""Reload environment."""
xrdb(xrdb_file)
diff --git a/pywal/settings.py b/pywal/settings.py
index 4bbc2b5..4590e46 100644
--- a/pywal/settings.py
+++ b/pywal/settings.py
@@ -17,7 +17,6 @@ import platform
__version__ = "1.3.3"
__cache_version__ = "1.0.0"
-
HOME = os.getenv("HOME", os.getenv("USERPROFILE"))
CACHE_DIR = os.path.join(HOME, ".cache", "wal")
MODULE_DIR = os.path.dirname(__file__)