60 lines
2.1 KiB
Diff
60 lines
2.1 KiB
Diff
diff --git a/bin/qshell b/bin/qshell
|
|
index 2ba7e61c..0ac2a2ef 100755
|
|
--- a/bin/qshell
|
|
+++ b/bin/qshell
|
|
@@ -28,5 +28,6 @@ base_dir = os.path.abspath(os.path.join(this_dir, ".."))
|
|
sys.path.insert(0, base_dir)
|
|
|
|
if __name__ == '__main__':
|
|
+ __import__("importlib").import_module("libqtile.utils").restore_os_environment()
|
|
from libqtile.scripts import qshell
|
|
qshell.main()
|
|
diff --git a/bin/qtile b/bin/qtile
|
|
index 3e82814d..335b5cea 100755
|
|
--- a/bin/qtile
|
|
+++ b/bin/qtile
|
|
@@ -29,5 +29,6 @@ base_dir = os.path.abspath(os.path.join(this_dir, ".."))
|
|
sys.path.insert(0, base_dir)
|
|
|
|
if __name__ == '__main__':
|
|
+ __import__("importlib").import_module("libqtile.utils").restore_os_environment()
|
|
from libqtile.scripts import qtile
|
|
qtile.main()
|
|
diff --git a/bin/qtile-run b/bin/qtile-run
|
|
index e4b121be..1c203bc9 100755
|
|
--- a/bin/qtile-run
|
|
+++ b/bin/qtile-run
|
|
@@ -8,5 +8,6 @@ base_dir = os.path.abspath(os.path.join(this_dir, ".."))
|
|
sys.path.insert(0, base_dir)
|
|
|
|
if __name__ == '__main__':
|
|
+ __import__("importlib").import_module("libqtile.utils").restore_os_environment()
|
|
from libqtile.scripts import qtile_run
|
|
qtile_run.main()
|
|
diff --git a/bin/qtile-top b/bin/qtile-top
|
|
index 5316e0e7..272c6430 100755
|
|
--- a/bin/qtile-top
|
|
+++ b/bin/qtile-top
|
|
@@ -8,5 +8,6 @@ base_dir = os.path.abspath(os.path.join(this_dir, ".."))
|
|
sys.path.insert(0, base_dir)
|
|
|
|
if __name__ == '__main__':
|
|
+ __import__("importlib").import_module("libqtile.utils").restore_os_environment()
|
|
from libqtile.scripts import qtile_top
|
|
qtile_top.main()
|
|
diff --git a/libqtile/utils.py b/libqtile/utils.py
|
|
index 550ed02677e..1358a66f3df 100644
|
|
--- a/libqtile/utils.py
|
|
+++ b/libqtile/utils.py
|
|
@@ -272,3 +272,11 @@ def safe_import(module_names, class_name, globals_, fallback=None):
|
|
logger.debug("%s", traceback.format_exc())
|
|
if fallback:
|
|
globals_[class_name] = fallback(module_path, class_name, error)
|
|
+
|
|
+
|
|
+def restore_os_environment():
|
|
+ pythonpath = os.environ.pop("QTILE_SAVED_PYTHONPATH", "")
|
|
+ os.environ["PYTHONPATH"] = pythonpath
|
|
+ path = os.environ.pop("QTILE_SAVED_PATH", None)
|
|
+ if path:
|
|
+ os.environ["PATH"] = path
|