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 36ed0a58..bca9eab3 100644 --- a/libqtile/utils.py +++ b/libqtile/utils.py @@ -240,3 +240,11 @@ def describe_attributes(obj, attrs, func=None): pairs.append('%s=%s' % (attr, value)) return ', '.join(pairs) + + +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