Each view can access process details view
[lttngtop.git] / src / cursesdisplay.c
index e4565ede33708d4410842062d86c6f0a7fe87d78..c18d46cbf2d709936ea433371e3068ff9f541a28 100644 (file)
@@ -61,7 +61,6 @@ int max_elements = 80;
 
 int toggle_threads = -1;
 int toggle_pause = -1;
-int toggle_tree = -1;
 
 int max_center_lines;
 
@@ -255,8 +254,7 @@ void basic_header()
        wattron(header, A_BOLD);
        mvwprintw(header, 1, 4, "CPUs");
        mvwprintw(header, 2, 4, "Threads");
-       mvwprintw(header, 3, 4, "Files");
-       mvwprintw(header, 4, 4, "Network");
+       mvwprintw(header, 3, 4, "FDs");
        wattroff(header, A_BOLD);
        wrefresh(header);
 }
@@ -303,11 +301,9 @@ void update_header()
                        100.0/data->cpu_table->len);
        print_headers(2, "Threads", data->nbthreads, data->nbnewthreads,
                        -1*(data->nbdeadthreads));
-       print_headers(3, "Files", data->nbfiles, data->nbnewfiles,
+       print_headers(3, "FDs", data->nbfiles, data->nbnewfiles,
                        -1*(data->nbclosedfiles));
        mvwprintw(header, 3, 43, "N/A kbytes/sec");
-       print_headers(4, "Network", 0, 0, 0);
-       mvwprintw(header, 4, 43, "N/A Mbytes/sec");
        wrefresh(header);
 }
 
@@ -362,7 +358,7 @@ void update_cputop_display()
        mvwprintw(center, 1, 32, "NAME");
        wattroff(center, A_BOLD);
 
-       max_center_lines = LINES - 7 - 7 - 1 - header_offset;
+       max_center_lines = LINES - 5 - 7 - 1 - header_offset;
 
        /* iterate the process (thread) list */
        for (i = list_offset; i < data->process_table->len &&
@@ -533,6 +529,8 @@ void update_perf()
 
                if (current_line == selected_line) {
                        selected_process = tmp;
+                       selected_tid = tmp->tid;
+                       selected_comm = tmp->comm;
                        wattron(center, COLOR_PAIR(5));
                        mvwhline(center, current_line + header_offset, 1, ' ', COLS-3);
                }
@@ -907,29 +905,34 @@ void *handle_keyboard(void *p)
                        break;
 
                case 13: /* FIXME : KEY_ENTER ?? */
-                       if (current_view == cpu) {
+                       if (current_view != process_details) {
+                               previous_view = current_view;
                                current_view = process_details;
+                       } else {
+                               current_view = previous_view;
+                               previous_view = process_details;
                        }
                        update_current_view();
                        break;
 
                case KEY_F(1):
-                       toggle_tree *= -1;
                        current_view = cpu;
+                       selected_line = 0;
                        update_current_view();
                        break;
                case KEY_F(2):
                        current_view = cpu;
+                       selected_line = 0;
                        update_current_view();
                        break;
                case KEY_F(3):
                        current_view = perf;
-                       toggle_tree = -1;
+                       selected_line = 0;
                        update_current_view();
                        break;
                case KEY_F(4):
                        current_view = iostream;
-                       toggle_tree = -1;
+                       selected_line = 0;
                        update_current_view();
                        break;
                case KEY_F(10):
@@ -965,8 +968,8 @@ void init_ncurses()
        sem_init(&update_display_sem, 0, 1);
        init_screen();
 
-       header = create_window(6, COLS - 1, 0, 0);
-       center = create_window(LINES - 7 - 7, COLS - 1, 6, 0);
+       header = create_window(5, COLS - 1, 0, 0);
+       center = create_window(LINES - 5 - 7, COLS - 1, 5, 0);
        status = create_window(MAX_LOG_LINES + 2, COLS - 1, LINES - 7, 0);
        footer = create_window(1, COLS - 1, LINES - 1, 0);
 
This page took 0.024137 seconds and 4 git commands to generate.