summaryrefslogtreecommitdiffstats
path: root/autoload/vimtex/view
diff options
context:
space:
mode:
Diffstat (limited to 'autoload/vimtex/view')
-rw-r--r--autoload/vimtex/view/common.vim5
-rw-r--r--autoload/vimtex/view/zathura.vim21
2 files changed, 13 insertions, 13 deletions
diff --git a/autoload/vimtex/view/common.vim b/autoload/vimtex/view/common.vim
index ca39cf0a..348dc899 100644
--- a/autoload/vimtex/view/common.vim
+++ b/autoload/vimtex/view/common.vim
@@ -153,9 +153,10 @@ function! s:xwin_template.xwin_exists() dict abort " {{{1
" If xwin_id is unset, check if matching viewer windows exist
"
if self.xwin_id == 0
- if has_key(self, 'get_pid')
+ let l:pid = has_key(self, 'get_pid') ? self.get_pid() : 0
+ if l:pid > 0
let cmd = 'xdotool search'
- \ . ' --all --pid ' . self.get_pid()
+ \ . ' --all --pid ' . l:pid
\ . ' --name ' . fnamemodify(self.out(), ':t')
let self.xwin_id = get(split(system(cmd), '\n'), 0)
else
diff --git a/autoload/vimtex/view/zathura.vim b/autoload/vimtex/view/zathura.vim
index 48e8e27a..98419981 100644
--- a/autoload/vimtex/view/zathura.vim
+++ b/autoload/vimtex/view/zathura.vim
@@ -90,21 +90,20 @@ function! s:zathura.compiler_callback(status) dict abort " {{{1
if !filereadable(self.out()) | return | endif
- if g:vimtex_view_automatic
+ if g:vimtex_view_automatic && !has_key(self, 'started_through_callback')
"
" Search for existing window created by latexmk
- " It may be necessary to wait some time before it is opened and
- " recognized. Sometimes it is very quick, other times it may take
- " a second. This way, we don't block longer than necessary.
+ " Note: It may be necessary to wait some time before it is opened and
+ " recognized. Sometimes it is very quick, other times it may take
+ " a second. This way, we don't block longer than necessary.
"
- if !has_key(self, 'started_through_callback')
- for l:dummy in range(30)
- sleep 50m
- if self.xwin_exists() | break | endif
- endfor
- endif
+ for l:dummy in range(30)
+ let l:xwin_exists = self.xwin_exists()
+ if l:xwin_exists | break | endif
+ sleep 50m
+ endfor
- if !self.xwin_exists() && !has_key(self, 'started_through_callback')
+ if ! l:xwin_exists
call self.start(self.out())
let self.started_through_callback = 1
endif