underline for sorted column in cputop
[lttngtop.git] / src / cursesdisplay.c
index 304419d83e83a369f720032ab7f2b7c9fba54e95..b63fa9bce3dc32675aed27e5d6f6d1d27bae1785 100644 (file)
@@ -269,8 +269,8 @@ void update_footer()
        print_key(footer, "F4", "IOTop  ", current_view == iostream);
        print_key(footer, "Enter", "Details  ", current_view == process_details);
        print_key(footer, "Space", "Highlight  ", 0);
-       print_key(footer, "q", "Quit ", 0);
-       print_key(footer, "P", "Perf Pref  ", 0);
+       print_key(footer, "q", "Quit ", 0);
+       print_key(footer, "r", "Pref  ", 0);
        print_key(footer, "p", "Pause  ", toggle_pause);
 
        wrefresh(footer);
@@ -524,6 +524,7 @@ void update_cputop_display()
        double maxcputime;
        int nblinedisplayed = 0;
        int current_line = 0;
+       int column;
 
        elapsed = data->end - data->start;
        maxcputime = elapsed * data->cpu_table->len / 100.0;
@@ -541,10 +542,14 @@ void update_cputop_display()
 
        set_window_title(center, "CPU Top");
        wattron(center, A_BOLD);
-       mvwprintw(center, 1, 1, cputopview[0].title);
-       mvwprintw(center, 1, 12, cputopview[1].title);
-       mvwprintw(center, 1, 22, cputopview[2].title);
-       mvwprintw(center, 1, 32, cputopview[3].title);
+       column = 1;
+       for (i = 0; i < 4; i++) {
+               if (cputopview[i].sort)
+                       wattron(center, A_UNDERLINE);
+               mvwprintw(center, 1, column, cputopview[i].title);
+               wattroff(center, A_UNDERLINE);
+               column += 10;
+       }
        wattroff(center, A_BOLD);
 
        max_center_lines = LINES - 5 - 7 - 1 - header_offset;
@@ -567,11 +572,11 @@ void update_cputop_display()
                mvwprintw(center, current_line + header_offset, 1, "%1.2f",
                                tmp->totalcpunsec / maxcputime);
                /* TGID */
-               mvwprintw(center, current_line + header_offset, 12, "%d", tmp->pid);
+               mvwprintw(center, current_line + header_offset, 11, "%d", tmp->pid);
                /* PID */
-               mvwprintw(center, current_line + header_offset, 22, "%d", tmp->tid);
+               mvwprintw(center, current_line + header_offset, 21, "%d", tmp->tid);
                /* NAME */
-               mvwprintw(center, current_line + header_offset, 32, "%s", tmp->comm);
+               mvwprintw(center, current_line + header_offset, 31, "%s", tmp->comm);
                wattroff(center, COLOR_PAIR(6));
                wattroff(center, COLOR_PAIR(5));
                nblinedisplayed++;
@@ -913,7 +918,7 @@ void update_process_detail_pref(int *line_selected, int toggle_view, int toggle_
        set_window_title(pref_panel_window, "Process Detail Preferences ");
        wattron(pref_panel_window, A_BOLD);
        mvwprintw(pref_panel_window, size + 1, 1,
-                       " 's' to sort");
+                       " 's' : sort, space : toggle");
        wattroff(pref_panel_window, A_BOLD);
 
        if (*line_selected > (size - 1))
@@ -934,7 +939,7 @@ void update_process_detail_pref(int *line_selected, int toggle_view, int toggle_
                }
                if (fileview[i].sort == 1)
                        wattron(pref_panel_window, A_BOLD);
