public function clear() { //sleep(1); ncurses_clear(); }
/** * Stops the current application state * * @return void */ public function stopState() { if (!is_object($this->statesManager)) { throw new Exception("States manager must be an object"); } // Pop the current state $this->statesManager->pop(); // Clear the screen ncurses_clear(); }
function distroy() { ncurses_clear(); ncurses_echo(); ncurses_refresh(); ncurses_end(); }
public function __destruct() { ncurses_clear(); ncurses_end(); }
/** * get IPC message and display * * @param callback $callback * return true to end the loop, called on every loop */ function curlInfoIPC($callback = null) { $queue = $this->getMessageQueue(true)[0]; $nc = ncurses_init(); $window = ncurses_newwin(0, 0, 0, 0); $caption = ''; $list = array(); $lastClear = time(); while (true) { $time = time(); if ($time - $lastClear > 10) { ncurses_clear(); $lastClear = $time; } $error = ''; if (msg_receive($queue, 0, $msgtype, 1024 * 1024, $msg, true, MSG_IPC_NOWAIT, $errorCode)) { if (strlen($msg['caption']) > strlen($caption)) { $caption = $msg['caption']; } $pid = $msg['pid']; $isLast = $msg['isLast']; unset($msg['pid'], $msg['isLast'], $msg['caption']); $list[$pid] = $msg; if (true === $isLast) { unset($list[$pid]); ncurses_clear(); if (empty($list)) { break; } } } else { if ($errorCode != MSG_ENOMSG) { $error = 'IPC receive error, errorCode=' . $errorCode; } } $content = ''; $output = ''; foreach ($list as $k => $v) { $content .= $v['content'] . "\n"; $output .= $v['output'] . "\n"; } $str = trim($caption . "\n" . $content . "\n" . $output . "\n" . $error); ncurses_move(0, 0); ncurses_addstr($str); ncurses_refresh(); if (isset($callback)) { if (call_user_func($callback)) { break; } } usleep(100 * 1000); } ncurses_end(); msg_remove_queue($queue); }
while (1) { // Initialisation de ncurses $ncurse = ncurses_init(); ncurses_curs_set(0); // Définition des 'pair' de couleurs utilisables ncurses_start_color(); ncurses_init_pair(1, NCURSES_COLOR_RED, NCURSES_COLOR_BLACK); ncurses_init_pair(2, NCURSES_COLOR_GREEN, NCURSES_COLOR_BLACK); ncurses_init_pair(3, NCURSES_COLOR_YELLOW, NCURSES_COLOR_BLACK); ncurses_init_pair(4, NCURSES_COLOR_BLUE, NCURSES_COLOR_BLACK); ncurses_init_pair(5, NCURSES_COLOR_MAGENTA, NCURSES_COLOR_BLACK); ncurses_init_pair(6, NCURSES_COLOR_CYAN, NCURSES_COLOR_BLACK); ncurses_init_pair(7, NCURSES_COLOR_WHITE, NCURSES_COLOR_BLACK); ncurses_assume_default_colors(NCURSES_COLOR_YELLOW, NCURSES_COLOR_BLACK); //ncurses_color_set(1); ncurses_clear(); // Création du cadre principal $fullscreen = ncurses_newwin(0, 0, 0, 0); // Récuperation de la taille de la fenetre ncurses_getmaxyx($fullscreen, $lines, $columns); // On force la taille à 37x100 ce qui correspond à mon 800x600 $lines = 37; $columns = 100; // Creation de la bordure ncurses_border(0, 0, 0, 0, 0, 0, 0, 0); // Titre ncurses_attron(NCURSES_A_REVERSE); ncurses_mvaddstr(0, 1, " House On Wire "); ncurses_attroff(NCURSES_A_REVERSE); ncurses_refresh(); // Creation des 4 fenetres de contenus