Для установки нажмите кнопочку Установить расширение. И это всё.

Исходный код расширения WIKI 2 регулярно проверяется специалистами Mozilla Foundation, Google и Apple. Вы также можете это сделать в любой момент.

4,5
Келли Слэйтон
Мои поздравления с отличным проектом... что за великолепная идея!
Александр Григорьевский
Я использую WIKI 2 каждый день
и почти забыл как выглядит оригинальная Википедия.
Статистика
На русском, статей
Улучшено за 24 ч.
Добавлено за 24 ч.
Альтернативы
Недавние
Show all languages
Что мы делаем. Каждая страница проходит через несколько сотен совершенствующих техник. Совершенно та же Википедия. Только лучше.
.
Лео
Ньютон
Яркие
Мягкие

Из Википедии — свободной энциклопедии

Структура

Curses — библиотека управления терминалом для Unix-подобных операционных систем, позволяющая создавать приложения с текстовым интерфейсом пользователя.

Название библиотеки происходит от английского термина «cursor optimization» (оптимизация курсора)[1], а также означает «проклятия». Библиотека содержит функции для работы с дисплеем текстового терминала (например, VT100)[2].

Обзор

API Curses описан в нескольких различных источниках[3]. Большинство реализаций curses использует базу данных, описывающую возможности тысяч различных терминалов. Некоторые реализации (например, PDCurses  (англ.)), используют вместо неё специализированные драйверы устройств. Большинство реализаций использует terminfo; некоторые используют termcap. Для приложений, не требующих вывода графики или нескольких шрифтов, реализация интерфейса при помощи curses будет гораздо проще и быстрее, чем с использованием X Window System.

При помощи curses программисты могут создавать текстовые приложения, переносимые между различными типами терминалов — библиотека сама позаботится о том, какие управляющие символы следует использовать для каждого конкретного терминала. Curses предоставляет возможность отображения нескольких окон на одном терминале. Каждое окно представляется матрицей символов. Программист устанавливает позицию, размер и содержимое каждого окна и обновляет экран. Библиотека определяет минимальный набор изменений для обновления экрана и применяет их, исходя из возможностей терминала.

История

Первая реализация curses была написана Кеном Арнольдом и поставлялась вместе с BSD UNIX, где использовалась для нескольких игр, самая известная из которых — Rogue[4][5][6].

Иногда ошибочно утверждается, что curses использовался в текстовом редакторе vi. На самом деле, код, оптимизирующий перемещение курсора, был позаимствован curses из vi, который вышел раньше[5].

Согласно Гудхарту, оригинальная реализация Кена Арнольда началась с расширения функций библиотеки termcap[7]. Несколькими годами позже Марк Хортон, работавший над улучшением кода vi и termcap в Беркли, перешёл в AT&T и создал другую версию на основе terminfo, которая стала частью UNIX System III и UNIX System V. Из-за ограничений лицензии последнего версии BSD и AT&T разрабатывались независимо. Кроме улучшений termcap/terminfoв версии AT&T были добавлены:

выделение текста (полужирный, подчёркнутый)
версия BSD поддерживала только режим выделения standout.
рисование линий
версия BSD имела слабую поддержку данной функции.
цвета
в версии BSD такой возможности не предвиделось.

Разработка AT&T curses остановилась в середине 1990-х, когда было объявлено о создании X/Open Curses. [8] Однако разработка ncurses и PDCurses продолжается. Версия BSD curses продолжает поддерживаться в операционной системе NetBSD (поддержка широких символов, миграция с termcap на terminfo и т. д.).

pcurses и PDCurses

