Who handles Shift-Print... (was Re: UNIX-PX Printer Setup)
Lenny Tropiano
lenny at icus.islp.ny.us
Fri Mar 24 06:30:15 AEST 1989
In article <724 at kosman.UUCP> kevin at kosman.UUCP (Root) writes:
[...lots of discussion about what does Shift-Print do, and screen printing...]
..
|>So the questions I still have some interest in:
|>
|>1) Who (what program) is listening to Shift-Print, and if it's not
|> the kernel, how does it get connected to Shift-Print.
|>
This is taken from the window(7) manual page:
ioctl(wd, WIOCSYS, num)
ioctl(wd, WIOCGSYS, num)
The WIOCSYS ioctl declares window wd to be a system window number num.
WIOCGSYS return the process group associated with an existing system
window number num. There are currently three system windows. Each
system window "owns" a number of keys on the keyboard, regardless of
the currently selected window. If one of these keys is struck, it is
queued for reads in the appropriate system window and is not sent to the
currently active one. No other action is taken (specifically, the
system window is not selected). The following table lists the special
system keys:
SYSWMGR(0) Window Manager
Suspd, s-Suspd, Rsume, s-Rsume, s-Print
SYSPMGR(1) Phone Manager
All shifted function keys (F1-F8)
SYSSMGR(2) Status Manager
Msg, s-Msg
|>2) What program actually executes the ioctl, and if not the same as
|> the answer to 1), how does it get started.
|>
Therefore, in a long winded paragraph, the Window Manager has the
responsibility of taking care of the s-Print key. When read, it invokes
/usr/bin/sprint to handle the screen dump. wmgr is started from
the system /etc/rc file on bootup.
|>3) What starts the progam sprint, and what are its calling parameters.
|> What are the expected inputs and outputs of sprint.
|>
See above. I beleive sprint requires no parameters. It just dumps the
screen to the default printer.
|>4) Does sprint invoke /bin/lp directly, or does it have its own way
|> into the print queues. The snapshots I took did not show
|> /bin/lp running when sprint was running, so I wonder about
|> this.
|>
I believe it invokes lp with the following command:
"lp -d<PRINTER> -ascreenprint /tmp/sprint.tmp" And /tmp/sprint.tmp is
the screen dump image gotten from the ioctl(wd, WIOCREAD, &pixmap) ...
-Lenny
--
Lenny Tropiano ICUS Software Systems [w] +1 (516) 582-5525
lenny at icus.islp.ny.us Telex; 154232428 ICUS [h] +1 (516) 968-8576
{talcott,decuac,boulder,hombre,pacbell,sbcs}!icus!lenny attmail!icus!lenny
ICUS Software Systems -- PO Box 1; Islip Terrace, NY 11752
More information about the Unix-pc.general
mailing list