 |
LXVII. Функции управления экраном терминала Ncurses| Предупреждение! |
|---|
|
Это расширение является ЭКСПЕРИМЕНТАЛЬНЫМ. Поведение этого расширения, имена
его функций и всё, что задокументировано, может измениться в последующих релизах
РНР без предупреждения. Вы предупреждены и можете использовать это расширение
только под вашу ответственность. |
ncurses (new curses/новые курсы) это свободная программная
эмуляция курсов в System V Rel 4.0 (и выше). Она использует формат terminfo, поддерживает
заполнения, цвета, множественную подсветку/highlights, отображение символов формы
и ключей функций. Ncurses
имеется для следующих платформ: AIX BeOS Cygwin Digital
Unix (aka OSF1) FreeBSD GNU/Linux HPUX IRIX OS/2 SCO
OpenServer Solaris SunOS
Вам
необходимы библиотеки и header-файлы ncurses. Загрузите последнюю версию с ftp://ftp.gnu.org/pub/gnu/ncurses/
или с другого зеркала GNU. Чтобы
эти функции работали, вы должны скомпилировали CGI-версию PHP с опцией --with-ncurses. При
ошибке ncurses-функции возвращают NCURSES_ERR.
Таблица 1. Константы цветов ncurses| константа | значение |
| NCURSES_COLOR_BLACK | нет цвета (чёрный) | | NCURSES_COLOR_WHITE | белый | | NCURSES_COLOR_RED | красный
- поддерживается, если терминал находится в режиме color | | NCURSES_COLOR_GREEN | зелёный
- поддерживается, если терминал находится в режиме color | | NCURSES_COLOR_YELLOW | жёлтый
- поддерживается, если терминал находится в режиме color | | NCURSES_COLOR_BLUE | синий
- поддерживается, если терминал находится в режиме color | | NCURSES_COLOR_CYAN | cyan
- поддерживается, если терминал находится в режиме color | | NCURSES_COLOR_MAGENTA | magenta
- поддерживается, если терминал находится в режиме color |
Таблица
2. Константы клавиш ncurses| константа | значение |
|---|
| NCURSES_KEY_F0
- NCURSES_KEY_F64 | функциональные клавиши F1 - F64 | | NCURSES_KEY_DOWN | стрелка
вниз | | NCURSES_KEY_UP | стрелка вверх | | NCURSES_KEY_LEFT | стрелка
влево | | NCURSES_KEY_RIGHT | стрелка вправо | | NCURSES_KEY_HOME | клавиша
home (upward+left arrow) | | NCURSES_KEY_BACKSPACE | backspace | | NCURSES_KEY_DL | удалить
строку | | NCURSES_KEY_IL | вставить строку | | NCURSES_KEY_DC | удалить
символ | | NCURSES_KEY_IC | вставить символ или войти в режим
insert/вставки | | NCURSES_KEY_EIC | выйти из режима вставки
символов | | NCURSES_KEY_CLEAR | очистить экран | | NCURSES_KEY_EOS | очистить
до конца экрана | | NCURSES_KEY_EOL | очистить до конца строки | | NCURSES_KEY_SF | прокрутить
вперёд на одну строку | | NCURSES_KEY_SR | прокрутить назад
на одну строку | | NCURSES_KEY_NPAGE | следующая страница | | NCURSES_KEY_PPAGE | предыдущая
страница | | NCURSES_KEY_STAB | установить tab/табуляцию | | NCURSES_KEY_CTAB | очистить
tab | | NCURSES_KEY_CATAB | очистить все tabs | | NCURSES_KEY_SRESET | мягкий
(частичный) reset | | NCURSES_KEY_RESET | reset (или жёсткий
reset) | | NCURSES_KEY_PRINT | print | | NCURSES_KEY_LL | lower
left/самая нижняя левая | | NCURSES_KEY_A1 | upper left цифрового
блока | | NCURSES_KEY_A3 | upper right цифрового блока |
| NCURSES_KEY_B2 | center цифрового блока | | NCURSES_KEY_C1 | lower
left цифрового блока | | NCURSES_KEY_C3 | lower right цифрового
блока | | NCURSES_KEY_BTAB | back tab | | NCURSES_KEY_BEG | начало | | NCURSES_KEY_CANCEL | cancel | | NCURSES_KEY_CLOSE | close | | NCURSES_KEY_COMMAND | cmd
(command/команда) | | NCURSES_KEY_COPY | copy | | NCURSES_KEY_CREATE | create | | NCURSES_KEY_END | end | | NCURSES_KEY_EXIT | exit |
| NCURSES_KEY_FIND | find | | NCURSES_KEY_HELP | help | | NCURSES_KEY_MARK | mark | | NCURSES_KEY_MESSAGE | message | | NCURSES_KEY_MOVE | move | | NCURSES_KEY_NEXT | next | | NCURSES_KEY_OPEN | open |
| NCURSES_KEY_OPTIONS | опции | | NCURSES_KEY_PREVIOUS | previous |
| NCURSES_KEY_REDO | redo | | NCURSES_KEY_REFERENCE | ref
(reference) | | NCURSES_KEY_REFRESH | refresh | | NCURSES_KEY_REPLACE | replace |
| NCURSES_KEY_RESTART | restart | | NCURSES_KEY_RESUME | resume |
| NCURSES_KEY_SAVE | save | | NCURSES_KEY_SBEG | shiftet
beg (beginning) | | NCURSES_KEY_SCANCEL | shifted cancel | | NCURSES_KEY_SCOMMAND | shifted
command | | NCURSES_KEY_SCOPY | shifted copy | | NCURSES_KEY_SCREATE | shifted
create | | NCURSES_KEY_SDC | shifted delete char | | NCURSES_KEY_SDL | shifted
delete line | | NCURSES_KEY_SELECT | select | | NCURSES_KEY_SEND | shifted
end | | NCURSES_KEY_SEOL | shifted end of line | | NCURSES_KEY_SEXIT | shifted
exit | | NCURSES_KEY_SFIND | shifted find | | NCURSES_KEY_SHELP | shifted
help | | NCURSES_KEY_SHOME | shifted home | | NCURSES_KEY_SIC | shifted
input | | NCURSES_KEY_SLEFT | shifted left arrow | | NCURSES_KEY_SMESSAGE | shifted
message | | NCURSES_KEY_SMOVE | shifted move | | NCURSES_KEY_SNEXT | shifted
next | | NCURSES_KEY_SOPTIONS | shifted options | | NCURSES_KEY_SPREVIOUS | shifted
previous | | NCURSES_KEY_SPRINT | shifted print | | NCURSES_KEY_SREDO | shifted
redo | | NCURSES_KEY_SREPLACE | shifted replace | | NCURSES_KEY_SRIGHT | shifted
right arrow | | NCURSES_KEY_SRSUME | shifted resume | | NCURSES_KEY_SSAVE | shifted
save | | NCURSES_KEY_SSUSPEND | shifted suspend | | NCURSES_KEY_UNDO | undo |
| NCURSES_KEY_MOUSE | mouse event has occured | | NCURSES_KEY_MAX | maximum
key value |
Таблица
3. mouse-константы| константа | значение |
|---|
| NCURSES_BUTTON1_RELEASED
- NCURSES_BUTTON4_RELEASED | кнопка (1-4) отпущена | | NCURSES_BUTTON1_PRESSED
- NCURSES_BUTTON4_PRESSED | кнопка (1-4) нажата | | NCURSES_BUTTON1_CLICKED
- NCURSES_BUTTON4_CLICKED | кнопка (1-4) щёлкнула | | NCURSES_BUTTON1_DOUBLE_CLICKED
- NCURSES_BUTTON4_DOUBLE_CLICKED | кнопка (1-4) дважды щёлкнула | | NCURSES_BUTTON1_TRIPLE_CLICKED
- NCURSES_BUTTON4_TRIPLE_CLICKED | кнопка (1-4) трижды щёлкнула | | NCURSES_BUTTON_CTRL | ctrl
нажата при щелчке | | NCURSES_BUTTON_SHIFT | shift нажата
при щелчке | | NCURSES_BUTTON_ALT | alt нажата при щелчке | | NCURSES_ALL_MOUSE_EVENTS | сообщает
обо всех событиях мыши | | NCURSES_REPORT_MOUSE_POSITION | сообщает
о позиции мыши |
- Содержание
- ncurses_addch
- добавляет символ в текущей позиции и продвигает курсор вперёд
- ncurses_addchnstr
- добавляет атрибуированную строку со специфицированной длиной в текущей позиции
- ncurses_addchstr
- добавляет атрибуированную строку в текущей позиции
- ncurses_addnstr
- добавляет строку со специфицированной длиной в текущей позиции
- ncurses_addstr
- выводит текст в текущей позиции
- ncurses_assume_default_colors
- определяет цвет по умолчанию для цвета 0
- ncurses_attroff
- отключает данный атрибут
- ncurses_attron
- включает данный атрибут
- ncurses_attrset
- устанавливает данные атрибуты
- ncurses_baudrate
- возвращает baudrate терминала
- ncurses_beep
- разрешает терминалу подать сигнал
- ncurses_bkgd
- устанавливает свойство background экрана терминала
- ncurses_bkgdset
- управляет фоном экрана
- ncurses_border
- рисует рамку вокруг экрана с использованием атрибуированных символов
- ncurses_can_change_color
- проверяет, можем ли мы изменить цвета терминала
- ncurses_cbreak
- отключает буферизацию ввода
- ncurses_clear
- очищает экран
- ncurses_clrtobot -
очищает экран от текущей позиции до низа
- ncurses_clrtoeol
- очищает экран от текущей позиции до конца строчки
- ncurses_color_set
- устанавливает цвета переднего плана и фона
- ncurses_curs_set
- устанавливает статус курсора
- ncurses_def_prog_mode
- сохраняет режим терминала (программы)
- ncurses_def_shell_mode
- сохраняет режим терминала (оболочки/shell)
- ncurses_define_key
- определяет keycode/код клавиши
- ncurses_delay_output
- задерживает вывод на терминал, используя заполняющие символы
- ncurses_delch
- удаляет символ в текущей позиции, остаток строки сдвигается влево
- ncurses_deleteln
- удаляет строчку в текущей позиции, остаток экрана сдвигается вверх
- ncurses_delwin
- удаляет ncurses-окно
- ncurses_doupdate
- записывает все подготовленные обновления в терминал
- ncurses_echo
- активирует отображение ввода с клавиатуры
- ncurses_echochar
- вывод одного символа, включая обновление
- ncurses_end
- останавливает использование ncurses, очищает экран
- ncurses_erase
- стирает экран терминала
- ncurses_erasechar
- возвращает текущий удалённый символ
- ncurses_filter
-
- ncurses_flash - вспышка на экране терминала
(визуальный сигнал)
- ncurses_flushinp
- очищает буфер клавиатурного ввода
- ncurses_getch
- читает символ с клавиатуры
- ncurses_getmouse
- читает событие от мыши
- ncurses_halfdelay
- переводит терминал в режим halfdelay
- ncurses_has_colors
- проверяет, имеет ли терминал цвета
- ncurses_has_ic
- проверяет возможность вставки/удаления
- ncurses_has_il
- проверяет возможность вставки/удаления
- ncurses_has_key
- проверяет существование функциональной клавиши на клавиатуре терминала
- ncurses_hline
- рисует горизонтальную линию в текущей позиции, используя атрибуированный символ
и max. n длину символов
- ncurses_inch -
получает символ и атрибут в текущей позиции
- ncurses_init_color
- устанавливает новое RGB-значение цвета
- ncurses_init_pair
- размещает цветовую пару
- ncurses_init
- инициализирует ncurses
- ncurses_insch
- вставляет символ, перемещая остаток строки, включая символ в текущей позиции
- ncurses_insdelln
- вставляет строчки перед текущей строчкой, прокручивая вниз (отрицательные числа
удаляют и прокручивают вверх)
- ncurses_insertln
- вставляет строчку, перемещая остаток экрана вниз
- ncurses_insstr
- вставляет string в текущей позиции, перемещая остаток строчки вправо
- ncurses_instr
- читает строчку с экрана терминала
- ncurses_isendwin
- Ncurses находится в режиме endwin, может выполняться нормальный вывод экрана
- ncurses_keyok
- включает или отключает keycode/код клавиши
- ncurses_killchar
- возвращает kill-символ текущей строки
- ncurses_longname
- возвращает описание терминала
- ncurses_mouseinterval
- устанавливает timeout для щелчка кнопки мыши
- ncurses_mousemask
- устанавливает опции мыши
- ncurses_move
- переводит позицию вывода
- ncurses_mvaddch
- переводит текущую позицию и добавляет символ
- ncurses_mvaddchnstr
- переводит позицию и добавляет атрибуированную строку специфицированной длины
- ncurses_mvaddchstr - переводит
позицию и добавляет атрибуированную строку
- ncurses_mvaddnstr
- переводит позицию и добавляет строку со специфицированной длиной
- ncurses_mvaddstr
- переводит позицию и добавляет строку
- ncurses_mvcur
- переводит курсор немедленно
- ncurses_mvdelch
- переводит позицию и удаляет символ, сдвигая остаток строчки влево
- ncurses_mvgetch
- переводит позицию и получает символ в новой позиции
- ncurses_mvhline
- устанавливает новую позицию рисует горизонтальную линию, используя трибуированный
символ и max. n длину символов
- ncurses_mvinch
- переводит позицию и получает атрибуированный символ в новой позиции
- ncurses_mvvline
- устанавливает новую позицию и рисует вертикальную линию, используя атрибуированный
символ и max. n длину символов
- ncurses_mvwaddstr
- добавляет строку в новой позиции в окне
- ncurses_napms
- Sleep
- ncurses_newwin - создаёт новое
окно
- ncurses_nl - транслирует newline и
carriage return / line feed
- ncurses_nocbreak
- переключает терминал в режим cooked
- ncurses_noecho
- отключает отображение ввода с клавиатуры
- ncurses_nonl
- не транслировать newline и carriage return / line feed
- ncurses_noqiflush
- не зачищает сигнальные символы
- ncurses_noraw
- отключает терминал от режима raw
- ncurses_putp
-
- ncurses_qiflush - зачищает сигнальные
символы
- ncurses_raw - переключает терминал
в режим raw
- ncurses_refresh - обновляет
экран
- ncurses_resetty - восстанавливает
сохранённый статус терминала
- ncurses_savetty
- сохраняет статус терминала
- ncurses_scr_dump
- выполняет дамп содержимого экрана в файл
- ncurses_scr_init
- инициализирует экран из дампа файла
- ncurses_scr_restore
- восстанавливает экран из дампа файла
- ncurses_scr_set
- наследует экран из дампа файла
- ncurses_scrl
- прокручивает содержимое окна верх или вниз без изменения текущей позиции
- ncurses_slk_attr
- возвращает ключевой атрибут текущей soft-метки/label
- ncurses_slk_attroff
-
- ncurses_slk_attron -
- ncurses_slk_attrset
-
- ncurses_slk_clear - очищает soft-метки
с экрана
- ncurses_slk_color - устанавливает
цвет для ключей soft-меток
- ncurses_slk_init
- инициализирует soft label key-функции
- ncurses_slk_noutrefresh
- копирует soft label ключи в виртуальный экран
- ncurses_slk_refresh
- копирует soft label ключи в экран
- ncurses_slk_restore
- восстанавливает soft label keys
- ncurses_slk_touch
- форсирует вывод при выполнении ncurses_slk_noutrefresh
- ncurses_standend
- останавливает использование атрибута 'standout'
- ncurses_standout
- стартует использование атрибута 'standout'
- ncurses_start_color
- стартует использование цветов
- ncurses_termattrs
- возвращает логическое ИЛИ всех флагов атрибутов, поддерживаемых терминалом
- ncurses_termname
- возвращает (short)-имя терминала
- ncurses_timeout
- устанавливает timeout для специальных последовательностей клавиш
- ncurses_typeahead
- специфицирует другой filedescriptor для проверки typeahead
- ncurses_ungetch
- помещает символ обратно в поток ввода
- ncurses_ungetmouse
- проталкивает событие от мыши в очередь/queue
- ncurses_use_default_colors
- присваивает цвета по умолчанию color id -1
- ncurses_use_env
- управляет использованием информации окружения о размере терминала
- ncurses_use_extended_names
- управляет использованием расширенных имён в описаниях terminfo
- ncurses_vidattr
-
- ncurses_vline - рисует вертикальную
линию в текущей позиции, используя атрибуированный символ и max. n длину символов
- ncurses_wrefresh
- обновляет окно экрана терминала
|  |