A | B | C | D | E | F | G | H | CH | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
ncurses | |
![]() nástroj menuconfig, využívajúci ncurses | |
Základné informácie | |
---|---|
Posledná stabilná verzia | 6.3 (08. november 2021 ) |
Vyvinutý v | C |
Operačný systém | POSIX |
Typ softvéru | widget toolkit |
Licencia | X11 licencia[1] |
Prvé vydanie | 1993 |
Ďalšie odkazy | |
Webová stránka | invisible-island.net/ncurses |
Commons | ncurses |
![]() |
ncurses (new curses) je programátorská knižnica poskytujúca aplikačné programovacie rozhranie (API), ktoré umožňuje programátorovi vytvárať používateľské rozhranie v textovom režime spôsobom nezávislým od terminálu. Je to sada nástrojov na vývoj aplikačného softvéru podobného „GUI“, ktorý beží v emulátore terminálu. Tiež optimalizuje zmeny obrazovky tak, aby sa znížila latencia pri používaní prostredníctvom vzdialeného shellu.
Ncurses je možné použiť v rôznych programovacích jazykoch, vrátane Ada,[2] Python,[3] Gambas,[4] Ruby,[5] PHP,[6] JavaScript,[7] a Perl.[8]
História
Od novej verzie je ncurses slobodný softvér emulácii curses knižnicu zo System V Release 4.0 (SVr4), ktorý bol sám o sebe vylepšením voči pozastavenému vývoju curses knižnice z 4.4 BSD.[9] Štandard XSI Curses vydaný spoločnosťou X/Open je výslovne a úzko modelovaný v UNIX System V.
curses
Prvá knižnica curses bola vyvinutá na Kalifornskej univerzite v Berkeley pre operačný systém BSD okolo roku 1980 na podporu textovej adventúry Rogue. Hra pôvodne používala knižnicu termcap, ktorá sa používala v iných programoch, napríklad v editore vi.
Úspech knižnice curses pre BSD prinútil Bell Labs vydať vylepšenú knižnicu curses v ich systémoch Unix System V verzie 2. Táto knižnica bola výkonnejšia a namiesto použitia termcap použila terminfo. Avšak kvôli politike AT&T týkajúcej sa distribúcie zdrojového kódu nemala táto vylepšená knižnica curses v komunite BSD veľké prijatie.
pcurses
Okolo roku 1982 začal Pavel Curtis pracovať na freewarovom klone curses knižnice Bell Labs s názvom pcurses, ktorá do roku 1986 bola spravovaná viacerými ľuďmi.[10]
ncurses
Knižnica pcurses sa ďalej vylepšovala, keď sa jej vývoja koncom roku 1991 ujal Zeyd Ben-Halim.[10][11] Nová knižnica bola vydaná ako ncurses v novembri 1993, pričom verzia 1.8.1 bola prvým hlavným vydaním. Ďalšie prácu, prostredníctvom verzie 1.8.8 (M1995), viedol Eric S. Raymond, ktorý pridal do knižnice formuláre a menu napísané Juergenom Pfeiferom.[12] Od roku 1996 ju udržiava Thomas E. Dickey.
Väčšina volaní ncurses sa dá ľahko preniesť na staré curses knižnice. Implementácie knižnice curses zo System V môžu podporovať programy curses BSD iba s novou kompiláciou.[13] Niekoľko oblastí je však problematických, napríklad manipulácia s veľkosťou terminálu, pretože staré curses nemajú na to žiaden ekvivalent.
Terminálová databáza
Ncurses môžu používať buď terminfo (s rozšíriteľnými údajmi), alebo termcap. Ostatné implementácie curses používajú všeobecne terminfo; menšina používa termcap. Máloktorá používa oboje (mytinfo[14] bola staršia výnimka).
Licencia
Ncurses je súčasťou projektu GNU. Je to jeden z mála GNU projektov, ktorý sa nedistribuuje pod GNU GPL alebo LGPL, ale distribuuje sa na základe permissive free software licence, podobnej licencii MIT.[15] Je to dôsledkom dohody s FSF v čase, keď vývojári udeľovali svoje autorské práva.
Keď bola uzavretá dohoda o postúpení práv na FSF, existovala klauzula, ktorá uvádzala:[16]
Nadácia sľubuje, že akákoľvek distribúcia Balíka alebo akejkoľvek práce „založenej na Balíku“, ktorá sa uskutoční pod kontrolou Nadácie alebo jej zástupcov alebo nadobúdateľov, sa uskutoční za podmienok, ktoré výslovne a trvalo umožňujú každému, kto vlastní kópiu diela, na ktoré sa vzťahujú podmienky, a s presným oboznámením s týmito podmienkami, za účelom ich redistribúcie rozmnoženiny diela komukoľvek za rovnakých podmienok.
Podľa správcu Thomasa E. Dickeyho to vylučuje zmenu licencie na GPL v akejkoľvek verzii, pretože by to obmedzovalo programy, ktoré sa budú s knižnicami linkovať.[16]
Programy využívajúce ncurses
Existujú stovky programov využívajúcich ncurses.[17][18] Niektoré, napríklad GNU Screen a w3m, využívajú iba rozhranie termcap a správu obrazovky vykonávajú sami. Ostatné, napríklad GNU Midnight Commander a YaST, využívajú programovacie rozhranie curses.
Referencie
- ↑ NCURSES — Licensing . . Dostupné online.
- ↑ Ada95 Binding for ncurses . invisible-island.net, . Dostupné online.
- ↑ Curses Programming with Python — Python 3.9.3 documentation . docs.python.org, . Dostupné online.
- ↑ gb.ncurses - Gambas Wiki
- ↑ ncurses-ruby | RubyGems.org | your community gem host . rubygems.org, . Dostupné online.
- ↑ Ncurses functions - PHP Manual
- ↑ SpiderApe: ncurses bindings for JavaScript . spiderape.sourceforge.net, . Dostupné online.
- ↑ Curses::UI - A curses based OO user interface framework
- ↑ RAYMOND, Eric S.. ncurses: Portable Screen-Handling for Linux . Linux Journal, September 1995. Dostupné online.
- ↑ a b . Dostupné online.
- ↑ The README file in ncurses 1.8.1 states "v0.1 July 31, 1992" and "v1.8.1 November 5, 1993", which agrees with the NEWS (changelog) file
- ↑ NCURSES — Frequently Asked Questions (FAQ) . invisible-island.net, . Dostupné online.
- ↑ A Hacker's Guide to Ncurses Internals . invisible-island.net, . Dostupné online.
- ↑ . Dostupné online.
- ↑ NCURSES — Frequently Asked Questions (FAQ) . invisible-island.net, . Dostupné online.
- ↑ a b NCURSES - Frequently Asked Questions (FAQ): Is it GPL'd?
- ↑ . Dostupné online.
- ↑ . Dostupné online.
Pozri ajupraviť | upraviť zdroj
- conio.h – C hlavičkový súbor používaný v kompilátoroch pre MS-DOS na vytváranie textových používateľských rozhraní
- dialóg (softvér)
- S-Lang (programovacia knižnica)
- SMG$ – Knižnica na správu obrazoviek dostupná v OpenVMS
Externé odkazyupraviť | upraviť zdroj
- Oficiálna stránka
- Psaní aplikací pro terminál: jak funguje knihovna ncurses – úvod série článkov Pavla Stěhuleho na serveri Root.cz
Text je dostupný za podmienok Creative Commons Attribution/Share-Alike License 3.0 Unported; prípadne za ďalších podmienok. Podrobnejšie informácie nájdete na stránke Podmienky použitia.
Antropológia
Aplikované vedy
Bibliometria
Dejiny vedy
Encyklopédie
Filozofia vedy
Forenzné vedy
Humanitné vedy
Knižničná veda
Kryogenika
Kryptológia
Kulturológia
Literárna veda
Medzidisciplinárne oblasti
Metódy kvantitatívnej analýzy
Metavedy
Metodika
Text je dostupný za podmienok Creative
Commons Attribution/Share-Alike License 3.0 Unported; prípadne za ďalších
podmienok.
Podrobnejšie informácie nájdete na stránke Podmienky
použitia.
www.astronomia.sk | www.biologia.sk | www.botanika.sk | www.dejiny.sk | www.economy.sk | www.elektrotechnika.sk | www.estetika.sk | www.farmakologia.sk | www.filozofia.sk | Fyzika | www.futurologia.sk | www.genetika.sk | www.chemia.sk | www.lingvistika.sk | www.politologia.sk | www.psychologia.sk | www.sexuologia.sk | www.sociologia.sk | www.veda.sk I www.zoologia.sk