On Wed, Apr 11, 2007 at 01:46:26PM +0200, Andre Poenitz wrote:

> On Tue, Apr 10, 2007 at 03:08:12PM +0000, Enrico Forestieri wrote:
> > Yu, James writes:
> > > Abdelrazak Younes wrote:
> > > > The solution is "just" to replace our handmade socket (or pipe) layer 
> > > > with a portable one.
> > > >
> > > > It should not be very hard to implement even for a newcomer in the LyX 
> > > > project. If someone's interested, come&see us at the devel list 
> > > >
> > > > Another solution for you James is to use Enrico's mixed windows/cygwin 
> > > > version. Could you confirm that it works Enrico?
> > 
> > Yes, but if you want that functionality from a native Windows app you
> > have to use a workaround. See below.
> > 
> > > If I was not wrong, it did not work in cygwin!
> > 
> > It works if you use cygwin apps. Native windows apps know nothing about
> > named pipes. However, there's a workaround. Windows provides file change
> > notifications, so you can tell a native app to use a given file as the
> > lyxpipe. Then you monitor such file with a small program, and when the app
> > writes to the file you receive a notification. So you simply copy what was
> > written to the file to the real lyxpipe using a cygwin program (a bash
> > script, for example).
> > 
> > I wrote such "watcher" utility by modifying the example provided at
> > http://www.relisoft.com/win32/watcher.html
> 
> There's QFileSystemWatcher.

That's for Qt 4.2 or higher, I think. I wonder how do they accomplish
that on *nix as, if I remember correctly, select() doesn't work on
plain files. Maybe they use something similar to fam on linux, but
on solaris, for example?

-- 
Enrico

Reply via email to