Xref: utzoo comp.windows.open-look:1121 alt.toolkits.xview:165 comp.windows.x:34903 Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!think.com!linus!philabs!ttidca!kevin@drogges.tti.com From: kevin@drogges.tti.com Newsgroups: comp.windows.open-look,alt.toolkits.xview,comp.windows.x Subject: ICC with OpenLook Desktop print tool Message-ID: <25276@ttidca.TTI.COM> Date: 3 Apr 91 20:04:48 GMT Sender: kevin@ttidca.TTI.COM Organization: Citicorp/TTI, Santa Monica Lines: 62 Hi - Although this is primarily an OpenLook/XView question, I am circulating it to c.w.x hoping to get some illumination on InterClientCommunications. Does anyone have any idea as to what the protocol sequence is to send a filename for printing to the Sun Desktop "print tool" from a client OTHER than OpenLook's "file manager"? The sequence of events that I see (while running "xscope") that are generated by file manager are: 1. filemgr generates an "InternAtom" request for name: "FVDROP670614812" (this happens when I start "dragging" a filename glyph). returns Atom = 0xb6; 2. filemgr gets a set of "FocusOut" events. 3. filemgr does a "ChangeProperty" request to set Atom (0xb6) to the compleat pathname/filename string "/usr/kevin/abc.dat" 4. filemgr does a "GetSelectionOwner" request to (i assume) find out what window "owns" the glyph. 5. filemgr now generates another "InternAtom" request for name: "SELECTION_PROPERTY0". returns Atom = 0x76. (---IS THIS EVEN RELATED???---) 6. filemgr does a "ConvertSelection" request on Atom 0x75 to to type 0x76 ("_SUN_SELN_YIELD") (AGAIN; related??) 7. filemgr now generates ANOTHER "InternAtom" request for name: "_SUN_SELN_END_REQUEST". returns Atom = 0x7ce; 8. filemgr does a "GetSelectionOwner" request to find the window id of the owner of "XA_PRIMARY" (why? i have NO idea) 9. filemgr now generates "InternAtom" for name: "XV_DO_DRAG_LOAD". server returns 0xb2; 10. filemgr does a "SendEvent" call, using the win id of the print too as the destination in the XClientMessage. The data sent is: event->ie_xevent->xclient.data.l[0] = protocol (=0) event->ie_xevent->xclient.data.l[1] = timestamp event->ie_xevent->xclient.data.l[2] = serial no event->ie_xevent->xclient.data.l[3] = win id event->ie_xevent->xclient.data.l[4] = Atom # (XV_DO_DRAG_LOAD, = 0xb6 ...And at THIS point, "Printtool" magically starts printing the file. whew! Now MY question: does anybody know how I can DUPLICATE" the drag-n-drop protocol sequence above without actually *DOING* a drag-n-drop, such that printtool will act on the XClientMessage? Angst in Advance: -- Kevin Carothers {csun,psivax,philabs,retix}!ttidca!kevin