heaven save us from too smart programs (evince)

D. Hugh Redelmeier hugh-pmF8o41NoarQT0dZR+AlfA at public.gmane.org
Tue Mar 24 06:24:57 UTC 2009


If you type "evince x.pdf" into a shell, it does what I'd expect: display 
the file and, when the user dismisses the display, the evince program 
terminates and the next shell prompt appears.

Do the same again, but don't stop the display.  In another shell,
evince something else.  That second evince command will exit
immediately, after passing the request to the first evince.  The
second file will be displayed but the second command will have quit
early.

Another surprise: if the first file display is dismissed, one would
expect the first evince command to terminate.  It does not do so until
all evince windows (including those for other commands) are dismissed.

These are manifestations of an optimization.  Optimizations should not
produce surprising and undocumented effects but this one does.

Why do I know this?  Because Firefox really screws up .pdf displays
for me.  If I already have evince running for some reason (say,
because firefox is showing me another .pdf) and I try to get firefox
to show me a .pdf, it will create an undecorated window with the
display.  This window is out of control: I cannot move it or close it
(except by using the File drop down menu which sometimes is
off-screen).

evince's behaviour is confusing mozplugger.  More magic.
  https://www.mozdev.org/bugs/show_bug.cgi?id=20686

Oh, Firefox isn't innocent: it has a similar optimziation which even
reaches across a networked X connection to use a local running firefox
even if the command was issued on the far side.  Result: files local to the
other machine cannot be viewed.  At least firefox has a flag to
suppress this.

This evince optimization has eaten several hours of my time.  All that
diagnosing time has not actually yielded a technique to fix the
problem.
--
The Toronto Linux Users Group.      Meetings: http://gtalug.org/
TLUG requests: Linux topics, No HTML, wrap text below 80 columns
How to UNSUBSCRIBE: http://gtalug.org/wiki/Mailing_lists





More information about the Legacy mailing list