(Добавление категорий) |
мНет описания правки |
||
Строка 9: | Строка 9: | ||
'''ОПИСАНИЕ''' |
'''ОПИСАНИЕ''' |
||
− | Plumber предоставляет возможность высокоуровнего обмена сигналами между приложениями через `порты`, аналогичные портам ввода-вывода, только реализованные логически, кроме того, сигналы посылаются не напрямую между приложениями, |
+ | Plumber предоставляет возможность высокоуровнего обмена сигналами между приложениями через `порты`, аналогичные портам ввода-вывода, только реализованные логически, кроме того, сигналы посылаются не напрямую между приложениями, а посредством протокола plumber, который обрабатывает их, согласно правилам, указанным в конфигурационном файле, после чего манипулирует указателями, портами и адресами тех или иных процессов и приложений в памяти. |
− | Протокол |
+ | Протокол запускается на старте системы после [[wm(1)]] и смотрит доступный конфигурационный файл (по умолчанию: /usr/имя_пользователя/lib/plumbing). Каждый такой файл содержит правила, описанные специальной формой (см.[[plumbing(6)]]); правила описывают допустимый вид, назначение сигнала, который plumber получает от приложения-отправителя, и инструкции, указывающие: что именно необходимо выполнить. После запуска, plumber остается резидентно, ожидая запроса либо от сигнального модуля [[plumbmsg(2)]], либо от открытых приложений (результаты кликов мышью, нажатия кнопок или перетаскивания из окна/в окно), либо от модуля [[plumb(1)]]. |
Как только поступает сигнал, plumber реализует правила, перенаправляя сигнал в логический порт-ввода указанного приложения; если порт отсутствует, то plumber создает его. Если для указанного приложения отсутствует правило (или в случае иной ошибки), plumber возвращает сообщение об ошибке, отправителю сигнала. |
Как только поступает сигнал, plumber реализует правила, перенаправляя сигнал в логический порт-ввода указанного приложения; если порт отсутствует, то plumber создает его. Если для указанного приложения отсутствует правило (или в случае иной ошибки), plumber возвращает сообщение об ошибке, отправителю сигнала. |
||
− | Опция `-v` позволяет вести логи содержимого полученных протоколом сигналов, облегчая контроль и настройку правил. Кроме того, обычно |
+ | Опция `-v` позволяет вести логи содержимого полученных протоколом сигналов, облегчая контроль и настройку правил. Кроме того, обычно plumber работает с приложениями напрямую, однако, если имеется специализированный проводник или менеджер окон, отличный от [[wm(1)]], то опция`-w` указывает протоколу работать через канал /chan/wm (по сути, скидывать все правила и инструкции в файл), откуда этот проводник или менеджер окон может черпать все необходимое для нормального функционирования. Опция `-c` позволяет для тех же целей создать собственный канал с именем ''wmchan'' вместо/chan/wm. |
'''ФАЙЛ''' |
'''ФАЙЛ''' |
Версия от 06:10, 28 июля 2010
НАЗВАНИЕ
plumber - это своего рода протокол обмена сигналами между запущенными приложениями
ВВОД
plumber [ -v ] [ -w ] [ -c wmchan ] [ rulefile ... ]
ОПИСАНИЕ
Plumber предоставляет возможность высокоуровнего обмена сигналами между приложениями через `порты`, аналогичные портам ввода-вывода, только реализованные логически, кроме того, сигналы посылаются не напрямую между приложениями, а посредством протокола plumber, который обрабатывает их, согласно правилам, указанным в конфигурационном файле, после чего манипулирует указателями, портами и адресами тех или иных процессов и приложений в памяти.
Протокол запускается на старте системы после wm(1) и смотрит доступный конфигурационный файл (по умолчанию: /usr/имя_пользователя/lib/plumbing). Каждый такой файл содержит правила, описанные специальной формой (см.plumbing(6)); правила описывают допустимый вид, назначение сигнала, который plumber получает от приложения-отправителя, и инструкции, указывающие: что именно необходимо выполнить. После запуска, plumber остается резидентно, ожидая запроса либо от сигнального модуля plumbmsg(2), либо от открытых приложений (результаты кликов мышью, нажатия кнопок или перетаскивания из окна/в окно), либо от модуля plumb(1).
Как только поступает сигнал, plumber реализует правила, перенаправляя сигнал в логический порт-ввода указанного приложения; если порт отсутствует, то plumber создает его. Если для указанного приложения отсутствует правило (или в случае иной ошибки), plumber возвращает сообщение об ошибке, отправителю сигнала.
Опция `-v` позволяет вести логи содержимого полученных протоколом сигналов, облегчая контроль и настройку правил. Кроме того, обычно plumber работает с приложениями напрямую, однако, если имеется специализированный проводник или менеджер окон, отличный от wm(1), то опция`-w` указывает протоколу работать через канал /chan/wm (по сути, скидывать все правила и инструкции в файл), откуда этот проводник или менеджер окон может черпать все необходимое для нормального функционирования. Опция `-c` позволяет для тех же целей создать собственный канал с именем wmchan вместо/chan/wm.
ФАЙЛ
/usr/имя_пользователя/lib/plumbing - конфигурационный файл протокола
ИСХОДНИКИ
/appl/cmd/plumber.b
/appl/lib/plumbing.b
Смотри также