NAME
- wm - window manager
SYNOPSIS
- wm/wm [ command [ arg... ] ]
DESCRIPTION
-
Wm
is an inferno window manager, providing the control mechanism for
the user to manage to order and position of a dynamic collection
of application windows.
When started, it runs
command,
(by default
wm/toolbar,
see
toolbar(1))
By itself,
wm
does not provide any means for starting new applications;
that facility must be provided by an auxilliary program,
wm/toolbar
being one such example.
- Control Inferface
-
Wm
provides a control interface to programs running inside it
through the
Wmcontext
adt that can be obtained from via the
Draw->Context
that it passes to applications that it starts
(see
draw-context(2)).
Control messages it understands include:
- start what
- Start input on
what.
What
can be
ptr
(pointer events),
kbd
(keyboard events)
and
control
(window manager control events, see below).
- key charval
- Simulate a key event.
Charval
is the decimal value of the character that has been
pressed. The character will be sent exactly as if it
had been typed on the keyboard. This facility
is used by
keyboard(2).
- !reshape tag reqid minx miny maxx maxy [ how ]
- Reshape or create the window named
tag.
Reqid
is ignored;
minx..maxy
give the desired bounding rectangle of the
new window.
If
how
is not given, or is
exact,
then
wm
will attempt to satisfy the request exactly.
Otherwise,
how
tells
wm
how to determine the rectangle of the resulting image;
it can be one of
place
(choose some appropriate position and size on screen),
onscreen
(modify the requested rectangle only so as to bring
it on screen), or
max
(request the maximum available rectangle).
- delete tag
- Delete the window named by tag .
- raise
- Raise all windows for the current context above the others.
- lower
- Send all windows for the current context to the bottom.
- !move tag reqid startx starty
- Drag window
tag
interactively.
Reqid
is ignored.
Startx
and
starty
give the location of the pointer when the drag was initiated.
- !size tag reqid
- Interactively resize window tag .
- fixedorigin
- By default, if a window changes position but not size,
wm
changes the origin of the window without creating a new image.
Sending
fixedorigin
caused
wm
always to create a new image in that case.
- kbdfocus [ in ]
- If the decimal integer in is non-zero, request the keyboard focus, otherwise lose the keyboard focus.
Wm generates control messages to inform applications of things that have happened. These include:
- rect minx miny maxx maxy
- The screen rectangle has changed.
minx..maxy
gives the new bounding box of the screen.
- haskbdfocus in
- Informs an application of its current keyboard focus state.
This message is generated in response to pointer events,
and due to
kbdfocus
requests.
- exit
- The window manager is closing down.
- Controlling Application
-
The first application that starts under
wm
is given the privilege of being able to control
other applications running under the same
wm.
If it sends a
start control
message, then it will also see any control requests
sent by applications that
wm
itself does not understand and information about applications
starting and leaving.
Wm
accepts several other control messages from its
controlling application:
- ctl id msg
- Send message
msg
to application
id.
- endcontrol
- Relinquish controller status. The next application that starts will get control status. This is used, for instance, to segue smoothly between logon(1) and toolbar(1).
If the controlling application has started control messages, wm sends it the following messages:
- newclient id
- A new client has connected, identified by
id.
- delclient id
- Client
id
has left.
- request id msg
- Client id sent the request msg to the window manager, which it did not understand. This facility is used, for instance, by toolbar(1) to implement the task and untask requests.
FILES
-
- /chan/wmrect
- File holding current screen rectangle.
SOURCE
- /appl/wm/wm.b
SEE ALSO
- toolbar(1), logon(1), tkclient(2), wmclient(2)
| WM(1) | Rev: Tue Jan 29 13:11:31 GMT 2008 |