[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[AUCTeX-diffs] Changes to auctex/tex.el,v
From: |
Tassilo Horn |
Subject: |
[AUCTeX-diffs] Changes to auctex/tex.el,v |
Date: |
Sun, 08 Apr 2012 09:35:12 +0000 |
CVSROOT: /sources/auctex
Module name: auctex
Changes by: Tassilo Horn <tsdh> 12/04/08 09:35:12
Index: tex.el
===================================================================
RCS file: /sources/auctex/auctex/tex.el,v
retrieving revision 5.688
retrieving revision 5.689
diff -u -b -r5.688 -r5.689
--- tex.el 24 Aug 2011 16:24:17 -0000 5.688
+++ tex.el 8 Apr 2012 09:35:11 -0000 5.689
@@ -1003,6 +1003,40 @@
:group 'TeX-view
:type '(alist :key-type symbol :value-type (group sexp)))
+(defun TeX-evince-dbus-p ()
+ "Return non-nil, if evince is installed and accessible via its
+DBUS interface."
+ (and (fboundp 'dbus-register-signal)
+ (fboundp 'dbus-call-method)
+ (getenv "DBUS_SESSION_BUS_ADDRESS")
+ (executable-find "evince")
+ (member
+ "org.gnome.evince.Daemon"
+ (dbus-introspect-get-interface-names
+ :session "org.gnome.evince.Daemon"
+ "/org/gnome/evince/Daemon"))))
+
+(defun TeX-evince-sync-view ()
+ (let* ((uri (concat "file://" (expand-file-name
+ (concat file "." (TeX-output-extension)))))
+ (owner (dbus-call-method
+ :session "org.gnome.evince.Daemon"
+ "/org/gnome/evince/Daemon"
+ "org.gnome.evince.Daemon"
+ "FindDocument"
+ uri
+ t)))
+ (if owner
+ (dbus-call-method
+ :session owner
+ "/org/gnome/evince/Window/0"
+ "org.gnome.evince.Window"
+ "SyncView"
+ (buffer-file-name)
+ (list :struct :int32 (line-number-at-pos) :int32 1)
+ (round (float-time)))
+ (error "Couldn't find the Evince instance for %s" uri))))
+
(defvar TeX-view-program-list-builtin
(cond
((eq system-type 'windows-nt)
@@ -1031,13 +1065,15 @@
("dvips and gv" "%(o?)dvips %d -o && gv %f")
("gv" "gv %o")
("xpdf" ("xpdf -remote %s -raise %o" (mode-io-correlate " %(outpage)")))
- ("Evince" ("evince" (mode-io-correlate
+ ("Evince" ,(if (TeX-evince-dbus-p)
+ 'TeX-evince-sync-view
+ `("evince" (mode-io-correlate
;; With evince 3, -p N opens the page *labeled* N,
;; and -i,--page-index the physical page N.
,(if (string-match "--page-index"
(shell-command-to-string "evince
--help"))
" -i %(outpage)"
- " -p %(outpage)")) " %o"))
+ " -p %(outpage)")) " %o")))
("Okular" ("okular --unique %o" (mode-io-correlate "#src:%n%b")))
("xdg-open" "xdg-open %o"))))
"Alist of built-in viewer specifications.
@@ -1473,10 +1509,7 @@
(TeX-set-mode-name 'TeX-source-correlate-mode t t)
(setq TeX-source-correlate-start-server-flag TeX-source-correlate-mode)
;; Register Emacs for the SyncSource DBUS signal emitted by Evince.
- (when (and (fboundp 'dbus-register-signal)
- (fboundp 'dbus-call-method)
- (getenv "DBUS_SESSION_BUS_ADDRESS")
- (executable-find "evince"))
+ (when (TeX-evince-dbus-p)
(require 'dbus)
(dbus-register-signal
:session nil "/org/gnome/evince/Window/0"
- [AUCTeX-diffs] Changes to auctex/tex.el,v,
Tassilo Horn <=
- [AUCTeX-diffs] Changes to auctex/tex.el,v, Tassilo Horn, 2012/04/08
- [AUCTeX-diffs] Changes to auctex/tex.el,v, Tassilo Horn, 2012/04/10
- [AUCTeX-diffs] Changes to auctex/tex.el,v, Tassilo Horn, 2012/04/11
- [AUCTeX-diffs] Changes to auctex/tex.el,v, Tassilo Horn, 2012/04/11
- [AUCTeX-diffs] Changes to auctex/tex.el,v, Tassilo Horn, 2012/04/11
- [AUCTeX-diffs] Changes to auctex/tex.el,v, Tassilo Horn, 2012/04/25
- [AUCTeX-diffs] Changes to auctex/tex.el,v, Tassilo Horn, 2012/04/26