groff
[Top][All Lists]
Advanced

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

Re: [Groff] Problem using groffer with evince


From: Ralph Corderoy
Subject: Re: [Groff] Problem using groffer with evince
Date: Sun, 02 Aug 2009 11:53:09 +0100

Hi Blake,

> Digging in a little it seems that evince is passed a postscript file
> made in a temporary directory created in /tmp.  The problem is that
> that directory seems to have been removed, thus evince couldn't
> display anything.  Interestingly, if I do:
> 
>      groffer --ps --ps-viewer evince --debug groff
> 
> it does work!  The --debug switch causes groffer not to delete the
> temporary directory.
> 
> It seems groffer process everything into a resultant file placed in a
> temporary directory under /tmp.  Groffer then deletes it, I suppose
> thinking evince is done with it.  I checked and it doesn't delete the
> file when I use gv instead.  I don't understand.

I've tried neither, and am not familiar with groffer, but I expect the
evince that groffer runs is exiting having passed the work onto another
evince.  groffer sees the evince it started has finished and tidies up
before the second evince has finished, i.e. almost immediately.

This can be seen at the command line.  Ensure no evince is running.
Type `evince foo.ps' and the shell prompt shouldn't return until you
close evince's window.  Now repeat, but whilst that one's running, do
`evince bar.ps' in another terminal window.  The shell prompt will
almost immediately return showing evince has exitted.  It has passed the
work onto the already running evince.

So, you either need to not have evince running when running groffer, or
have a wrapper script that you pass as --ps-viewer instead which runs
evince and then when that finishes avoids exitting until all evinces
running by this user have stopped.  Except that isn't ideal because you
may have some long-term calendar or something that you always want
sitting open in evince.

Ideally, there'd be a way to tell evince to do the job itself and not
pass it onto the already running evince.  I don't know if this is
possible.

Given some Unix distributions clear /tmp on booting, it may be adequate
to have groff not clean up after itself, relying on the distro to do
that.

Cheers,


Ralph.





reply via email to

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