[gnome-shell] perf: Restore shell after runs



commit e37a3fa7e6a5b19690c6c8f3f1a014a8b346fef5
Author: Adel Gadllah <adel gadllah gmail com>
Date:   Fri Feb 21 12:30:40 2014 +0100

    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

 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 1ad67b8..4494a92 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)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]