term% cat index.txt 8½(4) Kernel Interfaces Manual 8½(4)
NAME
8½ - window system files
SYNOPSIS
8½ [ -i 'cmd' ] [ -s ] [ -f font ]
DESCRIPTION
The window system 8½ serves a variety of files for reading, writing,
and controlling windows. Some of them are virtual versions of system
files for dealing with the display, keyboard, and mouse; others control
operations of the window system itself. 8½ posts its service in the
/srv directory, using a name constructed from a catenation of the user
ID and a process id; the environment variable $8½srv is set to this
service name within processes running under the control of each invoca‐
tion of 8½.
A mount (see bind(1)) of that file causes 8½ to create a new window;
the attach specifier in the mount gives the coordinates of the created
window. The syntax of the specifier is
N pid minx miny maxx maxy
where pid is the process id of a process in the note group (see
fork(2)) to receive interrupt and hangup notes in that window. The
list of coordinates may be separated by blanks or commas.
When a window is created either by the window command (see 8½(1)) or
by using the menu supplied by 8½, this server is mounted on /mnt/8½
and also /dev; the files mentioned here appear in both those directo‐
ries.
Some of these files supply virtual versions of services available from
the underlying environment, in particular the character terminal files
cons(3), and all the bit devices bit(3), each specific to the window.
Other files are unique to 8½.
bitblt is a virtual version of the bitblt file within the current win‐
dow; see bit(3), graphics(2). All operations are clipped to the
current window. The coordinate system is absolute; it refers to
the real screen.
cons is a virtual version of the standard terminal file cons(3). 8½
supplies extra editing features and a scroll bar (see 8½(1)).
consctl
controls interpretation of keyboard input. Writing strings on
it sets these modes: rawon turns on raw mode; rawoff turns off
raw mode; holdon turns on hold mode; holdoff turns off hold
mode. Closing the file makes the window revert to default state
(raw off, hold off).
kbd This file intercepts the path between the keyboard and cons.
Reading from it gathers characters typed towards the associated
window; writing to it inserts characters into the input stream
of that window.
label initially contains a string with the process ID of the lead
process in the window and the command being executed there. It
may be written and is used as a tag when the window is hidden.
mouse is a virtual version of the standard mouse file (see bit(3)).
Opening it turns off scrolling, editing, and 8½-supplied menus
in the associated window. The 0x80 bit in the buttons byte of a
returned record indicates that the window has been reshaped.
Reading this file blocks until the mouse moves or a button
changes. Mouse movements or button changes are invisible when
the mouse cursor is located outside the window.
nbmouse
is a non-blocking version of mouse; it always returns the cur‐
rent state. Its use is discouraged.
select returns the selected text in the designated window. It may not
be written.
snarf returns the string currently in the snarf buffer. Writing this
file sets the contents of the snarf buffer.
text returns the full contents of the window. It may not be written.
winid returns the unique and unchangeable ID for the window; it is a
string of digits.
window is the virtual version of /dev/screen; see bit(3). It contains
the depth, coordinates, and bitmap corresponding to the associ‐
ated window.
windows
is a directory containing a subdirectory for each window, named
by the unique ID for that window. Within each subdirectory are
entries corresponding to several of the special files associated
with that window: bitblt, cons, consctl, label, etc.
EXAMPLES
Cause a window to be created in the upper left corner, and the word to
be printed there.
mount $8½srv /tmp N$pid' 0 0 128 64'
echo hi > /tmp/cons
Print the bitmap of window number 123.
lp /dev/windows/123/window
SOURCE
/sys/src/cmd/8½
SEE ALSO
8½(1), bit(3), cons(3), event(2), graphics(2).
8½(4)