-               mvwprintw(pref_panel_window, i + 1, 1, "[x] %s",
+               mvwprintw(pref_panel_window, i + 1, 1, "[-] %s",
                                fileview[i].title);
                wattroff(pref_panel_window, A_BOLD);
                wattroff(pref_panel_window, COLOR_PAIR(5));
@@ -965,7 +970,7 @@ void update_iostream_pref(int *line_selected, int toggle_view, int toggle_sort)
        set_window_title(pref_panel_window, "IOTop Preferences ");
        wattron(pref_panel_window, A_BOLD);
        mvwprintw(pref_panel_window, size + 1, 1,
-                       " 's' to sort");
+                       " 's' : sort, space : toggle");
        wattroff(pref_panel_window, A_BOLD);
 
        if (*line_selected > (size - 1))
@@ -986,7 +991,7 @@ void update_iostream_pref(int *line_selected, int toggle_view, int toggle_sort)
                }
                if (iostreamtopview[i].sort == 1)
                        wattron(pref_panel_window, A_BOLD);
-               mvwprintw(pref_panel_window, i + 1, 1, "[x] %s",
+               mvwprintw(pref_panel_window, i + 1, 1, "[-] %s",
                                iostreamtopview[i].title);
                wattroff(pref_panel_window, A_BOLD);
                wattroff(pref_panel_window, COLOR_PAIR(5));
@@ -1017,7 +1022,7 @@ void update_cpu_pref(int *line_selected, int toggle_view, int toggle_sort)
        set_window_title(pref_panel_window, "CPUTop Preferences ");
        wattron(pref_panel_window, A_BOLD);
        mvwprintw(pref_panel_window, size + 1, 1,
-                       " 's' to sort");
+                       " 's' : sort, space : toggle");
        wattroff(pref_panel_window, A_BOLD);
 
        if (*line_selected > (size - 1))
@@ -1041,7 +1046,7 @@ void update_cpu_pref(int *line_selected, int toggle_view, int toggle_sort)
                }
                if (cputopview[i].sort == 1)
                        wattron(pref_panel_window, A_BOLD);
-               mvwprintw(pref_panel_window, i + 1, 1, "[x] %s",
+               mvwprintw(pref_panel_window, i + 1, 1, "[-] %s",
                                cputopview[i].title);
                wattroff(pref_panel_window, A_BOLD);
                wattroff(pref_panel_window, COLOR_PAIR(5));
@@ -1074,7 +1079,7 @@ void update_perf_pref(int *line_selected, int toggle_view, int toggle_sort)
        set_window_title(pref_panel_window, "Perf Preferences ");
        wattron(pref_panel_window, A_BOLD);
        mvwprintw(pref_panel_window, g_hash_table_size(global_perf_liszt) + 1, 1,
-                       " 's' to sort");
+                       " 's' : sort, space : toggle");
        wattroff(pref_panel_window, A_BOLD);
 
        if (toggle_sort == 1) {
@@ -1264,9 +1269,11 @@ void *handle_keyboard(void *p)
                        } else {
                                print_log("Manually moving forward");
                                sem_post(&timer);
-                               /* we force to resume the refresh when moving forward */
-                               if (toggle_pause > 0)
-                                       resume_display();
+                               if (toggle_pause > 0) {
+                                       sem_post(&pause_sem);
+                                       update_current_view();
+                                       sem_wait(&pause_sem);
+                               }
                        }
 
                        break;
@@ -1284,6 +1291,8 @@ void *handle_keyboard(void *p)
                        break;
 
                case 13: /* FIXME : KEY_ENTER ?? */
+                       if (pref_panel_visible)
+                               break;
                        if (current_view != process_details) {
                                previous_view = current_view;
                                current_view = process_details;
@@ -1337,9 +1346,19 @@ void *handle_keyboard(void *p)
                                resume_display();
                        }
                        break;
-               case 'P':
+               case 'r':
                        toggle_pref_panel();
                        break;
+               /* ESCAPE, but slow to process, don't know why */
+               case 27:
+                       if (pref_panel_visible)
+                               toggle_pref_panel();
+                       else if (current_view == process_details) {
+                               current_view = previous_view;
+                               previous_view = process_details;
+                       }
+                       update_current_view();
+                       break;
                default:
                        if (data)
                                update_current_view();
This page took 0.024762 seconds and 4 git commands to generate.