------------------------------
Message: 5
Date: Mon, 02 Sep 2013 08:51:03 +0200
From: Tassilo Horn <address@hidden>
To: address@hidden
Subject: Re: [Bug-AUCTeX] TeX-evince-sync-view
Message-ID: <address@hidden>
Content-Type: text/plain
Thomas Arildsen <address@hidden> writes:
Hi Thomas,
> It sounds like quite a project to try to sort out the problem with
> DBUS. I have no experience with it.
In your original report, you've said that TeX-evince-sync-view does not
work. What exactly doesn't work? Isn't there an evince window opened?
No evince window is opened. If I have an evince window open already,
it does not react.
AUCTeX first does
(dbus-call-method
:session "org.gnome.evince.Daemon"
"/org/gnome/evince/Daemon"
"org.gnome.evince.Daemon"
"FindDocument"
"file:///home/horn/some.pdf" ;; replace with some existing PDF
t) ;; C-x C-x here
Does that work, i.e., open an evince window showing some.pdf?
This part works, much to my surprise. I pasted the above into the
scratch buffer, replaced by an existing PDF and ran M-x eval-buffer.
The PDF opened in a new evince window.
You could also monitor the dbus communication of the two evince
interfaces that auctex uses like so:
$ dbus-monitor "interface=org.gnome.evince.Daemon" \
"interface=org.gnome.evince.Window"
That's what I get when I execute a View command in auctex.
--8<---------------cut here---------------start------------->8---
method call sender=:1.66 -> dest=org.gnome.evince.Daemon serial=14 path=/org/gnome/evince/Daemon; interface=org.gnome.evince.Daemon; member=FindDocument
string "file:///home/horn/tmp/test/bar.dvi"
boolean true
method call sender=:1.66 -> dest=:1.80 serial=15 path=/org/gnome/evince/Window/0; interface=org.gnome.evince.Window; member=SyncView
string "/home/horn/tmp/test/bar.tex"
struct {
int32 21
int32 2
}
uint32 0
--8<---------------cut here---------------end--------------->8---
The first call FindDocument ensures that the edited document is opened
in evince, and the second call SyncView sets the view according to the
synctex information.
What do you get?
When I open 'dbus-monitor', it says:
signal sender=org.freedesktop.DBus -> dest=:1.133
serial=2 path=/org/freedesktop/DBus;
interface=org.freedesktop.DBus; member=NameAcquired
string ":1.133"
When I then run the TeX-evince-sync-view command on a LaTeX document
(that has a newly compiled PDF output), nothing happens: no evince
windows, no error message, no output from 'dbus-monitor', no output
in the *Messages* buffer - nothing...
When I run the previously suggested elisp stuff from the *scratch*
buffer, dbus-monitor does say something:
method call sender=:1.121 ->
dest=org.gnome.evince.Daemon serial=4
path=/org/gnome/evince/Daemon; interface=org.gnome.evince.Daemon;
member=FindDocument
string "file:///home/tha/tmp/test2.pdf"
boolean true
So the 'dbus-call-method' elisp stuff seems to work, but there is
absolutely no indication why the TeX-evince-sync-view command does
not.
Thanks for helping debug this,
Thomas Arildsen
|