Changes in uspace/app/top/screen.c [ffa2c8ef:79ae36dd] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/top/screen.c
rffa2c8ef r79ae36dd 46 46 #include "top.h" 47 47 48 #define USEC_COUNT 1000000 49 48 50 static sysarg_t warn_col = 0; 49 51 static sysarg_t warn_row = 0; 52 static suseconds_t timeleft = 0; 53 54 console_ctrl_t *console; 50 55 51 56 static void screen_style_normal(void) 52 57 { 53 fflush(stdout);54 console_set_style( fphone(stdout), STYLE_NORMAL);58 console_flush(console); 59 console_set_style(console, STYLE_NORMAL); 55 60 } 56 61 57 62 static void screen_style_inverted(void) 58 63 { 59 fflush(stdout);60 console_set_style( fphone(stdout), STYLE_INVERTED);64 console_flush(console); 65 console_set_style(console, STYLE_INVERTED); 61 66 } 62 67 63 68 static void screen_moveto(sysarg_t col, sysarg_t row) 64 69 { 65 fflush(stdout);66 console_set_pos( fphone(stdout), col, row);70 console_flush(console); 71 console_set_pos(console, col, row); 67 72 } 68 73 69 74 static void screen_get_pos(sysarg_t *col, sysarg_t *row) 70 75 { 71 fflush(stdout);72 console_get_pos( fphone(stdout), col, row);76 console_flush(console); 77 console_get_pos(console, col, row); 73 78 } 74 79 75 80 static void screen_get_size(sysarg_t *col, sysarg_t *row) 76 81 { 77 fflush(stdout);78 console_get_size( fphone(stdout), col, row);82 console_flush(console); 83 console_get_size(console, col, row); 79 84 } 80 85 … … 84 89 85 90 if (clear) { 86 fflush(stdout);87 console_clear( fphone(stdout));91 console_flush(console); 92 console_clear(console); 88 93 } 89 94 … … 111 116 void screen_init(void) 112 117 { 113 fflush(stdout); 114 console_cursor_visibility(fphone(stdout), false); 118 console = console_init(stdin, stdout); 119 120 console_flush(console); 121 console_cursor_visibility(console, false); 115 122 116 123 screen_restart(true); … … 121 128 screen_restart(true); 122 129 123 fflush(stdout);124 console_cursor_visibility( fphone(stdout), true);130 console_flush(console); 131 console_cursor_visibility(console, true); 125 132 } 126 133 … … 254 261 uint64_t used; 255 262 uint64_t free; 256 c hartotal_suffix;257 c harunavail_suffix;258 c harused_suffix;259 c harfree_suffix;260 261 order_suffix(data->physmem->total, &total, &total_suffix);262 order_suffix(data->physmem->unavail, &unavail, &unavail_suffix);263 order_suffix(data->physmem->used, &used, &used_suffix);264 order_suffix(data->physmem->free, &free, &free_suffix);265 266 printf("memory: %" PRIu64 "% c total, %" PRIu64 "%cunavail, %"267 PRIu64 "% c used, %" PRIu64 "%cfree", total, total_suffix,263 const char *total_suffix; 264 const char *unavail_suffix; 265 const char *used_suffix; 266 const char *free_suffix; 267 268 bin_order_suffix(data->physmem->total, &total, &total_suffix, false); 269 bin_order_suffix(data->physmem->unavail, &unavail, &unavail_suffix, false); 270 bin_order_suffix(data->physmem->used, &used, &used_suffix, false); 271 bin_order_suffix(data->physmem->free, &free, &free_suffix, false); 272 273 printf("memory: %" PRIu64 "%s total, %" PRIu64 "%s unavail, %" 274 PRIu64 "%s used, %" PRIu64 "%s free", total, total_suffix, 268 275 unavail, unavail_suffix, used, used_suffix, free, free_suffix); 269 276 screen_newline(); … … 295 302 296 303 uint64_t resmem; 297 c harresmem_suffix;298 order_suffix(task->resmem, &resmem, &resmem_suffix);304 const char *resmem_suffix; 305 bin_order_suffix(task->resmem, &resmem, &resmem_suffix, true); 299 306 300 307 uint64_t virtmem; 301 c harvirtmem_suffix;302 order_suffix(task->virtmem, &virtmem, &virtmem_suffix);303 304 printf("%-8" PRIu64 " %7zu % 9" PRIu64 "%c",308 const char *virtmem_suffix; 309 bin_order_suffix(task->virtmem, &virtmem, &virtmem_suffix, true); 310 311 printf("%-8" PRIu64 " %7zu %7" PRIu64 "%s ", 305 312 task->task_id, task->threads, resmem, resmem_suffix); 306 313 print_percent(perc->resmem, 2); 307 printf(" % 8" PRIu64 "%c", virtmem, virtmem_suffix);314 printf(" %6" PRIu64 "%s ", virtmem, virtmem_suffix); 308 315 print_percent(perc->virtmem, 2); 309 316 puts(" "); … … 508 515 } 509 516 510 fflush(stdout);517 console_flush(console); 511 518 } 512 519 … … 521 528 522 529 screen_newline(); 523 fflush(stdout); 530 console_flush(console); 531 } 532 533 /** Get char with timeout 534 * 535 */ 536 int tgetchar(unsigned int sec) 537 { 538 /* 539 * Reset timeleft whenever it is not positive. 540 */ 541 542 if (timeleft <= 0) 543 timeleft = sec * USEC_COUNT; 544 545 /* 546 * Wait to see if there is any input. If so, take it and 547 * update timeleft so that the next call to tgetchar() 548 * will not wait as long. If there is no input, 549 * make timeleft zero and return -1. 550 */ 551 552 wchar_t c = 0; 553 554 while (c == 0) { 555 kbd_event_t event; 556 557 if (!console_get_kbd_event_timeout(console, &event, &timeleft)) { 558 timeleft = 0; 559 return -1; 560 } 561 562 if (event.type == KEY_PRESS) 563 c = event.c; 564 } 565 566 return (int) c; 524 567 } 525 568
Note:
See TracChangeset
for help on using the changeset viewer.