Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Интерфейс элементі Қызметтер мәзірі (немесе жай ғана Қызметтер) - macOS-тағы пайдаланушы интерфейс элементі. Қызметтер - бұл пайдаланушының таңдауынан кірісті қабылдайтын, оны өңдейтін және мүмкіндігінше нәтижені алмасу буферіне қайтаратын бағдарламалар. Бұл тұжырымдама NeXTSTEP операциялық жүйесінде пайда болды, одан macOS және GNUstep-ке көшірілді. Осыған ұқсас мүмкіндіктерді басқа операциялық жүйелерде эмуляциялау мүмкін.
Interface element
The Services menu (or simply Services) is a user interface element in macOS. The services are programs that accept input from the user selection, process it, and optionally put the result back in the clipboard. The concept originated in the NeXTSTEP operating system, from which it was carried over into macOS and GNUstep. Similar features can be emulated on other operating systems.
macOS
Apple өзінің операциялық жүйесінің басқа мүмкіндіктерімен байланысты қызметтер мәзірін жарнамалайды. Мысалы, мәтінді тышқанмен таңдап, Spotlight қызметі арқылы іздеуге болады. Басқа орталық қызметтер - скриншоттарды түсіру үшін Grab және жүйелік орфографиялық тексеру. Бұл тұжырымдама Unix құбырларының графикалық интерфейсіне ұқсас, ол кездейсоқ деректерді өңдеуге және бағдарламалардың арасында беруге мүмкіндік береді. Қызметтер қолданбалық қызметтер ретінде іске асырылуы мүмкін, олар таңдалған деректерде жұмыс істеу үшін қолданбаның функционалдық бөлігін, әдетте интерфейсті көрсетпей, ашып көрсетеді. Apple өзінің әзірлеуші құжаттамасында қосымшаларға "жалпы пайдалы" мүмкіндіктерді ұсыну үшін қызметтерді пайдалануды ұсынады, мысал ретінде Usenet клиенті ROT13 шифрлауды қызмет ретінде ұсынады. Дербес қызметтерді хост-қосымшасыз да құруға болады. Олардың қарапайым, бір мақсатты табиғаты және GUI-ді жобалауды қажет етпеуі, автономды қызметтерді жазуды бастаушы macOS бағдарламалау жобаларына танымал етеді. Көптеген қолданбалар өздерінің жазбаларын пайдаланушыдан сұрамай-ақ орнататындықтан, macOS қызметтер мәзірі тез арада ондаған жазбалармен толығады. Көптеген пайдаланушылар мүмкін нұсқалардың кішігірім бір бөлігін ғана қолданады, сондықтан мәзірді қысқарту және жекешелендіру оны жылдам және ыңғайлы пайдалануды қамтамасыз етеді. Mac OS X Snow Leopard-қа дейін бұл үшін үшінші тараптың бағдарламалық жасақтамасы қажет; Snow Leopard-та Қызметтер мәзірін Жүйелік параметрлер пернетақта панелі арқылы бейімдеуге болады.
Apple advertises the Services menu in connection with other features of its operating system. For example, it's possible to desktop search for a piece of text by selecting it with the mouse and using the service from Spotlight. Other central services are Grab for taking screenshots, and the system spell checker. The concept is similar to a GUI equivalent of a Unix pipe, allowing arbitrary data to be processed and passed between programs. Services can be implemented as application services, which expose a portion of the functionality of an application to operate on selected data, usually without displaying an interface. In its developer documentation, Apple recommends that applications use services to provide features that are "generally useful", giving as an example a Usenet client providing ROT13 encryption as a service. Standalone services may also be created without a host application. Their simple, one purpose nature and the fact that they don't require a GUI to be designed makes writing standalone services popular beginner's macOS programming projects. Since many applications install their entries without asking the user, the macOS services menu tends to clog up with dozens of entries quickly. Most users only will ever use a small subset of the possible options, therefore cutting down and customizing the menu makes it both faster and more pleasant to use. Prior to Mac OS X Snow Leopard, third party software is required to do this; in Snow Leopard, the Services menu can be customized from the Keyboard pane of System Preferences.
Эмуляция
Бағдарламалық қамтамасыз ету тұрғысынан алғанда, қызметтер мәзірі процестер арасындағы байланыс құралы болып табылады. Пайдаланушы үшін ол таңдалған деректер бойынша әрекеттерді орындау үшін интерфейс болып табылады. Қызметтер мәзірін эмуляциялау операциялық жүйеде бұл мақсатқа жетудің бірнеше жолдары бар екендігіне негізделген. Тіпті MacOS-та да контексттік мәзірді басқару деп аталатын баламалы жүйе бар, ол классикалық Mac OS-тен көшіріледі. X терезесі жүйесінде қолданбада таңдалған кез келген деректер барлық басқа бағдарламаларға қол жетімді. Осылайша, қызметтер мәзірі қолданыстағы таңдалғанды алып, пайдаланушыға іс-әрекетті таңдауға мүмкіндік беретін қосымша болуы мүмкін. Өңделген деректерді бастапқы қосымшаға қайтару туралы бөлім жоқ. Оның орнына, қызмет нәтижелерді көрсету үшін жаңа терезе ашады. Сонымен қатар, қызмет ағымдағы кесу буферін операцияның нәтижелерімен алмастыра алады, пайдаланушы тек жапсыруды орындауға қалдырады (әр түрлі құрал жиынтықтары көшірмелеу / таңдау және жапсыру командаларын әртүрлі түрде іске асырады, және сыртқы бағдарламаның бақылауында емес).
From the point of view of software, the Services menu is a means of inter process communication. To the user, it is an interface for executing actions on selected data. The emulation of the Services menu is based on the fact that there are several ways this can be achieved in an operating system. Even in macOS, there is an alternative system called the context menu handler, which is carried over from classic Mac OS. In the X Window System, any data selected in an application is available to all other programs. Thus the Services menu can be an application which retrieves the current selection, and lets the user choose an action. Missing is the part about returning the processed data back to the originating application. Instead, the service can open a new window to show the results. Alternatively, the service could replace the current cut buffer with the results of the operation, leaving the user only to perform a paste (since different toolkits implement copy/select and paste commands differently, and probably not under external program control).