diff options
author | Adel Gadllah <adel.gadllah@gmail.com> | 2014-02-21 12:30:40 +0100 |
---|---|---|
committer | Adel Gadllah <adel.gadllah@gmail.com> | 2014-02-28 21:40:31 +0100 |
commit | e37a3fa7e6a5b19690c6c8f3f1a014a8b346fef5 (patch) | |
tree | 9e2864e0042d8a0e11de700c7b8ca6b76098f03b /src/gnome-shell-perf-tool.in | |
parent | e23c2ffecc61c088f10480c890077488d2d9c5f5 (diff) | |
download | gnome-shell-e37a3fa7e6a5b19690c6c8f3f1a014a8b346fef5.tar.gz |
perf: Restore shell after runs
Currently running the perf tool results into no wm running
afterwards making it hard for the user to get the results from a terminal
and generally does not make it easy for users to run it to gather numbers.
So restore the shell after the test has completed.
https://bugzilla.gnome.org/show_bug.cgi?id=724870
Diffstat (limited to 'src/gnome-shell-perf-tool.in')
-rw-r--r-- | src/gnome-shell-perf-tool.in | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/gnome-shell-perf-tool.in b/src/gnome-shell-perf-tool.in index 1ad67b804..4494a9241 100644 --- a/src/gnome-shell-perf-tool.in +++ b/src/gnome-shell-perf-tool.in @@ -99,6 +99,15 @@ def run_shell(perf_output=None): shell.wait() return shell.returncode == 0 +def restore_shell(): + pid = os.fork() + if (pid == 0): + if "MUTTER_WM_CLASS_FILTER" in os.environ: + del os.environ["MUTTER_WM_CLASS_FILTER"] + os.execlp("gnome-shell", "gnome-shell", "--replace") + else: + sys.exit(0) + def upload_performance_report(report_text): try: config_home = os.environ['XDG_CONFIG_HOME'] @@ -320,6 +329,6 @@ if args: normal_exit = run_performance_test() if normal_exit: - sys.exit(0) + restore_shell() else: sys.exit(1) |