[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Two little features (and a bounty?)

From: Dan Mahoney, System Admin
Subject: Re: Two little features (and a bounty?)
Date: Fri, 25 Jul 2008 00:10:36 -0400 (EDT)
User-agent: Alpine 1.10 (BSF 962 2008-03-14)

On Fri, 25 Jul 2008, Trent W. Buck wrote:

On Thu, Jul 24, 2008 at 06:39:47PM -0400, Dan Mahoney, System Admin wrote:
I need two features added to screen, but I'm not a coder.  I can
(and have) discussed on this list, as well as having seen these
features justified and explained on mailing lists before, but I
don't believe they work at this time.

1) Make printing work.  And by that I mean make it work JUST as it
would work without screen, i.e. not "buffer" and send a bunch of
printer stop/start sequences every 30 characters -- many SSH
applications interpret that stop sequence as a page feed.

I don't know what you're talking about.  Can you provide step-by-step
instructions to reproduce this bug?

It's right in the gnu screen man page. Without screen, if you're in (say) pine, or use a program such as ansiprint to print a file, it will send, literally, to the screen:

[printer on code as described in termcap/terminfo]
[your file]
[possibly a formfeed]
[printer off]

Now, what screen does, is the following:

[printer on code as described in termcap/terminfo]
[small chunk of your file]
[printer off]
[printer on code as described in termcap/terminfo]
[another small chunk of your file]
[printer off]
[printer on code as described in termcap/terminfo]
[yet another small chunk of your file]
[printer off]
[printer on code as described in termcap/terminfo]
[even another small chunk of your file]
[printer off]
[printer on code as described in termcap/terminfo]
[and another small chunk of your file]
[printer off]

And so on.  And it thinks it's doing you a favor.

Screen's manpage sums this logic up:

When the `po' and `pf' capabilities are present in the terminal's term-
cap  entry,  applications running in a screen window can send output to
the printer port of the terminal.  This allows a user to have an appli-
cation  in one window sending output to a printer connected to the ter-
minal, while all other windows are still active (the  printer  port  is
enabled  and  disabled  again  for  each  chunk of output).  As a side-
effect, programs running in different windows can send  output  to  the
printer  simultaneously.   Data sent to the printer is not displayed in
the window.  The info command displays a line starting `PRIN' while the
printer is active.

---End Manpage Section---

All the above makes a whole lot of sense on, say, a line printer over 300BPS with a 20 page document.

On programs like secureCRT (my terminal of choice), all this buffer/unbuffer crap causes my laser printer to eject a page because it sees every printer-stop sequence as the end of the sequence. Thus I get one PAGE per Chunk.

SecureCRT has a workaround for this -- which basically causes me to have to print from my terminal, then say "eject page" in SecureCRT -- so as a result of Screen's buffering behavior, SecureCRT also has to buffer, and it causes me an extra level of necessary interaction. Whereas, if screen had just passed the sequences along as-is, everything would be fine.

This is a kludge to "background printing" which only makes sense with a lot of data, over a slow link. Any other time, the data is out faster than I can possibly even switch windows. If I don't want my keyboard and screen sequences messing up the print job, then I could just have screen block my ability to use ctrl-a until the print is done, or I send an abort sequence. That would prevent me from switching windows (and possibly MISSING the "printer off" sequence.)

2) Make mouse work.  I haven't seen much with this.

I'm willing to toss something monetary at a developer or developers
who can look at this and make it happen.

Mouse works for me within screen:

Then there's likely something wrong with my system or my shell, or my termcap, and it is best filed as an OS bug. Please contact me out of band and I can arrange a shell. It's a public server and has been used to test several other pieces of opensource. Tell me if it works for you on my end.



" one."

-Tim Curry, Clue

--------Dan Mahoney--------
Techie,  Sysadmin,  WebGeek
Gushi on efnet/undernet IRC
ICQ: 13735144   AIM: LarpGM

reply via email to

[Prev in Thread] Current Thread [Next in Thread]