Example #1
0
 public function clear()
 {
     //sleep(1);
     ncurses_clear();
 }
Example #2
0
 /**
  * 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();
 }
Example #3
0
 function distroy()
 {
     ncurses_clear();
     ncurses_echo();
     ncurses_refresh();
     ncurses_end();
 }
Example #4
0
 public function __destruct()
 {
     ncurses_clear();
     ncurses_end();
 }
Example #5
0
 /**
  * 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);
 }
Example #6
0
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