diff options
Diffstat (limited to 'tools/perf/ui/setup.c')
-rw-r--r-- | tools/perf/ui/setup.c | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/tools/perf/ui/setup.c b/tools/perf/ui/setup.c new file mode 100644 index 00000000..ae6a789c --- /dev/null +++ b/tools/perf/ui/setup.c @@ -0,0 +1,53 @@ +#include <pthread.h> + +#include "../util/cache.h" +#include "../util/debug.h" +#include "../util/hist.h" + +pthread_mutex_t ui__lock = PTHREAD_MUTEX_INITIALIZER; + +void setup_browser(bool fallback_to_pager) +{ + if (use_browser < 2 && (!isatty(1) || dump_trace)) + use_browser = 0; + + /* default to TUI */ + if (use_browser < 0) + use_browser = 1; + + switch (use_browser) { + case 2: + if (perf_gtk__init() == 0) + break; + /* fall through */ + case 1: + use_browser = 1; + if (ui__init() == 0) + break; + /* fall through */ + default: + use_browser = 0; + if (fallback_to_pager) + setup_pager(); + + perf_hpp__column_enable(PERF_HPP__OVERHEAD); + perf_hpp__init(); + break; + } +} + +void exit_browser(bool wait_for_ok) +{ + switch (use_browser) { + case 2: + perf_gtk__exit(wait_for_ok); + break; + + case 1: + ui__exit(wait_for_ok); + break; + + default: + break; + } +} |