rosenber@ra.abo.fi (Robin Rosenberg INF) (10/30/90)
In article <15446@cbmvax.commodore.com>, ken@cbmvax.commodore.com (Ken Farinsky - CATS) writes: > In article <1990Oct26.202218.23039@cunixf.cc.columbia.edu> es1@cunixb.cc.columbia.edu (Ethan Solomita) writes: > >In article <29244@pasteur.Berkeley.EDU> navas@cory.Berkeley.EDU writes: > >>And as an author of YAWBR (Jazzbench), I wouldn't mind putting in a few of > >>my own: > >> 4. No access to devices like prt: par: ser: pipe:, etc. > > It would be TRIVIAL to create an icon that would copy the > >file. Under 2.0 you can open a window or an icon which will > >recognize when an icon is dropped on it...Use AppIcon and do it! > This kind-of assumes a very simple file structure (can you say ASCII?). > You could make your program more complicated and have it handle IFF files, > but what would you do with word processor data files, 3-D objects, > postscript, and the like? What happens when you copy a SMUS file to ser:? > This all works only if you have very simple data files or a very smart > program. The printer icon is the most interesting one. Dropping an icon on the printer and get the file printer. It's a very appealing approach, with the drawback just noted; How does the printer know how to do it. The real answer is of course that only the application that created it (and perhaps a few other programs) knows it. The only information available is the Default Tool in the icon that belongs to the file. There might be a way. Start the application and give it a message telling it to print the file and exit. The command can be passes as an ARexx message (or two). Launch the application. Send the command 'Print' via ARexx Send the command 'Quit'. Finished. A few things needs to be standardized. 1. Can the application receive messages? 2. What is the name of the rexx port? Suggested solution(s) to 1) This is tricky. I know of no way. So why not take a chance. Let the printer launch the application and IF a rexx port comes up with a name according to (2) then send the commands. IF no port comes up within some period of time. Just skip it. 2) The rexx port has the same name as the Application. or A tooltype says REXXPORT=name_of_rexxport. The latter applies if present. With a scheme like this, even some of TODAY's programs 'could happen' to work, and it would be very easy to incorporate the capability in future programs. Of course if the printer can't find a rexx port to send commands to, the application that was launched will just sit there, waiting for the user to quit it manually, no harm done. If the application doesn't understand the PRINT or QUIT commands. Still no harm done. Perhaps the application doesn't support printing. Comments, flames >nil:, ideas? ------ Robin Rosenberg
lindwall@babymilo.ucsd.edu (John Lindwall) (10/30/90)
In article <400@ra.abo.fi> rosenber@ra.abo.fi (Robin Rosenberg INF) writes: > [How will a print-service icon know file formats?, Good suggestion to use > Arexx to send print message to appropriate application] > >A few things needs to be standardized. >1. Can the application receive messages? >2. What is the name of the rexx port? > >Suggested solution(s) to >1) This is tricky. I know of no way. So why not take a chance. Let > the printer launch the application and IF a rexx port comes up > with a name according to (2) then send the commands. IF no port > comes up within some period of time. Just skip it. Or perhaps, create a Rexx-port name-server, which maintains a list of (<Application-name> <Arexx-port>) bindings. To refine the idea: Since there is no standard for naming of rexx commands, a generic 'print' command will not always have the desired effect. Therefore, I submit the (grandiose, naive, etc) idea of having the applications submit their (<AppName><PortName>) pair along with mappings of common functions, (e.g. Print, Display, ???). Thus when I run SuperWordProcessor, it contacts the name-server and tells it: "I am SuperWordProcessor, my Arexx port is called FooPort. I support printing with the command 'DumpThisJunk' I support file display with the command 'ShowThisJunk' I support functionX with the command 'DO_X_OnThisJunk' etc..." > >2) The rexx port has the same name as the Application. > or A tooltype says REXXPORT=name_of_rexxport. The latter applies > if present. But many (most?) applications do not do consistent naming in this way, a more complex scheme should be considered. Or else, enforce the naming convention (but as I've learned Amiga-types don't like standardization :) ) >Comments, flames >nil:, ideas? Good thinking, I hope we see more discussion on this topic. Using Arexx to its potential is a dream of mine. -- John Lindwall lindwall@ucsd.edu "Oh look at me! I'm all flooby! I'll be a son of a gun!" -- Flaming Carrot
peter@sugar.hackercorp.com (Peter da Silva) (10/30/90)
[how does the printer program know how to print a file] > real answer is of course that only the application that created it > (and perhaps a few other programs) knows it. The only information > available is the Default Tool in the icon that belongs to the file. First cut: it's easy enough to tell if a file is ASCII text or IFF FORM, so start out with print-text and print-ILBM options. If these checks fail look up DefaultTool in s:printer.rc. It should have a format like: TOOL Deluxe Snail launch work:applications/deluxe_snail/snailprint send 'print format=standard' to REXX 'snailprint' END -- Peter da Silva. `-_-' <peter@sugar.hackercorp.com>.
FelineGrace@cup.portal.com (Dana B Bourgeois) (11/01/90)
Ummmm...maybe I missed it, but did anyone mention how it is done in the Apple world? And why it doesn't work here? If you say "multi-tasking" then is it in System 7 and again: how? Dana Bourgeois @ cup.portal.com