PLUMBER(8)PLUMBER(8)NAME
plumber - plumber for interapplication message routing
SYNOPSIS
plumber [ -v ] [ -w ] [ -c wmchan ] [ rulefile ... ]
DESCRIPTION
Plumber provides high-level message-passing between applications. In a
plumbed environment, applications can receive messages on an input
port, which is given a logical name. Messages are not sent directly
between applications but are routed via the plumber, following user-
specified rules.
Plumber is typically started by wm(1)'s startup script. It reads each
rulefile (default: /usr/user/lib/plumbing) in turn. Each file has the
form described in plumbing(6); the rules direct the routing of each
message plumber receives. Plumber then lurks in the background with
its mate, awaiting plumbing requests sent by plumbmsg(2), by windowing
applications in response to events such as button clicks or drag-and-
drop, or by plumb(1).
When a message arrives, plumber applies the rules to decide how to
route it. It forwards the message to the selected application's input
port, starting it if necessary. If no rule applies (or some other
error occurs), plumber returns an error to the message's sender. The
-v option causes plumber to log the contents of messages it receives,
to help debug plumbing rules and applications.
Plumber normally starts applications directly. For use on devices that
have specialised window managers, not wm(1), the -w option causes
plumber to start applications indirectly, by sending a message to a
window manager listening on /chan/wm, allowing the window manager to
track every application started. The -c option can select an alterna‐
tive wmchan to /chan/wm.
FILES
/usr/user/lib/plumbing
default plumbing rules for user
SOURCE
/appl/cmd/plumber.b
/appl/lib/plumbing.b
SEE ALSOplumb(1), wm(1), plumbmsg(2), plumbing(6)PLUMBER(8)