perf tools: Add gtk.<command> config option for launching GTK browser
authorNamhyung Kim <namhyung.kim@lge.com>
Mon, 12 Nov 2012 02:50:17 +0000 (11:50 +0900)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 14 Nov 2012 19:51:30 +0000 (16:51 -0300)
Add config option for launching GTK browser for the specified command by
default.  Currently only 'report' command is supported.

Adding following line to the perfconfig file will have a same effect of
specifying --gtk option on command line (unless other related options
are not given).

$ cat ~/.perfconfig
[gtk]
report = true

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Pekka Enberg <penberg@kernel.org>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Pekka Enberg <penberg@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1352688617-25570-1-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/perf.c

index a0ae2902f9c920b85c371d28d993d3931f85c0d5..0f661fbce6a8c3d318f20b255a407ed41d54fead 100644 (file)
@@ -85,21 +85,26 @@ int check_pager_config(const char *cmd)
        return c.val;
 }
 
-static int tui_command_config(const char *var, const char *value, void *data)
+static int browser_command_config(const char *var, const char *value, void *data)
 {
        struct pager_config *c = data;
        if (!prefixcmp(var, "tui.") && !strcmp(var + 4, c->cmd))
                c->val = perf_config_bool(var, value);
+       if (!prefixcmp(var, "gtk.") && !strcmp(var + 4, c->cmd))
+               c->val = perf_config_bool(var, value) ? 2 : 0;
        return 0;
 }
 
-/* returns 0 for "no tui", 1 for "use tui", and -1 for "not specified" */
-static int check_tui_config(const char *cmd)
+/*
+ * returns 0 for "no tui", 1 for "use tui", 2 for "use gtk",
+ * and -1 for "not specified"
+ */
+static int check_browser_config(const char *cmd)
 {
        struct pager_config c;
        c.cmd = cmd;
        c.val = -1;
-       perf_config(tui_command_config, &c);
+       perf_config(browser_command_config, &c);
        return c.val;
 }
 
@@ -302,7 +307,7 @@ static int run_builtin(struct cmd_struct *p, int argc, const char **argv)
                prefix = NULL; /* setup_perf_directory(); */
 
        if (use_browser == -1)
-               use_browser = check_tui_config(p->cmd);
+               use_browser = check_browser_config(p->cmd);
 
        if (use_pager == -1 && p->option & RUN_SETUP)
                use_pager = check_pager_config(p->cmd);