Question

I have a wxPython application and I'm using Evince to display the reports it generates. Since I'd like to delete every report after the user has closed the corresponding Evince instance, my application uses a thread that does a subprocess.call() to invoke Evince, and then removes the report when the subprocess terminates.
This works fine as long as the user looks at just one report at a time, because if he opens one report and then another (without closing the previous one) the previous Evince instance gets "recycled" to show the new report, so subprocess.call() returns immediately and the file gets deleted too soon.
Is there a way to force Evince to use a new instance every time?

(Xubuntu 8.10)

Was it helpful?

Solution

Wouter Bolsterlee suggests:

dbus-launch --exit-with-session evince file://...

OTHER TIPS

You can't do that with evince. Try suggesting that to the developers as a new feature.

It looks like the version that comes with Ubuntu Lucid (2.30) does work for my usecase... Maybe they changed their mind :)

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top