ejp@bohra.cpg.oz (Esmond Pitt) (07/23/90)
I'd like to see something which allows Motif to tell the server to flash the cursor without having to do it all itself. Presently Motif has to add a timeout handler, receive the timeout event, despatch the event, determine the current cursor state, XOR the cursor state, add the timeout again, all to flash the cursor. About two pages of code to flash the lights, not to mention the network traffic, the paging activity (leaping all over libXM.a, libXt.a, and libX11.a) ... Or perhaps this is a protocol change & thus belongs to X.V12? Anyway, it amazes me that the server can't flash the cursor. -- Esmond Pitt, Computer Power Group ejp@bohra.cpg.oz D
mouse@LARRY.MCRCIM.MCGILL.EDU (07/23/90)
> I'd like to see something which allows Motif to tell the server to > flash the cursor without having to do it all itself. Presently Motif > has to add a timeout handler, receive the timeout event, despatch the > event, determine the current cursor state, XOR the cursor state, add > the timeout again, all to flash the cursor. About two pages of code > to flash the lights, not to mention the network traffic, the paging > activity (leaping all over libXM.a, libXt.a, and libX11.a) ... > Or perhaps this is a protocol change & thus belongs to X.V12? > Anyway, it amazes me that the server can't flash the cursor. Part of the problem is that "the cursor" does not exist to the server. The only cursor the server knows about specially is the pointer ("mouse") cursor. The text cursor in an xterm window, the insertion-point caret in a text entry window, they're just a small graphic doohickeys drawn by the client, as far as the server is concerned. So doing this would amount to adding flashing of more-or-less arbitrary graphics. Which leads to some way of describing said graphics...if you're not very careful, you wind up adding an extension language to the server. While this is not inherently a bad thing, it's probably a lot more than you envisioned when you posted :-) (It's by no means impossible - I'm not out to stifle innovation or any such thing (though it may sometimes seem like it :-) - but it's not as simple as "flashing the cursor" makes it sound.) der Mouse old: mcgill-vision!mouse new: mouse@larry.mcrcim.mcgill.edu
stripes@eng.umd.edu (Joshua Osborne) (07/31/90)
In article <421@bohra.cpg.oz> ejp@bohra.cpg.oz (Esmond Pitt) writes: >I'd like to see something which allows Motif to tell the server to >flash the cursor without having to do it all itself. Presently Motif >has to add a timeout handler, receive the timeout event, despatch the >event, determine the current cursor state, XOR the cursor state, add >the timeout again, all to flash the cursor. [...] R4 has it. Sort of. Make the cursor a multi-buffered window, position it where you need it in the parent. In one buffer of the cursor-window draw the "on" image, draw the "off" image in the other. Tell the server how offen to display the next buffer. BTW it's not really "R4" that has it, but the Multi-Buffer extention that is included as part of the X11R4 sample server. You can have a R4 server without it, or a R3 server with it. Motif didn't use it to flash cursors because it didn't exist when they wrote that code. Don't know if they will re-write it now... -- stripes@eng.umd.edu "Security for Unix is like Josh_Osborne@Real_World,The Mutitasking for MS-DOS" "The dyslexic porgramer" - Kevin Lockwood "Don't try to change C into some nice, safe, portable programming language with all sharp edges removed, pick another language." - John Limpert
pjs@aristotle.JPL.NASA.gov (Peter Scott) (07/31/90)
In article <421@bohra.cpg.oz> ejp@bohra.cpg.oz (Esmond Pitt) writes: >I'd like to see something which allows Motif to tell the server to >flash the cursor without having to do it all itself. Presently Motif >has to add a timeout handler, receive the timeout event, despatch the >event, determine the current cursor state, XOR the cursor state, add >the timeout again, all to flash the cursor. I do agree with this, although I think it should be part of R5, not Motif. Obviously it is not so "tiny", since we are talking about adding a blink attribute to the graphics context, and then of course we have to define the blink mode (XOR, opaque, etc), what the "blink off" color/pixmap is, etc, etc... but it would eliminate those embarrassing moments in the middle of demonstrating the new super-duper windowing systems to engineers whom we want to switch to workstations/X terminals when one of them asks, "How come the cursor doesn't blink like it does on my VT100? You can make blinking text with all this advanced stuff, can't you?" This is news. This is your | Peter Scott, NASA/JPL/Caltech brain on news. Any questions? | (pjs@aristotle.jpl.nasa.gov)
ejp@bohra.cpg.oz (Esmond Pitt) (08/02/90)
In article <1990Jul31.162229.4254@elroy.jpl.nasa.gov> pjs@aristotle.jpl.nasa.gov writes: > In article <421@bohra.cpg.oz> ejp@bohra.cpg.oz (Esmond Pitt) writes: >>I'd like to see something which allows Motif to tell the server to >>flash the cursor without having to do it all itself. > > I do agree with this, although I think it should be part of R5, not Motif. So do I. Isn't that exactly what I said? I want cursor-flashing reduced from pages of Motif code to a few bits in X11R5 directing the hardware, and without an X event every 500 milliseconds. The subject is 'R5 wish', after all ... -- Esmond Pitt, Computer Power Group ejp@bohra.cpg.oz D