Развитием AT&T curses можно считать как минимум следующие реализации: pcurses от Павела Кёртиса (1982), PDCurses (Public Domain curses) от Марка Хесслинга (Mark Hessling) для поддержки его редактора THE (1987), а также Rexx/Curses[9] и PC curses (версии 1.4 от Бьорна Ларссона (Bjorn Larsson) основаны на библиотеке Кёртиса[10].[11]

ncurses

ncurses (new curses) «изначально являлась pcurses … и была перевыпущена как ncurses 1.8.1 в конце 1993 года»[12]. ncurses является наиболее известной реализацией curses, которая мотивировала дальнейшую разработку остальных модификаций, таких как BSD curses в проекте NetBSD. [13] [14]

Переносимость

Хотя библиотека ncurses library изначально разрабатывалась под Linux, OpenBSD, FreeBSD, и NetBSD, она была портирована под множество других ANSI/POSIX UNIX-систем, в основном усилиями Томаса Дики. PDCurses (не путать с ncurses) использует те же вызовы, что и ncurses, за исключением того, что PDCurses предназначена для различных устройств, то есть, консольных окон DOS, Win32, OS/2 и X11. Портирование между этими двумя версиями не представляет трудностей. Например, roguelike ADOM был написан под Linux и ncurses, и позднее был портирован под DOS и PDCurses[15][16].

Скриншоты

Ниже продемонстрированы типичные примеры использования curses (в окне терминала, поддерживающего цвет)

Программное обеспечение, использующее curses

Curses делает возможным с лёгкостью создавать GUI-подобную функциональность на текстовом терминале, таком как текстовый режим PC, аппаратный ANSI-терминал, клиент Telnet или SSH.

Программы, использующие curses, часто имеют пользовательский интерфейс, напоминающий традиционный графический интерфейс пользователя, включая такие виджеты, как выпадающие меню и прокручиваемые списки, вместо интерфейса командной строки (command line interface, CLI), широко используемого на текстовых терминалах. Кроме того, программы, использующие curses, менее требовательны к ресурсам, чем их графические аналоги, и более переносимы между системами (особенно очень старыми, до 1990 года).

Curses чаще всего ассоциируется с Unix-подобными операционными системами, хотя также существуют реализации для Microsoft Windows.

См. также

  • ncurses
  • conio — похожая идея для DOS
  • S-Lang — интерпретируемый язык с похожими средствами экранного ввода/вывода
  • SMG$ — похожая идея для OpenVMS
  • Newt[en] — похожая библиотека тексового интерфейса на основе библиотеки slang

Примечания

  1. Thomas E. Dickey. NCURSES - Frequently Asked Questions. Дата обращения: 25 февраля 2015. Архивировано 21 августа 2018 года.
  2. Thomas E. Dickey. NCURSES - Frequently Asked Questions. Дата обращения: 25 февраля 2015. Архивировано 21 августа 2018 года.
  3. John Strang, Programming with curses, O’Reilly, ISBN 0-937175-02-1
  4. Peter H. Salus. The history of Unix is as much about collaboration as it is about technology. Byte (октябрь 1994). Дата обращения: 25 февраля 2015. Архивировано 25 февраля 2015 года.
  5. 1 2 Arnold, K. C. R. C. Screen Updating and Cursor Movement Optimization: A Library Package (англ.) : journal. — University of California, Berkeley, 1977.
  6. Kenneth C. R. C. Arnold. Screen Updating and Cursor Movement Optimization: A Library Package (декабрь 1992). Дата обращения: 25 февраля 2015. Архивировано 28 сентября 2007 года.
  7. Goodheart, Berny. UNIX Curses Explained (неопр.). — Prentice Hall, 1991. — С. xi. — ISBN 0-13-931957-3.
  8. X/Open Curses, Issue 4 Version 2, Reference Pages. The Open Group (1997). Дата обращения: 25 декабря 2016. Архивировано 26 декабря 2016 года.
  9. Mark Hessling. Rexx/Curses. SourceForge project rexxcurses (2008). Дата обращения: 10 февраля 2014. Архивировано 15 декабря 2013 года.
  10. F. Ellermann. CURSES.NEW in pccurses.zip (26 июля 1993). — «based on PC curses (version 1.4) written by Bjorn Larsson». Дата обращения: 10 февраля 2014. (недоступная ссылка)
  11. Bjorn Larsson. README.NOW in pccurs14.zip (14 января 1990). — «PCcurses is a port/rewrite of Pavel Curtis' [package]». Дата обращения: 10 февраля 2014. Архивировано из оригинала 23 февраля 2014 года.
  12. Thomas E. Dickey. NCURSES - New Curses (декабрь 1996). Дата обращения: 5 марта 2013. Архивировано 8 мая 2019 года.
  13. NetBSD project. CURSES_SCREEN(3), NetBSD Library Functions Manual (февраль 2004). Дата обращения: 25 февраля 2015. Архивировано 25 февраля 2015 года.
  14. Ruibiao Qiu. NetBSD-SoC: Wide Character Support in NetBSD curses Library (сентябрь 2005). Дата обращения: 25 февраля 2015. Архивировано 13 марта 2015 года.
  15. Thomas Biskup. ADOM - The Past (1994–2007). Дата обращения: 16 ноября 2007. Архивировано из оригинала 10 октября 2007 года.
  16. Thomas Biskup (March 15, 1996). "New Game: ADOM (MS-DOS, MS-Windows, and Linux only)". Newsgrouprec.games.roguelike.announce. Архивировано из оригинала 4 июня 2011. Дата обращения: 16 ноября 2007. Источник. Дата обращения: 25 февраля 2015. Архивировано 4 июня 2011 года.

Ссылки

Эта страница в последний раз была отредактирована 21 января 2024 в 11:16.
Как только страница обновилась в Википедии она обновляется в Вики 2.
Обычно почти сразу, изредка в течении часа.
Основа этой страницы находится в Википедии. Текст доступен по лицензии CC BY-SA 3.0 Unported License. Нетекстовые медиаданные доступны под собственными лицензиями. Wikipedia® — зарегистрированный товарный знак организации Wikimedia Foundation, Inc. WIKI 2 является независимой компанией и не аффилирована с Фондом Викимедиа (Wikimedia Foundation).